معماری سرویس گرا SOA که به انگلیسی عبارت است از Service Oriented Architectureاصطلاحی است برای نشان دادن مدلی که در آن منطق اتوماسیون به واحد های کوچکتر و مشخصی از منطق تجزیه می شود.در معماری سرویس گرا SOA ، این واحد ها با یکدیگر بخش بزرگتری از منطق اتوماسیون حرفه را تشکیل می دهند و هر یک از آنها می توانند جداگانه توزیع شوند.در واقع معماری سرویس گرا سبکی از طراحی؛ توسعه و مدیریت نرم افزارهای کاربردی است به طوری که :; در قالب کار واحدهایی از حرفه سازماندهی می شوند که معمولا از طریق شبکه های کامپیوتری قابل دسترسی هستند.
• هر سرویس به عنوان یک واحد عملیاتی می تواند یک کار را شروع کند و به اتمام برساند.
• هر سرویس پارامترهایی از کیفیت سرویس و امنیت را به تنهایی و به صورت صریح ارائه می دهد.
به دلیل جایگاه و اهمیت معماری سرویس گرا ، شرکت های بسیاری تعاریف خود را در این زمینه ارائه داده اند. شرکت IBM یکی از قدرتمند ترین شرکت های حوزه ی IT معماری سرویس گرا را اینگونه تعریف می کند:
SOA رویکردی برای ساخت سیستم های توزیع شده است که کارکردهای تابعی نرم افزار ها را به صورت سریس ارائه می دهد و از این سرویس ها برای تولید کاربدهای دیگر براحتی می توان استفاده نمود.;
با گسترش با گسترش شبکه های کامپیوتری و دیتاسنترها، ایجاد ارتباطات سراسری بین تجهیزاتی که به تبادل اطلاعات می پردازند معماری سرویس گرا به بلوغ خود رسید. و فرآیندهای تجاری به گونه ای پیش رفت تا کسب و کارهای الکترونیک به وجود آید و بازارهای محلی به بازارهای جهانی بزرگ تبدیل گردید.
در معماری سرویس گرا مهمترین مولفه، سرویس است. سرویس یک مولفه نرم افزاری است که یک حرفه، خدمت یا فرآیند تجاری را در یک سیستم نرم افزاری پیاده سازی می کند. هر سرویس:
• قابلیت استفاده مجدد دارد.
• با سرویس های دیگر اتصال سست دارد.
• جزئیات پیاده سازی را پنهان می کند.
• با سرویس های دیگر قابلیت ترکیب شدن دارد.
• به صورت خود مختار نقش خود را انجام میدهد.
• قابلیت شناسایی و کشف دارد.
در مورد معماری سرویس گرا جناب آقای دکتر ناظمی یک از اساتید به نام حوزه ی نرم افزار کشور می گوید:
ماژولاریتی در معماری سرویس گرا به بلوغ رسید. تا به امروز سرویس گرایی بیشترین همیستگی(High Cohesion) و کمترین وابستگی(Low coupling) را دارد.