先日からLiferayポータルによるSOA開発について説明をしているが、読んだ人からなぜポートレットの開発がSOAなのか理解できないといわれた。
簡単にいうと、ポートレット(warファイル)間でサービスを呼び出せるようになっているため、他ポートレットのサービスを組み合わせて新しいサービスを定義できるからだ。
例えば、自体にはエンティティを持たなくて、すべて他ポートレットのサービスを組み合わせるファサードポートレットを作成することもできる。
また、jBPMやDroolsなどのようなワークフローエンジンやビジネスルールエンジンを呼び出すプロキシーサービスを作成することもできる。
また、jBPMをActivitiなどと入れ替える場合は、インターフェースが異なるので、アダプターポートレットを使って、インターフェースのマッピングを行う。
従来のポートレット開発はポートレット(warファイル)内で完結するように設定されていたと思う。ポートレットをデプロイ/アンデプロイすることはできるが、ポートレットの内部機能を外部から利用することはできなかった。
勿論、このようなようにポートレットを設計/開発された場合は、SOA型の開発ではない。ポートレットによるSOA開発を行う場合は、ポートレット内の機能を外部から利用できるようにする。ポートレットの単位は、責務に分割して、ポートレット間でサービスを呼び出して、サービスの入れ替えや再利用をできるようにしたのでポートレットSOA開発である。
ポートレットによるSOA型開発が、正しいポートレットの設計/開発だと思う。また、正しいWebアプリケーションの開発の仕方だと思う。
現在、同じプロジェクトをLiferayによるSOA型開発、スクラッチ開発、クラウドプロバイダを利用した開発を3チームで行っている。このらの3種類の技法によって、開発費用、品質、期間などを比較することができる。
既にLiferayによるSOA型開発ではシステム開発が終了している。スクラッチ開発はまだ設計段階である。クラウドは予算申請段階である。納期までの成果物の機能及び品質の比較が楽しみだ。
Special
- PR -| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。

ストレス社会との付き合い方
「思いやり経営」のススメ
テレワークが労働者のマインドを変える
求む、クックパッド男子
37歳の常識――我々は一生学び続ける