HOME»基本情報技術者試験掲示板»SOAとオブジェクト指向
投稿する

SOAとオブジェクト指向 [0072]

 みなこさん(No.1) 
お世話になります。
今年ITの勉強を始めた初学者です。(11月3日にITパスポート合格しました)

SOAの解説を読んでいて、「機能や部品を組み合わせて連携させる」という文章で、
オブジェクト指向を思い出したのですが、このふたつはどう違うのでしょうか?

オブジェクト指向はプログラミング限定の話で、SOAはサービスのカタマリを
組み合わせると云う事でしょうか?

どなたか、やさしく教えてください。
どうぞよろしくお願いいたします。
2012.11.26 17:04
海賊さん(No.2) 
みなこ様

以下の解説の出典は、「ITPro」のHPです。残念ながら図は貼り付けられませんでした。

SOAはその名が表すとおり、「アプリケーションの機能をサービスとして部品化し、それらを組み合わせて新たなシステムを構築しよう」という考え方です。こうした考え方は、従来のオブジェクト指向やコンポーネント指向と共通のものです。では、オブジェクト指向やコンポーネント指向とSOAの違いはどこにあるのでしょうか。今回はまず、こうした違いに着目することで、SOAの特徴を明らかにします。それに続いて、SOAの考え方を取り入れたシステムを構築する手法を説明していきます。 
 
プログラムの粒度は大、結合は緩やか

  オブジェクト指向およびコンポーネント指向と、SOAの違いを図1にまとめました。(1)プログラムが再利用される範囲、(2)ソフトウエア部品の粒度、(3)プログラム同士の結合度、(4)連携対象、(5)システム構築の視点──という大きく五つのポイントで比較してあります。それぞれのポイントについて、詳しく見ていきましょう。 

SOAはビジネス視点からのアプローチが重要視される。そのため、オブジェクト指向やコンポーネント指向に比べソフトウエア部品の粒度が大きく、プログラム同士は疎の関係で結合される

(1)プログラムが再利用される範囲 
  SOAのサービスは、企業の内外を問わず、複数のアプリケーションをまたがって再利用できるソフトウエア部品を目指しています。 

  一方、従来のオブジェクトやコンポーネントは、どちらかと言えば同一のアプリケーション内、あるいは複数のアプリケーション間であっても企業内で再利用されるソフトウエア部品であると言えます。例えば、分散オブジェクト技術としては、米MicrosoftのDCOM(Distributed Component Object Model)や、標準化団体OMGが策定したCORBA(Common Object Request Broker Architecture)があります。こうした技術を少しでも使ったことがある方は、ソフトウエア部品を再利用できるシーンが“閉じている”ことが実感できるのではないでしょうか。 

(2)ソフトウエア部品の粒度 
  SOAの考え方でサービスを作る場合、「ビジネス環境の変化にいかに効率よく対応できるか」という点に重きを置いています。そのため、サービスとしてまとめるプログラムはビジネス・プロセスの一部(サブ・プロセス)を表現していることが少なくありません。その例は、「在庫確認サービス」や「発注サービス」などです。 

  一方、オブジェクトやコンポーネントは、「プログラム作成をいかに効率化できるか」という点に着目しています。業務処理の変化をシステムの変更に素早く反映させることが目的です。そのため、一つのプログラムとしてのまとまりは、SOAのサービスに比べると小さくなりがちです。このように、オブジェクトやコンポーネントが「システムの視点」で構成されるのに対して、SOAのサービスは「ビジネスの視点」で構成されていると言えます。 

(3)プログラム同士の結合度 
  オブジェクトやコンポーネントはプログラム同士が密接に結合(密結合)しています。そのため、組み合わせを変えるといった自由度は、どうしても低くなりがちです。 
  一方、SOAではあらかじめインタフェースを決めておき、それを互いに呼び出すという“疎結合”でプログラム同士がつながっています。そのため、プログラムを連携させる際の制約が少なく、多様な組み合わせを実現することが可能なのです。 

(4)連携対象 
  オブジェクトやコンポーネントは、同質の技術で実装されたプログラム間での通信を前提に設計されています。これに対して、SOAは異機種混合環境での利用を前提にしているので、UNIX/Linux/Windowsといった多様なプラットフォーム同士、Javaや.NETといった異なる技術間を連携させることができます。 

(5)システム構築の視点 
  前述したように、一番のポイントはビジネス視点からのアプローチが重要視されているということです。SOAにかかわるITエンジニアは、まずこうした視点を持つ必要があるでしょう。そのうえで、ビジネスの変化に応じて、システムを素早く変化させていかなければなりません。SOAは、インターネット技術の普及により、異なるアーキテクチャのアプリケーションを相互運用したり、システムを変更したりすることが当たり前のものになってきたという時代背景にマッチするものです。 

受け売りでスミマセン
2012.11.26 18:43
 みなこさん(No.3) 
海賊さま

受け売りとの事ですが、分かりやすい記事をご紹介頂き、
ありがとうございます!

そもそもの出発点、考え方からして、違う物なのですね。
ITProのサイトも色々覗いてみようと思います。
良いサイトを教えて頂き、重ね重ね、ありがとうございます(^-^)

