目のつけどころが"ソフト"でしょ 開発プロセス考11 ――サービスとコンポーネント

伊藤 昌夫

tag: 組み込み

コラム 2002年1月15日

 「自分たちの活動を前もって記述しておく」ということは,そんなに古い話題ではありません.普通,わたしたちは会社でスケジュールを立てます.もちろん,一度立てたスケジュールが見直されなかったために意味がなくなったり,管理者の自己満足で終わることも多く,スケジュールを立てるというのは難しいことです.

 人間は,何か問題があったときに柔軟に対応できます.それは利点に違いないのですが,なんらかの形で機械化(自動化)しようとすると難しくなります.ワークフローの記述でも,課長がいないから飛ばして部長に直接認可を求めよう,予定どおりできなかったらアルバイトを雇おうといった例外措置を考えます.こういった部分を数えあげていくと,たいへんです.

 しかし,それでもやはり機械化したいという要求は強いものです.そして,それに対する一つの解決策がコンポーネント化(部品化)だろうと思います.分割して統治しようというわけです.

●UMLでサービスを表現すると...

 今回は少し変わった例を見ようと思います.最近のWebサービスの中には,プロセスを記述するための記法があります.いろいろなWebサービスが存在し,それらをばらばらに使ってもよいのですが,自分のやりかたで組み合わせることができれば,もっと便利になるはずです.提供する側は,サービスをなんらかの形(今ですと,WSDL:Web Services Description Languageなど)で記述しています.これらをうまく使って自動化できればうれしいというわけです.

 特にサービス同士の結合という点に焦点を絞って,少し例を見てみます.今,いくつかの供給者や荷送人がいて,彼ら自身のWebサービスを提供しているとします.そのサービスを利用して,自社で総合的に供給可能なWeb を立ち上げたいとします.UML(Unified Modeling Language)を用いて関係を書くと,図1(a)のようになります.中央の○に至る各線上の名前は,いわゆるポート(タイプ)を表しています.これだけでは,各ポート上をどのようなデータが流れるのかわかりません.ポートを中心に書いたものが図1(b)です.
図1] UMLによる記述

DWM0049itom21zu1.gif

 新たなサービスにおける「注文書を送る(sendProcOrder)」という操作は,既定義のprocPOで置き換えられ,供給者に届けれます.同じように支払いや送付状についても必要な情報の置き換えがなされて既存サービスに届けられます.

●好むと好まざるとに関わらずコンポーネント利用は進む

 さて,このポートを使用してさまざまなコンポーネントを結合するというアイデアそのものは,それほど新しいものではありません.ソフトウェア・プロセスと言わなくても,プログラム作りの中で使われています.

 ただ,そこには難しさもあります.プログラムの中だと比較的簡単で,データが流れるのか,トリガのようなイベントが通知されるのかを意識すればOKです.しかし,抽象度によっては,トランザクションを表現したい場合もありますし,通信におけるやりとりを表現したい場合もあります.あるいは,流れるこれらの情報(の構造)が,実は動的に変化するものなのかもしれません.わたしたちの活動プロセスを表現しようとした場合,前述の例外処理の問題も含めて,ポートを介したコンポーネントの結合はさらに難しくなります.

 はっきりしているのは,サービスにしてもプロセスにしても,単純な部分はこれからますます共用のコンポーネントに置き換えられていくということです.Webサービスの最近の例ですと,「RosettaNet(情報機器,半導体・電子部品を中心に,世界規模のサプライ・チェーン構築を推進している組織)」が良い例だろうと思います.したがって,サービスにしろプロセスにしろ,今後はそれ以外のところで違いを出していかないといけません.それが幸せかどうかは別問題ではありますが....

(本コラムはDESIGN WAVE MAGAZINE 2001年12月号に掲載されました)


◆筆者プロフィール◆
伊藤昌夫(いとう・まさお).自動車会社,航空機関連会社のソフトウェア・エンジニアを経て,ニルソフトウェアを設立.ソフトウェア・プロセスおよび開発環境が専門で,そのためのコンサルテーションおよびツールの提供を行っている.設計における人間の認知活動に興味を持っている.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日