تبليغاتX
معماری سرویس گرا (SOA)
Service Oriented Enterprise Architecture

از نگاه لايه كسب و كار، معماري سرويس گرا كمك مي كند اتصال بين فرآیندهاي حرفه با فناوري اطلاعات منعطف باشد بطوريكه با تغيير فرآیندها ، فناوري نيز به آساني هماهنگ شود. اتصال بين حرفه و فناوري از طريق تعيين سرويس ها محقق مي شود كه واسط بين اين دو هستند. از نگاه لايه سيستم هاي اطلاعاتي، هدف معماري سرويس گرا در نهايت حل معضل تعامل پذيري بين سيستم هاي اطلاعاتي با فناوری ها و سكوهاي مختلف است و اين امر با كمك تعريف پروتكل هاي مستقل از سكو و استاندارد و ايجاد سرويس هاي وب مهيا مي شود.
از نگاه لايه فناوری، معماري سرويس گرا از يك سو سبب مي شود لايه فناوری از استقلال بيشتري برخوردار باشد بطوريكه بتوان سكوها و فناوری هاي مختلفي را به كار برد بدون آنكه نگران تعامل پذيري آنها باشيم و از طرف ديگر جهت پياده سازي معماري سرويس گرا نياز به توسعه يك زيرساخت جهت استفاده از پروتكل ها و استانداردهاي مخصوص ان(SOAP،WSDL،XML ،..) در سطح فناوری مي باشد.

لایه های معماری سازمانی سرویس گرا
برای معماری سازمانی سرویس گرا می توان لایه های معماری را تعیین نمود،‌ تاکنون مولفین در این راه چندین مدل ارائه نموده اند ولی در همه آنها به سه لایه اصلی "کسب و کار" ،‌ "سرویس" و "سیستم های اطلاعاتی" اشاره شده است.

 مطالب بیشتر در خصوص معماری سازمانی و معماری سرویس گرا

+ نوشته شده در سه شنبه بیست و نهم خرداد 1386ساعت 12:32 توسط امیر مهجوریان |

Service Oriented Architecture" Vs "Enterprise Architecture"

معماري سازماني را رهيافتي بالا به پائين مي دانند كه با توجه به نيازهاي كسب و كار(اهداف، استراتژي ها، نيازها و ..) سازمان، فناوري اطلاعات را به خدمت مي گيرد ، حتي كساني كه معماري سازماني را مقوله اي در حوزه فناوري اطلاعات دانسته و هدف آن را يكپارچگي اطلاعات و سيستم ها تعريف نموده اند بر اين نكته اذعان دارند كه اين رهيافت بالا به پائين بوده و لايه هاي فناوري اطلاعات (حرفه، اطلاعات، سيستمها، داده، فناوري) رابطه ترتيبي از بالا به پائين با هم دارند بطوريكه هر لايه نيازها و اهدافش را جهت پشتيباني به لايه پائين تر اعلان مي كند. نتيجه آنكه در معماري سازماني لايه هاي مختلفي وجود دارد كه ممكن است مرتبط با فناوري اطلاعات باشند يا خير، ولي نگاه معماري بالا به پائين بوده و در آخرين لايه ها به فناوری و زير ساخت ها مي رسد.

در خصوص معماري سرويس گرا تعريف ثابت و مورد توافقي وجود ندارد ولي اكثر تعاريف و متون بر اين موضوع توافق دارند كه اين معماري مربوط به لايه هاي پائين بوده و رهيافتي متكي بر فناوري است كه تاثير آن بر هر دو حوزه كسب وكار و فناوري واقع مي شود . در اكثر متون، معماري سرويس گرا را پائين به بالا ارزيابي مي كنند، البته اين موضوع به اين معنا نيست كه فرآیند معماري سرويس گرا از جزئيات به كليات مي رسد، مشخص است كه ابتدا بايد سرويس هاي كلان شناسائي شوند، سپس سرويس هاي كاربردي و دست اخر نوبت به پياده سازي آنها مي رسد لذا منظور از اينكه گفته مي شود معماري سرويس گرا پائين به بالا می باشد به اين معنا است كه رهيافت بر مبناي راه حل هاي حوزه فناوری ارائه شده كه به جامعيت سيستم هاي اطلاعاتي و يكپارچگي حرفه و فناوري كمك مي كند.

