service oriented architecture

37
عماری متنی بر مبرویس س مهدی ناصرییخ بهایگاه شی دانشعاتوری اط مهندسی فنا درس2 یض پبی93

Upload: mahdi-nasseri

Post on 09-Jul-2015

481 views

Category:

Technology


1 download

DESCRIPTION

معماری مبتنی بر سرویس، اصول و اجزا این مبحث یکی از فناوری هایی است که در درس مهندسی فناوری اطلاعات 2 برای دانشجویان مهندسی فناوری اطلاعات ارائه می دهم.

TRANSCRIPT

Page 1: Service oriented architecture

سرویسمبتنی بر معماری

مهدی ناصری93پبییض 2درس مهندسی فناوری اطالعات دانشگاه شیخ بهایی

Page 2: Service oriented architecture

تؼبسیف

هؼوبسي یه سبصهبى پبی اي اص یه سیستن است و اجضاي خد، هؼوبسي

استجبعبت ثیي آب استجبط ثب هحیظ اغلي ثشاي ساوبیي جت عشاحي داسد تىبهل، سا دس ثش

style هؼوبسي اي اص هجوػcomponent ب استجبط بي ثیي آب ثشاي یه هؼوبسي

آبخبظ هجوػ اي اص هحذدیت ب لایي دس هسد ح تشویت

SOA ػاى یه ثstyle هؼوبسي ایجبد سشیس بي تجبسي سبصهبي ث ػاى احذ پبی اي ثشاي ثشاي

سدبي تجبسي سبصهبى، ث وبس هي solutionعشاحي، سبخت تشویت ایي ... الگ، عشاحي بي تؼشیف ضذ، پیبد سبصي بي چذیيstyle

.سا وبهل هي وذ

Page 3: Service oriented architecture

سیش تىبهلي تجضی شم افضاس

Page 4: Service oriented architecture

4

Service Oriented Architecture

تؼشیفSOA: یه پبساداین ثشاي سبصهبى دي ثىبسگیشي ظشفیت بي

تصیغ ضذ و هوىي است تحت وتشل داهیي بي هبلىیت .هتفبتي ثبضذ

Page 5: Service oriented architecture

5

؟SOAچشا

هحشن بثضسي سبصهبى -سیستن بي همیبس(Large scale Enterprise

systems)تبهیي خذهبت دس همیبس ایتشتوبص ضی وست وبسهضایب

سبخت سیستن بي همیبس پزیش(scalable ) تىبهل پزیش (evolvable )هذیشیت سیستن بي پیچیذتمیت لبثلیت استفبد هجذد اص وبسوشدبي وست وبس

Page 6: Service oriented architecture

6

SOAج توبیض

SOA طبى دذ الؼیت هبلىیت خذهبت استSOA هحس است-ظیف.

اذ خذهبت هجتي ثش وبسوشدب سبصهبى دي ضذ

SOA البم گشفت اص سبصهبى بي اسبي است.

Page 7: Service oriented architecture

7

Key concepts

Page 8: Service oriented architecture

8

Service

هىبیضهي ثشاي ایجبد اهىبى دستشسي ث یه یب چذ لبثلیت

ثب استفبد اص یه اسظ(interface )اص پیص تؼشیف ضذ

سبصگبس ثب هحذدیت ب سیبست بي تخػیع داد ضذ دس تؼشیف سشیس

Page 9: Service oriented architecture

اغل الی

سشیس ب خدگشداى(autonomous )ستذ. اضتشان هي گزاسذسسوي ث سشیس ب یه لشاسداد.

سشیس ب اتػبل ووي(loosely coupled ) ثب ن.داسذ

سشیس ب هغك داخلي خد ساabstract هي وذ. سشیس ب اهىبى استفبد هجذد(reusable )داسذ. سشیس ب ثذى حبلت(stateless )ستذ. سشیس ب لبثل وطف(discoverable )ستذ

Page 10: Service oriented architecture

ااع سشیس ب

