GAE開発の落とし穴
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Srini Penchikala , 翻訳者 編集部 投稿日 2009年3月7日
Skyway Builder Community Edition(CE)(リンク)の最新バージョンがSpringベース(リンク)のウェブ・アプリケーション用オープンソース・コード生成フレームワークを提供する。コミュニティ・エディションは、標準的なSpringアプリケーションのアプリケーション層(データ、サービス、ウェブ層)で必要となるコードを生成するのに使用できる。このたびSkyway Software(リンク)はSkyway Builder 6.1バージョンの一般提供(GA、General availability)を発表した。
新しいSpring MVCのスカフォールディング機能により、開発者はドメイン・モデルからSpringベースのJava CRUDアプリケーションを生成できる。このツールはJUnitテスト・クラスも自動的に作成する。以下のようなウェブ・アプリケーション分野において、Skyway BuilderはJava開発者をサポートする。
データ層:
サービス層:
ウェブ層:
この新リリースにはビルド・オートメーションのためのApache Maven(リンク)およびスタンダードEclipseの動的Web Javaプロジェクトへの直接生成のサポートが含まれている。またSpring IDEやSpring Tool Suite (STS)のようなSpringSource(リンク)ツールとの統合もなされている。
InfoQはSkyway Softwareのプロダクト・マネジャーであるNiel Eyde氏と、この新コミュニティ・エディションのリリースおよび当該製品の今後のロードマップについてインタビューを行った。
Skyway Builderコミュニティ・エディションのリリースの背後にある主な動機はどういったものでしょうか。
私達のビジョンは、ソフトウェアのデリバリ・ライフサイクルにおける複雑さを解消することにあります。無料かつオープン・ソースのSkyway Builder Community Edition(CE)提供による私達のミッションは、SpringベースのJavaウェブ・アプリケーションをスケジュールと予算通りに実現できるよう、コミュニティのメンバ、顧客、そしてパートナーがソフトウェア開発のコストと複雑性を削減できるようにすることです。
コード生成ツールはドメイン駆動設計(DDD)の原則およびDomain-Driven Design(リンク)の本で触れられているベスト・プラクティスにならっているのですか。
Skyway Builderは(Java、Spring MVCなどの)基礎をなす技術を抽象化しており、これはモデル駆動設計のDDD概念と一致しています。私達の生成コードは開発者によるモデルを具象化したものに過ぎません。仮に開発者がDDDを実践している人ならば、DDDの原則とベスト・プラクティスは開発者がSkyway Builderを使用してシステムを設計する方法に影響を与えるでしょう。これが生成コードのベスト・プラクティスとなるとき、Skyway Builderは、SpringSource(Skyway BuilderはSpringSourceに認証されています)および産業界(コミュニティ、顧客、パートナー)が定義するようにSpringのベスト・プラクティスに準じたアプリケーションを生み出すでしょう。
このツールは、テスト駆動開発(TDD、Test-driven Design and Development)の原則に基づいてコードを記述するのに慣れているJava開発者にとって、どう役立つのでしょうか。
Skyway Builderには、明確にTDDを指向する機能性はありません。現時点では、私達の目的は単にTDDの妨げにならないことであり、開発者はSkyway Builderを使用する際にTDDを十分に活用できるはずです。わずかな違いといえば、アプリケーション・コードの一部(あるいは全て)がハンド・コーディングするのに代わって生成されるということです。TDDを可能とするため、Skyway Builderのコード生成は開発者にとって完全にトランスペアレントでなければいけません。生成コードは質が高く、開発者が使用するのと同じライブラリを利用し、いかなるカスタム(つまり独自の)ライブラリも利用しないことが必須です。また、コードが(開発者のスタイルや好みによるバラつきがより少なく)一貫した方法で作成される点がテストに対してメリットを持つということに留意するのも重要です。つまり、TDDに関連したいくつかの機能をSkyway Builderに追加する機会が必ず存在するということです。
ツールで生成された後にコードを修正することはできますか。
できます。開発者はSkyway Builderを様々な方法で使用できます。アプリケーションの全体構造を定義・生成するのにSkyway Builderを使い、生成コードの実装とメンテナンスを自分で行う人もいるでしょう。またアプリケーションのエンドツーエンド開発にSkyway Builderを使う人もいるでしょう。どちらの場合も、開発者は既存のJavaコードまたはライブラリ、Groovyコード、そしてSpring BeansをSkyway Builder環境から活用することができます。生成コードを修正するためには、@で生成されているアノテーションを削除し、その後手打ちで整えます。Skyway Builderの次のリリース(6.2)では開発者はハンド・コーディングしたコードのブロックを生成メソッドに追加できるでしょう。
Skyway Builderツールと、Eclipse Modeling Framework (EMF(リンク))やopenArchitectureWare (oAW(リンク))、AndroMDA(リンク)といった他のコード生成ツールとの比較はどうでしょうか。
これらは全て汎用のコード生成フレームワークです。こういったツールはコード生成のソリューションを作成するのに役立つ一方、Springベースのウェブ・アプリケーション生成については特定のソリューションを提供しません。開発者がSpringを使用してSpring MVCアプリケーションやRIAを生成する必要があれば、そのうちいずれかのフレームワークを使って独自のコード生成ソリューションを実装する必要があるでしょう。Skyway BuilderはEMFをインスタンス化したものです。私達はEMFの性能を活用し、Springベースのウェブ・アプリケーション開発を後押しするソリューションを提供しています。
Skyway BuilderツールではMDA標準に準拠したドメイン・モデル定義は作成されていますか。モデルは他のMDAツールに移植できますか。
Skyway BuilderのメタデータはEMFで定義されており、他のEMFを意識したソリューションに移植可能です。
Skyway Builderプロジェクトの今後のロードマップはどのようなものでしょうか。
私達のロードマップは、Eclipse 3.4 (Ganymede)、追加のSpring MVCデータ・バインド・オプション、Spring Web Flow、改良Groovyサポート、継続的なコード生成リファクタリング、そして追加のモデリング・ステップを盛り込んでいます。
Skyway Builder CEは現在Eclipse 3.4リリースをサポートしていない。しかし3月末までに利用が可能となる予定の次回リリース(バージョン6.2)はEclipseの最新バージョンをサポートする。またTomcatコンテナ(リンク) (バージョン5.5および6.0)への展開およびMySQL(リンク)やPostgres(リンク)のようなデータベースもサポートする。
原文はこちらです:http://www.infoq.com/news/2009/02/skyway-community-edition
【豆蔵】大好評のため、Jenkins講座を追加開催致します!Jenkins作者の川口氏が講師です。
世界の先進エンジニアが集結 - QCon TOKYO 2012 早期割引実施中!
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式
本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。
前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。
Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。
スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。
No comments
スレッド表示 返信