BlazeDSとAMFでWebとデスクトップのアプリケーションを構築する
現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。
- Java,
作者 Alexander Olaru, 翻訳者 編集部 投稿日 2008年3月6日 午前12時9分
Flux(サイト・英語)はJavaで記述された製品で、ジョブのスケジューリング、ファイルの転送およびワークフロー管理機能がある。Java、J2EEおよびWebサー ビス環境でスタンドアロンのアプリケーションとしても、 内蔵可能なソフトウェアコンポーネントとしても使用可能である。Quartzや同様の機能を実行するオープンソースフレームワークと比較すると(ブログ・英語)、Flux はデベロッパだけでなくWebやDesktop Interfaceを使用してワークフローを設計したりOperations Consoleでジョブフローの実行をモニターする非技術系のユーザによっても使用可能である。
Fluxは適宜複雑なフローチャートを作成するために結合されるトリガー、アクションおよびフローを使用して、非常に柔軟なプロセスフローの設定を助ける。
フローチャートはFlux APIを通じプログラムで設定されるか、Web Designerでグラフィックに設定することができる。Web Desingnerは先行リリースで導入されているが、既存のDesktop Designerに取って代わるものである(Swingに内蔵)。主としてJava環境をターゲットとしているが、他の言語で記述されたバッチプロセスや 実行ファイルもリモートマシンでスクリプトの実行を許可するFlux Agents(source)を使用することで、Fluxで起動しモニターすることができる。
7.7のリリース(source)で、Web Designerは拡張され、サポート対象のファイル転送のさまざまな特色に関連したアクションやトリガーの設定を可能にする。証明書ベースの認証が SFTPホストによるパスワード認証に代わるものとして追加され、B2Bファイル転送のセキュリティを保証している。Web Designerに新たに追加された機能はその他に、ランタイムデータマッピングでデベロッパがジョブやワークフローでのアクション間において、データの 移動を可能にさせるものである。
InfoQとのインタビューでFluxの社長であるDavid Sims氏は語った。「デスクトップ実装とWeb Designerが肩を並べるまでになるには、およそあと半年間の開発作業が必要である」。その違いはメッセージング、信号およびビジネスカレンダーに主 に関連している。Webアプリケーション(Operations Console)に組み込み可能なコンポーネントは、7.7のリリースではますますスケーラブルになった。今や何千ものジョブやチャートフローがモニター 可能である。

Sims氏はWeb DesignerおよびOperations Consoleが内蔵可能なコンポーネントとして使用可能な場合の、一般的なシナリオについて話した。
概して金融機関や金融ソフトウェア会社またはその他の企業で働くJavaの開発チーム(「Enterprise」と呼ぶことにする)はアプリケーションを 開発し、Fluxのジョブやワークフロー、ファイルの転送機能を自分たちのアプリケーションに組み込む。それからそのEnterpriseがアプリケー ションをデプロイし、ITスタッフはモニター、制御、そしてたいていそのアプリケーションを使用するという任務を負う。
ここでOperations Consoleの出番である。EnterpriseのITオペレーションスタッフは、それを使ってジョブやワークフローやファイルの転送を制御することができるが、それらはEnterpriseのアプリケーションに特有のものである。
単純な例としてEnterpriseがFluxエンジンを中心に資金および口座管理ソフトウェアアプリケーションをビルドするケースを考えてみる。 Javaアプリケーションは資金や口座を開始し、追跡し、そして大概管理するであろうが、ITオペレーションスタッフが自ら介入し自分たちで管理しなけれ ばならない場合もあるだろう。この場合ITスタッフはFlux Operations Consoleを使用し、システムに対しリアルタイムな調整をおこなうだろう。
7.7は先行リリースに完全準拠しており、オプションで永続的なジョブやワークフロー定義やランタイムジョブ実行情報向けに使用可能な、データベースに対 するスキーマの変更を必要としていない。またSims氏は、新たなWebコンポーネントの追加と共にFluxに導入されたテクノロジーについても詳細情報 を共有した。
さまざまなJavaScriptライブラリやテクノロジー(GWT、Dojo、 Prototype+Scriptaculousなど)を使用してきた。そしてわれわれはExtJSウィジェットの助けを借りながら、RESTfulアーキテクチャーに向けた移行の過程にいる。
XPathを使用して大きな(5MB) XMLワークフローをブラウザで直接読むことで、拡張容易性を拡大してきた。これによってブラウザとサーバ間における双方向のAjax通信が削減される。 その理由はブラウザがワークフローXMLを操作することができ、すべての修正がほどこされたときに、その結果をサーバに送信することができるからである。 それによって、サーバ側の作業を実行するためにさらに多いAjax要求を使用する同等のインターフェイスよりも90%以上も高速なインターフェイスを提供 することを可能にした。
David Sims氏との対話は、彼がFluxの次回のリリースに向けたロードマップを提示することで完結した。
I今年の5月もしくは6月に、Flux 8.0がリリースされる予定である。FluxのAPIはPOJOモデルとなり、2000年以来続いていた当初のファクトリー設計パターンに取って代わる。 POJOモデルにより、Springに代表されるフレームワークへの統合がさらに容易になる。
Flux 8.0においても、FluxエンジンのためのJavaScriptウィ ジェットがある。BPMダッシュボード、フローチャート(ジョブ/ワークフロー/ビジネス処理)であり、フローチャート、ログ、監査証跡、リポジトリ、 エージェント、ユーザ管理を実行する。新たなデータベースはトリガーし、データベーステーブルを照会したり更新するアクションをとる。
HSQLからDerbyへ更新。Java 5への更新は、特に業界標準の部品を使って組み立てられたものを最大限に利用し、コレクションを使用するドキュメントFlux APIへの更新。顧客のフィードバックによって保証される場合の可能性のあるFlux REST API。一般的に言って、現在4ケ月ごとに新しいFluxバージョンをリリースしている。
Fluxに関する詳細は、Webサイトや製品マニュアル(PDF・英語)で参照できる。
原文はこちらです:http://www.infoq.com/news/2008/03/flux-7-7
現在の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
返信