Typemock: その過去・現在・未来
Eli Lopian氏率いるTypemock社の過去・現在・未来について、インタビュー形式にて記します。
作者 Ryan Slobojan, 翻訳者 編集部 投稿日 2007年9月10日 午前1時52分
Mainsoft(サイト・英語)は最近「Mainsoft for Java EE(サイト・英語)(これまでVisual Mainwinと呼ばれていたもの)」のバージョン2.0をリリースするとともに、興味深いホワイトペーパー(PDFファイル・英語)を公開した。それによると、「Mainsoft for JavaEE」でクロスコンパイルされてJava EEで動作する.NETベースのアプリケーションは、様々な分野で元の .NETベースのアプリケーションより良い性能を発揮したと報告している。InfoQは詳細を知るためにMainsoftのCEOであるYaacov Cohen氏(サイト・英語)に話を伺った。
まずCohen氏に、どのように「Mainsoft for Java EE」が動作するのかを説明してもらった。
.NETフレームワークコンパイラが生成するMicrosoft Intermediate Language(MSIL)コードを、クロスコンパイルエンジンがクロスコンパイルしてJavaバイトコードを生成します。.Netフレームワーク実行環境のJavaベースでの実装は、アプリケーションを実行するクラスをサポートします。そして、わが社のVisual Studioエクステンションを使うことによって、開発者はJava Enterprise Editionプラットフォームでウェブおよびサーバーアプリケーションのコーディング、コンパイル、デプロイ、デバッグを行うことまでできるのです。
コードはバイトコードレベルでクロスコンパイルされるので、ソース変換は必要ない。つまり、Visual Studio .NETは移植されたアプリケーションにとって依然として唯一の開発環境のままである。MainsoftはASP.NET、ADO.NET、WebサービスAPIなどの.NETフレームワークの大部分をJavaに再実装してきたが、「Mainsoft for Java EE」はWebおよびサーバーアプリケーションに対象を絞っているため、Windows Formsのようなコンポーネントはいまだに実装されていない、ということもわかった。
Mainsoftのホワイトペーパー(PDFファイル・英語)には、ある会社が「Mainsoft for Java EE」を使用して既存の.NetベースのWindowsアプリケーションをJava EEベースのLinuxアプリケーションに移植した事例研究が紹介されているが、InfoQはこのような内容を見つけた。
Javaが.Netより速い理由について、ホワイトペーパーで示したかったのは、サーバーアプリケーションは性能上の不利益を被ることなく移植できるということだと、Cohen氏は慎重に指摘した。
マイクロソフトの .NETフレームワークがIIS及びWindowsの強みを活用した方法と同じように、我が社のオープンソース.NET実装をWebSphereの構造的な強みに合うようにチューニングすることで同等の性能を提供しています。性能検証のために、テストを行う各OSおよびハードウェア構成に合ったガーベージコレクションアルゴリズム、ページサイズおよびヒープサイズを設定しました。ライブラリと共に公開したいくつかのシナリオにおいて、IBM Java仮想マシンを最適化しなければならないこともわかりました。WebSphere Application Server 6.1のリリースにおいてこれらの点は変更されており、様々な方法で入手することができます。
最近、数多くの会社が自社製品をオープンソース化しているなかで(サンのJDK、テラコッタのDSO、そしてアドビのFlex SDKなど)、InfoQはCohen氏にMainsoftは後を追うつもりかどうか伺った。それに対し、氏は次のように答えた。
クロスプラットフォーム .NETは大規模なプロジェクトであり、Novellに次いで、MainsoftはMonoオープンソースプロジェクト(サイト・英語)の最も大きなコントリビューターです。我が社は、.NETフレームワークのすべてのアセンブリをMonoと共有しています。例外は、コアライブラリであるmscorlib.jarですが、これはMainsoftの独自仕様で .NETコアクラスライブラリをJAVA EEに実装したものです。
Mainsoftは、Grasshopperと呼ばれるDeveloper Editionの無料提供(サイト・英語)も行っています。これを利用すれば、単一CPU構成のTomcat上にデプロイすることができます。
原文はこちらです:http://www.infoq.com/news/2007/07/mainsoft
(原文は2007年7月19日にリリースされました)
この論文では、仮想化やクラウドサービスの複雑なメリットと実世界における応用を検討します。さらに重要なこととして、Contegixが複雑な問題の解決に仮想化を実装している方法や、仮想化を使うべきではないケースについて詳細を提供します。
Fiberはユーザに試練を課すことなくこの考えを実装する有益な並行性ツールとして、ライブラリが2つあります。まさにこのためのソリューションとしてあるのがNeverBlockライブラリです。私たちはNeverBlockプロジェクトのMohammad A. Ali氏とRevactorライブラリのTony Arcier氏に話を聞きました。
システムの保守容易性や拡張性を確保するためのベスト・プラクティスに関する記事は数多くありますが、この記事では避けた方がいい、いくつかの悪習慣(ワースト・プラクティス)を強調します。
この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。
Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。
マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。
No comments
返信