تبليغاتX
معماری سرویس گرا (SOA)
برنامه واسطي است براي انتشار و شناسائي سرويس هاي وب و شامل يك مخزن مي شود كه ارائه دهندگان به انتشار و تبليغ سرويس خود مي پردازند تا ديگران بتوانند آن را شناسائي كنند. از نظر مفهومي مخزن شامل صفحات سفيد(اطلاعات سرویس ها)، صفحات زرد(دسته بندي صنعتي) و صفحات قرمز(اطلاعات فناوری) خواهد بود و داراي اين ويژگي ها است:
  • كتابچه اي براي ذخيره اطلاعات مربوط به سرويس هاي وب است
  • در آن واسط سرويس هاي وب كه توسط WSDL توصيف شده است، ذخيره مي شود.
  • ارتباطات با آن توسط SOAP است.

 

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

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

اجزاء تشكيل دهنده WSDL 1.1:
نوع(type): پارامترهاي ارسالي و دريافتي را مشخص مي كند.
پيام(message): پارامترهاي ورودي و خروجي و نوع آنها را مشخص مي كند، پيام مي تواند شامل چند بخش باشد.
عمليات(operation): متدهاي سرويس هاي وب بوده و داراي پيامهاي ورودي و خروجي هستند.
نوع درگاه(port type): مجموعه اي از عمليات است.
مقيدسازي(binding): مشخص مي كند چگونه عمليات مربوط به نوع درگاه فراخواني مي شود.
سرويس(service): مجموعه اي از نقاط انتهائي.

Type:
نوع داده هاي ساده يا پيچيده كه در پيام ها استفاده خواهند شد در اين قسمت تعريف مي شوند. براي اين منظور از الگوي XSD استفاده مي شود كه مخصوص تعريف ساختارهاي داده اي درXML است.

Message:
هر پيام شامل يك يا بيشتر بخش(part) بوده و هر بخش داراي نوع داده است. پيامها بوسيله نامشان تعريف مي شوند و در قسمت Operation بصورت پيام ورودي يا خروجي استفاده مي شوند. هر بخش معیين كننده يك نوع داده است و اگر پيامي شامل دو بخش باشد به اين معنا است كه اين پيام(ورودي يا خروجي) داراي دو پارامتر مي باشد ولي اكثر پيامها داراي يك بخش هستند.

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

PortType:
مشخص كننده واسط يك سرويس وب است كه مشابه متدهاي شيئ گرا مي باشد. در اينجا عمليات مربوط به واسط سرويس تعريف مي شود، يك واسط مي تواند داراي چندين عمليات باشد و براي هر عمليات مي توان پيامهاي ورودي يا خروجي را مشخص نمود يا اين كار را به همان بخش تعريف پيام واگذار كرد.

Binding:
واسط ها بصورت انتزاعي مشخص مي كنند كه سرويس چه عملياتي را ارائه مي دهد، مقيدسازي نحوه اين كار را از نظر فيزيكي و فني بصورت دقيق مشخص مي كند. براي اين كار بايد اطلاعات مربوط به پروتكلها و تنظيمات ديگر تعيين شود(SOAP over HTTP يا SOAP over SMTP يا ...)

 

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

ساختاري براي تبادل پيامهاي در قالب XML است كه بين سرويس هاي وب مبادله مي شود و مي تواند توسط پروتكلهاي انتقالي گوناگوني چون HTTP،SMTP،FTP استفاده شود. ساختار يك پيام SOAP داراي يك عنصر بصورت XML با عنوان پاكت بوده كه دو عنصر فرزند دارد. عنصر اول، سربرگ(header) شامل مشخصات امنيتي و انتقالي بوده و عنصر دوم كه ته برگ(footer) ناميده مي شود حاوي داده هاي اصلي مبادلاتي بين سرويس هاي وب است.
ساختار پيامهاي SOAP :

Envelope: اين بخش در تمامي پيام هاي ارسالي و دريافتي وجود داشته و اجباري است. پاكت شامل يك بخش اختياري با نام سرآيند و يك بخش اجباري به نام بدنه است. اجزاء بسته پاكت به اين قرار است:

