SOA یک استراتژی IT است که کارکردهای مجزای موجود در برنامه های کاربردی سازمانی را در سرویسهای استاندارد و مناسب که می توانند برای رسیدن به نیازمندیهای کسبوکار ترکیب و استفاده مجدد شوند، سازماندهی می کند. SOA متدهایی را برای توسعه و یکپارچهسازی سیستمها هنگامی که سیستمها به صورت کارکردی در فرآیندهای کسبوکار گروهبندی میشوند، فراهم میکند و آنها را به صورت سرویسهای مناسب package میکند. زیرساخت SOA تبادل داده برای برنامههای کاربردی مختلف را با یکدیگر به عنوان شرکای همدیگر در فرآیند کسبوکار امکانپذیر می سازد. چرا از SOA استفاده میکنیم؟ SOA موارد زیر را امکان پذیر میسازد: قابلیت استفاده مجدد - سرویسهای کسبو کار Interoperability - سرویسهای سست مقیاس پذیری و انعطافپذیری - دانه درشتی - مستندگرایی - سرویسهای آسنکرون کارایی (بازده) هزینه - رویکرد استاندارد عاملی که باعث شده سازمانها به سمت SOA حرکت کنند، استفاده مجدد از سرویس های کسبوکار است. Developerها در داخل و کلیه سازمان ها (بخصوص در شرکای کسبوکار) میتوانند کد develop شده برای برنامههای کاربردی کسبوکار موجود را برداشته و آن را به شکل وب سرویس نمایش دهند و سپس از آن برای رسیدن به نیازمندیهای کسبوکار جدید استفاده کنند. هدف از SOA ارتباط برقرار کردن clientها و سرویسها و درک یکدیگر است و اینکه آنها از چه پلتفرمی استفاده میکنند، مهم نیست. چون سرویسها در SOA سست (loosely coupled) هستند، برنامههای کاربردی که از این سرویسها استفاده میکنند، تمایل به مقیاسپذیری راحتتر دارند. به این دلیل است که وابستگی کمی بین برنامههای کاربردی درخواستی و سرویسی که آن برنامه استفاده میکند وجود دارد که آنها را انعطافپذیرتر از برنامههای کاربردی محکمتر (tightly coupled) میکند. اتصال سست، بر پایه مستندات و طبیعت آسنکرون (غیرهمزمان) سرویسها در SOA به برنامههای کاربردی این امکان را میدهد که انعطافپذیر بوده و به راحتی با نیازمندیهای متغیر آداپته شوند. یکپارچه سازی راه حل ها و مزایا با SOA: قرار گرفتن IT با کارکردهای کسبوکار مجزا: در توسعه سریع و تحویل قابل اطمینانتر سرویسهای کسبوکار جدید و گسترش یافته نتیجه میشود. بهرهوری، چابکی و سرعت کسب وکار و IT را بهبود میدهد. به IT امکان تحویل سرویسهای سریعتر و ارتباط نزدیکتر با کسبوکار را می دهد. به کسبو کار امکان پاسخ و واکنش سریعتر و ارائه تجربههای بهینه کاربر را میدهد. پیچیدگی تکنیکی اساسی محیط IT را میپوشاند. ویژگیهای SOA: SOA میتواند: - به عنوان یک رویکرد طراحی سطح سازمان در نظر گرفته شود. - به صورت مجموعهای از سرویس ها در یک شبکه که با دیگری ارتباط برقرار می کنند، در نظر گرفته شود. - به عنوان یک سری از سرویسها که سست، خوش تعریف، با قابلیت استفاده مجدد و دارای رابط های مستقل از پلتفرم هستند در نظر گرفته شود. - به صورت سطح بالاتری از توسعه برنامه های کاربردی در نظر گرفته شود. نکته : SOA یکپارچگی استاندارد را (xml و وب سرویسها) برای اتصال سیستم های ناهمگن به کار میبرد. برخی از ویژگیهای سرویسها: سرویسها باید زمان نگهداری اطلاعات فعالیتها را به حداقل برسانند. سرویسها باید توسط مکانیزمهای استاندارد قابل دستیابی باشند. ارتباط سرویسها باید با یکدیگر به گونهای باشد که حداقل وابستگی بین آنها به وجود آید و تنها نیاز به آگاهی از قرارداد فیمابین هم داشته باشند. منطق کار به سرویس های مجزا تبدیل میگردد تا استفاده مجدد از آنها امکان پذیر گردد. میتوان گروهی از سرویسها را در قالب یک سرویس مرکب، مرتبط ساخت. سرویسها باید تنها عاملی باشند که بر روی منطقی که پنهان کردهاند، کنترل خواهند داشت. به نقل از پیشرو آی تی