BlazeDSとAMFでWebとデスクトップのアプリケーションを構築する
現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。
- Java,
作者 Charles Humble, 翻訳者 編集部 投稿日 2008年4月20日 午後12時35分
eBayで働いているMichael Galpin氏が、 デベロッパのエクスペリエンスおよびコードの質を改良するために、Eclipseプラグインの広範囲な使用およびコード生成について説明した2部構成の記事を、IBMの Developer Worksサイト上に書いた。最初の記事(source)は、初期のPerlルーツからバージョン4として知られる現在のJava バージョンまでに及ぶeBayのプレゼンテーション層のアーキテクチャーの進化を説明したものである。
「V4アーキテクチャーは、バックエンドのタイプされたJavaオブジェクトを使用してフロントエンドで使用されるすべてのものを表現するというアプローチをとった。ページは、画像を使用しているか?それなら、その画像にJavaオブジェクトがある。その画像を削除する場合、他のJavaクラスを削除するのと同じ位、単純か複雑である。同様のことが、CSSおよびJavaScriptのリンクにも言える。V4は、サーブレットまたはJSPを使用せずにHTMLを作成する。代わりに、実際のHTML DOMがJava言語で表され、サーバ上にCSS およびJavaScriptをつなげることができる。数ある中で最大の問題は何か?コンテンツ?V4のコンテンツシステムは、独特で力強い。独自のXMLベースの言語を使用して、コンテンツコントラクトを作成する。ワードコントラクトの選択は意図的である。コントラクトは、コンテンツの一部(ユニット)の作成に必要なデータの種類を定義する。たとえば、特定のユニットが整数および英語のストリング (例「Raymond has 4 cars」)を必要としているが、2つの整数とそれ以外の言語のストリングを必要としている。種類や基数について複数のバリエーションがある場合もある。コントラクトは、このすべてをXMLで定義する。それからコントラクトは、特定のアプリケーション/ページ/コンポーネントによってサポートされる各言語で実装される。もちろん、Javaでタイプされたオブジェクトとして表される必要があり、使用される目的で提供されることになるすべての動的データ (上記でいう「Raymond」および「4」など)を要求する。関与しているのはすべてタイプされたJavaオブジェクトであるため、コンパイル時にすべて実行される。アプリケーションデベロッパがJavaコードで2つのパラメーターを指定しない場合、コードはコンパイルしない」。
その記事は、アプリケーションを構成する、さまざまな言語によるJava表現をeBayがどのように実装するかを説明するまでに及ぶ。JavaScriptはネイティブコードとして保持され、 Javaでプロキシされ、CSSファイルは開始点として使用されるが、ランタイム時にCSSを生成するために使用されるJavaクラスファイルに取って代わる。コンテンツコントラクトXMLもJavaなどに変換される。eBayのアプローチを貫く中心的なテーマは、Eclipseコードジェネレーターを使 用して、 この変換をすることで単調でつらい仕事から抜け出すということである。eBayはEclipseプラグインを開発して、それぞれのソースファイル(JavaScript、CSS およびXML)をJava表現に変換し、またカスタムエディターを開発し、 専有XMLフォーマットで動作するようにした。最初の記事は、V4コンポーネントのeBayの実行インスタンスをイントロスペクトする例およびそのコンポーネントを直接Eclipseで開く例を示し、終了している。
2番目の記事(source)は、eBayがXMLファイル形式とその他の専有プラグインの組み合わせを使用して、プロジェクトの依存関係を管理する方法について説明して いる。XMLファイルは、 Eclipseが必要なプロジェクトおよび.classpathファイルを生成することを可能にする。 また、XMLコントラクトと同様に、2番目のプラグインがエディタにXMLを提供する。
一連の独自の専有Eclipseプラグインと同様に、eBayも第三者のものを使用している。ソースコード制御用のRational ClearCaseプラグインおよび静的コード分析ツールであるFindBugsが言及されている2つで、eBayによりソースコード承認の一部として使用されている。
ここでの重要な局面は、Eclipseプラットフォームのオープンソースとしての資質である。ソースが公開されて以来、eBayにとって専有プラグインを残りのIDEと統合することが比較的容易な作業になっている。
原文はこちらです:http://www.infoq.com/news/2008/04/ebay_eclipse
現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。
ウィルス対策ソフトや情報漏えい防止用のソフトは、いわば影の存在です。ユーザの操作性やGUIを工夫する以上に、いかに目立たない存在となるかにその技術を注ぎ込んでいます。ここでは日立ソフトが開発した「秘文」の事例を紹介します。
Google Chartは、チャートを作成するためのWebサービスです。本稿では、Google Chartのインターフェースと、Rubyコードから簡単にチャートを生成することができるgchartrbライブラリの説明をします。
全二回からなるこの記事では、ダイナミックビジネスアプリケーション(Dynamic Business Applications:DBAs)の開発についての全体的な眺望を、アーキテクチャと方法論の観点から見ていくことになります。我々のゴールは、「ビジネスの変化や、その他に必要とされる変更に対して、いかにして容易に適応できるアプリケーションを構築していくか」を導きだすことです。
本稿では、Adrien Louis氏がESBベースのSOAに対する2つの接続形態についての賛否について説明しています。その2つとは、会社での単一のESB対「部門毎」に相互接続するESBによるシステムです。
誕生から2年を経てCometは「何が出来るのか」という議論から、「いかに実現するか」という議論に関心が移ってきたように見えます。そこで本稿では同じくJavaOneで数多く取り上げられたNetBeans 6.1とGlassFish v3を使いながら、サンプルを交えてCometを解説していく事にします。
この記事では、WSS3とMOSS 2007に難しい設定など一切せず、すぐに利用可能なWebサービスと、Javaと.NETからそのWebサービスを消費する方法に目を向けます。
この記事の始まりは、知的で思慮深い人たちの魅力的なグループが食事会を終えて話をしているところです。話はレトロスペクティブ(振り返り)プロセスの要であるプライムディレクティブ(最初の指示)に及んでいます。
No comments
返信