به طور خلاصه مي توان گفت مفاهيم معماري سرويس گرا و معماري سازماني درحال ادغام با يكديگرند اگرچه ريشه و محل رويش معماري سرويس گرا در حوزه فناوری بوده درحاليكه معماري سازمانی از حوزه مديريت آمده است.

تفاوت معماري سازماني با معماري سرويس گرا:

  • تعيين وضعيت موجود يكي از اولين مراحل در معماري سازماني به حساب مي آيد ولي در معماري سرويس گرا چندان به آن توجه نمي شود. شروع معماري سرويس گرا با يك پروژه در اندازه كوچك آغاز مي شود.
  • تمركز هر دوي آنها بر وضعيت مطلوب است ولي با اين تفاوت كه معماري سازماني بر موضوعات سطح بالا تاكيد دارد ولي معماري سرويس گرا مبتنی بر استانداردهای سطوح پائين و فناوری است.
  • شالوده معماري سازماني بر اساس چارچوب هاي شناخته شده اي چون زكمن است درحاليكه تاكنون چارچوبي براي معماري سرويس گرا ارائه نشده است.
  • در مراحل آخر كه معمولا مربوط به انجام يكپارچگي است معماري سرويس گرا بر سطوح پائين و فني تمركز دارد در حاليكه معماري سازمانی به سطوح بالاتر مي پردازد.
  • معماري سازماني بر تعامل پذيري بين حرفه و فناوري تاكيد دارد در حاليكه معماري سرويس گرا بر تعامل بين فناوري با فناوري متمركز شده است.

شباهتها:

  • بر فناوري اطلاعات در سطح گسترده و سازماني تاكيد دارند.
  • از جمله مهمترين اهداف آنها تعامل پذيري و يكپارچگي است.
  • اگرچه از سرچشمه اي مختلفي هستند ولي داراي اهدافي نزديك به هم هستند
  • لایه های کسب و کار، سیستمهای اطلاعاتی و فناوری در هردو وجود دارد

مي توان معماري سرويس گرا را بدون معماري سازماني انجام داد ولي در اينصورت نمي توان از تمام پتانسيل هاي معماري سرويس گرا استفاده نمود. واژه "معماري" در معماري سرويس گرا با همان واژه در معماري سازماني معاني متفاوتي دارد. مفهوم معماري در سرويس گرائي سبكي از رهيافت است كه با نمونه هاي چون سبك سرويس دهنده – سرويس گيرنده يا سبك چند لايه در سیستم های اطلاعاتی شباهت دارد و به نوعي مشخص كننده نوعي سبك در توسعه و طراحي سيستم هاي اطلاعاتي است، درحاليكه واژه معماري در معماري سازماني بيان كننده نگاهي همه جانبه، بالا به پائين و از ديدگاه هاي مختلف به جنبه های مختلف سازمان بوده كه نهايتا منجر به طبقه بندي و توصيف عناصر و اجزاء سازمان بصورت همه جانبه و فراگير مي شود.

 مطالب بیشتر در خصوص معماری سرویس گرا

+ نوشته شده در پنجشنبه هفدهم خرداد 1386ساعت 12:27 توسط امیر مهجوریان |

Capability Maturity Model for SOA

سطح 1(سرويس هاي اوليه): در اين مرحله سازمان اولين آشنایي با معماري سرويس گرا را تجربه نموده و مقدمات برپایي آن فراهم مي شود. تعدادي سرويس بصورت آزمايشي پياده سازي و مستقر مي شوند و پروتكل هاي اصلي چون WSDL،SOAP مورد بررسي و استفاده آزمايشي قرار مي گيرند. هدف اين مرحله تحقيق و آزمايش بوده و در صورت دريافت نتيجه مطلوب مراحل بعدي آغاز مي شود.

سطح 2(سرويس هاي معماري شده): اين مرحله كارائي و مزاياي پياده سازي كامل و يكپارچه معماري سرويس گرا در كاهش هزينه و زمان و بهبود انعطاف پذيري را اثبات مي كند. استانداردهاي بيشتري در QoS مانند WS-Security و WS-ReliableMessaging مد نظر قرار مي گيرند، در اين زمان افسر ارشد اطلاعاتي مسئوليت برپاسازي معماري را بصورت رسمي به دست مي گيرد.

