معماری سرویس گرا

معماری سرویس گرا

با استفاده از BPMS شبکه فردا کسب و کار خود را در قالب سرویس در اختیار دیگران قراردهید و از سرویس های موجود در اجرای فرآیند های خود بهرمند شوید.

ایجاد حاکمیت در سرویس

ما نیاز به مکانیزمی سازمانی برای انتقال دانش، اجرای استانداردها، ایجاد زیر ساختی برای توسعه و تغییرات و در کل ارائه رهبری استراتژیک برای معماری سرویس گرای خود داریم.
برای رسیدن به این هدف یک Centre Of Excellence ،SOA Governance board یا Competancy Centre متشکل از سرمایه گذاران تکنولوژی و کسب و کاری ایجاد کنید.
بستگی به اندازه و مرحله بلوغ سازمان ممکن است استانداردهای IT در دسترس باشند و در واقع حاکمیت SOA ،گسترش یافته حاکمیت IT است که برای اهدافی از SOA تخصیص یافته است. و از آنجاییکه SOA یک حالت ابتدایی استراتژی را بیان میکند، لازم است برای سازمان خود یک استراتژی تعریف کنیم.
SOA به فرایندهای جدید نیاز دارد، بنابراین در سازمان خود باید چگونگی طراحی انتخاب کاندیدای سرویس، SOA based solutions و هماهنگ سازی چرخه تولید مشخص شود.
ایجاد حاکمیت در سرویسقرار دادن معماری سیستم، چاره سازی ها و همچنین سرمایه داران تجاری در COE به ما این اطمینان را می دهد که IT در راستای کسب و کار عمل می کند و به برنامه های آینده و الویت های جاری دسترسی دارد. مسئولیت هایی که بدنه این حاکمیت عهده دار آنهاست ،به قرار زیر است:

ایجاد حاکمیت در سرویس

ایجاد نمونه تجاری
این مسئولیت توسط معماران یا دیگر اعضای SOA در همان ابتدا انجام می شود. نمونه تجاری در SOA شامل: بینش، اهدافی که SOA آنها را تحقق می بخشد و همچنین برنامه ریزی مالی برای هزینه ها می باشد.
قوانین کلی
قطعاً SOA قوانین جدیدی از IT را معرفی می کند و این قوانین بصورت کاملا شفاف باید توضیح داده شوند. در اینجا به افرادی مسئول برای انجام کار حاکمیت، تصمیمات معماری ، ایجاد معماری های مرجع، سرویس های vet، کاندیدهای سرویس فرایند و ایجاد و توسعه زیر ساخت های جدید (مثل ESB) نیاز خواهیم داشت. همچنین میتوان تصمیم گرفت چه کسی مسئول نگهداری و پشتیبانی از سرویس پس از انتشار آن باشد و اطمینان حاصل کرد؛ طرح انتقال دانش برای اینکار به حساب آمده است.
کمک به تعیین نقشه کار
تیم حاکمیت دامنه مشخصی دارد که به معماری شرکت یا مجری تکنیکی که نقشه راه IT را تعیین می کند، کمک می کند. نقشه راه تا جایی پیش می رود که فعالیت های تعریف شده را برای اهداف بزرگتر ترسیم می کند، و آن اهداف نیز به مجموعه بزرگتری از جنبه های بینشِ کسب و کار ترسیم می شود.
نگهداری از معماری مرجع
COE همچنین می تواند در قلمرو خودش، نگهداری معماری مرجع را به عهده گیرد، که به ساخت و اتصال مدل های فرایند در شرکت های بزرگ کمک می کند.

ایجاد حاکمیت در سرویس

