You are on page 1of 49

‫عنوان کارگاه آموزشی‪:‬‬

‫معماری سرویس گرا‬


‫)‪Service Oriented Architecture (SOA‬‬
‫خدمت‪/‬سرویس‬

‫تعریف‪ :‬در راستاي رضایت خاطر ذینفعان سازمان‪ ،‬خدمات از کسب و کار(فرایندها)‬
‫سازمان استخراج شده‌اند‪ .‬این خدمات داراي ذینفع هستند‪ ،‬هر خدمت شامل مراحلي‬
‫است و ارزش افزوده‌اي را براي خدمت گيرنده در برداشته تا موجبات رضایتش را فراهم‬
‫آورد‪ .‬خدمت از دید شخص خارج از واحد ارائه دهنده خدمت مطرح مي‌شود(نگاه بيروني‬
‫به سازمان)‪ .‬منظور از ذینفع‪ ،‬فرد حقيقي یا حقوقي است که از سازمان خدمت مي‌گيرد‪.‬‬

‫مثالهای از سرویس‪:‬‬
‫• سفارش‌غذا‌از‌رستوران‬
‫• دریافت‌و‌پرداخت‌وجه‌از‌بانک‬
‫• جستجو‌در‌اینترنت‌توسط‌موتورهاي‌جستجو‬
‫• دریافت‌مجوزهاي‌ساختماني‌از‌شهرداري‬
‫• تعمير‌اتومبيل‌در‌تعميرگاه‬
‫• دریافت‌گذرنامه‬
‫یک مثال از قابلیت ارائه سرویس توسط کانالهای متنوع‬
‫اصول سرویس گرائی‬

‫ذینفعان با ”چه چیز“ سرو کار دارند و نه ”چگونه“‬

‫استاندارد و شفاف بودن ورودی و خروجی‬

‫مخفی سازی پیچیدگی داخلی از دید ذینفعان‬

‫تاکید ذینفع بر کنترل کیفیت ”نتیجه“ بجای کنترل ”مراحل انجام“‬

‫امکان شناسائی آسان و انتخاب بین سرویس دهنده ها‬

‫قابلیت استفاده مجدد سرویس ها‬

‫قابلیت ترکیب پذیری سرویس ها‬

‫استقالل سرویس ها در عین قابلیت فراخوانی توسط ذینفعان مختلف‬


‫مقایسه سه مدل ساختاری‪ /‬فرآیندی‪/‬سرویس گرا‬

‫مدل ساختار سازماني‬

‫مدل زنجیره ارزش فرایندی‬

‫مدل ارائه سرویس‬


‫پارادایم سرویس گرائی در سازمان‬

‫• سازمان سرویس گرا )‪(SOE‬‬


‫الیه کسب و کار‬

‫الیه سیستم های‬ ‫• معماری سرویس گرا )‪(SOA‬‬


‫اطالعاتی‬

‫الیه زیرساخت و‬ ‫• زیرساخت سرویس گرا )‪(SOI‬‬


‫شبکه‬
‫مثال سازمانهای سرویس گرا ‪ :‬اداره صدور گذرنامه‬

‫وضعیت مطلوب (سرویس گرا)‬ ‫وضعیت گذشته‬

‫• دریافت‌مدارک‌از‌مشتري‌فقط‌در‌ابتداي‌‬ ‫• شفاف‌نبودن‌ورودي‌ها‌و‌خروجي‌هاي‌فرایند‌‬
‫مراجعه‬ ‫صدور‌شناسنامه‬
‫• مشتري‌فقط‌با‌"چه‌چيز" سرو‌کار‌دارد‌و‌‬ ‫• پاس‌کاري‌شدن‌مشتري‌بين‌بخش‌ها‌و‌‬
‫"چگونه" به‌عهده‌کارمندان‌است‬ ‫پرسنل‬
‫• حداقل‌زمان‌حضور‌مشتري‌در‌اداره‬ ‫• کارائي‌پائين‌پرسنل‬
‫• استفاده‌مجدد‌فعاليت‌ها‌در‌فرایندهاي‌مشابه‬ ‫• هدر‌رفتن‌زمان‌مشتري‬
‫• گردش‌کار‌براي‌صدور‌شناسنامه‌توسط‌‬ ‫• درگير‌شدن‌مشتري‌با‌اصطالحات‌و‌شرایط‌‬
‫سيستم‌هاي‌مدیریت‌فرایند‌انجام‌مي‌شود‬ ‫انجام‌کار‬
‫• رضایت‌مشتري‌و‌حذف‌بوروکراسي‌اداري‬ ‫• نارضایتي‌مشتریان‌از‌بوروکراسي‌اداري‬
‫• قابليت‌باالي‌انعطاف‌در‌کسب‌و‌کار‌و‌‬ ‫• قابليت‌کم‌چابکي‌و‌استفاده‌مجدد‌در‌‬
‫فرایندها‌به‌واسطه‌کاهش‌پيچيدگي‬ ‫فرایندهاي‌سازمان‬
‫• و‌‪...‬‬ ‫• و‌‪....‬‬
‫دسته بندی ماهیت سازمانها ‪...‬‬

‫‪ ‬شرکت های خدماتی (بانک ها ‪ ،‬بیمه‪) ISP ،‬‬


‫‪ ‬شهرداری (خدمات شهری)‬
‫‪ ‬ایرانسل‬

‫سازمانهای‬
‫سرویس گرا‬

‫‪ ‬سازمانهای پروژه محور‬


‫‪ ‬کارخانه ها (خط تولید)‬
‫‪ ‬شرکت های تولیدی‬
‫سازمانهای ستادی – نظارتی‬ ‫‪‬‬ ‫سازمانهای‬
‫وزارتخانه های دولتی‪ ,‬شعبات‬ ‫‪‬‬ ‫سازمانهای‬ ‫فرایند محور‬
‫مرکزی شرکت ها‬
‫وظیفه محور‬
‫حوزه های منابع انسانی و مالی‬ ‫‪‬‬
‫نهادهای قانونگذار‬ ‫‪‬‬
! ... ‫ بودجه فناوری اطالعات سازمانها صرف یکپارچگی می شود‬%65

New
ERP Finance HR Legacy
composite
applications

Integration Layer

Suppliers

Process Customers
B2B
automation
Strategic
partners
‫سلسله مراتب مفاهیم و عناصر مرتبط با سرویس‬

‫سرویسها‬
‫تجرید‬

‫مولفهها‬

‫دانه بندی‬
‫اشیاء‬
‫سرویس های وب (‪)Web Service‬‬

‫ماژولهای نرم افزاری که تحت وب منتشر شده‪ ،‬شناسائی و مورد فراخوانی قرار می گیرند‬

‫مستقل از سکو و زبان هستند‬

‫مولفه های تشکیل دهنده معماری سرویس گرا می باشند‬

‫به زبان ماشین(سیستم) هستند‬

‫خود شمول هستند‬

‫خود توصیف هستند‪.‬‬


‫نمونه وب سرویس های موجود‬

‫وضعیت آب و هوا‬

‫تیتر اخبار‬

‫اطالعات بانک و بورس‬

‫تهیه بلیط‬

‫موتورهای جستجو‬

‫تبدیل واحدها (فیزیک‪ ,‬شیمی‪)..,‬‬

‫اعالم قیمت اجناس‬


... ‫به طور خالصه می توان گفت‬

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


extendable Modules

Service= Business-Driven Platform-Independent Component

Web Service = Web-Base Service


... ‫به طور خالصه می توان گفت‬

Web-base
Component
Business-
Driven

Platform-
Independent

Web Service
‫معماری سرویس گرا‬

‫رهيافتي‌براي‌ساخت‌سيستم‌هاي‌توزیع‌شده‌است‌که‌کارکردهاي‌نرم‌افزاري‌را‌در‌‬
‫قالب‌سرویس‌ارائه‌مي‌کند‪‌.‬این‌سرویس‌ها‌هم‌توسط‌دیگر‌نرم‌افزارها‌قابل‌فراخواني‌‬
‫هستند‌و‌هم‌براي‌ساخت‌سرویس‌هاي‌جدید‌مورد‌استفاده‌قرار‌مي‌گيرند‪‌،‬این‌رهيافت‌‬
‫براي‌یکپارچه‌سازي‌فناوري‌ها‌در‌محيطي‌که‌انواع‌مختلفي‌از‌سکوهاي‌نرم‌افزاري‌و‌‬
‫سخت‌افزاري‌وجود‌دارد‌ایده آل است‪‌.‬‬

‫خواص‌معماري‌سرویس‌گرا‌به‌این‌شرح‌است‪:‬‬
‫استفاده از استانداردهای مستقل از فناوری و مورد توافق برای ارائه مولفه های نرم افزاری تحت قالب سرویس‬

‫معرفي كننده یك روش مشخص و مورد توافق برای تعریف و ارتباط بین مولفه های نرم افزاری‬

‫مولفه های نرم افزاری منفرد مي توانند در ساخت دیگر نرم افزارها استفاده شوند‬

‫تقویت كننده رهیافت سرهم بندی اجزاء از قبل تعریف شده برای ساخت نرم افزارها به جای توسعه و پیاده سازی آنها‬

‫مي تواند به نرم افزاهای خارج سازماني نیز مانند انواع داخلي آن متصل شوند‪.‬‬
‫ بر کاهش پیچیدگی‬SOA ‫تاثیر‬
Application Application Application Application

‫تاثیر استفاده از معماری‬


‫سرویس گرا در تسهیل اتصال‬
Application Application Application Application ‫بین سیستم های اطالعاتی‬

App App App App

Service Service Service Service

Service Service Service Service

App App App App


‫نقش هم نواسازی (‪ )Orchestration‬در معماری سرویس گرا‬
‫تبدیل مدل کاریگرافی به مدل ارکستریشن‬
‫پروتکل های معماری سرویس گرا‬

‫‪(SOAP) Simple Object Access Protocol‬‬


‫• ساختاری برای تبادل پیامهای در قالب ‪ XML‬است كه بین سرویس های وب مبادله می شود‬

‫‪(WSDL) Web service Description Language‬‬


‫• زبانی مبتنی بر ‪ XML‬كه جهت توصیف ویژگی های عملیاتی سرویس های وب استفاده می شود و دارای‬
‫دو بخش تعریف واسط و پیاده سازی است‪.‬‬

‫‪(UDDI) Universal Description ,Discovery and Integration‬‬


‫• واسطی است برای انتشار و شناسائی سرویس های وب و شامل یك مخزن می شود كه ارائه دهندگان به‬
‫انتشار و تبلیغ سرویس خود می پردازند تا دیگران بتوانند آن را شناسائی كنند‪.‬‬
‫از گذشته ‪...‬‬

‫عدم امکان تعامل پذیری و یکپارچگی کلیه سیستم های اطالعاتی سازمانی‬
‫در جهت فراخوانی و استفاده از مولفه های نرم افزاری یکدیگر ‪ :‬مستقل از‬
‫سیستم عامل‪ ،‬سکو‪ ،‬تکنولوژی و پروتکل های ارتباطی طرفین‬

‫تفاوت دیدگاه و فرهنگ واژگان کارشناسان فناوری اطالعات با‬ ‫سه چالش فناوری‬
‫کارشناسان کسب و کار‪ :‬کاهش کیفیت و رضایت سازمانها از سیستم های‬ ‫اطالعات برای حضور‬
‫اطالعاتی تولید شده‪0‬‬ ‫موثرتر در سازمانها‬

‫عدم توانائی فناوری اطالعات در تطبیق با سرعت تغییرات کسب و کار‪:‬‬


‫سازمانها در دنیای رقابتی نیازدارند بسرعت و بصورت مداوم فرایندها و‬
‫سرویس های خود را تغییر دهند‬
‫تنوع تکنولوژی ها و سکوهای زیرساختی‬

Screen
scrape
Web
FOCUS Screen
ERP Screen scrape
CSV scrape
CRM1
C++ ORB
RPC
Down- CICSgateway
CICS gateway
load Trans-
file APPC
Message action Trans-
file action
ORB file Message
CRM2 queue
Message
queue CICS gateway
EDI/VAN

FOCUS Down-
load APPC
Broker file
‫شکاف مفهومی بین حرفه و فناوری اطالعات‬

‫كارشناسان حرفه‬ ‫تحلیل گر ‪IT‬‬

‫بد فهمي‬

‫توصیف گفته شده توسط‬ ‫توصیف درك شده توسط‬


‫کارشناس‪:‬‬ ‫تحلیل گر‪:‬‬

‫‪ ‬گرد‬ ‫‪ ‬گرد‬
‫‪ ‬میان تهي‬ ‫‪ ‬داراي یك حفره‬
‫‪ ‬درون خالي (هوا)‬ ‫‪ ‬وسط خالي‬
‫‪ ‬كشیدگي عرضي‬ ‫‪ ‬پهنا بیشتر از ارتفاع‬
‫چالش تغییرات !‬

‫تغییرات حرفه‬
‫رقابت و تغییرات سریع‬

‫تغییر و جایگزینی‬
‫سیستم های اطالعاتی‬

‫زمان‬

‫سیستم های اطالعاتی نمی توانند با سرعت ایده پردازی‬


‫انسانها تغییر کنند !‬
‫و معماری سرویس گرا ارائه شد تا ‪...‬‬

‫حداکثر قابلیت استفاده مجدد‬ ‫‪‬‬


‫تعامل پذیری سامانه ها‪/‬سازمانها‬ ‫‪‬‬ ‫مولفه های نرم افزاری‬
‫ارائه یک سرویس با واسطه های متنوع‬ ‫‪‬‬ ‫مستقل از تکنولوژی و پلتفرم‬
‫استفاده داخلی از سرویس های تحت وب‬ ‫‪‬‬

‫درک مشترک کارشناسان حرفه و فناوری‬ ‫‪‬‬


‫از مفهوم سرویس‬
‫همراستائی کسب و کار با‬
‫نگاشت مستقیم مولفه های حرفه به مولفه‬
‫های سیستمی‬
‫‪‬‬
‫فناوری اطالعات‬ ‫‪SOA‬‬
‫فرهنگ واژگان مشترک‬ ‫‪‬‬

‫انعطاف پذیری سیستمهای اطالعاتی‬ ‫‪‬‬


‫قابلیت تغییر سریع عملکرد حرفه و فناوری‬ ‫‪‬‬ ‫ترکیب پذیری سرویس ها در‬
‫پشتیبانی مناسب فناوری از کسب و کار‬ ‫‪‬‬ ‫قالب ارکستریشن‬
‫استخراج سرویس های جدید از مولفه های‬ ‫‪‬‬
‫موجود‬
‫مفهوم و تعریف جدید سرویس گرایی ‪ -‬با یک مثال ‪...‬‬
‫رشد سریع این معماری ؟‬

‫این رهیافت نقض کننده‬


‫کاربردهای گوناگون در‬
‫متدها و تکنولوژی های‬
‫حوزه های مختلف‬
‫قبلی نیست‬

‫جهش تجارت و سازمانها به‬


‫مزایا و قابلیت های آن‬
‫گسترش‬ ‫سمت سرویس گرائی‬

‫سریع‬
‫الیه بندی سرویس ها ‪ :‬معماری سرویس‬

‫صدور مجوز‬
‫ساخت‬

‫مفاصا حساب‬
‫نوسازی‬

‫محاسبه‬
‫عوارض‬
‫ سرویس های ساده‬:SOA ‫سطوح بلوغ‬

‫نرم افزارها و‬ Online Ordering Warehouse


‫سیستم هاي‬ Application Application

‫اطالعاتي‬

‫سرویس هاي‬
‫پایه‬ Order Inventory Customer
Management Management Management
‫ سرویس های ترکیبی میانی‬:SOA ‫سطوح بلوغ‬

‫نرم افزارها و‬ Online Ordering


‫سیستم هاي‬ Application

‫اطالعاتي‬

‫سرویس هاي‬
Order and Ship
‫میاني مركب‬

‫سرویس هاي‬ Order Inventory Customer


Management Management Management
‫پایه‬
‫ سرویس های فرایندی‬:SOA ‫سطوح بلوغ‬

‫نرم افزارها و‬ Online


‫سیستم هاي‬ Ordering
Application
‫اطالعاتي‬

‫سرویس هاي‬ Catalog


Order
Cancellation
‫فرایندي‬ Service Service

‫سرویس هاي‬
Order and Ship
‫میاني مركب‬

‫سرویس هاي‬ Order Inventory Customer


‫پایه‬ Management Management Management
)ESOA( ‫ معماری سرویس گرا در گستره سازمان‬:SOA ‫سطوح بلوغ‬

Application Application

Process Process
Process Process
Service Service
Service Service

Composite Composite Composite Composite


Service Service Service Service

Atomic Atomic
Atomic Atomic Atomic Atomic Atomic Atomic
Service Service
Service Service Service Service Service Service
‫تحقق اصول سرویس گرائی در ‪SOA‬‬

‫ذینفعان با ”چه چیز“ سرو کار دارند و نه ”چگونه“‬ ‫• ‪Service Model‬‬

‫استاندارد و شفاف بودن ورودی و خروجی‬ ‫• ‪WSDL‬‬

‫مخفی سازی پیچیدگی داخلی از دید ذینفعان‬ ‫• ‪Port‬‬

‫تاکید ذینفع بر کنترل کیفیت ”نتیجه“ بجای کنترل ”مراحل‬


‫• ‪QoS‬‬
‫انجام“‬

‫امکان شناسائی آسان و انتخاب بین سرویس دهنده ها‬ ‫• ‪UDDI‬‬

‫قابلیت استفاده مجدد سرویس ها‬ ‫• ‪Platform-Independent‬‬

‫قابلیت ترکیب پذیری سرویس ها‬ ‫• )‪Orchestration (bpel‬‬

‫استقالل سرویس ها در عین قابلیت فراخوانی توسط‬


‫• ‪Loosely Coupled‬‬
‫ذینفعان مختلف‬
‫تمرین ‪ :‬شناسایی و استخراج سرویس‬
‫جواب تمرین!‬
Good
architecture
means good
service design
)‫تعریف حاکمیت (معماری سرویس گرا‬

One definition of governance is “The set of rules, practices,


roles, responsibilities and agreements that control how
we work”. In another words, for each activity we need to
define:

 What needs to be done


 How it should be done
 Who should do it
 How it should be measured
‫‪( SOA Governance‬حاکمیت معماری سرویس گرا)‬

‫حاکمیت فناوری‬
‫حاکمیت معماری‬
‫اطالعات مبتنی بر‬
‫سرویس گرا‬
‫سرویس گرایی‬
‫مباحث زیر مجموعه حاکمیت معماری سرویس گرا‬

‫مدیریت ریسک‬

‫نرخ بازگشت سرمایه و بودجه‬

‫شاخص های اندازه گیری کارایی‬

‫سیاست ها و استانداردها‬

‫منابع انسانی و سازمانی‬

‫استراتژی ها‬

‫نتایج و خروجی ها‬


‫مدلی برای شورای حاکمیت معماری سرویس گرا‬

IT
Directors

SOA
Manager CIO Consultant

CEO
‫چرخه حیات نظام حاکمیت معماری سرویس گرا‬

‫‪‬اهداف و استراتژی ها‬


‫‪‬مدیریت ریسك‬
‫‪Decide‬‬ ‫‪‬سیاست ها و استانداردها‬
‫‪‬تصمیم گیری‬

‫‪Track‬‬ ‫‪Do‬‬
‫‪‬پیاده سازی پروژه ها‬
‫‪‬شاخص های كارایي‬ ‫‪‬استقرار و پشتیباني سرویس ها‬
‫‪‬ارزیابي نتایج و خروجي ها‬ ‫‪‬آموزش‬
‫‪‬نرخ بازگشت سرمایه‬
‫‪‬رضایت ذینفعان‬
‫نگاه استراتژیک به سازمان‬
EA,BPM,SOA ‫رابطه بین‬
‫‪SOA Suite Parts‬‬

‫• ابزاهای مدلسازی و تحلیل فرایندهای كسب و كار‬


‫• ابزار طراحي وب سرویس‬
‫بخش تحلیل و طراحی‬
‫• ابزار تعریف سرویس های فرایندی‬
‫• آداپتورها و ابزارهای یکپارچگي‬

‫• سرور نرم افزار‬


‫• گذرگاه سرویس‬
‫بخش زمان اجرا‬
‫• مخزن ثبت و نگهداری سرویس ها‬
‫• موتور فرایندی‬

‫• موتور قوانین حرفه‬


‫مدیریت و کنترل‬ ‫• دیده باني فعالیت های حرفه‬
‫• ابزار مدیریت و امنیت‬
ORACLE SOA Platform
‫تهیه شده توسط‪:‬‬

‫امیر مهجوریان‬
‫مدیر فنی آزمایشگاه معماری سازمانی سرویس گرا‬

‫مدیرعامل شرکت دانش بنیان کاریز سیستم‬


‫‪mahjoorian@ieaf.ir , mahjoorian@karizsystem.ir‬‬

You might also like