SwitchYard ESB SOA Workshop ~次世代ESB/SOA SwitchYard を徹底的に学ぶ ~

SwitchYard ESB SOA Workshop in Tokyo ~次世代ESB/SOA SwitchYard を徹底的に学ぶ ~ 2011年 9月14日(水)
0
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

ランタイムオプション(SwitchYard) JBoss AS6, AS7, WAR, 組み込みユニットテスト、 OSGI 間もなく。  #JBoss

2011-09-14 10:39:04
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

SwitchYard のツールには、onramp とともにユーザ経験値に焦点を当てており、Seam Forgeでコマンド対応、アドミンコンソール、IDEs (Eclipse対応)  #JBoss

2011-09-14 10:44:20
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

さて、午前2つ目のセッション。Service-Oriented Integration #JBoss

2011-09-14 11:02:14
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

アジェンダ:ビーンサービス、キャメルサービスの統合。サービスバインディング:SOAP, Camel, HornetQ それぞれのゲートウェイ、データ取らん婦フォーム、テストサービスについて  #JBoss #SwitchYard

2011-09-14 11:03:24
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Bean Services : CDI エクステンション同様に実装。標準プログラミングモデル (JSR299)、CDI は強力なタイピングを備えた疎結合。JBoss AS 6,7 に対応した実装フレームワーク。広範囲に及んだ適用範囲。 #JBoss #SwitchYard

2011-09-14 11:05:43
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

サービス提供するため、Beansコンポネンツを使うには3つの方法:サービスコンストラクト、インタフェイス実装しビジネスロジックのJava Class、@Servivceアノーションを追加。  #JBoss #SwitchYard

2011-09-14 11:08:03
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

サービスインタフェイス:In-Only, In-Out, In-Out w/ Fault の3種類。  #JBoss #SwitchYard

2011-09-14 11:08:45
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

サービス実装のために CDI ではすべてのBeansを選択するエクステンションを作成するなど裏側の仕掛けが必要であるが @Service でクラス定義。デフォルトはインタフェイスクラスで定義されている。任意クラスを指定可能ではあるが。  #JBoss #SwitchYard

2011-09-14 11:11:02
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

サービルリファレンスを定義し、コンテキストとのメッセージ受け渡しへ。 #JBoss #SwitchYard

2011-09-14 11:15:09
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

コンテキストのヘッダを参照し、型変換したものを格納し Web層の XML へ格納されていく。  #JBoss #SwitchYard

2011-09-14 11:16:41
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

Route 例。実装を把握しておく必要がある⇒可視化するために。  #JBoss #SwitchYard

2011-09-14 11:21:23
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

バインディングの情報はサービスに入っている。何がどう拘束されているか理解してもサービス変更毎に変更するのは煩雑になるだけだ。そこで、 Route をサービスとして動作するためサービス定義し、インタフェイス、SwitchYard 依存関係を配置 #JBoss #SwitchYard

2011-09-14 11:23:44
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

DSL ドメイン定義言語で Route 定義しインタフェイスを追加する。Java を変更すれば XML 定義も(動的に)変更される。エンドポイントにファイルではなく SwitchWayrd を指定するコンストラクトを持つ。(例)  #JBoss #SwitchYard

2011-09-14 11:25:05
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

キャメルで Beans を使う。Route から Java を呼び出せ、使い勝手が良いものである。メッセージ・ヘッダーを get したい場合もこの手法を使うとカンタンになる。ルーティンでロジックを使いたい場合も。  #JBoss #SwitchYard

2011-09-14 11:26:46
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

キャメルでBeans使うとき、Beanレジs鳥はプラグブルで容易に扱える // おお、こりゃ便利かも。  #JBoss #SwitchYard

2011-09-14 11:27:45
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

CDI Beans も Camel で使用可能で、@Named 名前空間で使用可能。  #JBoss #SwitchYard

2011-09-14 11:28:20
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

SOAP GW:HTTPバインディングを提供する。WSDLベースで、依存関係がある場合は XML を用い。JAX-WSプロバイダと統合したり、メッセージングはXMLなので、SCA記述でバインディング構成定義もできる。  #JBoss #SwitchYard

2011-09-14 11:30:28
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

デプロイ時の検証を容易にするために、バインディング・コンフィグレーションでは XML を使い、サービス定義は name を使う、など。  #JBoss #SwitchYard

2011-09-14 11:33:06
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

もともと Camel Gateway では XMLベース、URIベースがあり、URL ベースがよく使われていたが、ツール検証(妥当性のことかな?)のために XMLベースでスキーム記述を持ち変換していく。  #JBoss #SwitchYard

2011-09-14 11:34:27
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

HornetQ Gateway:双方向のゲートウェイ。秒間820万メッセージ処理可能 (SpecJMS) で、SwitchYward HornetQ コンポネントは Core API でも提供されている。  #JBoss #SwitchYard

2011-09-14 11:36:01
斉藤之雄 / 社会福祉士 😺🗯 @yukio_saitoh

データ・トランスフォーマ:SeitchYardコアで組込まれる。メッセージバスはコントラクトサービスで、動的ランタイムでトランスフォーマ解決。キャノニカルデータモデルを使え、Java, Smooks, XSLT, JAXB, JSON 対応  #JBoss #SwitchYard

2011-09-14 11:39:30