ここから本文です

WindowsServer環境でのJava開発とはどのようなイメージでしょうか? WindowsSer...

fut********さん

2019/9/409:52:18

WindowsServer環境でのJava開発とはどのようなイメージでしょうか?

WindowsServerってマイクロソフトが出してるサーバーなので、そこでJavaを動かすみたいなイメージですか?

猿でもわか

るような感覚で教えてもらえると嬉しいです。
自分でも調べていますが認識のすり合わせをする意味も込めて質問しています。

補足【追加】
また、WindowsServerとRHELを同時に使うってwindow系とLinux系を同時に使う場合がよく分かっていません。

閲覧数:
94
回答数:
3

違反報告

ベストアンサーに選ばれた回答

abiko tetuさん

2019/9/418:38:17

[Windows Server環境でJava開発を行なう構成]
Windows Server環境で、単純にJava開発を行なうだけならば、Windows Serverを使うメリットがありません。
一般にJavaのサーバーシステムの作成では、Windows Serverではなく、UNIX(Linux等のUNIX系列のOSを含む)を使います。
それでは、Windows Server環境でJava開発を行なう場合は、どう言う構成になるのか。
単純なJavaの活用ではなく、メリットのある構成は、どう言ったものなのか。
それは、WindowsとLinuxとの機能を利用したJava系プログラムの開発を行ないます。
Windowsを作った企業のMicrosoftが、Linux Foundation(Linuxを支持する企業達が、Linuxを管理する組織)と手を組みました。
すなわち、Linux系では、Microsoftが作って来た様々な技術を活用するようになりました。
Windows系のほうも、Linuxが作って来た様々な技術を活用するようになりました。
そして、今のWindows(Windows ServerとWindows 10)では、WindowsとLinuxが共存することが可能になっています。
すなわち、LinuxとWindowsは、互いの長所を活かし合えるようになっています。
これに、Javaも加わりたいと願ったのが、本質問での「Windows Server環境でJava開発」となります。
すなわち、Javaで作られた技術と、Linuxで作られた技術と、Windowsで作られた技術とを活かした開発になります。



[Windows Server環境でのJava開発を行なうのに必要な技術]
Windows Server環境でJava開発を行なうのに必要な技術は、以下の通りです。

< 1 >
統合開発環境EclipseでのJavaが使いこなせる。

< 2 >
統合開発環境EclipseでのJavaで、Webサービスによるサーバーシステム(SaaSと言うタイプのクラウドコンピューティング)が作れるようになる。

< 3 >
MicrosoftでのC++技術やC#技術を使って、WindowsやLinuxの技術を使いこなせる。

Javaプログラマーにとっては、上記の < 1 > と < 2 > は重要です。
しかし、< 3 > については、そこそこに使える程度でも構いません。
上記の < 3 > は、C++とC#を使うプログラマーが担当するので、Javaプログラマーは、そこそこに使える程度でも構いません。
しかし、そこそこ程度でも使えないと、「Windows Server環境でのJava開発が行えます」と言えません。
ちなみに、その「C++とC#を使うプログラマー」の担当の場合は、以下の通りになります。
参考までに読んで下さい。



