491 likes | 871 Views
Service Oriented Architecture(SOA). سیدمحمدحسین طباطبایی ، محمد اسماعیل زاده (کارشناسی ارشد مهندسی نرم افزار) دانشگاه آزادمشهد 1392. فهرست مطالب. سرويس چيست ؟ سلسله مراتب مفاهیم و عناصر مرتبت با سرویس سرویس وب نمونه وب سرویس های موجود معرفی معماری سرویس گرا تعریف معماری سرویس گرا
E N D
Service Oriented Architecture(SOA) سیدمحمدحسین طباطبایی ، محمد اسماعیل زاده (کارشناسی ارشد مهندسی نرم افزار) دانشگاه آزادمشهد 1392
فهرست مطالب • سرويس چيست؟ • سلسله مراتب مفاهیم و عناصر مرتبت با سرویس • سرویس وب • نمونه وب سرویس های موجود • معرفی معماری سرویس گرا • تعریف معماری سرویس گرا • عناصر تشکیل دهنده معماری سرویس گرا • لایه های معماری سازمانی سرویس گرا • پروتکل های معماری سرویس گرا
فهرست مطالب(ادامه) • خواص معماری سرویس گرا • معماری سرويس گرا و سنتی تفاوت ها • مزایای معماری سرویس گرا از نگاه فناوری اطلاعات • معماری سرویس گرا از دیدگاه های مختلف • جایگاه لایه سرویس در معماری سازمان
سرويس چيست؟ • سرویس ها اجزاء مستقلی هستند که پیغام های XML را پردازش می کنند. • سرویس ها دارای رابط های خوش تعریف هستند که به وسیله یک سند مبتنی برXMLکه سند (WSDL) خوانده می شود . • سرویس ها دارای نقاط انتهایی(Endpoint) هستند که استفاده کنندگان از و سایر سرویس ها می توانند بر اساس آدرس سرویس (معمولا URL ) به آن ها متصل شوند. این همان چیزی است که ارتباط(جفت شدن) آزادانه خوانده می شود. SOA-IAUM 1392
تجريد دانه بندي سلسله مراتب مفاهیم و عناصر مرتبت با سرویس سرويسها مولفهها اشياء SOA-IAUM 1392
سرویس وب • خود شمول هستند. • خود توصیف هستند. • مستقل از سکو و زبان هستند. • به زبان ماشین هستند. • مولفه های تشکیل دهنده معماری سرویس گرا هستند. SOA-IAUM 1392
نمونهوب سرویس های موجود • وضعیت آب و هوا • تیتر اخبار • اطلاعات بانک و بورس • تهیه بلیط • موتورهای جستجو • تبدیل واحدها (فیزیک, شیمی,..) • اعلام قیمت اجناس SOA-IAUM 1392
به طور خلاصه میتوان گفت SOA-IAUM 1392
معرفی معماری سرویس گرا معماری سرویس گرا (SOA) رهیافتی برای ساخت سیستم های توزیع شدهاست كه كاركردهای نرم افزاری را در قالب سرویس ارائه می كند. SOA-IAUM 1392
SOA سرویس وب نیست ... • سرویس های وب یکی از روش هایی است که شما با استفاده از آن می توانیدSOA را پیاده سازی نمایید. • سرویس های وب راجع به مشخصه های تکنولوژی هستند، در حالی که SOAیک قاعده ی طراحی نرم افزار است. • سرویس های وب سرویس های پیاده سازی شده توسط مجموعه ای از استانداردها می باشند، در حالی که SOAیک الگوی معماری است. SOA-IAUM 1392
مسير دستيابی به سرويس گرایی Service Oriented Architectures Web Client Client/ Server Single App. Batch 2010s 2000s SOA-IAUM 1392 1970s 1990s 1980s
تعریف معماری سرویس گرا • رهیافتی برای ساخت سیستم های توزیع شده است که کارکردهای نرم افزاری تری در قالب سرویس ارائه می کند. • این سرویس ها هم توسط دیگر نرم افزارها قابل فراخوانی هستند و هم برای ساخت سرویس های جدید مورد استفاده قرار میگیرند ، این رهیافت برای یکپارچه سازی فناوری ها در محیطی که انواع محتلفی از سکوهای نرم افزاری و سخت افزاری وجود دارد ایده آل است SOA-IAUM 1392
تعریف معماری سرویس گرا یک تعریف ساده : سبکی از معماری که هدف آن دستیابی به اتصال سست (Loosely Coupled) در ارتباطات بین مولفه های نرم افزاری است. SOA-IAUM 1392
معماري سرويس گرا از نگاه ORACLE • مجموعه اي از سرويس هاي خود شمول (self-contain) كه قادر به ارتباط با يكديگر بوده و خواص اصلي آنها به اين قرار است : • اتصال سست • دانه درشتي • جهت فراخواني بر روي گذرگاه (bus) منتشر مي شوند • تعريف سرويس در سطح كسب و كار و منتج شده از فرآیندها باعث انعطاف پذيري و چابكي فناوري اطلاعات در پشتيباني از تغييرات حرفه مي شود. SOA-IAUM 1392
"معماری سرویس گرا" مفهومی جدید نیست و ازدهه ٩٠ وجود داشته است ولی آنچه جدید است : توانائی اجرا و عینیت بخشیدن به آن است كه به كمك ابزارها و پروتكل های مربوطه میسر شده است. SOA-IAUM 1392
عناصر تشکیل دهنده معماری سرویس گرا SOA Application frontend Service Service repository Service bus Contract Implementation Interface Business logic Data SOA-IAUM 1392
خواص معماری سرویس گرا • استفاده از استانداردهای مستقل از فناوری و مورد توافق برای ارائه مولفه های نرم تفزاری تحت قالب سرویس • معرفی کننده یک روش مشخص و مورد توافق برای تعریف و ارتباط بین مولفه های نرم افزاری • مولفه های نرم افزاری منفرد می توانند در ساخت دیگر نرم افزارها استفاده شوند • تقویت کننده رهیافت سرهم بندی اجزا از قبل تعریف شده برای ساخت نرم افزارها به جای توسعه و پیاده سازی آنها • می تواند به نرم افزارهای خارج سازمانی نیز مانند انواع داخلی آن متصل شوند SOA-IAUM 1392
نکاتی در خصوص معماری سرویس گرا • هم موضوعی فنی است و هم نوعی سبک تفکر. • مبتنی بر اتصال سست است و از پیام رسانی استفاده میکند. • قادر به ساخت نرم افزارهای ترکیبی است. • از مولفه های قابل استفاده مجدد تشکیل شده است. • مهمترین دست آورد آن انعطاف پذیری و چایکی فناوری اطلاعات در برابر تغییرات حرفه ای است. • زیر ساخت ارتباطی برای این معماری می بایست مستقل از پروتکل های لایه زیرین باشد. SOA-IAUM 1392
نحوه پاسخ به یک درخواست سرویس You’re approved! Loan Service 1 <process> <sequence> <receive … /> <invoke … /> </sequence> </process> Loan Service 2 Credit Validation Service SOA-IAUM 1392
پارادایم سرویس گرایی لایه کسب و کار سیستم های اطلاعاتی لایه زیر ساخت و شبکه سازمان سرویس گرا (SOE) معماری سرویس گرا (SOA) زیر ساخت سرویس گرا (SOI) SOA-IAUM 1392
مفاهيم اصلي در معماري سرويس گرا • هم خوانی و هم نواسازی SOA-IAUM 1392
لایه های معماری سازمانی سرویس گرا • لايه كسب و كار: • معماري سرويس گرا كمك مي كند اتصال بين فرآیندهاي حرفه با فناوري اطلاعات منعطف باشد بطوريكه با تغيير فرآیندها ، فناوري نيز به آساني هماهنگ شود. • لایه سيستم هاي اطلاعاتي: • هدف معماري سرويس گرا در نهايت حل معضل تعامل پذيري بين سيستم هاي اطلاعاتي با فناوری ها و سکوهای مختلفاست. • لايه فناوری: • معماري سرويس گرا سبب مي شود لايه فناوری از استقلال بيشتري برخوردار باشد بطوری که بتوان سکوها و فناوری های مختلفی را به کار برد بدون آنکه نگران تعامل پذیری آنها باشیم. SOA-IAUM 1392
SOA Layers لايه های معماری سرويس گرا SOA-IAUM 1392
پروتکل های معماری سرویس گرا • SOAP :Simple object Access Protocol • ساختاری برای تبادل پیامها در قالب xml است که بین سرویسهای وب مبادله می شود • WSDL :Web Service Description Language • زبانی مبتنی بر xml که جهت توصیف ویژگیهای عملیاتی سرویس های وب استفاده و دارای دو بخش تعریف واسط و پیاده سازی است • UDDI :Universal Description, Discovery and Integration • واسطی است برای انتشار و شناسایی سرویسهای وب و شامل یک مخزن می شود که ارائه دهندگان به انتشار و تبلیغ سرویس خود می پردازند تا دیگران بتوانند آن را شناسایی کنند. SOA-IAUM 1392
مراحل درخواست سرویس Service Requester UDDI Directory SOAP Request UDDI Request WSDL SOAP Response Server SOA-IAUM 1392
شکاف مفهومی بین حرفه و فناوری اطلاعات SOA-IAUM 1392
معماری سرویس گرا ارائه شد تا... SOA-IAUM 1392
SOA نیاز به عمده چالش های فناوری اطلاعات و خصوصا سیستم ها در سازمان ها 1.عدم امکان تعامل پذیری و یکپارچگی کلیه سیستم های اطلاعاتی سازمانی 2.تفاوت دیدگاه و فرهنگ واژگان کارشناسان فناوری اطلاعات با کارشناسان کسب و کار 3.عدم توانایی فناوری اطلاعات در تطبیق با سرعت تغییرات کسب و کار SOA-IAUM 1392
ضرورت و کاربرد معماری سرویس گرا در سازمان 1. نیاز به یکپارچگی سیستم های اطلاعاتی در سازمان 2.نیاز به یکپارچگی اتوماسیون فرآیندهای سازمان در قالب ارکستریشن (هم نواسازی) 3.نیاز به تعامل پذیری بین سازمانی SOA-IAUM 1392
ORB RPC APPC Down-load file CRM2 Web FOCUS Trans- action file Trans- action file CRM1 Down-load file ORB EDI/VAN CICS gateway CICS gateway CICS gateway Messagequeue Messagequeue ERP APPC CSV C++ Screenscrape Screenscrape FOCUS Screenscrape Message Broker 1.نیاز به یکپارچه سازی سیستم های اطلاعاتی SOA-IAUM 1392
2.یکپارچگی اتوماسیون فرآیندهای سازمان در قالب ارکستریشن (هم نواسازی) SOA-IAUM 1392
شرکاء و ذینفعان مستقیم Sensors Firewall RFID Firewall MOTE سرویس های مبتنی بر فناوری اطلاعات سیستمها و بانکهای اطلاعاتی زیر ساختارها 3. نیاز به تعامل پذیري بین سازمانی دیگر سازمانها سازمان SOA-IAUM 1392
تفاوتهای معماری سرويس گرا و سنتی SOA-IAUM 1392
ضرورت تجارت SOA جستجویGoogle SOA-IAUM 1392
دلایل رشد سریع این معماری SOA-IAUM 1392
مزایای معماری سرویس گرا از نگاه فناوری اطلاعات • حضور فعالتر فناوري اطلاعات در سازمانها. • کاهش زمان چرخه تولید و توسعه سیستم های اطلاعاتی به خاطر استفاده از واحدهای قابل استفاده مجدد. • کاهش پیچیدگی و هزینه نگهداشت . • کاهش هزینه و زمان جهت پیکربندی مجدد. SOA-IAUM 1392
تحقق اصول سرویسگرایی در SOA SOA-IAUM 1392
Good architecture Means good service design SOA-IAUM 1392
منابع و مراجع • Iran's Information Architecture committee: http://esoa.ir • SOA Methodology website: www.soamethodology.com • Service Oriented Architecture Weblog: www.soea.blogfa.com • Microsoft BizTalk Homepage: http://www.microsoft.com/biztalk SOA-IAUM 1392
پایان با تشکر از وقت و حوصله شما عزیزان