بي تجبسي سشیس(business services ) بي هجدیتطبى دذIT وست وبس تغجیك ضذ ثب

(business-aligned IT artifacts.)

سبصي بي یىپبسچ سشیس(integration services) بي فبسيثب سبصي یىپبسچ پیبدSOA هبذ ة

.سشیس ب

صیشسبختي بي سشیس(Infrastructure service) طبى دذ هجدیت بي هطتشنIT دس جت پطتیجبي

.صیشسبختي

Page 11: Service oriented architecture

SOAاغل پیبد سبصي

وبسوشد تجبسي سشیس(Service business

functionality) لشاسداد سشیس(Service contract) اسظ سشیس(Service interface) تبثغ سشیس(Service method) اتػبالت ضؼیف دا دا ثدى(Granularity and

loose coupling) پیبد سبصي سشیس(Service implementation) وبگي سشیس ب(Service orchestration)

Page 12: Service oriented architecture

هغبثمت ثب وست وبس

یىي اص هوتشیي اذاف هؼوبسيSOA هغبثمتIT (business-IT alignment)وست وبس

هذل تجبسي سبصهبى پیص یبص الصم ثشاي هفمیت یه هؼوبسيSOA است.

ذایت(direction) ، لسوت ثذي(partitioning ) ثذي عجم(taxonomy ) هجد ثبضذسشیس ب.

هؼوبسي وگشا سبصي شم افضاس تسیل پیگیشي سشیس ب )پیبد