o نام محلي پاكت
o يك نام namespace
o صفر يا چندين ويژگي كيفي
o يك بخش اختياري با نام سرايند
o يك بخش اجباري به نام بدنه

Header: از بخشهاي اختياري است كه مي تواند شامل چندين جزء درحوزه موضوعات امنيتي، قابليت اطمينان و .. باشد و اجزائي به اين قرار دارد:

o سبك رمز گذاري
o نقش
o لزوم درنظر گرفته شدن
o تقويت

Body: بخش اجباري و مهم يك پاكت است كه محتواي پيام در آن است. بدنه شامل اجزائي به اين قرار است:

o يك نام محلي
o يك نام namespace
o صفر يا چند قلم صفت
o صفر يا چند قلم عنصر

+ نوشته شده در شنبه پانزدهم اردیبهشت 1386ساعت 11:39 توسط امیر مهجوریان |

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

مدير ارشد اجرائي(CEO): محصولات يا فرآیندهاي جديد به سادگي توسط فناوري اطلاعات اجرا خواهند شد. سيستم هاي انعطاف پذير ديگر مانعي بر سر تغيير و تكامل سريع فرآیندها نخواهند بود.

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

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

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

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


در دسته بندي ديگري مي توان مجموعه مزاياي اين معماري را از دو نگاه كلان حرفه و فناوري اطلاعات بررسي نمود
مزاياي معماري سرويس گرا از نگاه كسب و كار:

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

مزایای معماری سرویس گرا از نگاه فناوري اطلاعات:

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

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

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

مولفان و شركت هاي پشتيباني كننده معماري سرويس گرا در خصوص مزاياي استفاده از اين رهيافت دلايل زيادي را مطرح كرده اند كه در ادامه بعضي از آنها تشريح مي شود:

سيستم هاي چابك: معماري سرويس گرا شما را قادر مي سازد تا به سرعت سيستم هاي خود را تغيير دهيد. اين چابكي هم از جهت كاركردهاي سيستم و هم از جهت تغيير جغرافيائي يا ارتقاء سكوها و حتي تغيير تامين كننده فناوری مي تواند باشد.

يكپارچگي آسان با شركاء داخلي و خارجي : مي توان گفت قابليت يكپارچگي سيستم ها و سكوها مهمترين موردي است كه معماري سرويس گرا به آن پرداخته است.

استفاده مجدد : استفاده مجدد از كد برنامه يا سيستم ها، از گذشته مورد توجه متدهاي توليد و توسعه نرم افزار بوده است، معماري سرويس گرا قابليت استفاده مجدد را هم در سطح كاركردي(سرويس) و هم در سطح داده ها مهيا مي كند.

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

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

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

توسعه و اجراي تدريجي: معماري سرويس گرا يك پروژه عظيم و بزرگ و يكجا نيست بلكه از تكامل و تبديل تدريجي سيستم هاي فعلي و تعريف سرويس هاي جديد بصورت تدريجي ايجاد مي شود.

قابليت انعطاف و تغيير آسان از يك ارائه دهنده سرويس به ديگري : موضوع انعطاف در معماري سرويس گرا در هر دو مورد سرويس هاي داخل سازماني و خارجي صدق مي كند.

و همچنين موارد ديگري نيز وجود دارد كه به اختصار تنها نام برده مي شود:

  • تعيين سرويس ها به سازمان كمك مي كند فرآیندهاي محوري(core process) را بهتر بشناسد
  • كاهش هزينه توسعه و نگهداشت سيستمها
  • معماري اطلاعات براي حوزه كسب و كار نمايان(visible) مي شود
  • اعمال استانداردها تضمين كننده تعامل پذيري خواهد بود.
  • معماري سرويس گرا مستقل از سكو است
  • عدم وابستگي سيستم ها و معماري به مكان فيزيكي
  • تعريف صريح مسئوليت مربوط به هر سرويس باعث جوابگو بودن بيشتر بخش هاي سازمان مي شود.

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

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