Top Banner
SOA Service Oriented Architecture ﻣﻌﻤﺎﺭﯼ ﺳﺮﻭﻳﺲ ﮔﺮﺍ ﺩﺍﻧﺸﮕﺎﻩ ﺷﻬﻴﺪ ﺑﻬﺸﺘﻲ ﺩﻭﻣﻴﻦ ﺳﻤﻴﻨﺎﺭ ﺷﺒﻜﻪ ﻋﻠﻤﻲ ﻛﺸﻮﺭ ﺍﺳﻼﻡ ﻧﺎﻇﻤﻲnazemi@sbu,ac,ir ﺩﺍﻧﺸﻜﺪﻩ ﻣﻬﻨﺪﺳﻲ ﺑﺮﻕ ﻭ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺩﺍﻧﺸﮕﺎﻩ ﺷﻬﻴﺪ ﺑﻬﺸﺘﻲ ﻣﻬﺮﻣﺎﻩ۱۳۸۶
36
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 101_866_SOA.pdf

SOAService Oriented

Architectureمعماری سرويس گرا

دانشگاه شهيد بهشتي دومين سمينار شبكه علمي كشور

اسالم ناظمي

nazemi@sbu,ac,irدانشكده مهندسي برق و كامپيوتر

دانشگاه شهيد بهشتي ۱۳۸۶مهرماه

Page 2: 101_866_SOA.pdf

مقدمهo درصد ازبرنامه هاي ۸۰بر طبق نظر تحليلگران صنعتي بيش از