تسهیل توسعه در زمان طراحی
معماران در این زمینه راهنمای برنامه نویسان هستند، بدین ترتیب که معماری های مرجع را فعال و اینگونه از تلاش های برنامه نویسان حمایت می کنند. آنها می توانند برای حمایت از سازمان های سرویس گرا به انتخاب ابزار، چارچوب و نرم افزار های زیر بنایی و متدولوژی هایی بپردازند.
بهبود سرویس ها در زمان اجرا
حاکمیت، برنامه نویسان و سرویس ها را نیز در بر دارد. ابزار های نظارت زمان اجرا باید برای اطمینان از دیده شدن SLAها، موجود باشند. و این در حوزه کار حاکمیت است تا به ردگیری و طرح ریزی توسعه های آینده بپردازد؛ بطوریکه قبل از بوجود آمدن نیازمندی های جدید ما را از آنها مطلع سازد.
بهبود چرخه حیات سرویس
تیم حاکمیت زمانی که سرویس ها باید versioning شوند را تعیین می کند و به تاثیرات این versioning کمک می کند. Versioning در SOA به نظر پیچیده تر از شکل سنتی آن است و این به دلیل ماهیت توزیعی اش می باشد. تیم یا فردی که مسئول ایجاد سرویسی شده است ،ممکن است هیچ ایده ای در رابطه با مجموعه ای بزرگتر از فرایندها نداشته باشد ،و این وظیفه تیم حاکمیت است تا این درک و آمادگی را داشته باشد و به اجرای درست آن نظارت کند.
حاکمیت، کمکی برای اجتناب از دام های متداول
به دلیل وجود دام هایی بسیار متداول ،SOA بدون حاکمیت را می توان SOA شکست خورده پنداشت. نمی توان به حاکمیت چیزی پرداخت که از آن بی اطلاعیم. بنابر این برای اطمینان به ملموس بودن تمامی کدها و مستندات، لازم است یک مخزن مرکزی برای ذخیره سازی مستندات هر نسخه از هر سرویس داشته باشیم. این کار دنبال کردن مستندات را درحین طراحی و زمان اجرا آسان می کند .
افزونگی سرویس
دامی متداول (بخصوص در شرکت های بزرگ و نامتمرکز ) افزونگی یا همپوشانی سرویس می باشد بدین شکل که سرویسی یکسان در گروه های مختلف چندین مرتبه ساخته می شود. چنین عملکردی هزینه بر، بی فایده و گیج کننده است، همچنین هزینه نگهداری بالایی بالایی خواهد داشت. این وظیفه COE است که به پایش اینکه چه چیزهایی در حال ساخته شدن هستند از اینگونه عملکردها جلوگیری کند، و ارتباطی بین سیستم های اجرایی و ساخت ایجاد کند و برای کشف سرویس از انباری مرکزی بهره جوید.
نابود شدن با بکارگیری مخفف ها
اگر انتظار داشته باشیم که همه افراد کاملاً کلمات مخفف را درک کنند، در اشتباهیم. به این دلیل که مفاهیم پیچیده بصورت مخفف بیان می شوند، در صورتی که فقط مفهوم کلی و ظاهری آن ملموس است. و اینگونه است که کار گروهی دچار اختلال می شود.
تنها راه برای رهایی از این مشکل، آموزش و تعلیم است، بدین ترتیب که در SOA برای درک مفاهیم تنها به بررسی یک منبع اکتفا نکنیم.
از سر گیری کارهای بیهوده (resume padding)
به معماران و برنامه نویسانی که فقط به پیشرفت کار خود فکر میکنند، حتی به قیمت افزودن کارهای بیهوده و راه حل های over-engeering توجه داشته باشید.
حاکمیت می تواند با شفاف سازی تلاش های توسعه ی سرویس ها و مدیریت solution implementation، این مشکل را برطرف کند.
سرویس های خرگوشی
نگهداری یک خرگوش در خانه لذت بخش است، اگر تعداد خرگوش ها را به دو برسانید، می تواند لذت بخش تر هم بشود ولی اگر این تعداد را به پانزده برسانید، قطعاً مشکل ساز خواهند شد. درباره سرویس ها نیز همین گونه است، نباید از حالت تعادل خارج شد و هر چیزی را تبدیل به سرویس کرد.
به یاد داشته باشید که لزومی ندارد هر چیزی که توانایی سرویسی شدن رادارد، تبدیل به سرویس شود.