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

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

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

صفحه پارامترهای معماری مرجع

قراردادها
قراردادها ارتباطات شفاف تری را به ارمغان می آورند. آنها در ابتدا موضوعی ذهنی هستند ولی به محض روی کاغذ آمدن درک همه چیز را آسان تر می کنند. مثال هایی از قراردادها در زیر آمده است:
اسامی مستندات، شامل شماها، WSDL و فایل های مشخصات اتصالها.
مکان فایل و ساختار فیزیکی سرویس ها و پروژه های اجرایی.

استانداردها
استانداردها از قراردادها رسمی تر و جدی تر هستند ومی توان گفت به نوعی حل شده اند (درباره آنها اختلاف نظرکمتری وجود دارد) .استانداردها اهداف کارکردی دارند یعنی اینکه اگر با آنها پیش نرویم، منجر به تأثیرات جانبی بر کارکرد و کارایی ضعیف خواهد شد.
خوب است موارد زیر استانداردسازی شوند:
امکان استفاده از برنامه های ساخت سرویس، مثل JAXB یا JAX-WS
اینکه آیا ارتقا امکان پذیر است؟ درون سازمانی یا برون سازمانی؟
ورود اتصالات WSDL در مقابل تعریف بر خط آنها
ورود انواع شِما به درون WSDL در مقابل تعریف بر خط آنها
انتخاب پروتکل پیش فرض و زمان اضافه کردن دیگر پروتکل ها
انتخاب روش های start form
استفاده درست از الگوهای طراحی شِما
استفاده از واسط ها
استفاده از روش های بهینه ،مثل FastInFoset و MTOM/XOP
استفاده از Header ها
استفاده از attachment ها
در صورت استفاده از SOAP ،تعیین style مورد قبول ،کاربرد و ارزش های نوع پارامترهای آن ،مثل document/literal wrapped
انتخاب متدهای یک سویه
بکارگیری مشتری های آسنکرون
کدگذاری برای داده های باینری
شِمای متمرکز
موارد بیشتری را نیز بسته به انتخاب های اجرایی می توان به این لیست افزود.
پیش نرفتن با چنین راهنما هایی منجر به مشکلات تعامل پذیری ،اجرا ضعیف و طولانی کردن زمان تولید می شود.

پارامترهای معماری مرجع

مشخصات
در جهان SOA و وب سرویس های تحت Java مشخصه های مهمی وجود دارد .
مشخصات Java باید شامل موارد زیر باشند:

  • JAX-WS
  • JAXB
  • SAAJ
  • JAXR
  • وب سرویس ها
  • WS-Annotations
  • DOM,SAX,StAX

و مشخصات SOA و WS-* شامل :

  • XML Schema
  • XSLT
  • SOAP
  • WSDL
  • OASIS UDDI
  • WS-Policy
  • BPEL
  • WS-Security
  • WS-Trust
  • WS-ReliableMessaging
  • WS-Transaction
  • WS-MetadataExchange

نشانه های متمرکز
صفحه ای wiki مهیا کنید تا برنامه نویسان را برای نشانه گذاری کردن وب سرویس های عمومی ترغیب کند، و به این ترتیب یافتن و استفاده کردن از این وب سرویس ها برای همه آسان خواهد شد. از دیگران نیز برای شرکت دعوت به عمل آورید.
استانداردهای صنعتی
بهتر است دیگران را از استانداردهای صنعتی که اطلاع داشتن از آن بی فایده نیست، آگاه کنیم. این استاندارها شامل موارد زیر می باشد:
Basic Profile 1.1
OASIS XML Catalog
W3C Web Services Architecture
OASIS Web Services Implementation Methodology
بنا بر نمونه های موفق صنعتی مورد قبول، برای سازمان مجموعه ای از نمونه های موفق را تعریف می کنیم و آنها را در طراحی می گنجانیم. برخی از آنها حتی می توانند از استانداردها ،از قبیل WS-I BasicProfile نیز استخراج شوند.

پارامترهای معماری مرجع

امنیت
قسمتی ازسایت را به امنیت اختصاص دهید چرا که موضوعی مهم و پیچیده درجهان وب سرویس به شمار می رود و البته استانداردهای زیادی برای این کار وجود دارند.
راهنماهایی برای اطمینان از تعامل پذیری وجود دارند که موارد زیر را نشان می دهند:
استفاده از رشته های کد شده مشخص
استفاده از امضا دیجیتالی
انتقال لایه امنیت
متدهای اعتبار سنجی
با رشد SOA خوب است که لیستی از قوانین هر سرویس نگهداری شود و این کار به تلاش های همنوا سازی ما در سازمان کمک خواهد کرد .
Cookbook
با توجه به مقدار تجربه سازمان اتان ، ممکن است شما نمونه هایی از کد که چگونگی ساخت سرویس ها و the attendant assemblies را نشان می دهد ،را داشته باشید.
واژه نامه
لیستی از اصطلاحات مهم و تعاریف مورد نظر آنها را برای شفاف سازی مفاهیم در ذهن اعضای تیم ، تهیه بفرمایید. به این دلیل که برخی مفاهیم SOA مبهم و قابل بحث هستند که واقعاً به نظر نمیرسد که همگی درباره یک موضوع صحبت میکنند. بنابراین استفاده از یک واژه نامه برای اصطلاحاتی از قبیل سرویس،قرارداد ،حاکمیت و غیره می تواند ارتباطی معنی دار ایجاد کند.
مستند سازی
اینجاست که با موارد JavaDoc، مستندات پروژه، مستندات فروشنده، نیازمندی ها، مستندات use case، مستندات تحلیل مدل سازی و ... ارتباط برقرار می کنیم.
محصولات معماری (artifact)
ممکن است بخواهید نگاهی به محصولات زمان اجرا SOA داشته باشید (البته در صورتی که زیر ساخت این امکان را بدهد)، محصولاتی از قبیل: شِمای متمرکز ،اسناد مدل سازی ، فرایند کسب وکار ، نمایشی قابل روئت از همنواسازی BPEL و ... ابزار نظارت در اختیار کاربران قراردهید تا آنها بتوانند تصمیم گیری درستی درباره کاندیدای سرویس جدید ،SLA ها ،ترکیبات جدید یا تغییرات زیرساختی ،داشته باشند.
اخبار
برای دادن اطلاعات برابر به افراد و مطلع نگه داشتن اعضای تیم با یکدیگر، در پورتال معماری مرجع خود فیلدی قراردهید، که وب سایت های مربوط به SOAهای مختلف را جمع آوری کند.
نتیجه گیری
به یاد داشته باشید که اهداف معماری مرجع بسیار متنوع است از قبیل :
۱- به مبتدیها دستورالعمل های لازم برای استفاده از وب سرویس های سازمان را می دهد.
۲- به برنامه نویسان با تجربه امکان یافتن و استفاده کردن از وب سرویس های سازمان را می دهد.
۳- به Governance Board یا COE برای تصمیم گیری بر طبق کاندیدای سرویس و در راستای معماری آینده کمک می کند.