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

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

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

مدلسازی سرویس

بعد از انتخاب کاندیدای سرویس باید به مدل سازی بپردازید، برای اینکار از تکنیک های مشخص مدل سازی معماری استفاده کنید . تکنیک هایی از قبیل :
۱- تعمیم
۲- تجزیه
۳- گردآوری

مدل سازی معماری
  • تکنیک تعمیم

سرویس را برای تعیین اینکه چه چیزی را از نظر مفهومی نشان می دهد، تحلیل کنید. در برنامه نویسی شی گرا به این کار"؟Is a relationship" می گویند. یعنی مرحله ای که شما می خواهید بدانید که بهتر است تا چه اندازه به تعمیم سرویس تان بپردازید.
اینکه مشتری و کارمند هر دو انسان هستند میزان خوبی از تعمیم است اما اینکه انسان موجودی دارای تفکر است نمی تواند تعمیم خوبی در حیطه کسب و کار شما باشد.
مشکل عمده این است که ما در طراحی به اندازه کافی کلی نمی نگریم و این موجب می شود که در درک اجزای متفاوت همراستا و غیر همراستا بدرستی عمل نکنیم ،در این صورت بروز واسط پیچیده وناهماهنگونی حتمی خواهد بود. که به معنای شکست اهداف معماری سرویس گرا است.

  • تکنیک تجزیه

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

  • تکنیک گردآوری

سرویس را برای تعیین اینکه ممکن است قسمتی از چه المان هایی باشد، تحلیل کنید. این المان ها می توانند فرایندهای موجود، سرویسها ویا خود کاندیدای سرویس باشند. در برنامه نویسی شی گرا به این کار "Has A Relationship" می گویند.

مدلسازی سرویس

با بکارگیری تکنیک های ذکرشده میتوان به سرویس هایی قابل ترکیب دست یافت. این تکنیک ها پایه ای هستند و بسیار کارآمد، ولی برای مدل سازی باید به جنبه های دیگری نیز پرداخت. که در ادامه این جنبه ها را بررسی خواهیم کرد:
قابلیت استفاده مجدد:
در هنگام وضع قرار داد ونیز در هنگام تحلیل سرویس این جنبه در شرکت شما باید کاملا بررسی شود.
امنیت SOA:
هنگام ساخت سرویس به مدل سازی این جنبه می پردازیم. برای شی ممکن است مدل امنیتی شامل SAMI , A Policy Enforcement Point, Transport security یا دیگر مقیاس های مربوط باشد. و این موارد عموماً در Policies enforced آشکار میشوند.
قابلیت تعامل پذیری:
در هنگام مدل سازی سرویس حتما به این جنبه بپردازید،چرا که یکی از اهداف سرویس ها تعامل پذیری است. واین کار با شناخت انواع پلت فرم ها یی که با آنها کار می کنید محقق می شود.
قراردادهای تراز سرویس:
ممکن است سرویس شما نیاز به تغییر فلگی در صد میلی ثانیه یا واکنش سریع در مقابل عملی ثانیه داشته باشد، این مسئله بخصوص در معماری سرویس گرا حائز اهمیت است بدلیل اینکه سرویس ها به مراتب مورد استفاده مجدد قرار می گیرند وتحلیل هایی که در مرحله فرایند صورت می گیرد برای کسب و کار مشخص می کند که چه انتظاراتی (Service Level Agreement) می تواند داشته باشد.
پیمانه ای بودن:
این امکان وجود دارد که سرویس شما در حیطه کاری بسیاری از دیگر سرویس ها کار کند و در چنین حالتی برای اطمینان از اینکه شما قادر به استفاده مجدد هستید و با ایجاد محدودیت های حفاظتی مناسب می توانید از سرویس برای خدمت دهی به دیگران استفاده کنید، سرویس باید به میزان مناسبی پیمانه بندی باشد.
قراردادی بودن:
در مدل سازی باید مشخص کرد که به ویژگیهای کدام المنت ها در سراسر قرارداد سرویس نیاز خواهید داشت. که بعضی از آنها می توانند خصیصه های مستقیم سرویس باشند و باقی آنها بعنوان متا دیتا دسته بندی شوند، برخی ممکن است غیر کاربردی باشند و ...
فرایند:
تحلیل فرایند به خودی خود یک discipline است و احتمالاً بسیار نا آشنا برای برنامه نویسان شی گرا. بدلیل اینکه فرایند کسب و کار خود می تواند بعنوان سرویس ظاهر شود و بدلیل اینکه فرایند کسب و کارهمچنین از سرویس ها بهره می برد، درک کاربرد IT از این دیدگاه حائز اهمیت است.
بنابراین در مرحله مدل سازی، علاوه بر توانایی تحلیل شی گرایتان به موارد ذکر شده نیز توجه داشته باشید.