معماری سرویس گرا یا Service Oriented Architecture که به اختصار SOA هم نامیده میشود، یک الگوی طراحی نرم افزاری محسوب میگردد که در آن قابلیتها و کارکردهای نرمافزاری در قالب یک سرویس و مولفههای کاربردی، در سایر سامانهها و در بستر ارتباطات تحت شبکه ارائه میگردد.
حال باید به این سوال بپردازیم که معماری سرویس گرا SOA چه ارتباطی با راهاندازی BPMS دارد؟ تاثیرات استفاده از معماری سرویس گرا در سیستم BPMS چیست؟
معماری سرویس گرا یک الگوی طراحی نرم افزاری است، که با استفاده از آن میتوان نرمافزارها و سرویسهای مختلف را به عنوان یک ماژول به همدیگر متصل کرد، به نحوی که در عین یکپارچگی، به صورت مستقل از هم عمل کنند و هر نرمافزار یا سرویس دارای وظایف مشخصی است.
در معماری سرویس گرا، نرم افزار و سیستمها از طریق پروتکلهای استانداردی مانند سرویسهای وب (Web Services) و رابط برنامهنویسی کاربردی (API) با یکدیگر در ارتباط هستند؛ به موجب این ویژگی و قابلیت، سازمانها میتوانند با استفاده از SOA، سرویسها و نرمافزارهای مختلف را به صورت مستقل از هم تست و بررسی کنند و سرویسهای متصل موجود را حذف نمایند یا تغییر دهند.
حال که با ماهیت معماری سرویس گرا در سازمانها آشنا شدیم، زمان آن فرارسیده که به موضوع اصلی این مقاله یعنی کاربرد و تاثیر استفاده از SOA در راهاندازی و پیادهسازی سامانه BPMS در سازمانها بپردازیم.
معماری سرویس گرا SOA الگویی بر پایه استفاده از سرویسهای مختلف و اتصال آنها به یکدیگر است و به سازمانها اجازه میدهد تا از طریق پروتکلهای امنی مانند API، ارتباط و یکپارچگی بین سامانهها و سرویسهای درون/بیرون از سازمان ایجاد نمایند. از طرفی نرم افزار BPMS یا همان نرم افزار مدیریت فرایندهای کسب و کار نیز، ابزاری تخصصی برای طراحی، مدلسازی و خودکارسازی فرایندهای مختلف در سازمان است؛ به کمک نرم افزار BPMS میتوانید فرایندهای مختلفی که در سازمان وجود دارند را بهینهسازی کرده و در سامانهها و سیستمهای سازمانی پیادهسازی نمود تا به صورت خودکار انجام شوند.
معماری سرویس گرا SOA به سازمانها این امکان را میدهد که سرویسها و سامانههای نرمافزاری خود را به کمک پروتکلهای امنی مانند API با یکدیگر ترکیب کرده و فرایندهای مختلف کسب و کار را به کمک BPMS و متناسب با سرویسهای متصل، طراحی و پیادهسازی نمایند.
به عنوان مثال فرض کنید که فرایندی تحت عنوان "درخواست کالا از انبار" طراحی میکنید و قصد دارید تا فرایند ثبت درخواست و دریافت کالا از انبار را خودکارسازی نمایید.
برای اینکه فرایند طراحی شده به نحو احسن کار کند، سامانه BPMS باید با سامانه انبارداری در ارتباط باشد، تا اطلاعاتی شامل انواع کالاها و موجودی هر کدام از آنها توسط BPMS فراخوانی شود در اختیار کاربر قرار بگیرد، تا به راحتی کالاهای مورد نیاز خود را درخواست دهد؛ این اتصال به موجب پشتیبانی سامانه انبارداری از معماری سرویس گرا و اتصال از طریق API صورت میگیرد و اگر سامانه انبارداری یا سامانه BPMS از معماری سرویس گرا پشتیبانی نکنند، این اتصال باید از طریق روشهایی که بهرهوری و عملکرد ضعیفتری دارند، صورت بگیرد و حتی در برخی موارد این اتصال ممکن است امکانپذیر نباشد.
به بیان دیگر، در یک نرمافزار BPMS، میتوان سرویسهایی را که بر اساس معماری SOA طراحی شدهاند، به عنوان بخشهایی از فرآیندهای کسب و کار تعبیه کرد؛ این سرویسهای SOA میتوانند وظایف خاصی را انجام داده و توسط سامانه BPMS و فرایندهای طراحی شده در آن، به صورت خودکار فراخوانی شوند. به علاوه، سامانه BPMS میتواند با استفاده از امکانات SOA، از سرویسهای خارجی برای بهبود تعامل و همکاری با سازمانهای دیگر نیز استفاده کند.
با توجه به ماهیت و کارکردی که معماری سرویس گرا برخوردار است، مزایای متعددی را به همراه دارد؛ برخی از مزایای استفاده از معماری سرویس گرا یا SOAعبارت است از:
یکی از مهمترین مزیتهای استفاده از معماری سرویس گرا، افزایش انعطاف پذیری سیستمها و سامانهها است؛ همانطور که پیشتر اشاره کردیم، سازمانها به کمک قابلیت SOA میتوانند نرمافزارها و سرویسهای مختلف را به یک دیگر متصل کنند و یا سرویسهایی که دیگر کاربردی ندارند را به راحتی حذف نمایند یا تغییر دهند.
به این ترتیب تغییر، حذف یا اضافه شدن یک سرویس، تاثیر کمتری بر روی سایر نرمافزارها و سامانهها خواهد گذاشت و سازمانها میتوانند به سادگی تغییرات لازم را به منظور بهبود عملکرد و بهرهوری سامانههای خود اعمال نمایند.
معماری سرویس گرا این امکان را در اختیار سازمانها میگذارد که با ساخت و طراحی سرویسهای متصل و مستقل، آنها را بدون نیاز به کدنویسی و تنظیمات مجدد، در سیستمها و سامانههای دیگر نیز مورد استفاده قرار دهند؛ به این ترتیب امکان استفاده مجدد از سرویسها برای سازمانها فراهم میگردد.
یکی دیگر از مزایای بسیار مهم استفاده از معماری سرویس گرا SOA، بهبود تعامل و همکاری بین سازمانهای مختلف است؛ به عنوان مثال، در حال حاضر بسیاری از سامانههای دولتی، مانند سامانه ثبت احوال، سامانه قضایی، سامانه بانکی و... در برخی از ادارات و ارگانها به یکدیگر متصل هستند و اطلاعات و دادهها را از یکدیگر فراخوانی مینمایند. این امر به موجب معماری سرویس گرایی که در این سامانهها به کار رفته است، امکان پذیر میباشد.
قابلیتهایی مانند تغییر سرویسها و نرمافزارها بدون نیاز به کدنویسی مجدد و همچنین توانایی تغییر و اصلاح سرویسها بدون تاثیر بر روی سایر سامانهها، موجب کاهش هزینههای توسعه سامانهها و نگهداری از آنها میگردد؛ در همین راستا میتوان گفت که یکی دیگر از مزایای استفاده از معماری سرویس گرا، کاهش هزینههای راهاندازی و نگهداری از سامانهها است.
به کمک معماری سرویس گرا SOA و اتصال نرم افزارها و سامانهها به یکدیگر، میتوان به راحتی اطلاعات و دادهها را بین سامانهها فراخواند و از آنها در انجام فرایندهای مختلف استفاده کرد؛ این امر موجب ایجاد یکپارچگی و پیوستگی در بین سیستمها و سامانههای مورد استفاده در سازمانها میگردد.
به طور کلی میتوان گفت که معماری سرویس گرا در کنار BPMS موجب افزایش انعطافپذیری و چابکی، کاهش هزینههای توسعه و نگهداری سامانهها و همچنین ایجاد یکپارچگی و پیوستگی در اشتراکگذاری و فراخوانی دادهها و اطلاعات بین نرمافزارها و سامانههای مورد استفاده در سازمانها میگردد.
در این مقاله به بررسی ماهیت و تعریف معماری سرویس گرا SOA و کاربرد و مزایای آن در راهاندازی و استفاده از BPMS در سازمانها پرداختیم؛ به طور کلی میتوان گفت که معماری سرویس گرا SOA و نرم افزار BPMS دو سرویس مجزا از هم هستند که به صورت مکمل در کنار یکدیگر مورد استفاده قرار میگیرند.