سطح 3(سرويس هاي همكار): در اين مرحله اركستريشن سرويس ها و پياه سازي سرويس هاي تركيبي شروع مي شود. انواع فرآیندها و پردازش ها(مبتني بر رويداد، محاسباتي، عملياتي و .. ) مورد بررسي قرار گرفته و به يكي از دو صورت پياده سازي مستقل يا تركيب از ساير سرويس ها ايجاد مي شوند، هدف اين مرحله حداكثر استفاده از سرويس هاي پايه براي تعريف و ايجاد سرويس هاي جديد است و استانداردهائي چون BPEL مورد استفاده قرار مي گيرند.

سطح 4(سرويس هاي اندازه پذير): تمركز اين سطح از سطوح بلوغ بر شاخص هاي اندازه گيري كارائي حرفه بوده و ديده باني فعاليت هاي حرفه به عنوان يك اقدام كليدي مي بايست مورد توجه قرار گيرد. به دليل وارد شدن معيارهاي اندازه گيري كارائي در اين مرحله، حضور و نظارت نمايندگاني از مديريت مالي و برنامه ريزي سازمان ضروري خواهد بود.

سطح 5(بهينه سازي سرويس ها): در اين مرحله بهينه سازي سرويس هاي سازماني مورد نظر است وهدف آن دستيابي و محقق نمودن تكامل مستمر و تدريجي در سازمان با كمك افسر ارشد اجرائي(CEO) است.

+ نوشته شده در چهارشنبه شانزدهم خرداد 1386ساعت 12:16 توسط امیر مهجوریان |

سيستم هاي سرويس گرا مي بايست بصورت تدريجي و تكاملي تهيه و توسعه داده شوند، ايجاد سازمان مبتني بر سرويس هاي اتوماسيون شده بصورت يكدفعه و در يك پروژه ميسر نيست، بنابراين لازم است توسعه تدريجي مد نظر قرار گيرد، از طرف ديگر پس از چندين مرحله و پياده سازي تمامي سرويس ها در سازمان كار پايان نمي پذيرد، خصوصيات سيستم هاي سرويس گرا تغييرات آنها بر طبق نيازهاي حرفه است، ايجاد سرويس هاي جديد يا تغيير و اصلاح پياده سازي سرويس هاي موجود بايد در نظر گرفته شود و لذا توسعه مداوم بايد در دستور كار مديران فناوري اطلاعات قرار گيرد. در ادامه راهنمائي براي ايجاد معماري سازماني معرفي خواهد شد، اگرچه اين روش توسط مولف آن تحت عنوان متدولوژي بهبود مداوم ارائه شده، ولي همانطور كه گفته شد معماري سازماني هم اكنون داراي يك متدولوژي مدون و مورد قبول نبوده و آنچه هم اكنون تحت عنوان متد وجود دارد درحقيقت راهنمائي ها و تمرين هايي در اين حوزه محسوب مي شوند.

شكل زیر گام هاي متدولوژي بهبود مداوم براي معماري سرويس گرا

 

مراحل متدولوژی:

۱- تعريف و طراحي سرويس
اين مهمترين مرحله در متدولوژي بوده و نيازمندي هاي مربوط به آن از طريق مشتريان داخلي، صاحبان حرفه و شركاء تجاري بدست مي آيد. براي تعريف سرويس سه روش وجود دارد:

  • تعريف وپياده سازي سرويس هاي جديد بر اساس نيازمنديها: در اين روش سرويس هاي مورد نياز بصورت كامل تعريف وپياده سازي مي شوند. اين سرويس ها بگونه اي تعريف و طراحي مي شوند كه علاوه بر برآورده نمودن نياز درخواست كنندگان مستقيم آن، توسط ساير سرويس ها نيز قابل فراخواني و استفاده باشند.
  • تعريف سرويس هاي جديد بر اساس مولفه ها يا سيستم هاي اطلاعاتي موجود: در اين روش واسطي براي استفاده از كاركردها و امكانات سيستم هاي اطلاعاتي موجود تهيه مي شود. اين نوع سرويس ها فاقد منطق حرفه يا كد پياده سازي بوده و صرفا واسطي براي تعامل با سيستم هاي موروثي هستند و حيات آنها وابسته به اين سيستم ها است.
  • تعريف سرويس ها با تركيب سرويس هاي موجود: در اين روش درصورتيكه واحدهاي سازنده اصلي براي براورده كردن نيازمنديها بصورت آماده موجود باشد، سرويس جديد تنها نياز به فراخواني مجموعه اي از سرويس هاي موجود وپايه دارد. اين روش آسان ترين و مقرون به صرفه ترين روش است و طراحان بايد تلاش كنند حداكثر استفاده را از قابليت استفاده مجدد نمايند البته به شرطي كه ابتدا سرويس هاي پايه(واحدهاي سازنده) تعريف و پياده سازي شده باشند.