۲۰۰۸ تا ۲۰۰۵کاربردي حرفه فروخته شده در فاصله سالهاي شکل ) SOA(ميالدي بر اساس اصول معماري سرويس گرا

.مي گيرندo بيانگر ديدگاهي از معماري " معماري سرويس گرا"اصطالح

با درجه نرم افزاري است که استفاده از سرويس هاي نرم افزاررا جهت پشتيباني از ) Loosely Coupled( کم اتصال

.فرآيندهاي حرفه پيشنهاد مي کندo محصورسازيدر حقيقت اين سبک از معماري از ديدگاه سنتي

منطق حرفه تحت اشيا و مولفه ها پشتيباني مي کند اما اين . بر اساس فرآيندهاي حرفه مي باشد محصورسازي

Page 3: 101_866_SOA.pdf

مسير دستيابي به سرويس گرايي–راهبردهاي معماري نسل بعد

Batch

On-linemidrange

Client/server

Web client

ServiceOriented

Architectures

١٩٧٠s ١٩٨٠s ١٩٩٠s ٢٠٠٠s ٢٠١٠s

Page 4: 101_866_SOA.pdf

?What is Serviceسرويس چيست؟

o يك واحد از كار انجام شده توسط عرضه كننده خدمت براي دستيابي بهنقش عرضه كننده و دريافت كننده سرويس با . نتيجه موردنظر مشتري

. مولفه هاي نرم افزاري انجام مي شود به عنوان قطعه اي از SOAيك سرويس در

عملكردي است كه داراي سه خصوصيت اصلي زير : باشدnواسط سرويس مستقل از پيكربندي است.nسرويس به طور پويا در جايي قرار مي گيرد و بازخواني مي شود .nسرويس خودشمول است يعني سرويس وضعيت خود را نگه مي دارد.

Page 5: 101_866_SOA.pdf

?What is a Web serviceوب سرويس چيست؟

o هر سرويسي كه قابل فراخواني توسط برنامه ديگري: باشد به طوري كه Webدر

n platform-independent,n language-independent & n object model-independent

o بنابراينWeb Service= web-base Serviceoاز استانداردهاي زيرساختار نسل بعد استفاده نمايد:oXML, SOAP, WSDL, UDDI

Page 6: 101_866_SOA.pdf

دهند مختلفي از منطق را پوشش بخش هاي مي توانند سرويس ها

سرويس گرا اصطالحي است براي نشان دادن مدلي که در آن منطق معمارياين واحدها . اتوماسيون به واحد هاي کوچکتر و مشخصي از منطق تجزيه مي شود

مي دهند و هر يک تشکيلبا يکديگر بخش بزرگتري از منطق اتوماسيون حرفه را .شونداز آنها مي توانند جداگانه توزيع

Page 7: 101_866_SOA.pdf

روش هاي مختلف دسترسي به يک سرويس يکسان

Page 8: 101_866_SOA.pdf

معماري سرويس گرا چيست؟

oمفهوم کليSOA بطور کلي منظور . بر تعريف زيرساخت حرفه تمرکز مي کنداز واژه سرويس، يک سرويس حرفه مانند رزرو کردن يک بليط است نه

علت اين است که دسته . سرويس هاي زيرساخت فني مثل سرويس تراکنش دوم در زمان پياده سازي يک عمليات حرفه اهميت پيدا مي کند و ارتباط

. استراتژيک خاصي از نقطه نظر معماري سرويس گرا ندارد

o ،بجاي درگيرکردن مصرف کننده با جوانب فني مربوط به فراخواني سرويس SOAدر . قرارداد سرويس را از مولفه يا پياده سازي آن قرارداد جدا مي کند

نتيجه اين جداسازي معماري توليد مي شود که در آن اتصال ميان مصرف يف کننده سرويس و ماژول هايي که کار مربوطه را انجام مي دهند بسيار ضع

.است و به آساني قابل پيکربندي دوباره است

Page 9: 101_866_SOA.pdf

عناصر تشکيل دهنده معماري سرويس گرا

Page 10: 101_866_SOA.pdf

عناصر تشکيل دهنده معماري سرويس گرا

oApplication Frontend ها عناصر فعالي از يکSOA هستند که تمام . فعاليت سيستم هاي سازماني را آغاز و کنترل مي کنند

o سرويس يک مولفه نرم افزاري از يک معناي کارکردي مشخص است که

. معموال يک مفهوم حرفه را محصورسازي مي کند

o مخزن سرويس امکاناتي را براي پيدا کردن سرويس ها و دريافت کليه اطالعات الزم جهت استفاده از سرويس ها فراهم مي کند، بويژه اگر اين

ه سرويس ها مي بايستي در خارج از محدوده زماني و کارکردي پروژه سازند . آنها پيدا شوند

o گذرگاه سرويس تمام بخش هاي شرکت کننده در يکSOA را به هم متصل بخواهد کارکردي از يک سرويس Application Frontendمثال اگر يک . مي کند. را فراخواني کند گذرگاه سرويس اين عمل را ممکن مي سازدپايه اي

Page 11: 101_866_SOA.pdf

قسمت هاي مختلف يک سرويس

Page 12: 101_866_SOA.pdf

يس گيرندهچگونگي پيدا کردن سرويس ها و اتصال آنها در زمان توسعه برنامه سرو

Page 13: 101_866_SOA.pdf

SOA Layers اليه هاي معماري سرويس گرا

Page 14: 101_866_SOA.pdf

Existing Business Architecturesمعماري هاي حرفه موجود

Existing Business Processes

Existing Data & System Architectures

Existing Organizational Structures

Page 15: 101_866_SOA.pdf

Service Oriented Architectureمعماري سرويس گرا

Page 16: 101_866_SOA.pdf

: در معماري سازمان SOAاستفاده از . سرويس بايد چابك، سريع و كارا باشد

CICS gateway

ORB

Broker

Screenscrape

EDI/VAN

Down-loadfile

C++

Messagequeue

FOCUS

Screenscrape

Screenscrape

APPC

CRM٢

Message

Down-loadfile

CICS gateway

Messagequeue

Trans-action

file

APPC

WebFOCUS

Trans-action

file

ERP

CRM١RPC

CSV

ORBCICS gateway

CICS gateway

ORB

Message

Screenscrape

RPC

Down-loadfile

Sockets

Messagequeue

Screenscrape

Screenscrape

Screenscrape

APPC

Trans -actionfile

Message

Down-loadfile

CICS gateway

Messagequeue

Trans -actionfile

APPC

Down-loadfile

Trans -actionfile

Messagequeue

Trans -actionfile

RPC

Sockets

ORB

CICS gateway

Reusable Business Services

Insert PO Billing Inventory Provision Check Credit

BI B٢BBusiness Process Management

Step ١ Step ٢ Step ٣ Request Message

Page 17: 101_866_SOA.pdf

? What is SOA چيست؟ SOAبنابراين

o SOAحرفه گراست .oSOAراهي براي تفكر است .oSOAيك سرويس وب نيست .oداراي معماري با اتصال ضعيف است و از طريق پيغام فعال مي شود.oبا ايجاد كاربردهاي مركب ارتقاء مي يابد .oاز حالت دسته اي حركت به سمت بالدرنگ دارد .oقابل استفاده مجدد مي شود) سرويس هاي(منجر به ساخت مولفه هاي حرفه .oچابك و انعطاف پذير است .

Page 18: 101_866_SOA.pdf

<process><sequence>

<receive… />

<invoke… />

</sequence></process>

<process><sequence>

<receive… />

<invoke… />

</sequence></process>

Loan Service(Orchestration)

Credit ValidationService

Loan Service ١

LoanService ٢

You’re approved!

اجراي يك معماري مبتني بر سرويس

Page 19: 101_866_SOA.pdf

SOAكار را تغيير مي دهد ...SOA Change work …

Application ApplicationApplication Application

Application Application Application Application

App App App App

App App App App

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

Turn this… …into this

Page 20: 101_866_SOA.pdf

SOA + Enterprise Service Bus (ESB)

App App App App

App App App App

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

ServiceInterface

…into this Turn this…

ESB

Page 21: 101_866_SOA.pdf

SOA, Legacy, and the ESB

New Flight Availability

Service

Old Flight Availability

Service

HotelAvailability

Service

BookHotel

Service

BookCar

Service

TravelReservation

Process

New CheckTravelerService

Check Credit Service

Book Flight Service

Add new services

faster

Change serviceswith minimal

impact to Existingservices

Flight Availability

Service

Enterprise Service Bus

Page 22: 101_866_SOA.pdf

Component= Reusable, Portable, Well-Defined, reliable, extendable Modules

Service= Business-Driven Platform-Independent Component

Web Service= Web-Base Service

Web Application = application used by a userWeb Service = application used by another application

” برنامه هاي كاربردي وب“و ” سرويس وب“ ، ” سرويس“تفاوت بين

Page 23: 101_866_SOA.pdf

SAO SOA Itemsمولفه هاي

o XMLo WSDLo BPELo SOAPo UDDI

Page 24: 101_866_SOA.pdf

Evolution of Business

Evolution of Architectureتكامل معماري

Page 25: 101_866_SOA.pdf

. مي بريد؟ SOAچرا سيستم ها را به سمت Why move your Systems to SOA?

محرك هاي حرفهo تطبيق سيستم ها با فرايندها و نه

برعكسo بهبود قابليت استفادهo تحويل تحليل هاي مرتبطo اتصال به داده هاي بيروني و

سرويس ها o ايجاد توازن بين بهترين تجارب و

دانش صنعت

محرك هاي فناوري o كاهش كدينگ مشتري در حين

پيكربندي o پذيرش استانداردهاي باز و كاهش

هزينه يكپارچگي o قادر نمودن كاربران نهايي براي

خودكارايي o انعطاف پذيري زياد براي استفاده

از كاربردهاي مركب و پيچيده

Page 26: 101_866_SOA.pdf

Soa تمام چيزي است كه نياز داريم ! !SOA is all that we need

Workflow

EDI

Mainframe

١٩٨٠ ١٩٩٠ ٢٠٠٠ ٢٠١٠

XMLWS

WebLANInternet

?BusinessIntegration

J٢EE.NET

Client / Server

Web/Portal

EAI

B٢BBPM

WS

Office

SOA

SOA

Page 27: 101_866_SOA.pdf

. اتصال قادر به دسترسي فرايندهاي سراسري و اطالعات است Connectivity Enables Global Processes and Information

Access

Information

BusinessProcesses

Local

١٩٨٠ ١٩٩٠ ٢٠٠٠ ٢٠١٠

Web

XMLWS

WAN

Web

LAN

LANInternet

Global

SOA

Page 28: 101_866_SOA.pdf

معماري سرويس گرا و سنتي SOA vs. Traditional Architecture

معماري سنتي معماري سرويس گرا

طراحي براي آخرين بار طراحي با هدف پذيرش تغيير

اتصال قوي اتصال ضعيف، چابك و تطبيق پذير

يكپارچگي سيلويي تركيب از سرويس هامبتني بر كد ميتني بر فرايند

چرخه حيات توسعه طوالني توسعه تعاملي و تكراري

تمركز بر هزينه تمركز بر حرفه فناوري همگون فناوري ناهمگون

Page 29: 101_866_SOA.pdf

SOA Toolsابزارهاي معماري سرويس گرا

o Leathers of SOA Middlewareo ORACLE suite for SOAo ORACLE Fusion

Page 30: 101_866_SOA.pdf

SOA Approach (ORACLE)

Page 31: 101_866_SOA.pdf

ORACLE Fusion Overview

o Fusion Middlewaren Add Business Process

Analysis capabilityn Address customers and

partners demandn Appeal to Line of Business

audience

o Fusion Applicationsn Create Reference Process

Modelsn Facilitate Collaborative

Designn Simplify selling, training and

implementation

Enterprise

Business Process

Detailed Business Process

Activity

ORACLE SOA Suite

Page 32: 101_866_SOA.pdf

Business Process Architect

Page 33: 101_866_SOA.pdf

Business Process Simulator

Page 34: 101_866_SOA.pdf

Integration with SOA, BPEL PM

Page 35: 101_866_SOA.pdf

Business Process Publisher

Page 36: 101_866_SOA.pdf

فهرست برخی از مراجع o ۱[ ] Abrams C., Smith D.: Service-Oriented Business Applications Show

Their Potential, Gartner Research Note (SPA-۲۰-۷۲۹۵ ۹ ۲۰۰۳), October o ۲[ ] Paddy Srinivasan: SOA and Enterprise Applications, Microsoft

Corporation, http://msdn.microsoft.com/isv/solution/crm/soa/default.aspxo ۳[ ] Eric Newcomer, Greg Lomow: Understanding SOA with Web Services,

۲۰۰۴Addison Wesley Professional, o ۴[ ] Wikipedia, the free encyclopedia: http://en.wikipedia.org/wiki/Service-

oriented_architectureo ۵[ ] James McGovern, Scott W. Ambler, Michael E. Stevens, James Linn,

Vikas Sharan, Elias K. Jo: A Practical Guide to Enterprise Architecture, ۲۰۰۳Prentice Hall PTR,

o ۶[ ] Thomas Erl: Service-Oriented Architecture: Concepts, Technology, and ۲۰۰۵Design, Prentice Hall PTR,

o ۷[ ] Dirk Krafzig, Karl Banke, Dirk Slama: Enterprise SOA: Service-Oriented ۲۰۰۴Architecture Best Practices, Prentice Hall PTR,

o ۸[ ] Howard Smith, Peter Fingar: Business Process Management (BPM): The Third Wave, Meghan-Kiffer ۲۰۰۳,

o ۹[ ] Thomas Erl: Service Oriented Architecture: A Field Guide to Integrating ۲۰۰۴XML and Web Services, Prentice Hall PTR,