2005.12.13 · 技術と道具

SOAをまとめておく

先週金曜日に丸山先生レクチャーシリーズを聞きに行ったりして、まぁ、このシリーズに行ったのは既に4回目くらいだったりして、SOAとかJBIといった言葉をよく耳にしている。 また、このブログでもWeb2.0の引き合いにSOAを使ったりもしている。 そこで、この際、原点に立ち返って、SOA関連の言葉を整理しておくことにしたのだ。 SOA (Service Oriented Architecture) SOAはバズワードとも評されるが、もともと特定の何かの技術を指すものではないので、曖昧なのは仕方ないのかも知れない。つまり、コンセプトを指す言葉なのだ。 そのコンセプトとは何かといえば、「システムをサービス指向で構築する」ということだ。 これだけでは何のことだか分からない。では、サービス指向とは何ぞや?となる。 「受注」とか「在庫確認」といったある程度のサイズの業務をサービスとして切り出し、外部から呼び出し可能な形で実装したものをサービスとする。このサービスを組み合わせてシステムを作るのがサービス指向なのだ。 最初に挙げたように、コンセプトを指す言葉なのだから、実現するための特定の技術は存在しない。 Webサービス SOAの少し前に流行ったバズワード…である。Webで提供されているサービスであれば(YahooであれWikipediaであれ2chであれ)Webサービスと呼ぶのだから紛らわしい。 ここでいうWebサービスはそういうものではなく、HTTPベースで動くRPC技術のことだと言える。特に、XML Webサービスという名前を付けて区別されるが、最近はWebサービスと言えばそういうものだとされているようだ。 通信路がHTTP(またはHTTPS)であり、その上でXMLベースのSOAPというプロトコルで通信を行う。 Webサービスはその周辺技術も重要であり、ネットワーク上にどのようなWebサービスが存在するかのディレクトリとしてUDDI、そこに登録するためにWebサービスの内容を記述する言語としてXMLベースのWSDLがある。 Webサービスは、SOAの実現技術の本命とされている。つまり、SOAのサービスはWebサービスで実装されるということだ。 BPEL (Business Process Execution Language) SOAでサービス(Webサービスで実装されている…本命技術)を連携させて動かすには、いつ、いかなる場合に、どのサービスを呼び出すかが重要である。 BPELは、その「いつ、いかなる場合に、どのサービスを呼び出すか」を記述するものだ。 BPELエンジン上で動作させる。 ESB (Enterprise Service Bus) 初期のWebサービスによるSOAでは、Webサービスを直接呼び出して行こうという発想であった。その連動は標準技術で行われるのだし、呼び出し先のWebサービスもUDDIで調べたのだから、これで問題ないだろうということだ。 ESBはさらに一歩進めて、とりあえず誰かにやって欲しい何かがあったらメッセージを作って、それをESBに投げ込んで適したサービスにたどり着くまでESBにルーティングしてもらおうというもの。(とはいっても、宛先はちゃんと指定するのだが…) IBMやBEA等はESBを製品としてリリースするし、MicrosoftはWindows Vistaで、WCF(Windows Communication Foundation)というESB的機能を提供するのだと言う。 JBI (Java Business Integration) JCPで検討されているJavaでのESBの標準仕様がJBIだ。ちなみにIBMとBEAは、その策定プロセスから脱退して、独自路線を歩もうとしている。 とりあえず、現時点では、こんなところだ。 大きく間違っている可能性があるので、これを元にして何かを考えるのは、やめてほしい。 さらに調査して、書き直していく予定だ。

2005/12/13 00:02
← Podcastはスゴいなと思った日
ただいま。SL-C860 →
井上 研一
経済産業省推進資格ITコーディネータとして中小企業のDX・AI活用の現場で伴走支援を行う。「ITCプロセスガイドライン4.0」および「中小企業向けAI活用ガイド」執筆メンバー。著書・講演多数。ITエンジニアとして25年以上の実務経験。AI導入の実務に10年以上携わる。自ら開発したAIサービス「Gen2Go」が北九州発!新商品創出事業の認定を受ける。2026年4月より北九州市立大学大学院マネジメント研究科の学生としての顔も持つ。

本サイトおよびブログに掲載している内容は、特に明記のない限り、井上研一個人の見解に基づくものです。所属・関与する組織、団体、企業、研究会等の公式見解を示すものではありません。