コンテンツにスキップ

サービス chỉ hướng アーキテクチャ

Xuất xứ: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』

ソフトウェア công họcにおいて,サービス chỉ hướng アーキテクチャ( サービスしこうアーキテクチャ, Service-oriented architecture,SOA,“エスオーエイ” あるいは “ソーア” と phát âm ) とは, đại quy mô なコンピュータ・システムを cấu trúc する tế の khái niệm あるいは thủ pháp の một つで, nghiệp vụ thượng の một 処 lý に tương đương するソフトウェアの cơ năng をサービスと thấy lập て, そ の サービスをネットワーク thượng で liền huề させてシステム の toàn thể を cấu trúc していくことを chỉ す ngôn diệp である. Nghiệp vụ 処 lý の 変 hóa をシステム の 変 càng に tố sớm く phản ánh させたいという yêu cầu に ứng えうるも の として, 2004 năm khoảnh からIT nghiệp giới において chú mục を tập めている. 2009 năm khoảnh からクラウドコンピューティングの đài đầu とともに, そ の sự tất yếu が lại nhận thức されるようになってきている.[1]

Tất yếu điều kiện

[Biên tập]

SOAに tất yếu とされている điều kiện は, thứ の ような sự bính である.

  • Nghiệp vụ thượng の một 処 lý に tương đương する単 vị でソフトウェアが cấu thành されていること. SOAにおけるサービスとは, そ の cấu thành 単 vị の ことである. プログラム thượng の bộ phẩm ではなく, たとえば “Quyết tế する” “Ở kho trạng huống を gửi thông điệp する” など の 単 vị で một つ の サービスとすることが cầu められる. ど の trình độ の quy mô (Viên độ) を một つ の サービスとする の が lương いかについては dạng 々な nghị luận がある.
  • オープンで chuẩn hoá されている kỹ thuật sĩ dạng を dùng いてサービス の インタフェースが định nghĩa され, それに従った hô び ra し, ứng đáp が khả năng であること. そ の kỹ thuật cơ bàn として,Webサービスの sử dụng が sự thật thượng cần thiết となっている ( Webサービスについては sau thuật ).
  • サービスをネットワーク thượng で liền huề させてシステム の toàn thể を tố sớm く cấu trúc できること. こ の đoạn giai にいたるまでには, trước の nhị つ の điều kiện が cần thiết となる. さらに, サービスを単 vị として nghiệp vụ 処 lý の lưu れを ghi lại する kỹ thuật や, そ の ghi lại thông りにシステム liền huề を thật hành する kỹ thuật も tất yếu となる.

Kinh vĩ

[Biên tập]

SOAに thông じる khảo え phương や kỹ thuật は cổ くから tồn tại している.オブジェクト chỉ hướngコンポーネント chỉ hướngは, quyết められたインタフェースに従ってソフトウェア の một bộ phận をカプセル hóa, bộ phẩm hóa し, それを tổ み hợp わせて toàn thể を cấu thành するという khảo え phương を cơ bản としている. また,Phân tán オブジェクト,メッセージング,EAI(Enterprise Application Integration) など の kỹ thuật を sử dụng し, ネットワークを giới してソフトウェアを liền huề (Sơ kết hợp) させるといったことは, đại quy mô なシステムにおいてはすでにある trình độ thật thi されている.

ただし, オブジェクト chỉ hướng やコンポーネント chỉ hướng においては, chủ にプログラム thượng の bộ phẩm をソフトウェア の cấu thành 単 vị としており, nghiệp vụ 処 lý の 変 hóa をシステム の 変 càng に tố sớm く phản ánh させたいという coi điểm においては単 vị が tiểu さすぎる, とされている ( もっとも, 単 vị の đại きさ ( viên độ ) は nguyên tới tùy ý であり, オブジェクト chỉ hướng やコンポーネント chỉ hướng における bộ phẩm の viên độ を nghiệp vụ 処 lý の それに hợp わせたも の がSOAにおけるサービスであると bắt えることもできる ).

また, 従 tới の システム liền huề kỹ thuật は, riêng の ソフトウェア cơ bàn の sử dụng を tiền đề としている, あるいは liền huề させるために tất yếu な tác nghiệp や tay thuận が phiền tạp である. こうしたことから, システム liền huề の スピードやコストにおける vấn đề điểm が chỉ trích されていた. こ の ような vấn đề を giải quyết するため の kỹ thuật あるいは khái niệm として, 2000 năm khoảnh からWebサービスが đề xướng されている.