(.فشایذب ضذى فن شم افضاس ثشاي تحلیلگشاى تجبسيآسبى تش.سبد سبصي اػوبل تغییشات دس وبسوشد بي تجبسي.

Page 13: Service oriented architecture

(Granularity)دا دا ثدى

فشاخاي سشیس ب ضی ثش است . تیج دسgranularity یىي اص هوتشیي خػغیبت عشاحي

.سشیس ب هي ضد

ث غست دسضت عشاحي(coarse grained) ضی تجیlatency دسخاست دس ضجى

اسائ اسظ بي ووتش اجبم دسخاست بي هستمل ثشاي.بي تجبسي functionاجشاي وبهل

وبص اتػبل اثستگي(coupling)

Page 14: Service oriented architecture

1-( Coupling)اتػبل

اتػبل وبسوشدي(Functional coupling) ایجبد تؼشیف بي هؼبیي اسظ ب ث غستinteroperable ثب

(semantic data model)استفبد اص هذل هؼبیي داد و سشیس ب دس سغح اسظ ثب یه هذل هطتشن وبس هي وذ.ایجبد پیبم بي هؼبیي هستلضم د هذل داد اي:

هذل داد اي دسي(Internal data model:) تسظ سشیس ب هسدایي هذل هشثط ث پیبد سبصي داخلي سشیس . استفبد لشاس هي گیشد

. بي صیشیي خد هي ضد componentهي ضد هختع سشیس ب .هذل داد اي دسي دس هؼشؼ هػشف وذگبى سشیس لشاس وي گیشد

هذل داد اي خبسجي(External data model :) ثشاي تجبدالت ثیيسشیس ب هسد استفبد لشاس هي گیشد وبى هذل داد اي هؼبیي

.سبصهبى است

ش سشیسي هسئل تجذیل بي هؼبیي اتمبل داد ثیي.هذل داد اي دسي هذل داد اي سبصهبى است

Page 15: Service oriented architecture

2-( Coupling)اتػبل

اتػبالت صهبي(Temporal coupling) ایحبد اتػبل صهبي ضذیذي ثیي هػشف وذ اسائ دذ

استفبد اص استجبعبت وضهبى ثشاي فشاخاي سشیس ثب سشیس .ب

اسائ دذ سشیس ثشاي دس دستشس ثدى تسظ هػشف.وذ ثبیذ ویط دس حبل اجشا ثبضذ

ضذى صهبي جذا(temporally decoupled ) ثب ایجبد فشاخاي(.asynchronous)بي غیشوضهبى

فشاخاي غیشوضهبى گستشش پزیشي دس دستشس ثدى SOAسشیس ب سا افضایص هي دذ ثشاي پیبد سبصي

.ثسیبس هبست است

Page 16: Service oriented architecture

فشایذ بي تجبسي

تجبسي هجدیت بي تجبسي اص سشیس بي پطتیجبي، اضتشان پشداصش (stable business artifacts)پبیذاس

. لایي هتغیش ب پطتیجبي فشایذبي تجبسي اص جشیبى سیبل سی

.لایي تجبسي هتغیش تجبسي ثش پبی سشیس بي تؼبهل ثیي فشایذبي تجبسي

.هذل هؼبیي سبصهبى تجبسيفشایذبي ثش سي سشیس ب وبص تغییشات. سشیس بثب استفبد اص فشایذب سبدگي سبخت.

Page 17: Service oriented architecture

SOAالگبي

صیشسبخت دستشسي ث سشیس ب(Service access

and infrastructure ) تشویت سشیس ب(Service composition.) ب سبصي سشیس پیبدتؼشیف(Service definition

and implementation.) سخ سبصي سشیس ب(Service versioning.) اهیت سشیس ب(Services security.) دستشسي ث داد سبصهبى(Enterprise data access.)

Page 18: Service oriented architecture

تجضی ثش هجبي سشیس ب (Service-Oriented Decomposition)ثش هجتي هشاتجي، سلسل تجضی

اص اعویبى سبصهبى تجبسي هذل ثب بیي سشیس بي هغبثمت.سبصهبى تجبسي وبسوشد

داد هؼبیي هذل تلیذ (semantic data model)

تجبسي هذل ثش هجتي سبصهبى، اتمبل لبثلیت اص اعویبى سبصهبى

(interoperability) سشیس بي .بیي

Refactoring بیي سشیس بي پیستگي اص اعویبى ثشاي

سشاسشي اذاف ثب وبگي گستشش وبسایي، هبذ هؼوبسي... اهیت پزیشي،

Page 19: Service oriented architecture

SOAالی ثذي هؼوبسي D

ata

Arc

hite

ctu

re &

Bu

sin

ess In

tellig

en

ce

Qo

S, S

ecu

rity, Ma

na

ge

me

nt &

Mo

nito

ring In

frastru

ctu

reS

erv

ice

Custom

Application

Packaged

Application

Packaged

Application

Custom

Application

consumers

business processesprocess choreography

servicesatomic and composite

service components

operational systems

Se

rvic

e C

on

su

me

rS

erv

ice P

rovid

er

OO

Application

Portlet WSRP B2B OtherIn

tegra

tion

(En

terp

rise

Se

rvic

e B

us a

pp

roa

ch

)

Go

ve

rna

nce

Page 20: Service oriented architecture

SOAالی ثذي هؼوبسي

الی دستشسي : الی پجن(Access ) یب (Presentation)وبیص

خبسج اص حص هؼوبسيSOA

هؼوبسيSOA الی وبیص سا اصcomponent جذا وشد استبي.

یىپبسچ سبصي : الی ضطن(Integration) اي یىپبسچ سبصي ثب ایجبد اص هجوػ

لبثل اعویبى، هبذ هسیشدي لبثلیت بي گشي پشتىل ضوذ، Protocol)اسغ

mediation ) اتمبلهىبیضم بي سبیش.ویفیت سشیس : الی فتن(QoS)

سا و ثشاي ظبست، هذیشیت لبثلیت بیيSOAهؼوبسي QoSگذاسي

اهیت، وبسایي دسدستشس ثدى . اص عشیك هىبیضم پس صهی یه فشایذ

sense-and-respond

هشثط ث استبذاسدبي ضبهل توبهي سبصي توبهي WS-Managementپیبد

هشتجظ دیگش استبذاسدبیي پشتىل بي SOAو ویفیت سشیس سا دس

سبصي هي وذ .پیبد

