راه حل ها و کاربرد های SOA
رهیافت ها و کاربردهای معماری سرویس گرا بسیار متنوع است، اما به سه مورد آنها اشاره می کنیم:
رهیافت ها و کاربردهای معماری سرویس گرا بسیار متنوع است، اما به سه مورد آنها اشاره می کنیم:
راه حل معماری سرویس گرا برای یکپارچه سازی سیستم های اطلاعاتی، ارتباط بین سیستم های اطلاعاتی به کمک وب سرویس است. از اواخر دهه 90 برای چالش تعامل پذیری سیستم های اطلاعاتی رهیافت هائی ارائه شد که معروفترین آنها اتصال نقطه به نقطه (Peer-to-Peer) و یکپارچگی مبتنی بر یک مترجم مرکزی بود. در حالت نقطه به نقطه(شکل زیر) برای هر تعامل بین دو سیستم اطلاعاتی می بایست که استاندارد و مسیر ارتباطی خاصی فراهم گردد. طبیعی است که چنین رهیافتی بسیار هزینه بر و دست و پا گیر خواهد بود.

در حالت مترجم مرکزی نیز میان افزاری(Middleware) به عنوان مترجم بین همه سیستم های اطلاعاتی عمل می کرد به گونه ای که مانند یک هاب مرکزی تمامی پیام های ارسالی به این واسط ارجاع می شد و پس از ترجمه به پروتکل و فناوری مربوط به سیستم دوم، ارسال می گشت(شکل زیر).

این گزینه نیز با دشواری هائی همراه بود که مهمترین آنها وجود انواع پروتکل های ناهمجور و عدم جامعیت بود. اما در معماری سرویس گرا اصل بر این است که همه سیستم های اطلاعاتی با یک واسط استاندارد و مورد توافق جهانی تعامل داشته باشند. این واسط سرویس نام دارد(شکل زیر) و پروتکل های مورد استفاده آن نیز شامل SOAP،WSDL،XML می شود، تبادل سرویس بین سیستم های اطلاعاتی به کمک گذرگاه سرویس سازمان(ESB) انجام می شود.

معماری سرویس گرا برای مدیریت و اجرای فرآیندهای سازمان از مفهوم ارکستریشن(هم نواسازی) کمک گرفته است، در این رهیافت منطق و جریان کار فرآیند از فعالیت های آن جدا می شود، به گونه ای که جریان گردش فرآیند در قالب BPEL مدیریت می شود ولی هر کدام از فعالیت های فرآیند می توانند توسط سیستم های اطلاعاتی مختلف پیاده سازی شوند. بدین ترتیب امکان تغییر جریان کار بدون نیاز به تغییر سیستم های پشتیبان میسر می شود که این امر کمک شایانی به انعطاف پذیری فناوری در پاسخ به تغییرات حرفه می کند.
در شکل زیرچگونگی پیاده سازی یک فرآیند که با سه سیستم اطلاعاتی ارتباط دارد توسط ابزار BizTalk Server نشان داده شده است. در این مثال هر سیستم دارای فناوری و استانداردهای مخصوص به خود است. نکته جالب اینکه سیستم های اطلاعاتی به کار گرفته شده برای اتوماسیون فرآیند مزبور از وجود فرآیند(گردش و قوانین) اطلاع ندارند، آنها تنها به پیام هائی که ارسال شده جواب می دهند(جداسازی منطق فرآیند از اتوماسیون فعالیت های آن)، این موضوع باعث سهولت پیاده سازی فرآیندهای جدید و تغییر فرآیندهای موجود می شود که ارزش بالایی برای سازمان ها دارد.

اگرچه ارتباط و یکپارچگی سیستم های اطلاعاتی سازمان ضروری است اما از آن مهمتر(سخت تر) تعامل پذیری بین سازمانی است، چراکه میزان تنوع فناوری ها و پروتکل ها در بین چند سازمان به مراتب بیشتر از میزان آن در بین سیستم های داخل سازمانی است. در شرایط اقتصادی و تجاری جدید، سازمانها نیاز دارند که بصورت موثر از اطلاعات یکدیگر استفاده کنند، از طرف دیگر "فرآیندهای بین سازمانی" در حال گسترش هستند. تجارت که در گذشته سازمانی و حوزه ای بود اکنون به سمت جهانی شدن و اکوسیستمی پیش می رود و تعیین مرز و اندازه جغرافیائی برای سازمانها دشوار شده است. در چنین شرایطی نیاز به تبادل اطلاعات بین سازمانها به شدت احساس می شود.
راه حل معماری سرویس گرا برای این حوزه استفاده از وب سرویس های استاندارد است که در شبکه اینترنت قابل شناسائی و فراخوانی هستند، برای استفاده از این وب سرویس ها قبل از هر چیز آنها باید توسط متقاضیان شناسائی شوند. بدین منظور دایرکتوری ثبت و شناسائی سرویس ها (UDDI) ایجاد شده است. ارائه دهندگان سرویس مشخصات سرویسهای خود را در این دایرکتوری ها ثبت می کنند و متقاضیان نیز با جستجوی سرویس مورد نظرشان (مانند موتورهای جستجوری صفحات وب) می توانند از این سرویس ها در سازمان خود بهره ببرند. نتیجه این امر امکان تعامل موثر با دیگر سازمانها (شرکاء، رقبا، مشتریان) است که توسط سرویس های متنوع فراهم شده است(شکل زیر).
