トップスポーツチームの監督に教わる秘訣
この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。
作者 Jon Rose, 翻訳者 沼田 暁子 投稿日 2008年9月18日 午前6時33分
この記事でInfoQは、AppceleratorプラットフォームについてMatt Quinlan氏と議論している。同氏はAppcelerator社のCommunity Developmentの副社長である。Quinlan氏はAppceleratorとその一般的な使い方の一部がもつ強みについて強調した。AppceleratorはRIAとSOAを完全に統合したプラットフォームです。
Appcelerator はWeb 2.0スタイルのリッチ・インターネット・アプリケーション(Rich Internet Applications:RIAs)のユーザビリティのメリットを、サービス指向アーキテクチャ(Service Oriented Architecture:SOA)の再利用性や柔軟性と組み合わせます。この組み合わせは「Webのためのクライアント/サーバ」の開発スタイルをもたらします...
「Appceleratorとは何か」がわかったところで、InfoQはQuinlan氏に、なぜソフトウェアの専門家はAppceleratorを使用することを考えるべきなのかを尋ねた。
理由ですか?Ajaxベースのリッチ・インターネット・アプリケーション(RIAs)の構築をできる人がわずかで、GoogleのようにJavaScriptの忍者のそろった博士で構成された開発チームだけではないからです。InfoQはAppcelerator Expression Languageについて質問した。
Web Expression Language(web式言語)は従来のHTMLで使用されているJavaScriptのイベントモデルを(わずかにシンタックスを変更して)拡張しただけのものです。ある条件で特定のアクションを行います。例えば、onClick="javascriptコード"というコードをHTMLの要素の属性として書いているでしょう。Appceleratorのweb式言語では、on="click then script[javascriptコード]"と書きます。しかし、AppceleratorでWeb開発をする場合、利用可能な条件とアクションのリストはもっとたくさんあります。InfoQはAppceleratorアプリケーションのデプロイについて質問した。
条件:アクション:
- DOMイベント(クリック、フォーカス、アンフォーカス、変更、マウスイベント)
- キーイベント(キーアップ、キーダウン、キープレス)
- その他(ヒストリ、ドラッグ/ドロップ、選択、サイズ変更、iPhoneのorient、sortXYZ)
- カスタムメッセージへのサブスクライブ
- Scriptaculousのエフェクト(表示/非表示、フェード、移動、スクロール、ドロップ、拡大、ハイライト、モーフィング、...)
- 要素の値の設定(静的、動的、バインド)
- CSSのクラスや属性の設定
- カスタムJavaScriptコードの実行
- カスタムメッセージのパブリッシュ
これにより開発者は、イベント処理、DOM操作、(カスタムメッセージによる)Ajaxを、全て同じ方法で処理できるようになりますが、これは現在のイベント処理(例えばonClick)とよく似ています。
私たちのUIの分離やAjaxを可能にしているメッセージングを理解するためには、http://doc.appcelerator.orgの最初のページをご覧ください。API呼び出しよりもむしろ、オブザーバパターンやパブリッシュ/サブスクライブを考えてください。
それから、続いてInfoQはQuinlan氏に、SOAのバックエンドが必要であるかを尋ねた。Appcelerator ベースのアプリケーションは、JavaScriptが有効なWebブラウザならどれでも(プラグインなしで)そのまま実行可能です。単に appcelerator.jsファイルをHTMLにインクルードするだけです。私たちが言いたいことは「私たちはたくさんの複雑なJavaScript を書いていますので、あなたがそれをする必要はありません」。私たちは主要なWeb開発プラットフォームの6つ(Java/J2EE、.Net、 Ruby、PHP、Python、Perl)すべてについて、サービスバインディングをサポートしています。
Quinlan氏は次に、AppceleratorのGoogle App Engineサポートについて述べた。いいえ、私たちのクライアントサイドの技術(web式言語、ウィジェット、クライアントのみのメッセージング)は、従来のSOAではないWebアーキテクチャでも利用可能です。開発者が自分達の環境に技術を採用できるようにすることは重要です(私たちはこれを「ハイハイ」のステージと呼んでいます)。しかしながら、私たちは開発者がWebアプリケーションをサービス指向UI(Service OrientedUI:SOUIs)で構築すること考えることを強く勧めます。これは本質的に真のWebクライアント(HTML、CSSそして最小限の JavaScriptで構築)であり、サーバとは非同期のサービス呼び出しのみを通して相互に作用します(私たちはこれを「歩く」ステージとしています)。あなたはもうUIをサーバサイドのスクリプトで生成する必要は無いのです(http://www.appcelerant.com/lipstick-on-cgi.htmlをご覧ください)。
私たちは「app」と呼ばれる、便利で小さなスイス・アーミー・ナイフのような万能ツールを提供しています(RubyのGEMコマンドと似ています)。このツールは、Google App EngineのクラウドにAppceleratorのアプリケーションを直接デプロイすることも含め、たくさんのことを可能にします。このコマンドを使ってAmazon S3のクラウドに公開することもできます。InfoQはQuinlan氏に、その他にInfoQの読者がAppceleratorについて知っておく必要のあることについて尋ねた。
http://www.appcelerant.com/running-appcelerator-on-the-google-app-engine.html
パブリッシュ/サブスクライブメッセージングのパラダイムは非常にパワフルで、ユーザ・インタフェースの各要素やサーバサイドとのきれいな分離を可能にします。このアーキテクチャは、Appceleratorベースのアプリケーションを、オフライン(メッセージをキューイングしてフラッシュ)やテスト(クリックを偽装してメッセージを記録するのをやめたり...ヒント:クロスブラウザで機能します!)、プロトタイピング(HTMLの中でサーバサイドのサービスを偽装することで、サーバサイドのコード無しで完全に機能的なプロトタイプを構築(リンク))、そしてWeb開発者が関心を持っているその他の多くのものにとって、便利なものにします。
InfoQ.comがQuinlan氏にインタビューしたすぐ後に、AppceleratorはライセンスをGPLからApache2に変更したことを発表した。AppceleratorのCEOであるJeff Haynie氏は「Appceleratorがライセンスの変更を発表;さよならGPL(リンク)」という記事でこの変更を発表した。
みなさんがどのようにAppceleratorを使いたいのか、現在どのようにAppceleratorを使用しているのか、そして将来どんなことをしたいのかを知るために、私たちは過去6ヶ月の間、コミュニティと話をしてたくさんのことを聞きました。私たちは、とてもはっきりとした話題を明らかに聞きました:再配布の影響があるため、GPLはコミュニティの考え方には適したライセンスではないのです。特にWebアプリケーションの構築、Webサーバによる組み込まれ方やダウンロードのされ方に関係があるからです。これらの法的な懸案事項に関係があるので、私たちは当初を私たちのGPLでの立場を明らかにしようと考えていましたが-私たちは本質的にGPLライセンスの意図を緩和しようとしており、それは趣旨にそぐわないのではないかと感じました。このことは、私たちのライセンスが私たちのビジネスや技術的な目標にマッチしていないことを明らにしていました。
Appcelerator詳細はこちらで:http://www.appcelerator.com/
原文はこちらです:http://www.infoq.com/news/2008/09/appcelerator-ria
12/16 ~野村総合研究所が提案~ 「不況を乗り切る!効果的なIT投資を考えるセミナー」
InfoQ Japanはコンポーネントスクエアが運営しています
ITマネージャ必聴!IT活用セミナー 勝ち残りの法則~管理・統合化スペシャル~
この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。
Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。
マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。
Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。
筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。
エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。
この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。
No comments
返信