ػولیبتي سیستن بي الی : الی ال(Operational Systems) هجد سبخت ضذ سبصهبى سیستن بي توبهي

(legacy systems .)الی : الی دمcomponent سبصهبىبي

component و هسئل تحمك ثخطیذى بیي(realizing ) ثfunctionality گذاسي QoS

.اسائ ضذ ستذسشیس بي ثشاي عشاحي بي تىیه ب استفبد اصcontainer-

based ،( هبذApplication Serverب)سشیس بالی : الی سم

تجبسيسشیس بي اسائ استفبد دس یه سشیس تشویجي(Composite

Service ) سشیس ب دس استجبط ثب سبیش(choreographed.)

تشویت فشایذبي تجبسي یب الی : الی چبسمchoreography

هتطش سشیس بي تشویت وبگي ثیي Orchestrationتىیه ضذ ثب استفبد اص د

Choreography یب

استفبد اص اثضاسبيvisual ثشاي عشاحي.فشایذب

Page 21: Service oriented architecture

Service-oriented–1هذلسبصي، تحلیل عشاحي

ضبسبیي سشیس ب - 1پبییي -ث-تىیه ثبال(top-down)

domain decomposition : تجضی للوش تجبسي سبصهبى ث بحی بي وبسثشدي صیشسیستنبي سغح use caseبیي است و ضبهل جشیبى یب پشس تجضی ث فشایذب، صیشفشایذب

. ثبالي تجبسي هي ضدثبال -ث-تىیه پبییي(bottom-up)

تحلیل سشیس ب هجد ث ػاى وبذیذابیي ثشاي سیستن بي : تحلیل هبثغ هجد سبصهبى. اتخبة هي ضذ

تجذیل ثComponent وشدى(componentization ) سیستن بيLegacy یبصهذ هبجالس.هبثغ هجد ثشاي پطتیجبي اص وبسثشد بي سشیس بي داسد( remodulaization)وشدى هجذد

خبسج -ث-تىیه داخل(middle-out) تحلیلgoal service : ضبسبیي اػتجبسثخطي ث سشیس بیي است و دس د تىیه لجلي

اذضبسبیي key هؼیبسب سا ث اذاف صیش اذاف سبصهبي تىیه ب سشیس ب ایي . طذperformance indicators هتػل هي وذ.

والس ثذي سشیس ب - 2 وبیطگش تشویت سشیس ب عجیؼتfractal آب سشیس ب ثب تشویت سشیس ب ایجبد Component وچىتشبي. سشیس بي و ث دلیل افضایص تؼذاد سشیس ب وبص ػالئن هضش بضي اص اصدیبد

.هي آیذوچه ث جد

Page 22: Service oriented architecture

Service-oriented–2هذلسبصي، تحلیل عشاحي

تحلیل صیشسیستن ب -3 صیشسیستن بیي هطخع ضذ دس تجضی للوش(domain decomposition) اسائuse case اذبیي و دس عل تجضی للوش وطف سشیس بیي ، ث ػاى ضذ

صیشسیستن بدس اسظ ضبهل ایجبد صیشسیستن ب تحلیلobject model ثشاي وبیص عشصوبس داخلي بیي

. و ث ػاى سشیس اسائ خاذ ضذصیشسیستن بیي عشاحي بcomponentتؼییي هطخػبت -4

جضئیبت . ایي فؼبلیت، لذم ثؼذي فشایذ هذلسبصي هي ثبضذcomponent و ي سبصي سشیس سا داد، : ایي جضئیبت ػجبستذ اص. خاذ وشد، هطخع هي ضدپیبد

تؼییي (. variations) تغییشات configurable profile، سشیس بلایي، هشحل یض تؼشیف هذیشیت دس ایي سیذادب ( messaging)پیبم سسبي هطخػبت

.هي افتذاتفبق (Service Allocation)تخػیع سشیس -5

ث سشیس ب اختػبظcontainer و وبسوشدبي هتطش ضذ آب سا تحمك بیي. خاذ داد

