トップスポーツチームの監督に教わる秘訣
この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。
作者 Jon Rose, 翻訳者 編集部 投稿日 2008年6月18日 午前12時36分
今回の投稿記事では、InfoQ.comはCurl, Inc.の社長であるRichard Monson-Haefel氏とプラットフォームについて話した。Curl(サイト・英語)はEnterprise RIAアプリケーションを構築するためのプラットフォームである。Monson-Haefel氏は、Curlプログラミング言語、IDEおよびクライアン トサイドのランタイムを取り上げている。それに加えて、エンタープライズ向けにRIAのプラットフォームを構築する際に、Adobe AIRやFlexよりもCurlを検討したほうが良い理由を強調している。Curlは1998年にMITのリサーチに基づいて設立され、「RIA」という用語が作られるまで、最初のRIAプラットフォームであった。Curlリッ チインターネットアプリケーションプラットフォームは、高性能な主幹業務のビジネスアプリケーションの構築に重きを置いている。InfoQは、クライアントサイドランタイムについてMonson-Haefel氏に詳細を尋ねた。
Curlプログラミング言語はCurlプラットフォーム言語の基盤であり、マークアップ言語、スクリプト言語および重要なオブジェクト指向プログラミング 言語の強みを結合する。1つの統一言語でこれら3つのモデルを強力にサポートするので、Curlはこのような機能を複数要求するアプリケーション開発を簡 略化する事ができる。
他のプラットフォームのパフォーマンスの制限に不満を感じていたり、クライアントマシンのフルパワーで実行可能な高インタラクティブなアプリケーションの 作成を望んでいるデベロッパは、Curlを検討してみてもよいかもしれない。われわれの顧客の多くが(時としてFlexを使ってみた後で)、Curlのセ キュリティ、機能性およびパフォーマンスがこれまでできなかったことを可能にすることを見出した。Curlを使えば高機能のアプリケーションでさえも、パ フォーマンスや開発スピードを損なうことなく、RIAとして実装可能である。
デベロッパがアプリケーション要求に最適なRIAプラットフォームを検討しているのであれば、他の利用可能なプラットフォームに代わるものとして真剣にCurlを考えてみるとよい。
Curl, Inc. は、Curlプログラミング言語に基づいたソフトウェア製品を維持している。 それは、Curl統合開発環境(IDE)およびランタイム環境(RTE)である。Adobe FlashがFlexアプリケーションを実行する原動力であるのと同じ要領で、Curl RTEはCurlアプリケーションを実行して表示する原動力である。InfoQは、 引き続きクライアントランタイムの市場浸透について尋ねた。
Curlランタイムは、Flashランタイムよりもかなり高速であり、またローカルストレージを備えたオンライン/オフラインおよびインブラウザ/アウト ブラウザアプリケーションを提供することが可能である。そこで、それはよりセキュアであるということだけで、Adobe FlashやAdobe AIRと同等である。エンタープライズプラットフォームとして、実行にはよりセキュアでなくてはならない。CurlをFlexと比較するというベンチマー クをおこなったところ、8倍から10倍の速さであることが判明した。ここで、ベンチマークを確認することができる。
近ごろ、RTEおよびIDE(現在、Curl Development tools for Eclipse、略してCDEと呼ばれている)のEclipseベースのベータバージョンを発表した。すべての開発ツールをEclipseフレームワーク に遷移し、デベロッパの新コミュニティ全体にCurlを開放した。
300名を超える顧客と40企業パートナーを獲得するという非常に好調な業績をあげ、Curlは2007年4月に再度北アメリカに乗り出した。Curlの 顧客はほとんどが日本の顧客であるが、北アメリカの企業からCurlのような高性能RIAプラットフォームの需要が高まっている状況である。Monson-Haefel氏はIDEを詳細に説明した。
ランタイムの市場浸透に関しては、Curlは決して大衆市場向けのテクノロジーを目的とはしておらず、大きなインストール基盤を持つAdobeのような企 業と競争をするつもりはまったくない。たいていのCurlのアプリケーションはファイアウォールの後方にデプロイされるため、ランタイムのインストール数 は問題にはならない。
Curlはフル機能装備のIDEである。ドラッグアンドドロップビジュアル編集、オートコンプリート機能付き構文を区別する編集、ブレークポイント付きデ バッガー、広範囲に及ぶデータ検査機能、パフォーマンスプロファイラー、ソースコードコントロールの統合、文書化などの機能がある。またCurlには一連 の堅固なライブラリがあり、 深さと幅の点でJavaと肩を並べる。Monson-Haefel氏がCurlの始め方を説明している。
Curlデベロッパは、設計者というよりはむしろプログラマの傾向が強いのだが、Curlの設計者はAdobe PhotoshopやIllustratorを使用し、Curlアプリケーションに容易に統合できるアートワークを作成する。
最も良い方法は、Get Started with Curl(source)のWebページにアクセスすることである。また、Curl DeveloperコミュニティサイトにあるCurlのデモ(source)をいくつか確認し、手を汚し、IDEをダウンロードし(source)、Curl Community(source)に参加し、自分のアプリケーションにCurlが最適かどうかを自身で判断する。われわれのコミュニティは反応が非常に早い。ほとんどの 質問は、数時間以内に回答が出される。InfoQは、Curlを他のRIAテクノロジーと統合することについて尋ねた。
Curlの最新のフルバージョンであるVersion 6.0は、JavaScriptやAjaxのようなその他のRIAテクノロジとの統合が、以前のバージョンよりもさらに容易になった。Curlアプリケーションは、周辺のWebページのJavaScript APIを呼び出すことができ、周辺のページのJavaScriptから制御することもできる。またVersion 6.0には、JSONフォーマットのデータストリームを解析したり、作成したりするサポートがある。このような機能により、Curlを既存のJavaScript APIを使用したデータアクセスを含むエンタープライズクラスのマッシュアップの構築に使用することができる。次にMonson-Haefel氏は、Curlのライセンス交付について述べている。
CurlはIDEおよびDeployment LicenseのBASEバージョンを提供している。それらは、無償で、完全に機能的であり、Curl言語とプラットフォームの強みを十分活かし、アプリ ケーションを作成することができる。商業用途はWebアプリケーションに限られ、一般に公開されているURL(httpsは使用不可)を通じて起動され る。また、エンドユーザには無償である。どういったデベロッパがCurlを検討すべきか、InfoQは尋ねた。
またCurlは、IDEおよびDeployment LicenseのPROバージョンを提供している。それらは、一層強化されたセキュリティ、パフォーマンスの向上そしてエンタープライズアプリケーションに対する保全性でBASEバージョンを増強する。
Curlは主に主幹業務のアプリケーションを構築するエンタープライズデベロッパに焦点を当てているので、すべてのデベロッパが対象である。実際言語はか なり容易であり、マークアップ、スタイルシートおよび本格的なオブジェクト指向のプログラミングをおこなうには、1つの言語のみを習得すればよい。Monson-Haefel氏は、サンプルアプリケーションをいくつか示している。
数多くのCurlデモサンプルアプリケーションがCurlのWebサイト(source)で利用可能である。それには、 CurlやCurl Nitroの最新バージョンを利用するストックパフォーマンス計算器およびFacebookソーシャルグラフィックツール(source)、タイムラインビューアー(source)が含ま れる。エンタープライズに的を絞るということは、ほとんどのクライアントアプリケーションが公共消費向けではないということである。今後、さらに多くのデ モを提供できるよう取り組んでいる。最後にMonson-Haefel氏は以下のように語っている。
エンタープライズに強みを発揮するアプリケーションを開発するためのツールが実に多く存在する一方、たとえどんなに有名で、人気があってもツールによっては必ずしもそれがベストチョイスであるとは限らない。
Curlは、専らエンタープライズ向けであり、エンタープライス実装における証明された実績により現在はバージョン6である。ツールによっては、エンタープライズで使用されているが、その結果にばらつきがでてしまう。
Curlのサイト(サイト・英語)で詳細を参照するとよい。ついでに言うと、先週InfoQはCurlベンチマークに関する議論(参考記事)を取り上げた。
原文はこちらです:
【無償】「Google Apps 企業向けソリューションセミナー」のご案内
12/16 ~野村総合研究所が提案~ 「不況を乗り切る!効果的なIT投資を考えるセミナー」
12/5 CSQ会員限定技術情報交換会にてJCP議長が標準化について語る
この記事では、私達がどのようにして大規模(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
返信