top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
「SOAやリッチクライアントをサポートするフレームワーク blancoSOAP」 の説明の下書きに着手しました。
blancoSOAPの説明の下書きです。blancoSOAPはSOAやリッチクライアントをサポートする不思議な位置づけのフレームワークなんだろうなあと思い、徒然に文章を書いていきます。、、、ちゃんとした文章は いずれ書かなくてはなりませんね (苦笑)
blancoSOAPはSOAやリッチクライアントに対応するオープンソースフレームワークです。blanco Frameworkの構成要素として提供されています。blancoSOAP単独で利用することも出来ますし、blanco Frameworkの他のプロダクトと組み合わせて利用することも出来ます。blancoSOAPを使うと、WSDLやXML Schemaなんてものをほとんど知らない人であっても Webサービスの物理設計やリッチクライアントのサーバサイドプログラム設計を担当することができるようになります。blancoSOAPはそれら最新技術を身近で安全なものへと最適化して提供します。
blancoSOAPが提供する「電文処理定義書」「電文定義書」というExcelブックの所定の様式のなかの項目を埋めていくだけで、自動的に Webサービスを利用するために必要な設定ファイルである WSDLおよび通信電文の XML Schemaを自動生成することができます。もはや XML Schemaは ほとんどの設計者にとっては読む必要が無いものとなります。
ターゲット言語がJava言語である場合には、blancoSOAPが自動生成する通信電文のPOJOクラスのソースコードを利用することができます。
Webサービス以外の用途で (例えば単に XML-Javaマッピングを行いたい場合) は、blancoSOAPがCastor用のマッピング設定ファイルを自動生成することができます。おなじくblancoSOAPが自動生成するPOJOと組み合わせると、ほとんど全自動で XML-Javaマッピングのための原料一式を得ることが出来ます。
blancoSOAPを採用することにより、XMLもJava言語も知らない人でも、SOAやリッチクライアントを設計することが出来るようになるのです。(むろん最低一人は該当プロジェクトの関係者のなかに XML SchemaやJavaのレビューを担当するITアーキテクトさんが必要です) とくに リッチクライアントの場合には Webサービスを利用しなくても XML Schemaを作成する必要が出てくる場面が多いので、blancoSOAPを使って XML技術がない人であっても物理設計を担うことが出来るようになる効果は大きいことでしょう。特に blancoSOAPがシンプル型定義やコンプレックス型定義を肩代わりして自動生成してくれるおかげで、シンプル型定義やコンプレックス型定義の標準化を徹底することができます。blancoSOAPによって様式内の相関チェックが提供されるので、例えば型によって minInclusiveが利用可能なところ以外に指定をした場合にドキュメント・コンパイル・エラーが表示される、なんていう機能も非常に魅力です。こういうのは人間系での検査が厄介ですからね。
と、ここまでが下書きです。blancoSOAPって 今後のITシーンに於いて重要なプロダクトとして活躍する可能性があるのではないだろうか? と気がつき始める今日このごろ…
blancoSOAPが現時点で対応している (と思われる) プラットフォームは下記です。ごく普通に WSDLやXML Schemaを自動生成しているだけなのですが、SOAP処理系によってはある所定のルールに則ったXML文書構造を維持している必要があるのです。(そして実際に Curlに対応するために maxOccursにまつわる定義書チェック機能を強化してあります)
Apache Axis 1.3.x
Curl WSDK
ある状況により、最近流行っているリッチクライアント・インフラのひとつであるCurl という言語処理系のWSDK というツールキットを blancoSOAPはサポートしています。びっくりですね。…Curlといえば、「blancoCurlはどうなった?」というツッコミを 最近頂きました。すみません blancoCurl構想は 現時点では止まっています。