[Windows Server環境でのJavaと関連づけたC#、及びC++開発]

もしも、質問内容が、以下の内容だったとします。

------------
Windows Server環境で、Javaと関連づけて、C#とC++の開発を行なうには、どのようなイメージでしょうか?
------------

その場合は、C#とC++の開発者が必要な技術は、以下の通りです。

< 1 >
Visual C#が使いこなせる。

< 2 >
開発環境Visual C++でのプログラミング言語のC言語とC++が使いこなせる。

< 3 >
C++(C言語を含む)とC#との連携が行える。
すなわち、C++(C言語)とC#の連携する技術を持つC++/CLIと言うプログラミング言語を習得する。

< 4 >
C#で、Javaと連携させることが可能である。

< 5 >
Microsoft系のC++技術やC#技術で、LinuxのC++(C言語)と連携させることが可能である。

< 6 >
C#やC++/CLIで、Webサービスによるサーバーシステム(SaaSと言うタイプのクラウドコンピューティング)が作れるようになる。

< 7 >
上記 < 4 > を行なうため、Javaをそこそこには使いこなせる必要がある。

< 8 >
上記 < 5 > を行なうため、Linuxをそこそこには使いこなせる必要がある。



[Windows Serverと関連づけたLinux系C++開発]

もしも、質問内容が、以下の内容だったとします。

------------
Windows Serverと関連づけて、LinuxでのC++とC言語の開発を行なうには、どのようなイメージでしょうか?
------------

その場合は、Linux系でのC++とC言語の開発者が必要な技術は、以下の通りです。

< 1 >
Linuxで、C++とC言語が使いこなせる。

< 2 >
Microsoft系のC++技術が使いこなせる。

< 3 >
C++(C言語を含む)と.NET系技術(C#系の技術)との連携が行える。
すなわち、C++(C言語)と.NET系技術の連携する技術を持つC++/CLIと言うプログラミング言語を習得する。

< 4 >
可能であれば、Microsoft系のC#技術を習得しているほうが望ましい。

< 5 >
上記の < 2 >、< 3 >、< 4 > を行なうため、Windowsをそこそこには使いこなせる必要がある。



[WindowsとLinuxとの共存について]
Windows ServerやWindows 10 では、Windows Subsystem for Linux (略称: WSL) と言うプログラムを使えば、WindowsとLinuxとの共存が可能です。
WSLの最初のバージョンでは、疑似的なLinux機能をWindowsで実現するものでした。
すなわち、Windowsのカーネル(OSの中枢部分)を使って、疑似的なLinuxを実現するものでした。
これに対して、バージョンアップしたWSL2では、本物のLinuxを搭載しています。
すなわち、Windowsのカーネル(NTカーネル)とLinuxカーネルが共存します。
このため、Linuxで作られて来た技術やツール等が、そのままWindowsで使えるようになりました。
詳しくは、WSL2のキーワードで検索して下さい。



[Javaからの.NET機能の活用]
統合開発環境Eclipseでは、Javaを中心にして、様々なプログラミング言語が使えます。
統合開発環境Eclipseは、様々な企業が参加して、Eclipse上で動作する開発環境を作れます。
すなわち、統合開発環境Eclipseは、様々な開発環境を統合する開発環境と言う立場です。
統合開発環境Eclipseの上で動作する、様々なプログラミング言語の開発環境は、Javaと連携するこが可能です。
その統合開発環境Eclipseの上で動作する開発環境には、C#の開発環境もあります。
すなわち、C#を利用して、JavaからMicrosoft系技術を活用することが可能です。

「.NETでもEclipseを使ってみる」
https://www.atmarkit.co.jp/fdotnet/tools/eclipse/eclipse_01.html

詳しくは、EclipseとC#のキーワードで検索して下さい。



[Windowsの最大の特徴であるイベントドリブンについて]
Windowsの最大の特徴は、イベントドリブンです。
外来語として使われている一般的なイベント(event)と言う言葉は、出来事や事象のことを指しています。
だいたいは、行事や催し物のことをイベントと言います。
これに対して、Windowsでのイベントとは、ソフトウェアにとって外部から通知される何らかの事象のことをイベントと言います。
その「外部からの通知」とは、キーボードやマウスから発生した信号があります。
また、周辺機器等のハードウェアから来る信号もあります。
具体的には、「マウスの左ボタンが押されましたよ」と知らせる信号があります。
また、「マウスの右ボタンが押されましたよ」と知らせる信号もあります。
また、「マウスが移動しましたよ」と知らせる信号もあります。
また、「キーボードのAキーが押されましたよ」と知らせる信号もあります。
また、「キーボードのBキーが押されましたよ」と知らせる信号もあります。
また、「ソフトウェア(プロセス)が起動されて開始されましたよ」と知らせる信号もあります。
また、「ソフトウェア(プロセス)が終了しましたよ」と知らせる信号もあります。
そう言ったシステム内で発生した現象を通知するための信号がイベントです。
イベントが発生すると、そのイベントに該当する処理(プログラム)が実行されます。
例えば、「マウスの左ボタンが押されましたよ」と言う通知信号(イベント)が発生したら、左ボタン押下で行なうべき処理(プログラム)が実行されます。
また、例えば、「キーボードのAキーが押されましたよ」と言う通知信号(イベント)が発生したら、Aキー押下で行なうべき処理(プログラム)が実行されます。
このイベント(事象)が発生した時に実行される処理のことをイベントハンドラと言います。
イベントの仕組みで、プログラム全体を動作させる方式が、イベントドリブンです。
イベントドリブンを採用している代表が、Windowsです。



[CORBAによるイベントの活用、及びJavaとC++との連携について]
イベントドリブンを活用したシステムを作りたい場合は、一般には、Windowsを使います。
しかし、イベントの活用が可能なのは、Windowsだけではありません。
分散システムのCORBAがあります。
分散システムとは、いろいろ説明しますと長くなりますが、簡単に説明しますと、サーバーシステムを作るための本格的な技術です。
Java系でのCORBAを使ったサーバーシステムの作成は、結構有名です。
そのCORBAには、イベントチャネルと言う機能があります。
そのCORBAのイベントチャネルと言う機能で、簡易的にイベントを発生させる仕組みが作れます。
CORBAは、Javaだけではなく、C++にも対応しています。
C++系でのCORBAを使ったサーバーシステムも、結構多くあります。
CORBAを使えば、簡易的とは言え、イベントが扱えます。
また、Javaで作るシステムとC++で作るシステムとの連携が行なえます。
よって、CORBAは、サーバーシステムの作成では、重要な技術となっています。


[Webサービスによるサーバーシステムの作成]
前述のCORBAは、UNIX系でも、Windows系でも使えます。
また、CORBAに対応しているプログラミング言語は、JavaとC++だけではなく、幾つかのプログラミング言語が対応しています。
よって、CORBAは、実質上の標準的な地位を得ました。
しかし、CORBAは、幾つかのプログラミング言語が対応しているとは言え、その対応した範囲に限定されています。
そこで、標準技術による、もっと広く通用したサーバーシステム作成の技術が作られました。
それは、プロトコル(通信の規約)のSOAP ---

(続く)

  • abiko tetuさん

    2019/9/423:59:50

    (続き)

    それは、プロトコル(通信の規約)のSOAPです。
    また、SOAPを使ったサーバーシステム作成用技術であるWebサービスです。
    SOAPとWebサービスは、Microsoft、IBM、BEAシステムズ、SAP、Oracle、富士通、Hewlett Packard、Intelが手を組んで作られました。
    Webサービス系の各種標準技術は、Microsoftは、C#を使って作りました。
    また、Microsoft以外の企業達は、Javaを使って作りました。
    よって、Webサービス系のシステムでは、JavaやC#が、中心的な存在となっています。
    Webサービスのシステムを作れる開発環境は、2000年や2001年にベーター版が出てきました。
    正規版の開発環境は、2002年にいっせいに登場しました。
    その2002年とそれ以降では、企業向けのビジネス系システムでは、普及に成功しました。
    しかし、一般ユーザー向けのシステムでは、普及に失敗しています。
    一般ユーザー向けのシステムとは、音楽、ゲーム、ファッション等 ---

    (続く)

  • その他の返信を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

pri********さん

2019/9/410:48:10

WindowsだとかRedhatだとかOSの種類を意識する前に、何をするためのシステムなのか?誰のシステムなのか?を意識された方が良いと思います。
そこから推測される要件によって、Windowsが必要なんだなとかLinuxでやるんだなとか見えてきます。

サポートも欲しいけど、低価格帯ですませたいお客さんは、SQL Serverを使ったりしますからWindowsが必要です。
または、シングルサインオンを実現したくて、active directory を使いたいとかですと、Linuxでアプリケーションを動かしてデータはWindows上のものを使うとか考えられると思います。

何か理由はあって選定しているはずです。
マイクロソフトとの付き合いがある企業で、ということもありえます。Linuxがあるので、ちょっと、この場合は考えにくいかなぁと。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

プロフィール画像

カテゴリマスター

原沢信道さん

2019/9/410:01:47

JavaはOS上ではなくJavaVM上で動きます。なので、Windowsで動くJavaVMが作られ、その上でJavaが動くようになっています。別のOSでは、そのOS用のJavaVMが作られその上で動くので、OSの違いを想定して作って有れば、WindowsのJavaVM上で動いているプログラムを、そのまま別のOSのJavaVM上で動かす事も可能です。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo!知恵袋カテゴリ

一覧を見る

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる