می توان گفت اساسی ترین عنصر تشکیل دهنده معماری سرویس گرا، سرویس است. نحوه انتخاب و مشخصه های سرویس آنقدر اهمیت دارد که مسائل مربوط به آن بعنوان سرویس گرایی مطرح می شوند. اصولی که در زیر بیان خواهند شد، توسط   Erl  و  McGovern  و سایرین در کتابهایشان معرفی شده اند و مورد توافق جوامع نرم افزاری قرار دارند. بطور کلی SOA  دارای مشخصه ها و اصول زیر است: 2-2-6-1-  سرویسها دارای واسط (قرارداد) و خط مشی های خوش تعریف اند. همه سرویس ها قراردادی را منتشر می کنند. این قرارداد توافق میان سرویس گیرنده و سرویس را محصور می کند. قرارداد همان چیزی است که مصرف کننده هنگامی که سرویس را جستجو می کند بدقت بررسی می کند. قراردادها شامل همه اطلاعات ضروری برای یک برنامه کاربردی است تا دارای قابلیت دسترسی به سرویس باشد. استفاده از اطلاعات درون قرارداد برای دسترسی و استفاده از سرویس “اتصال” نام دارد. قراردادها در   SOA   گسترشی بر ایده واسطها هستند. یک قرارداد در  SOA    موارد زیر را تعیین می کند.

  • وظیفه مندی ارائه شده
  • ورودیهای لازم و خروجی مورد انتظار
  • پیش شرطها
  • پس شرطها
  • دستگیری خطا
  • تضمین کیفیت سرویس(QOS[8]) و توافقات سطح سرویس

ایده آل آن است که یک سرویس ، خط مشی های مربوط به قابلیت اطمینان [9]، در دسترس بودن [10]، امنیت [11]و استثناها را تعریف کند. 2-2-6-2- سرویسها معمولاً یک دامنه یا وظیفه کاری را نمایش می دهند. سرویسها می توانند برای نمایش انواع دامنه های مساله پایه ریزی شوند. یک سرویس می تواند یک دامنه کاری یا یک دامنه فنی را ارائه کند. یکی از رایجترین انواع سرویس، آنهایی هستند که عملکرد فنی دارند. محلهای ثبت، فراهم کنندگان امنیت وlog  کردن چند مورد از برنامه های زیر ساختی و فنی هستند که سرویسهای بسیار خوبی محسوب می شوند. با این وجود قدرت واقعی SOA در توانایی آن در مدل سازی یک دامنه کاری است. با بزرگتر و پیچیده تر شدن دامنه های کاری محقق شده در SOA، در خواهیم یافت که کلیت فرآیند کاری، خود متشکل از تعدادی سرویس کوچکتر است. این سرویسها با پیامها به هم مرتبط می شوند . و به صورت ترتیبی یا یک جریان عمل می کنند. مفهوم ترکیب سرویس نیز از اینجا نشات می گیرد. 2-2-6-3- سرویسها دارای طراحی پیمانه ای هستند. سرویسها متشکل از پیمانه ها هستند. طراحی پیمانه ای در SOA مهم است. یک پیمانه می تواند بعنوان یک زیر واحد یا زیر سیستم نرم افزاری تلقی شود که عملیات ویژه و خوش تعریفی را انجام می دهد. برای بحث فعلی، پیمانه را مجموعه ای از واحدهای نرم افزاری در نظر می گیریم که برای مصرف کننده سرویس ارزشی را بهمراه دارد. هر پیمانه باید فقط یک کار انجام دهد و باید آن کار را کامل انجام دهد. یعنی پیمانه باید همه زیر واحدها و زیر پیمانه های ضروری برای انجام کامل آن کار را داشته باشد. به عبارت دیگر پیمانه ها باید چسبندگی داخلی بالایی از خود نشان دهند.

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...