将来性から見たJavaと.NETの違い、そして連携は?:Javaから見た.NET(3)(4/4 ページ)
システム開発がますます複雑化していく中、エンジニアには、テクノロジを理解して、さまざまな場面に適した選択が求められます。本連載では、Javaと.NETの基本的な仕組みから最新の傾向や技術などについて、数回に分けて紹介します
サポートサービス面から見たJavaと.NET
企業システムなどではプラットフォームのサポートも重要です。サポートが終了すると、セキュリティの不具合の修正などのメンテナンスが終わってしまいます。しかし運用中のシステムは、ほかのシステムやミドルウェアがバージョンアップすることによる影響もあり簡単にバージョンアップできません。
Javaの場合
APIの仕様に変更があるとテストもしなければなりません。そこでJavaはJava SEのサポートに有償サービスである「Java SE for Business」というサービスを提供しています。下図のように従来の無償版と比べて最長15年延長できます。
ほかにも、JREのアップデートに対して分析やプランニングなど移行を支援するためのサービス「Java Migration Support Service」もあります。
.NETの場合
.NET Frameworkのサポート状況は以下のようになっています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
.NETのサポートはJavaのような有償でサポートを延長するサービスはなく、サポート終了日までに新しいバージョンへの移行を推奨しています。また、ポリシーの重要点として.NET Framework 3.5 Service Pack 1(SP1)から、.NET Frameworkはコンポーネントとして定義されます。
Javaと.NETのコミュニティ活動は?
最後に、コミュニティ活動の面から両者を見比べてみましょう。
Javaのコミュニティ
Javaのコミュニティは、オープンソースであることも手伝って、非常に多く存在しています。その中でも代表的なものを紹介します。
- OpenJDK
JDKをオープンソース化しようとするプロジェクト - java.net
技術者から研究者などさまざまな有識者で構成されているコミュニティ - GlassFish
フリー、かつオープンソースでエンタープライズ向けのアプリケーションサーバやツールの提供、リファレンス実装をしているコミュニティ - Java Community Process(JCP)
Javaの技術の開発や標準仕様の策定を行っている国際的機関 - Apache Software Foundation
数多くのプロジェクトを保持するオープンソースのソフトウェア製品を展開するコミュニティ
ほかにも世界中に数多くのコミュニティが存在しており、オープンソースの成果とともにコミュニティは拡大しています。またJavaそのものもJCPを通じて成長しています。
.NETのコミュニティ
.NETのコミュニティも非常に充実しています。.NETには、マイクロソフトが提供する「Microsoft Developer Network(MSDN)」というエンジニア向けのサポートサービスがあります。このMSDNの中でマイクロソフトの製品や技術ごとのコミュニティが紹介されており、マイクロソフトの社員による回答も得られます。
日本におけるコミュニティの状況
また日本における状況としては、どちらの技術も言語仕様、ドキュメント、コミュニティともに日本語のサポートはかなり充実しています。
日本でのコミュニティも数多くあります。その中でもJavaでは「日本Java ユーザーグループ(JJUG)」「java-ja」、.NETでは「Visual Studio User Group(VSUG)」、そして双方をカバーする「The Seasar Project」などが有名です。
将来性は、企業とコミュニティの連携がカギ?
本特集では、Javaから見た.NETというテーマについて3回に分けてさまざまな視点から紹介してきましたが、いかがでしたでしょうか。
サン・マイクロシステムズがオラクルに買収されたことによって、Javaの勢いは少し弱まっていました。ライセンスの問題でJava 7がなかなか前に進まないこともJavaの進化が鈍くなっている原因かもしれません。しかしオープンソースであるJavaはGNU GPLの基でライセンス化されています。
Javaの利用は減少気味かもしれませんが、まだまだサーバサイドの分野ではJavaのシェアは非常に大きいです。さらに近年では、GroovyやScalaなどのJVM上で動作するスクリプト言語の登場によりJavaの資産であるJVMにスポットが当たっています。
ほかにも、Androidや前述のApp Enigneの登場により、Java言語は息を吹き返した感があります。つい先日、訴訟が起きてしまったばかりですが(参照:オラクル対グーグル訴訟、Androidへの影響は?〜グーグルは「根拠がない」と反論)、オラクルとグーグル、そして数多くのJavaのコミュニティが何とか協力する方向に向かえば、Javaの未来は明るくなるのではないでしょうか。
一方、.NETはアプリケーションの形式がC/SモデルからWebアプリケーション、そしてクラウドへと変わっていく中でさまざまなプラットフォームが登場しました。近年では、Windows 7、Silverlight、Windows Azureなどがあります。しかし、どの技術に関しても.NET FrameworkとVisual Studioによって開発できるのが大きな強みです。Visual Studio 2010が動的言語にも対応し.NET開発言語の幅も広がりました。
マイクロソフトは「ソフトウェア+サービス(S+S)」という既存のクライアントとサーバの資産とインターネット上のサービスの利点を組み合わせた環境を提供することを技術戦略としています。これにより、企業やコミュニティが求めるニーズに幅広く対応できるでしょう。今後もサポートやコミュニティからのフィードバックを反映したサービスに注目です。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- いま再注目の分散処理技術
- App Engine/AptanaなどJavaクラウド4つを徹底比較
ユカイ、ツーカイ、カイハツ環境!(5) - AWS ToolkitでTomcatクラスタをEC2上に楽々構築
ユカイ、ツーカイ、カイハツ環境!(12) - AzureのストレージをJavaで扱えるWindowsAzure4j
ユカイ、ツーカイ、カイハツ環境!(14) - EclipseでJavaとXAML/WPFをつなぐフレームワーク
JavaにおけるRIAの選択肢の1つとして.NETを使う!? - Javaシステムで.NETテクノロジを採用する理由とは?
事例研究:J2EEシステムへの.NET導入事例