ただし lúc trước の Webサービスは, hiện tại の SOAと cùng dạng の tư tưởng がすでに đề xướng されてはいたも の の, thật trang kỹ thuật としてはWebを giới したソフトウェア の liền huề tự thể に chủ mắt が trí かれていた. また, liền huề する cái 々 の ソフトウェア ( サービス ) をシステム toàn thể の trung でど の ように vị trí づける の か ( サービス の viên độ の mục an を gì に trí く の か ), đa số の サービスを liền huề させる phục tạp なトランザクション処 lý などをど の ように thiết kế, thật trang する の かといった sự bính が, đầu đề として tàn されていた. そ の sau, Webサービス の khái niệm や kỹ thuật の 拡 trương に bạn い, 2004 năm khoảnh から, “Webサービス” に đại わって “SOA” がキーワードとして chú mục されるようになった.

これら の đầu đề の đối sách としてポートレットフレームワークが chú mục されている. オブジェクト chỉ hướng やコンポーネント chỉ hướng は cơ bản IT bộ phẩm の lại lợi dụng を khảo えている trường hợp が nhiều い. ポートレットフレームワーク の trường hợp は, エンドユーザが trực tiếp lợi dụng するwebページ thượng の cơ năng の lại lợi dụng を mục chỉ している. また, オブジェクトやコンポーネントをエンドユーザが lợi dụng する trường hợp は đừng にプログラムを tất yếu としたため, ユーザと khai phát giả の khảo えに sai biệt がある trường hợp があった. ポートレットフレームワーク の trường hợp は, ユーザが yêu cầu する cơ năng mỗi をプラグインで thật trang する. プラグインにはWebページに phối trí できる số nhiều の ポートレットを hàm むことができる.

オブジェクト cập びコンポーネントと dị なりプラグイン mỗi にアプリケーションサーバに thêm vào /変 càng / trừ bỏ できる. なお, インストールされているプラグインに hàm まれるポートレットをエンドユーザがドラッグ・アンド・ドロップ処 lý でWebページに phối trí することができる. Tức ち, エンドユーザが lợi dụng するビジネス cơ năng をWebページに phối trí して lợi dụng することができる.

なお, ポートレット mỗi に tỏ vẻ, エンティティ・インターフェース, ビジネスロジックが hàm まれている. そ の ため, kỹ thuật により phi sống nhờ vào nhau である. Lệ えば, JSFで tác thành したポートレットとSpringFrameworkで tác thành したポートレットを một つ の Webページに phối trí することもできる. なお, PHPで tác thành されたポートレットと cùng dạng な cơ năng をもつJava の ポートレットで trí き đổi えることもできる.

ポートレット gian thông tín はJava API, Java RMI, Web Service, JSONなどで hành うことができる. これら の プロトコル dùng の APIはポートレットフレームワークが cùng じ cơ năng なも の を cung cấp する.

オープンソース・ポートレットフレームワーク の lệ としてLiferayが cử げられる.

Kỹ thuật cơ bàn

[Biên tập]

Hiện tại đề xướng されているSOAが tiền đề とするシステム liền huề dùng の kỹ thuật cơ bàn は, ほとんど の trường hợpWebサービスである. Webサービスは,XMLHTTPなど の インターネット tiêu chuẩn kỹ thuật を nguyên にしており, SOA の thật hiện に tất yếu な sự bính を kỹ thuật に chi えている. Thuần 粋な khái niệm nghị luận をするならば, SOAを thật hiện する kỹ thuật をWebサービスに hạn định する tất yếu はない. しかし,ESBの ような kỹ thuật を lợi dụng せずに, SOA の thật hiện に tất yếu なインタフェース の chuẩn hoá や chế phẩm thật trang の tiến んでいない nghiệp giới hướng đi からかんがみて, Webサービス の sử dụng が sự thật thượng cần thiết の trạng huống となっている. ただし, Webサービスは単にSOA の kỹ thuật な một yếu tố にすぎない. Webサービスを lợi dụng しただけで, SOAであると ngôn うことはない.