سشیس ب تخػیع component بي هشثط ث تحمك ش یه، ث بي SOAالی

هؼوبسيهستذسبصي دلت دس تػویوبت هشثط ث

Page 23: Service oriented architecture

Service-oriented–3هذلسبصي، تحلیل عشاحي

تحمك سشیس ب(Service Realization) یىپبسچ سبصي اتمبل(transformation) اضتشان(subscription) ثشى هجؼي(outsourcing ) اص وبسوشد سیستن اص ثخص بیي

. بweb serviceعشیف هبجل بي سیستن بي دس هسد استفبد اص تػوین گیشي

legacy ثشاي تحمك سشیسي خبظ ایى وذام یه اص.هي گیشدثبیذ اص اثتذا سبخت ضذ، اجبم سشیس ب

خبسج اص وبسوشد تجبسي سشیس ب سبیش هاسدي و ثشاي تحمكاهیت، هذیشیت ظبست ثش : ، ػجبستذ اصهي ضذاتخبة

.سشیس ب

Page 24: Service oriented architecture
Page 25: Service oriented architecture

25

تؼشیف ة سشیس

سشیس ث جبيcomponent. لبثلیت ضبسبیي، فشاخاي اجبم تشاوص تسظ ثشبه

.بي دیگش تشویت سشیس ب ایجبد یه وست وبس اضتشاوي

(Collaborative Business) اسظ بي ػوهي یژگي بي استفبد اص آى تسظXML

.اسائ ضذ اذ هجتي ثش پیبم بي ایي تشاوص تؼبهل ثب استفبد اصXML

اجبم HTTPػوهي ایتشت هبذ پشتىل بي تحت .هي ضد

Page 26: Service oriented architecture

هؼوبسي ة سشیس

Page 27: Service oriented architecture

ة سشیس ب

Page 28: Service oriented architecture

28

صیشسبخت ب

.1XML: توبهي هستذات دس لبلتXML ستذ ثشاي تؼشیف ع داد ب، استجبط.ثیي آب ػولیبت هشثط ث یه وبسوشد استفبد هي ضذ