در اين راستا طراح سرويس، مدلي را كه شامل تعريف و توصيف سرويس هاي مورد نياز است به كمك زبان هاي موجود مدلسازي مي نمايد، وي همچنين بايد طريقه پياده سازي اين سرويس ها را تجزيه و تحليل نموده و چگونگي ايجاد سرويس ها را براساس سه روش گفته شده، مشخص نمايد.

۲- طراحي كيفيت سرويس
در اين گام بهترين سكو و فناوری براي پياده سازي و استقرار سرويس ها مد نظر قرار مي گيرد و شاخصهايي مانند قابليت اطمينان، امنيت، در دسترس بودن و كارائي مورد بررسي قرار گرفته و فرآیند طراحي و انتخاب سرويس ها تكميل مي شود. در اين راستا معمار يا طراح كيفيت سرويس جزئيات مقيد سازي سرويس ها و چگونگي پياده سازي و استقرار آنها را مشخص مي كند و روش تحقق شاخص هاي كيفيت سرويس را تعيين مي نمايد.

۳- پياده سازي و استقرا سرويس ها
در اين گام بر حسب مدل هاي تهيه شده در گامهاي قبلي، سرويس ها پياده سازي و مستقر مي شوند. در پياده سازي بايست به موضوعاتي چون پيكربندي، مديريت نسخه ها و رضايتمندي از سرويس ها توجه شود. براي گام استقرار طبق قاعده ابتدا يك مرحله پيش ارائه وجود دارد و سپس استقرار نهائي صورت مي پذيرد، برآورده نمودن نيازهاي كيفيت سرويس نظير قابليت اطمينان، امنيت و كارائي نيز از وظايف اين فاز است. اگرچه تست به عنوان يك گام جداگانه در متدولوژي ديده نشده است اما بايد مورد توجه قرار گيرد، فعاليت هاي مربوط به تست و توليد بسته هاي تست قبل از استقرار سرويس ها ضروري است.

۴- اركستريشن سرويس ها
بعضي سرويس ها را مي توان بدون پياده سازي و از طريق فراخواني ساير سرويس ها ايجاد نمود، اين فعاليت كاملا با فعاليت هاي مربوط به طراحي و پياده سازي متفاوت است، اولا چگونگي تعريف توالي فراخواني سرويس ها براي ايجاد سرويس جديد مستقل از موارد مربوط به طراحي است و دوما از نظر زماني تا سرويس هاي پايه طراحي و پياده سازي نشوند، تعريف سرويس هاي اركستريشني ممكن نخواهد بود. اگرچه از نظر هزينه و زمان اركستريشن سرويس ها بسيار مقرون بصرفه و مطلوب بوده و يكي از اهداف معماري سرويس گرا نيز ايجاد واحدهاي قابل استفاده مجدد مي باشد ولي اين گونه سرويس هاي تركيبي داراي مسائل خاص خود هستند چرا كه داراي ارتباط و وابستگي محكمي با ساير سرويس ها بوده و می بايست موارد مهمي مد نظر قرار گيرد بطوريكه سرويس گيرنده تفاوتي بين اين سرويس ها و سرويس هاي پايه احساس نكند.

۵- انتشار سرويس ها
بعد از اينكه طراحي و پياده سازي سرويس ها پايان يافت نوبت به انتشار آنها مي رسد، براي اين منظور اين فعاليتها انجام مي شود:

  • فايل WSDL دراختيار سرويس گيرندگان قرار مي گيرد، در صورتيكه سرويس گيرندگان داخلي باشند اين فايل بصورت محلي در اختيار آنها قرار مي گيرد ولي در صورتيكه سرويس براي استفاده عمومي باشد، فايل مي بايست بر روي اينترنت قرار گيرد.
  • توصيفات فني و غير فني سرويس ها بايد تعيين شود، دسته بندي هاي مختلفي از انواع سرويس ها از نظر نوع سرويس و مشخصات فني وجود دارد، اين مشخصات بايد به گونه اي مستند و منتشر شود كه متقاضيان به راحتي بتوانند سرويس مورد نظر خود را شناسائي و فراخواني نمايند.