Webサービスにおいては, dưới の tam つが cơ bản な kỹ thuật yếu tố とされている. これらはいずれも, メッセージや định nghĩa の ghi lại にXMLを sử dụng している.

  • SOAP:サービス gian の hô び ra し, ứng đáp のプロトコル( hạ vị プロトコルとしてHTTPなどを sử dụng する. HTTP bên ngoài の プロトコルも sử dụng khả năng ではあるも の の,ファイアウォールをまたぐシステム liền huề においては khó khăn が bạn う. ほとんど の chế phẩm thật trang はHTTPを cơ bản としている ).
  • WSDL(Web Services Description Language): SOAPによるサービス の hô び ra し, ứng đáp の インタフェースなどを định nghĩa する ngôn ngữ.
  • UDDI(Universal Description, Discovery, and Integration): WSDLで ghi lại されたサービス の tình báo を đăng lục, kiểm tác khả năng とする kỹ thuật ( UDDI tự thể もWebサービスとして cung cấp されており, SOAPによって hô び ra し, ứng đáp を hành う ).

これらに thêm え, đa số の サービス gian の phục tạp な liền huề を thiết kế するため の kỹ thuật sĩ dạng として,BPEL(Business Process Execution Language) やBPMN(Business Process Modeling Notation) が lên sân khấu している. また, そ の thiết kế したサービス liền huề を thật hành するため の kỹ thuật として,ESB(Enterprise Service Bus) が lên sân khấu している.

BPELは, nghiệp vụ 処 lý の プロセス ( サービスを liền huề する trình tự やルール ) を ghi lại する ngôn ngữ である ( これもXMLを sử dụng している ). サービス の liền huề について ghi lại すると đồng thời に, cái 々 の サービス の インタフェースを ghi lại したWSDL hình thức の データも chỉ định する. BPELとWSDLによって, サービス liền huề の ghi lại と cái 々 の サービスとを chia lìa させた thượng で の, mềm mại で dễ dàng な sơ kết hợp が khả năng となる ( とされている ). BPEL hình thức の ghi lại に従ってサービス の liền huề を thật hành するソフトウェアはBPELエンジンと hô ばれる.

BPMNは, nghiệp vụ 処 lý の プロセス ( サービスを liền huề する trình tự やルール ) を đồ として ghi lại するため の khả thị hóa vật lưu niệm pháp である. BPMNを dùng いて tác thành した đồ は, BPEL hình thức の ghi lại へ変 đổi することが khả năng である. そ の ような変 đổi を tự động hoá するツールも cung cấp されている.

ESBは, サービス gian をつなぐ trung 継バスとして の dịch mục を gánh う kỹ thuật あるいはそ の thật trang chế phẩm を chỉ す ngôn diệp である. サービスを1 đối 1で trực tiếpP2PTiếp 続する trường hợp と so べて, ESBを sử dụng すれば, đa số の サービス gián tiếp 続を tập trung して quản lý, giám thị できるようになる. Số nhiều の ESBを tiếp 続して liền huề させ,ルーティングやプロトコル変 đổi など の dịch cắt を cầm たせることも khả năng である.

BPMN, BPEL, ESBや, それら の cơ sở となるWebサービスを hoàn toàn に sống dùng できている trạng thái においては, BPMN hình thức の ビジュアルな đồ を miêu くだけでシステム liền huề が khả năng となり, そ の đồ を miêu き đổi えるだけで nghiệp vụ 処 lý の 変 càng に đối ứng できる ( とされている ).

なお, cái 々 の サービス ( ソフトウェア ) の thật trang においては, tùy ý の kỹ thuật を sử dụng khả năng である. ただし, WebサービスあるいはSOA の chế phẩm thật trang においては,Javaあるいは.NETの sử dụng が đi trước している. Đã tồn の kỹ thuật ( たとえばメインフレームHệ の kỹ thuật ) を sử dụng しているシステムをサービスとして sống dùng する trường hợp, そ の インタフェース の tác thành にはJavaなどを sử dụng する の が thông thường である ( こうした thủ pháp はレガシーラッピングと hô ばれる ).

Đại biểu な quan liền ソフトウエア

[Biên tập]

Quan liền hạng mục

[Biên tập]

Chú thích ・ xuất xứ

[Biên tập]

Phần ngoài リンク

[Biên tập]