با سلام
در این مطلب من برخی از مفایهم پرکاربرد و اصلی معماری سازمانی، معماری سرویس گرا و نهایتاً معماری سازمانی سرویس گرا را از کتاب “معرفی اصول، مبانی و روش های معماری سازمانی سرویس گرا” نوشته دکتر شمس و مهندس مهجوریان استخراج کرده ام. که آنها را جهت استفاده شما خوانندگان گرامی نیز در اینجا قرار داده ام.
معماری سرویس گرا:
معماری سرویس گرا یک راه حل فناوری اطلاعات است که به سازمان ها کمک می کند تا زیر ساخت های متفاوت و غیر همسان خود را تبدیل به مجموعه ای از سرویس های پویا تبدیل نمایند. (Papazoglou, 2003)
معماری سازمانی:
معماری سازمانی عبارت است از مجموعه ای از ارائه های توصیفی (مدل ها) در ارتباط با تشریح یک سازمان به گونه ای که قابل مدیریت و در دوره ِ حیات مفیدش قابل نگهداشت باشد. معماری سرویس گرا سبکی از معماری سیستم های اطلاعاتی به شمار می رود که هدف آن دستیابی به اتصال سست در ارتباطات بین مولفه های نرم افزاری است. سرویس واحدی از کار است که ارائه دهنده ی که ارائه دهنده سرویس انجام می دهد تا نتیجه ی مطلوب را برای درخواست کننده ی سرویس مهیا کند. ارائه دهنده و درخواست کننده ی سرویس نقش هایی هستند که به وسیله ی عوامل نرم افزاری به جای عوامل انسانی انجام می شوند.
واژه ی “معماری” در معماری سازمانی به معنای داشتن نقشه و مدل های جامع پیش از اجرا است که در صنعت ساختمان سازی نیز مصداق روشن دارد. این در حالی است که همین واژه در معماری سرویس گرا نشان دهنده ی سبک خاصی برای توسعه ی سیستم های اطلاعاتی است که بر اتصال سست، قابلیت استفاده مجدد، ترکیب پذیری، پنهان سازی پیاده سازی داخلی ئ … تاکید دارد و شامل استانداردهای مستقل از سکو می شود.
زکمن معماری سازمانی را به صورت زیر تعریف می کند: [Zachman and Sowa]
مجموعه ای از ارائه های توصیفی (مدل ها) در ارتباط با تشریح یک سازمان، چندان که بتواند منطبق بر نیازمندی های مدیریت (کیفیت)، تولید شود و در دوره ی حیات مفیدش قابل نگهداشت(یا تعمیر) باشد.
معماری سازمانی یعنی فهم عناصر مختلفی که سازمان را تشکیل داده اند و چگونگی تعامل بین عناصر، تعریف مناسب سازمان عبارت است از مجموعه ای از واحدهای سازمانی که اهداف و اصول مشترک دارند و عناصر شامل تمامی اقلامی است که در حوزه اشخاص، فرایندها، کسب و کار و فناوری محصور شده اند [IFEAD]
معماری سازمانی شامل مدل های کسب و کار، فرایندها، داده ها و سیستم های پشتیبانی کننده است و هدف از به کار گرفتن آن همراستا فناوری اطلاعات به ماموریت و اهداف سازمان است. همچنین نقشه های از لایه های فوق(در قالب زیرمعماری ها) برای معماری وضع موجود و مطلوب تعریف می شود. در معماری سازمانی به استانداردها، ملاحظات امنیتی و یک طرح انتقال نیاز است.
جان زکمن انگیزه اصلی خود از ارائه معماری سازمانی را “حل مشکل مربوط به پیچیدگی سیستم های اطلاعاتی و بهبود مدیریت بر آن” می داند. [Zachman and Sowa]
امروزه فواید و دلایل استفاده از معماری سازمانی شامل موارد زیر است:
مهم ترین نتایج معماری سازمانی را باید بهبود روش ها و فرایندها در ماموریت های سازمانی، ایجاد نظامی یکدست و قابل مقایسه در توصیف سیستم ها و یکپارچگی فناوری اطلاعات دانست[شمس]
انواع معماری سازمانی:
متدولوژی برنامه ریزی معماری سازمانی:
برنامه ریزی معماری سازمانی، فرایندی است در جهت تعریف معماری برای استفاده اطلاعات به منظور پشتیبانی از کسب و کار و شامل یک برنامه برای اجراست.
متدولوژِی اسپیواک شامل هفت مرحله است که که در چهار لایه ارائه می شود، این لایه ها عبارتند از:
مدل های مرجع:
مدل های مرجع و مجموعه ای از تمامی گزینه ها در یک دامنه ی مشخص هستند که به فرایند تهیه راه حل یک مساله کمک بسیاری می کنند.
بهترین تجربه:
بهترین تجربه، نمونه ای از پروژه های معماری سازمانی به شما می رود که از دیدگاه های مختلف موفق ارزیابی شده است.
متدولوژی:
متدولوژی دربردانده ی دستورالعمل و راهنمای چگونگی انجام فرایند معماری است. در متدولوژی باید مشخص شود چه گام ها و مراحلی با چه ترتیبی وجود دارد، محصول و خروجی هر مرحله چیست؛ علاوه بر این متدولوژی شامل راهنمایی ها، مثال ها، مطالعات موردی و مراجع است.
الگو:
الگو در معماری مشخص کننده ی رهیافت و روشی است که طی آن می توان به نتایج مطلوب دست یافت. شاید بتوان گفت نوعی روش انجام پروژه های موفق است، با این شرط که دارای یک ورودی و خروجی مشخص نیست و با تبعیت از اصول یک الگو می توان شانس موفقیت پروژه را افزایش داد.
تفاوت متدولوژی و الگو در این است که متدولوژِی مانند یک دفترچه راهنما برای یک دامنهی باز از صورت مساله هاست، در حالی که الگو برای رسیدن به دامنه ی مشخصی از انتظارات است. شاید بتوان گفت الگو نوعی بهینه سازی متدولوژی با توجه به بهترین تجربه به دست آمده و در دامنه ی مساله محدودتر و مشخص تری است.
مدل بلوغ توانمندی معماری سازمانی:
این مدل [Herzum] شامل ۵ سطح می باشد که عبارتند از:
معماری سرویس گرا:
عمده چالش های فناوری اطلاعات و به خصوص سیستم ها در سازمان ها را می توان در سه مورد اصلی خلاصه کرد:
با توجه به این چالش های انگیزه اصلی معماری سرویس گرا نیز مقابله با این چالش ها می باشد. مهم ترین اهداف ارائه معماری سرویس گرا شامل موارد زیر می شود:
معماری سرویس گرا چارچوبی استاندارد است که سرویس ها در آن ساخته، استقرار و مدیریت می شوند و هدفش افزایش چابکی فناوری اطلاعات در جهت واکنش سریع به تغییرات کسب و کار است. در معماری سرویس گرا منظور از اتصال سست، قابلیت تعامل بین سرویس ها به طور مستقل از کدنویسی و مکان سرویس ها است، به گونه ای که سرویس ها در زمان اجرا بتوانند علاوه بر تغییر مکان، روال های داخلی خود را تغییر دهند یا حتی از یک فناوری جدیدتر استفاده کنند، بدون اینکه تاثیری منفی بر سرویس گیرندگان گذاشته شود.
معماری سرویس گرا از دیدگاه های مختلف قابل بررسی است. هر فرد یا ذی نفع طبق جایگاه خود، تصویری از معماری سرویس گرا دارد. در ادامه سه دیدگاه کارشناسان کسب و کار، معماران و طراحان بررسی می شود.
مهم ترین دستاورد معماری سرویس گرا انعطاف پذیری و چابکی فناوری اطلاعات در برابر تغییرات کسب و کار می باشد.
معماری سرویس گرا: روشی برای طراحی و پیاده سازی نرم افزارهای گسترده ی سازمانی به وسیله ی ارتباط بین سرویس هایی که دارای خواص اتصال سست، دانه درشتی و قابل استفاده مجدد هستند. [Oasis]
معماری سرویس گرا: سبکی در فناوری اطلاعات که مبتنی بر تعامل سرویس های خوش تعریف، استاندارد و قابل استفاده مجدد است. سرویس در اینجا به معنای پیاده سازی نرم افزاری یک کارکرد کسب و کار خوش تعریف است که می توان در فرایند ها یا نرم افزارهای مختلف مورد استفاده و فراخوانی قرار گیرد. هدف معماری سرویس گرا چابکی فناوری اطلاعات و کاهش هزینه های توسعه و یکپارچه سازی سیستم های اطلاعاتی است.[شمس و مهجوریان]
تعریف IBM از معماری سرویس گرا: رهیافتی برای ساخت سیستم های توزیع شده که کارکردهای نرم افزاری را در قالب سرویس ارائه می دهد. این سرویس ها توسط دیگر نرم افزارها قابل فراخوانی هستند و برای ساخت سرویس های جدید نیز استفاده می شوند. این رهیافت برای یکپارچه سازی فناوری ها در محیطی که انواع مختلفی از سکوهای نرم افزاری و سخت افزاری وجود دارد ایده آل است. خواص معماری سرویس گرا به شرح زیر است:
سطوح تجرید سرویس: سرویس از نظر تجرید، نسل بعد از مولفه می باشد که خود مولفه از شیء و شیء گرایی برآمده است. به عبارتی دیگر از نظر سطوح تجرید به ترتیب شیء، مولفه و سپس سرویس قرار می گیرد. [Haddad]
اتصال سست: درمعماری سرویس گرا منظور از اتصال سست قابلیت تعامل بین سرویس ها به صورت مستقل از کدنویسی و مکان سرویس هاست، به گونه ای که سرویس ها در زمان اجرا می توانند علاوه بر تغییر مکان، روال های داخلی خود را تغییر دهنده یا حتی از یک فناوری جدیدتر استفاده کنند، بدون اینکه تاثیری منفی بر سرویس گیرندگان گذاشته شود.
وب سرویس: وب سرویس، نوعی سیستم نرم افزاری محسوب می شود که برای تامل ماشین با ماشین در سطح شبکه طراحی شده و دارای یک تعریف قابل پردازش توسط ماشین با نام WSDL است. دیگر سیستم های بر طبق این توصیف از قبل مهیا شده با سرویس دهنده تامل خواهند داشت. پیام ها توسط پروتکل SOAP یا سایر پروتکل های مربوطه منتقل می شوند.
مهمترین مزیتی که معماری سرویس گرا با خود به ارمغان می آورد مبحث بهبود بازگشت سرمایه است. معماری سرویس گرا مجموع هزینه ی صرف شده برای فناوری اطلاعات و سرویس های کسب و کار را به دو روش کاهش می دهد. اول با حذف هزینه های میان افزارها و فناوری های اختصاصی و جایگزین کردن آن با فناوری های استاندارد مانند وب سرویس و دوم با ترکیب کارکردهای کسب و کار در قالب سرویس هایی که توسط واحدهای مختلف قابل استفاده باشند.
هم نواسازی و هم خوانی:
هم نواسازی در خصوص ترتیب اجرای سرویس ها در فرایند بحث می کند. هم نواساز که رهبری گروه را به عهده دارد مجموعه ای سرویس ها را فراخوانی می کند تا نتیجه ی مورد نظر حاصل و فرایند تکمیل شود.
همخوانی به فرایندهایی می گویند که بدون موتور فرایندی اقدام به تبادل پیام کرده و ترتیب و توالی پیام های مبادلاتی را بازیگران ثبت می کنند.
متدولوژی های سرویس گرایی:
با توجه به اینکه مستندات کمی برای SOMA وجود دارند، ولی این متدولوژی برای پروژه های بزرگ مدیریت کسب و کار و معماری سرویس گرای سازمانی مناسب است و کامل ترین متدولوژی موجود در این حوزه به شمار می رود. نقطه ضعف این متدولوژی عدم ارائه تمامی مستندات و پشتیبانی های فنی توسط IBM است.
بسط RUP به منظور پوشش به معماری سرویس گرا برای حوزه های دارای دامنه ی معماری سرویس گرا محدود و در حد یک پروژه متوسط، مناسب است، اما برای پروژه های گسترده سازمانی توصیه نمی شود. راهنمایی ها یا شبه روش هایی که IBM برای بعضی کاربردهای خاص دیگر از جمله “مدرن کردن سیستم های موروثی موجود” ارائه کرده است نیز در حوزه ی خود مفید و کارگشا هستند.
مدل بلوغ توانمندی معماری سرویس گرا:
یکی از مدل های مطرح برای سنجش بلوغ توانمندی معماری سرویس گرا توسط Sims ارائه شده است و دارای پنج سطح می باشد که عبارتند از:
معماری سازمانی سرویس گرا:
تفاوت معماری سازمانی با سرویس گرا:
واژه ی معماری در معماری سرویس گرا با همان واژه در معماری سازمانی معانی متفاوتی دارد. مفهوم معماری در سرویس گرایی به سبکی از سیستم های اطلاعاتی گفته می شود که تکامل یافته ی نمونه هایی مانند: خدمت دهنده / خدمت گیرنده یا چند لایه است. این سبک به نوعی مشخص کننه ی مجموعه ای از الگوها، استانداردها و پروتکل ها در توسعه و طراحی سیستم های اطلاعاتی است. این در حالی است که واژه معماری در معماری سازمانی بیان کننده ی نگاهی همه جانبه و بالا به پایین است و از دیدگاه های مختلف به جنبه های متفاوت سازمان اشاره دارد که در نهایت به طور همه جانبه و فراگیر به طبقه بندی و توصیف عناصر و اجزای سازمان منجر می شود. معماری سازمانی ریشه در حوزه ی فناوری دارد، اما معماری سازمانی از حوزه مدیریت سازمان بر می آید.
یکپارچه سازی سیستم های اطلاعاتی:
در معماری سرویس گرا اصلی بر این است که همه ی سیستم های اطلاعاتی با یک واسط استاندارد و مورد توافق جهانی تعامل داشته باشند. این واسط وب سرویس نام دارد و پروتکل های مورد استفاده آن نیز شامل SOAP،WSDL و UDDI می شود. همه ی این پروتکل های بسطی از XML به شمار می روند که استانداردی جهانی و مورد توافق همه ی سکوها، فناوری ها و سازندگان است.
مدیریت یکپارچه فرایندهای سازمان در قالب هم نواسازی:
برای تعریف و پیاده سازی فرایندها سه نقش اصلی تحلیل گر، طراح و مدیر وجود دارد. تحلیل گر جریان گردش فرایندهای کسب و کار سازمان را شناسایی و مدل سازی می کند، سپس طراح این مدل را به شکل سیستمی و خودکار در می آورد. در این بخش خر فعالیت فرایند به یک سرویس سیستمی یا یک فعالیت انسانی نگاشت می شود.
همچنین طراح هنگام خودکارسازی فعالیت ها با سایر سیستم های اطلاعاتی سازمان، سازگار کننده مناسب را برای برقراری تبادل تنظیم می کند، به علاوه برای هر تعامل باید نگاشت ها، پروتکل ها و سایر تنظیمات انجام گیرد. در حالی که تحلیلگر و طراح مشغول کار برروی فرایندهای خاصی هستند، مدیر سیستم کنترل و نظارت بر مجموعه تعاملات و ارتباطات بین سیستم های اطلاعاتی و تنظیم مجوزها و سطوح دسترسی را بر عهده دارد.
جداسازی منطق فرایند از خودکارسازی فعالیت های آن به موضع چابکی فناوری اطلاعات در پیاده سازی فرایند های جدید و تغییر فراینده های موجود کمک بسیاری می کند که برای سازمان ها ارزش استراتژیک دارد.
لایه های معماری سازمانی سرویس گرا:
در بیشتر معماری ها سه لایه اصلی “کسب و کار”، “سرویس” و “نرم افزارها و سیستم های اطلاعاتی” وجود دارند.
لایه سرویس از سه زیر لایه به قرار زیر تشکیل می شود:
ارتباط لایه های معماری سرویس گرا:
پارادایم سرویس گرایی:
این پارادایم شامل سه حوزه می شود:
مبانی سازمان سرویس گرا:
یک مدل سرویس از چهار عنصر کلیدی تشکیل شده است:
در سازمان ها دو نوع دید/مدل وجود دارد، دید عمودی و دید افقی، در دید عمودی یا ساختاری وظایف از بالا با پایین بین واحدها منتقل می شوند. در دید افقی یا دید فرایندی سازمان بر اساس گردش کار بین واحدهای مختلف کار می کند. نگاه فرایندی جایگزین نگاه ساختاری نیست بلکه مکمل آن می باشد و نشان از پویایی سازمان دارد. در کنار این دو مدل، مدل دیگری نیز هست که نتیجه عملکرد سازمان را از منظر ذی نفعان نشان می دهد. مدل سرویس بر اساس نگاه نتیجه گراست. مدل فرایندی روش اجرایی رفتار واحدهای سازمانی را در قالب فعالیت ها، شرط ها و قوانین مشخص، و مدل سرویس طریقه ی درخواست سرویس و دریافت نتیجه را از نگاه ذی نفع ترسیم می کند.
ویژگی های سازمان سرویس گرا:
سطوح بلوغ سرویس گرایی:
نکته: در راستای حرکت به سمت سرویس گرایی دو مرحله اصلی وجود دارد:
مدل سرویس باید فقط دغدغه ها و توصیفات سرویس را از نگاه ذی نفع در نظر داشته باشید، اما صرف ترسیم مدل سرویس ضامن سرویس گرا بودن نیست. پس از اینکه مدل سرویس تعریف و مصوب شد، نوبت به بهبود سرویس هاست بر اساس شاخص های سرویس گرایی می رسد. در این قسمت با مجموعه ای از ضاخص های مخصوص سرویس گرایی سروکار داریم، به طوری که هر چه ای شاخص ها در سرویس ها عینیت بیشتری بیابند، درجه ی بلوغ سرویس ها و در نتیجه سطح سرویس گرایی سازمان بالاتر می رود.
اصول حاکم بر سرویس گرایی:
به طور خلاصه اصولی مانند: اتصال سست و خودمختاری پیش نیازهای انجام دیگر اصول هستند و در عوض قابلیت استفاده مجدد و ترکیب پذیری به میزان بیشتری از دیگر اصول استفاده می کنند.