無謀にも来春の受験を目指しております。
また何か分からない所がでて、ネットで調べても分からなかったら、
改めて質問したいと思いますので、今後とも宜しくお願い申し上げます。
2012.11.27 09:49
海賊さん(No.4) 
みなこ様

オイラは、1年前にITパスポートに合格しました。
そして幸運にも24年秋試験で基本情報技術者試験に合格することができました。

みなこ様は、好奇心旺盛な方とお見受け致しますので、老婆心ながら申し上げます。

ITの世界は奥が底知れないほど深いので、基本情報の短期合格を果たすためには、あまり個々の項目に深入りされない方が良い場合があります。

例えば、SOAについては、午前試験攻略程度の知識で良いと思います(さらっと)。
一方、オブジェクト指向については、午後試験でも出題されますので、十分な理解が必要と思います。

効率を重視して、いわゆるスパイラル方式の学習方法をお勧めいたします。

海賊より
2012.11.27 12:44
 みなこさん(No.5) 
海賊さま

私は目移りが激しくて、学習の焦点がぼやけてしまう所があります。
的確なご指摘にびっくりしました(^-^;)

効率重視で、頑張ります。
アドバイス、ありがとうございました!
2012.11.28 10:25
海賊さん(No.6) 
みなこ様

こちらこそ、おせっかいをやいてスミマセン。

みなこ様は、専門学校を利用されているのですか?

海賊
2012.11.28 16:35
 みなこさん(No.7) 
海賊さま

独学で勉強しております。
キタミ式を一読して、現在アルゴリズム解法の本を読んで勉強しています。
この2冊を何度かやって、受験1か月前位から過去問をやろうと思っています。
飽きっぽい性格なので、頑張れている今のうちに早々受験をしようと思ったのですが、
無謀な気もしてきました…。

私は事務員として派遣で働いているのですが、
そちらの会社で、情報処理の勉強をするともっと仕事を理解できるとアドバイスを頂いたので勉強を始めました。
業務で皆さんが話している内容が少しづつ理解出来るようになってきました。
2012.11.29 10:11
海賊さん(No.8) 
みなこ様

最近の難しいITパスポート試験を合格されて、その余勢を駆って基本情報にチャレンジされるのはとても大切なことと思います。

オイラも事務員で、もともとIT畑ではありません。
オイラは、ITオンチで社内のITオタクに「こんなことも知らないのか」と小馬鹿にされたこともありましたが、基本情報に合格したら彼らの態度が一変しました。
自分に自信をもつことができました!

基本情報技術者試験に、オイラも短期決戦に挑みましたが合格まで1年を要しました。
その理由は、午後試験のアルゴリズムと構造化プログラムやコンピュータ言語は、得点できるようになるまでかなりの時間を要するからです。
大滝先生の「かんたんアルゴリズム解法」や福島先生の「CASLⅡ完全合格教本」に我武者羅に取り組みましたが、過去問に触れて愕然とし、悩んだあげく有名専門学校「T」の午後試験対策講座を受講しました。校舎には通えないのでWeb通信で受講しました。
講義は、目からウロコものでした。市販の参考書には書いていない合格までのノウハウを惜しみなく教えてくれました。

海賊より





2012.11.29 12:33
 みなこさん(No.9) 
海賊さま

やはり、合格への道のりは険しいのですね…。
手元不如意の為、残念ながら学校は選択肢にないのです。

アルゴリズムの本の第一部を読了したのですが、例題に比べて、
実践の難易度の高さに恐れ戦きました。
本当に理解できる日が来るのかと不安になりつつ、
現在は先に疑似言語を読み進んでおりますが。。。

なるようになれ、の精神で、出来ることを頑張って行きます!
2012.11.30 10:31
海賊さん(No.10) 
みなこ様

よろしければ、この掲示板で許される範囲で協力させていただきます。
アルゴリズムの勉強をされていて、なにか質問がありましたら掲示して下さい。

海賊


2012.11.30 10:47
 みなこさん(No.11) 
海賊さま

あたたかいお言葉、嬉しいです!
また、分からない事が質問できる形になったら、
掲示板でお伺いいたしますので、
その時は宜しくお願い致しますm(-  -)m
2012.11.30 13:17
海賊さん(No.12) 
みなこ様

承知しました。
大滝みや子先生の「かんたんアルゴリズム解法」を勉強されている、とお見受け致します。オイラもこの本の第2版お世話になりました。最近、新版が発刊されたようですね。

第2部疑似言語の第3章基本例題を一通り解いたら、第4章実戦問題に着手される前に、この掲示板でご一報願います。その際には「新規書き込み」でお願いします。

尚、第4章の実戦問題は、かなり難易度が高く現段階では手を付けない方がよい問題が含まれています。送りたいメッセージがあります。

海賊



2012.12.01 06:33
 みなこさん(No.13) 
海賊さま

承知致しました。
疑似言語に入ってだいぶ学習ペースが遅くなって来ていますが、
第4章に入る前に、ご連絡致しますね。
2012.12.03 10:52
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop