第9回Spring勉強会行ってきた
日程が合ったので、2回目の参加をしてきました。
前回は初心者向けの内容だったのですが、今回はSpringレベルが高い人向け(というよりも業務アプリの知識がある人向けというべきか)の内容で、レベル1の身としては新用語がどんどん出てくるので、いっぱいいっぱいでした。
Springを利用したWebアプリケーションのリファクタリング
id:hasebeanさんに、インターフェース未使用のアプリケーションがSpringを取り入れることでどう変わっていくのかを順に話していただきました。
最近Spring2.5を触ってみたのですが、自分のSpringの使い方の認識が間違っていないことがわかってよかったです。
Springは、Strutsのような他のフレームワークに比べて、使ったことがない人にわかりやすい利点がない、と述べられていましたが、AOPの具体例を紹介してもらえると利点がわかりやすくなるのではないかと思いました。
コールセンターのデモによるESBの紹介
ゆうすけさんによる発表。ServiceMixを使ったコールセンターのデモを通じてESBについて発表していただきました。
SOAな話題はほとんど追っていないので、知らない用語がたくさん出てきました。
以下に重要そうな用語をまとめておきます。
SOA
正式名称はService Oriented Aarchitecture。
ソフトウェアをサービスと呼ばれる単位で公開し、それらを統合することでシステムを作る設計思想です。
HTTPとXMLをベースにしたもので、私の認識ではWEB APIの考え方に近いものだと思っています。WEB APIでよく用いられるRESTではなく、SOAP、WSDL、UDDIが要素技術となっています。
SIP
正式名称はSession Initiation Protocol。
インターネット電話などで使われるステートフルなプロトコルです。
仕様があいまいなところがあるので、ベンダー同士で実装が異なることがあり、そんな独自仕様のSIPを相互接続するのが「SIProp」というオープンソース・プロジェクトだそうです。
ESB
正式名称はEnterprise Service Bus。
SOAを実現するときにメッセージのやりとりの真ん中にバスを入れて処理を行う、ベンダー主体で進んでいる概念らしいです。
SEDA
正式名称はStaged Event Driven Architecture。
イベントをステージという単位に区切って処理をスケールアウトするEDAの進化系です。
とりあえず、3文字IT用語には自重してほしいですね。
Spring Integration
川村さんによるSpring FrameworkのサブプロジェクトであるSpring Integrationの話。
複雑なエンタープライズソリューションを実装するためにシンプルなモデルを提供するのが目的のものらしいです。
呑み会にも参加をしたのですが、Springの思想についてのお話や私が疑問に思っている点を聞くことができたので非常に参考になりました。