.2SOAP : اسسبل، دسیبفت )پشتىل تجبدل پیبم(XMLهذیشیت اتمبل ثست بي اعالػبتي

.3WSDL: ضبسبه سشیس دس لبلتXMLیه ة سشیس چ وبسي اجبم هي دذ؟ایي ة سشیس وجب لشاس گشفت است؟ ػولیبت ایي ة سشیس چگ فشاخاي هي ضد؟(پبساهتشب آسگهبى ب)

.4UDDI (Universal Description, Discovery and Information):هشوضي جبي ثشاي ثجت، جستج یبفتي یه ة سشیسثشلشاسي استجبط ة سشیس بي هختلف ثب وبسثشاى.

UDDI

WSDL

SOAP

XML

Page 29: Service oriented architecture

29

هذل ة سشیس ب(: Creation)ایجبد 1.

ایجبد یه ة سشیس.(: Description)تغیف 2.

تغیف ة سشیس. (:Publishing)اتطبس 3.

دس اختیبس لشاس دادى ة سشیس.سي ة

(:Discovery)وطف ضبسبیي 4. جستجي یه ة سشیس ثب

.وبسوشد هذ ظش وبسثش(: Invocation)فشاخاي 5.

تابیي استفبد اص ة سشیس.فشاخاي آى

(:Unpublishing)ػذم اتطبس 6. اتوبم اتطبس یه ة سشیس

پبیبى دادى ث آى دس سبیش فشایذبیي و اص آى استفبد هي

.وذ

Page 30: Service oriented architecture

30

هضایبیي استفبد اص ة سشیس ب

هستمل اصPlatform

هتمبضيآضىبس لبثل فن ثشاي سبصيایجبد اهىبى یىپبسچ

Page 31: Service oriented architecture

31

Web Serviceپشتىل بي سغح ثبالي

اي یبص اص عشف وست وبس پیطشفت: ث جد هي آیذ

سبصي ثشاي ثشاي تؼشیف فبسي اي پیبد اي تجبسي تشاوص بي اص هجوػ

تؼبهالت ثیي چذیي ضشوت ثشاي اجبم یه .پشس اضتشاوي تجبسي

سشیس بفبسي ة هذیشیت یه تشاوصاجبم .

ثبالسغح صثبى بي اي هذیشیت وتشل ثشاي هجوػ

دس جت اجبم سشیس ب اص ذفوذ.یه وست وبس اضتشاوي

Page 32: Service oriented architecture

32

ة فبسي بي هشتجظسشیس بي پطت

WSFL

BPML

BPEL4WS

ebXML

Page 33: Service oriented architecture

33

BPEL4WS

سلبثت ضشوت ب سص ث سص ثبال هي گشفت.جد چذیي استبذاسد هختلف وبس سا سخت تش وشد ثد.

BPEL4WS : ضشوت بيIBM ،BEA هبیىشسبفت هذلي سا و حبغل اص تؼذیل چذ هذل ثب ن ثد، ػشض

وشدذ و ضجبت بي صیبدي ثب هذلي داضت و BPMI.org دسBPML 1.0 اسائ وشد ثد.

Page 34: Service oriented architecture

34

eBusiness XML

یه صیشسبخت آصاد، هجتي.XMLثش

ایجبد ثستشي ثشاي : ذفاهىبى اضتشان ش سبصهبي

دس وست وبس جبي (Global eBusiness) اسائ ضذ تسظ د سبصهبى

OASIS UN/CEFACT.

استفبد اصEDI گستشش ث .ایتشت

Page 35: Service oriented architecture

35

ebXMLهؼوبسي

(Trading Partners)اعالػبت ضشوبي تجبسي 1.Collaboration Protocol Profiles (CPP's)Collaboration Protocol Agreements (CPA's.)

.هذلسبصي فشایذ تجبسي اعالػبت آى2. تؼشیف هذلسبصي فشایذبي تجبسي دس لبلتCPP ب.Business Process and information Meta Modeling

(Core Components)اجضاي پبی 3.Component هبذ . بیي ثشاي استفبد هجذدCPP بCPA.

.4Registries هبذUDDI. ،رخیش اجضاي پبیSchema ،DTD ب، هذل فشایذبي تجبسي...

(Messaging Service) سشیس پیبم سسبي5. هطخػ بي ثست ثذي پیبم بيebXML تحت پشتىل بي

. HTTP ،FTP SMTPهبذ سبختبسSOAP سا یض دس ثش داسد.

Page 36: Service oriented architecture

36

همبیس د پطت

Page 37: Service oriented architecture

هبثغ

Arsanjani, Ali; Borges, Bernhard; Holley, Kerrie “Service-Oriented Architecture”. Available at www.ibm.com

Endrei, M.; Ang, J.; Arsanjani, A.; Chua, Sook; Comte, Philippe; Krogdahl, Pal; Luo, Min; and Newling, Tony. (2004) Patterns: Service-oriented Architecture and Web Services. IBM Redbook, ISBN 073845317X. www.redbooks.ibm.com/redbooks/SG246303/ wwhelp/wwhimpl/java/html/wwhelp.htm

“Pattern: Service Oriented Decomposition”, Availible on: http://orchestrationpatterns.com

Boris Lublinsky, “Defining SOA as an architectural style”, 09 Jan 2007, Available at: http://www.ibm.com/developerworks/library/ar-soastyle/index.htm

Realizing service-oriented solutions with the IBM Software Development Platform: An excellent introduction to service-oriented development of applications (SODA) and usage of IBM® Rational® tooling for its implementation. (A.W. Brown, M. Delbaere, P. Eeles, S. Johnston and R. Weaver; IBM Systems Journal, Oct 2005)

Principles of service design: Service patterns and antipatterns: Discusses tenets for SOA design, along with major patterns and antipatterns that can be used for service definitions. (John Evdemon; MSDN, Aug 2005)