۶- معاهده سطح سرويس
شامل توافق هاي بين منتشركنندگان و دريافت كنندگان سرويس است و جنبه هاي مختلفي از جمله قابليت اطمينان، امنيت و كارائي را در بر مي گيرد.
قابليت اطمينان: براي هر سرويس مي بايست معيارهاي قابل اندازه گيري براي قابليت اطمينان آن فراهم شود، براي نمونه دردسترس پذيري 99 درصدي سرويس يكي از مقياس هاي مناسب براي اين منظور است، يكي ديگر از اين مقياس ها تضمين تحويل(دريافت) يكباره پيام است.
امنيت: تصديق هويت(authentication) و مجوزسنجي(authorization) دو معيار اساسي در امنيت سرويس ها هستند. تصديق هويت جهت بررسي مجوز عاملي است كه درخواست سرويس نموده و معمولا از طريق كنترل شناسه و رمز عبور انجام مي شود. مجوز سنجي كنترل كننده سطوح دسترسي و مجوزهائي است كه عامل تصديق هويت شده مي تواند داشته باشد.
كارائي: يكي از معيارهاي كارائي كه اهميت بالائي نيز دارد، زمان پاسخ است و به مدت زماني گفته مي شود كه سرويس دهنده پس از دريافت درخواست، پاسخ مي دهد و معمولا برحسب ثانيه يا ميلي ثانيه است. يكي ديگر از اين معيار ها توان عملياتي است و به تعداد پاسخ گوئي يك سرويس دهنده در يك واحد زماني گفته مي شود، مانند 100 پاسخ در ثانيه.

۷- مديريت و ديده باني سرويس ها
اين گام شامل مواردي چون كنترل و ديده باني كارائي سرويس ها، تحليل گزارشات و آمارها و هماهنگ كردن مستمر سرويس ها بر طبق معاهده سطح سرويس است.


۸- ميزان كردن سرويس ها
اين گام به تنظيم سرويس ها در راستاي رفع نواقص و ارتقاء شاخص هاي كارائي اختصاص دارد، داده هاي مورد نياز براي اين منظور از گام قبل بدست آورده مي شود.

 مطالب بیشتر در خصوص معماری سرویس گرا

+ نوشته شده در پنجشنبه سوم خرداد 1386ساعت 12:10 توسط امیر مهجوریان |

دو واژه پر كاربرد در حوزه كسب و كار و معماري سرويس گرا كه معمولا به جاي هم اشتباه گرفته مي شوند، اركستريشن(Orchestration) و كاريگرافي(Choroegraphy) نام دارند. اركستريشن در خصوص ترتيب اجراي سرويس ها در فرآیند بحث مي كند، اركستر اصلي مجموعه اي از سرويس ها را فراخواني مي كند تا نتيجه مورد نظر حاصل شود و فرآیند تكميل گردد، ممكن است سرويس هاي خارج سازمان نيز در اين راستا فراخواني و استفاده شوند، اين كار با كمك موتور فرآیند محقق مي شود. در عوض كاريگرافي به فرآیندهایي گويند كه بدون موتور فرآیندي(رهبر اركستر) اقدام به تبادل پيام كرده و ترتيب و توالي پيامهاي مبادلاتي را خود بازیگران ثبت و كنترل مي كنند.

بنابراين اركستريشن به معناي وجود يك موتور فرآیندي است كه ترتيب و توالي را كنترل كرده و از شركاء داخلي يا خارجي براي انجام كارها استفاده مي نمايد. نمونه اين مدل سيستم مديريت فرآیندهاي حرفه(BPMS) است كه فرآیندها در موتور فرآیندي اجرا مي شوند.

كاريگرافي به معناي پردازش هاي توزيع شده بين چند فرآیند است كه بدون يك رهبر مركزي با هم تعامل دارند يا چندين موتور فرآیندي كه در كنار و هم سطح هم اجرا مي شوند و با همكاري هم هدفي را محقق مي سازند. نمونه اين موضوع در پردازش هاي توزيع شده و يا فعاليت هاي بين سازماني كه هر دو طرف با مشاركت هم به دنبال يك هدف هستند ديده مي شود .

 مطالب بیشتر در خصوص معماری سرویس گرا

+ نوشته شده در سه شنبه یکم خرداد 1386ساعت 11:49 توسط امیر مهجوریان |