CDI/Weld Resources

Weld (CDI Reference Implementation)

Weld
http://www.seamframework.org/Weld

Weld Reference Guide
http://docs.jboss.org/weld/reference/1.0.0/en-US/html/

WebBeansからCDI、そしてSeam 3へ

まず、用語の説明をちょっと。

 JSR-299: CDI (Contexts and Dependency Injection 1.0)
 Weld:    CDI 参照実装
 Seamn 3: CDI上に構築されるパッケージ集

従来のWeb Beansは仕様書としてはCDIへ、参照実装としてはWeldに改名になりました(Weld 1.0.0はリリース済み)。

Seam 3はCDI実装上で動作するパッケージ集として開発が進められています。このパッケージはCDIで定義されたPortable ExtensionsというCDIの機能を拡張するための仕様の上に作られるので、任意のCDI上で動作するはずです。CDIフレームワークを統合するための仕様で、Portable Extensionsは外部フレームワークとの統合コードを実現するための標準的なプラグイン仕様という訳です。

Seam 2までは、新しいフレームワークを統合するたびにSeam実装が肥大化していきました。Seam 3ではコアがCDIとして標準化され、その上の統合ライブラリはCDI Portable Extensionsという標準のプラグインモジュールとしてコアからは分離されました。今後はこれらのプラグインモジュールの着脱や用途に応じたスリム化は従来よりも格段に容易になるでしょう。

このようなSeam 3のアーキテクチャが意味することは、Seamを拡張することが従来よりも簡単になるということです。自社フレームワークSeamフレームワークで統合したいと思っても、アノテーションを追加するなどのSeamの拡張ではありませんでした。素晴らしいのは、こうして作った自社拡張モジュールがCDIという標準の上で移植性を保ったまま開発することができるということです。

POファイルの統計情報

Seam 2.2.0GAの翻訳を開始するに際し、Seam 2.1.0.GAとの差分を調べてみることにしました。POファイルの統計情報がmsgfmtコマンドで取れることが分かったので簡単なシェルスクリプトを書きました。

#!/bin/sh
#
# postat.sh
# usage: ./postat.sh > postat.txt 2>&1
# 

LANG=C
for p in *.po
do
  echo -n $p
  echo -n ": "
  msgfmt --statistics $p
done
Annotations.po: 283 translated messages, 6 fuzzy translations.
Author_Group.po: 29 translated messages, 1 fuzzy translation.
Book_Info.po: 2 translated messages.
Cache.po: 49 translated messages, 4 fuzzy translations.
ClusteringAndEJBPassivation.po: 0 translated messages, 76 untranslated messages.
Components.po: 286 translated messages, 6 fuzzy translations, 7 untranslated messages.
Concepts.po: 198 translated messages, 8 fuzzy translations, 2 untranslated messages.
Configuration.po: 169 translated messages, 23 fuzzy translations, 27 untranslated messages.
Controls.po: 187 translated messages, 15 fuzzy translations, 18 untranslated messages.
Conversations.po: 178 translated messages, 19 fuzzy translations, 11 untranslated messages.
Dependencies.po: 131 translated messages, 9 fuzzy translations.
Drools.po: 27 translated messages, 7 fuzzy translations, 7 untranslated messages.
Elenhancements.po: 51 translated messages.
Events.po: 177 translated messages, 35 fuzzy translations, 5 untranslated messages.
Excel.po: 251 translated messages, 138 fuzzy translations, 7 untranslated messages.
Feedback.po: 2 translated messages.
Framework.po: 77 translated messages, 3 fuzzy translations.
Getting_Started_With_JBoss_Tools.po: 66 translated messages, 3 fuzzy translations, 1 untranslated message.
Gettingstarted.po: 74 translated messages, 8 fuzzy translations.
Glassfish.po: 85 translated messages, 23 fuzzy translations, 2 untranslated messages.
Groovy.po: 34 translated messages.
Guice.po: 0 translated messages, 21 untranslated messages.
Gwt.po: 30 translated messages, 1 untranslated message.
Hsearch.po: 18 translated messages, 3 fuzzy translations, 9 untranslated messages.
I18n.po: 85 translated messages, 1 fuzzy translation, 1 untranslated message.
Itext.po: 267 translated messages, 59 fuzzy translations, 4 untranslated messages.
Jbpm.po: 124 translated messages, 3 fuzzy translations, 1 untranslated message.
Jms.po: 60 translated messages, 10 fuzzy translations, 7 untranslated messages.
Mail.po: 121 translated messages, 8 fuzzy translations.
Oc4j.po: 174 translated messages.
Performance.po: 0 translated messages, 7 untranslated messages.
Persistence.po: 94 translated messages, 3 fuzzy translations.
Preface.po: 38 translated messages, 3 fuzzy translations.
Remoting.po: 168 translated messages, 2 fuzzy translations, 10 untranslated messages.
Revision_History.po: 2 translated messages.
Rss.po: 22 translated messages, 15 fuzzy translations.
Seam_Reference_Guide.po: 0 translated messages.
Security.po: 653 translated messages, 11 fuzzy translations, 25 untranslated messages.
Spring.po: 87 translated messages, 3 fuzzy translations.
Testing.po: 86 translated messages, 8 fuzzy translations, 1 untranslated message.
Text.po: 39 translated messages, 6 untranslated messages.
Tools.po: 7 translated messages, 1 fuzzy translation.
Tutorial.po: 324 translated messages, 43 fuzzy translations, 2 untranslated messages.
Validation.po: 30 translated messages, 1 fuzzy translation.
Version_Info.po: 0 translated messages.
Weblogic.po: 223 translated messages, 2 fuzzy translations.
Webservices.po: 50 translated messages, 14 fuzzy translations, 27 untranslated messages.
Websphere.po: 117 translated messages, 57 fuzzy translations, 7 untranslated messages.
Wicket.po: 37 translated messages, 3 fuzzy translations, 25 untranslated messages.
Xml.po: 95 translated messages, 8 fuzzy translations.
master.po: 0 translated messages.

JB170 JBoss: Seam Essentialsコース

本日より、恵比寿にて3日間のトレーニング講師をやっています。Seamのトレーニングとハンズオンを通してSeamの素晴らしさを体感してください。皆様にお会いできるのを楽しみにしています。

JB170 コース開催スケジュール
2009年 東京会場
日程              日数 	        場所
8月5日〜8月7日 	  3日間 	恵比寿会場
9月28日〜9月30日  3日間 	恵比寿会場

Jim Webber on "Guerilla SOA"

そもそもゲリラSOAのインタビューですが、中盤で良いことが書いてあります。
SOAで重要なのはサービスとメッセージ。オペレーションはビジネスの観点からは見えない。

So you mentioned services and messages as two abstractions? What about operations?

Operations are an abstraction which I do not believe exists in a service oriented architecture. They may well exist in your implementation of a service but that is nothing that I want to share with you. This is a technical detail which is my business inside my implementation.

タイプやオペレーションを意識した連携は密結合につながるということです。このことは、もっともっと強調されてよいと思います。SOAではWebサービスは実装手段であって、それはサービスという観点からはどうでもよいことです。