اولین همایش فناوری اطلاعات بیرجند معماري سرويس گرا و سيستم هاي مديريت فرايند كسب و كار Service Oriented Architecture and Business Process Management Systems حسين مرادي hsmoradi@gmail.com IT Expert.ir اولین همایش فناوری اطلاعات بیرجند آذر 85
سازمان هاي نوين اهداف راهبردي سازمان هاي نوين راه حل چيست؟ افزايش اثربخشي و كارايي سازمان كسب جايگاه مناسب در بين رقبا بالا رفتن رضايت مشتريان راه حل چيست؟ استفاده از سيستم هاي مديريتي مناسب جهت هدايت سازمان استفاده از فناوري هاي مناسب براي فرموله كردن سيستم هاي مديريتي
IT به عنوان توانمندساز براي رسيدن به اهداف راهبردي سازماني و بهبود سازمان بايد از ابزارهاي توانمندساز مناسب استفاده شود. يكي از مهمترين ابزارهاي توانمند ساز، IT مي باشد. اما سوال اين است كه بايد از كدام فناوري ها استفاده شود.؟ شايد جواب دهيد از جديدترين ها !!؟
ارتباط بهرهوري با IT آيا لزوماً سرمايهگذاري در IT منجر به افزايش بهرهوري ميشود؟ آيا لزوماً سرمايهگذاري در IT منجر به تقويت مزيت رقابتي ميشود؟ نه! چرا؟ عامل كليدي تقويت مزيت رقابتي با استفاده از IT، سرمايهگذاري بيشتر در آن نيست، بلكه بكارگيري و استفاده مؤثر از آن در ارتباط با عملكرد سازمان است. آيا حجم زياد سرمايهگذاري تنها براي كاهش هزينههاي تراكنش است؟ آيا تا كنون كسي نشسته كل هزينههاي مالكيت (TCO) سيستمهاي IT در سازمان را محاسبه كند. اگر حساب كنند شوكه ميشوند. اين همه هزينه! كدام بهرهگيري پس چرا هر روز ميل به استفاده از IT و هزينه براي آن افزايش مييابد؟ با كدام انگيزه. كي خيرشو ديده كه همه اينجوري دنبالهرو هستند. خلاصه، شما كه احساس ميكنيد كارشناس ارشد IT شديد، نريد به خيال بهبود سازمان، كار دست سازمان بديد. 4
فراز و نشيب انتظارات از فناوري هاي مختلف Do not join in just because it is "in" Positive Hype Negative Hype Do not miss out just because it is "out" Peak of Inflated Expectations Technology Trigger Trough of Disillusionment Slope of Enlightenment Plateau of Productivity Maturity
راه حل چيست؟ معماري سازماني طراحي مناسب معماري سازماني به صورتي هدفمند، منسجم، يكپارچه و انعطاف پذير فرايند معماري سازماني گذر از وضع موجود به وضع مطلوب تحليل وضع موجود شناسايي وضع مطلوب تحليل شكاف
معماري سازماني چيست؟ با استفاده از اين معماري، مشخص مي شود كه چه اطلاعاتي (What) بر اساس چه فرايندي (How) درهنگام وقوع چه رخدادي (When) در چه مكاني (Where) به چه افرادي (Who) و با چه هدفي (Why) داده شود تا سازمان به اهداف راهبردي تعيين شده در طرح كلان IT خود نائل شود.
معماري سازماني چيست؟
سيستم هاي IT < توانمندساز معماري سازماني فرايندهاي كسب و كار اطلاعات افراد سه جنبه اصلي معماري سازماني از نظر معماران نرم افزار مدلسازي و اجرا مانيتورينگ بهبود انتظارات مديران ارشد از سيستم هاي نرم افزاري
فرايندهاي كسب و كار سازماني از بالاترين نما Vendors, Suppliers Organization Customers Distribution Logistics, Services Purchasing Finance R & D Production Sales Distribution Product development Order fulfillment Planning, resourcing, and control Customer service فرايندهاي كسب و كار، معمولا واحدهاي وظيفه اي سازمان و يا مرزهاي سازماني را قطع مي كنند و در كنار يكديگر براي مشتري يا بازار ارزش ايجاد مي كنند.
فرايند برآورد سفارش مشتري با جزئيات بيشتر مولفه هاي فرايند كسب و كار ورودي (درخواست كاركنان، همكاران تجاري، بازار، مشتريان و ...) خروجي (اطلاعات، ارائه خدمات يا محصولات و ...) فرايند (مجموعه اي از فعاليت هاي كسب و كار است كه در كنار يكديگر براي مشتري يا بازار ارزش ايجاد مي كند) input output
وظيفه فرايند: ايجاد هماهنگي وظيفه فرايندهاي كسب و كار، ايجاد هماهنگي بين افراد و واحدهاي وظيفه اي سازمان در گردش اطلاعات، تعهدات سازماني، اسناد و منابع فيزيكي مي باشد. هدف مديريت گردش اطلاعات رساندن اطلاعات مناسب به افراد مناسب و در زمان مناسب هدف مديريت گردش تعهدات سازماني هماهنگي واحدهاي سازماني و افراد آن با يكديگر هدف مديريت گردش اسناد و منابع فيزيكي سازمان بهره برداري حداكثري از منابع سازمان در جهت نيل به اهداف آن
دسته بندي فرايندهاي كسب و كار فرايندهاي بين سازماني فرايندهايي كه سازمان هاي مختلف را هماهنگ مي كند فرايندهاي درون سازماني در بالاترين سطح فرايندهايي كه واحدهاي وظيفه اي سازمان را هماهنگ مي كند فرايندهاي درون سازماني در پايين ترين سطح فرايندهايي كه افراد مختلف يك دپارتمان و سيستم هاي IT آن را هماهنگ مي كند
فرايند مديريت زنجيره تامين كه چندين سازمان را هماهنگ مي كند
فرايندهاي درون سازماني كه واحدهاي وظيفه اي سازمان را قطع مي كند
فرايندهاي كسب و كار در پايين ترين سطح
يك سيستم هاي IT ايده آل از ديد مديران
سوال: آيا با كمك معماري هاي سنتي مانند شي گرايي يا توسعه مبتني بر مولفه مي توان سيستم هاي فوق را به صورت كامل طراحي و اجرا كرد؟ جواب: خير !؟ علت چيست؟ چون محور اصلي مدلسازي در تحليل شي گرا يا توسعه مبتني بر مولفه، منابع سازماني (منابع اطلاعاتي، فيزيكي و انساني) بوده و فرايندهاي كسب و كار در مرحله بعدي قرار دارد.
ساير مشكلات استفاده از معماري هاي سنتي براي سيستم هاي سازماني نوين غير استاندارد بودن فرايندهاي كسب و كار عدم يكپارچه سازي آسان با ساير سيستم ها عدم انعطاف پذيري در برابر تغييرات عدم توسعه پذيري
يك سيستم نوين با محوريت فرايند كسب و كار يك سيستم سنتي با محوريت منابع سازماني يك سيستم نوين با محوريت فرايند كسب و كار
استفاده از سيستم هاي مديريت فرايند كسب و كار بر مبناي معماري سرويس گرا راه حل پيشنهادي ما استفاده از سيستم هاي مديريت فرايند كسب و كار بر مبناي معماري سرويس گرا
مقدمه اي بر معماري سرويس گرا
تكامل استفاده مجدد در نرم افزار با توسعه معماري هاي جديد، عنصر اصلي تشكيل دهنده معماري تكامل مي يابد
عناصر اصلي هر برنامه دو عنصر اصلي هر برنامه (Program) الگوريتم ساختار داده اي در رويكردهاي مختلف توسعه نرم افزار، جاي اين عناصر با هم عوض مي شود
روند ظهور رويكردهاي توسعه محصولات نرم افزاري Service-Oriented-Architecture Early service Orientation Component Based Development Distributed Object Technologies Object Oriented Programming SOP is actually the next generation of procedural (structured) programming beyond object-oriented programming Functional Programming
برنامه نويسي ساخت يافته (فراخواني رويه ها) 1- الگوريتم (رويه ها يا توابع) 2- ساختار داده اي (داده ها)
برنامه نويسي شي گرا (اشيا و پيغام ها) 1- ساختار داده اي (اشيا) 2- الگوريتم (متدها و پيغام ها)
برنامه نويسي سرويس گرا (سرويس و پياده سازي آن) برنامه نويسي سرويس گرا (سرويس و پياده سازي آن) 1- الگوريتم (سرويس) 2- ساختار داده اي (پياده سازي آن)
فلسفه سرويس گرايي، نرم افزار به صورت سرويس مصرف سرويس از طريق هر دستگاه، پلتفرم، سيستم عامل و زبان برنامه نويسي ارائه سرويس به صورت Plug and Play ارسال و دريافت پيغام در قالب استاندارد
سرويس چيست؟ چند نمونه سرويس عناصر تشكيل دهنده يك سرويس Service Implementation interface چند نمونه سرويس سرويس محاسبه ماليات سرويس برآورد سفارش مشتري عناصر تشكيل دهنده يك سرويس رابط سرويس (Service interface) تعريف هويت يك سرويس و نحوه فراخواني آن پياده سازي سرويس (Service implementation) واقعيت بخشيدن به سرويس طراحي و دستكاري اين دو عنصر به صورت مستقل
توپولوژي معماري سرويس گرا دلال سرويس (رجيستري) يك جزء اختياري سرويس دهنده انتشار مشخصات و آدرس سرويس بر روي دلال مصرف كننده سرويس دريافت مشخصات و آدرس سرويس از دلال Service Broker requests Src: main
Service Implementation سناريوي مصرف سرويس Fn() Service Consumer Fn() Service Interface Service Implementation Service Provider Service Logic Data
سناريوي مصرف يك سرويس با كمك يك رجييستري
مشخصه هاي معماري سرويس گرا تقسيم عملكرد سيستم به سرويس هاي مجزا پيوند ضعيف بين سرويس ها (loosely coupling) خودمختار بودن (autonomous) سرويس ها استقلال سرويس ها از پروتكل و پلتفرم استاندارد بودن سرويس ها
اشكال مختلف استفاده از سرويس
دسته بندي سرويس ها سرويس هاي درون سازماني سرويس هاي برون سازماني سرويس هاي تمام خودكار (دريافت سرويس از ماشين) سرويس هاي نيمه خودكار (دريافت سرويس از انسان با كمك ماشين) سرويس هاي برون سازماني سرويس هاي دريافتي از همكاران تجاري سرويس هاي دريافتي از ارائه دهندگان سرويس هاي نرم افزاري
سرويس هاي درون سازماني
گذر از برنامه كاربردي محوري به سرويس گرايي From To Function oriented Build to last Prolonged development cycles Coordination oriented Build to change Incrementally built and deployed Application silos Tightly coupled Object oriented Known implementation Enterprise solutions Loosely coupled Message oriented Abstraction Source: Microsoft (Modified)
Agility and Flexibility مراحل بلوغ SOA Maturity of SOA Process-Driven SOA Agility and Flexibility Multi-Level SOA Simple SOA Complexity
Simple SOA Presentation Layer Basic Service Layer Order Management Customer Management Inventory Management Online Ordering Application Warehouse Presentation Layer Basic Service Layer Set it up as a case study that keeps on getting more complicated….
Intermediate Service Layer Multi-Level SOA Online Ordering Application Presentation Layer Intermediate Service Layer Order and Ship Basic Service Layer Inventory Management Order Management Customer Management
Business Process Service Layer Process-Driven SOA Online Ordering Application Presentation Layer Business Process Service Layer Order Cancellation Service Catalog Service Intermediate Service Layer Order and Ship Need to make clear that the Catalog service and the Order Cancellation service are a process and not a simple intermediate service. Somehow make clear that the process was previous embedded in the client - see page 80 use icons or something Tie into Enterprise Application Integration Flexibility of changing the process Need to get in slide the value proposition of business process Complex rules Exception handling Transaction management State management Cahgne Business Function Layer to Primitive Business Service – see ERL 479 Basic Service Layer Inventory Management Order Management Customer Management
لايه هاي معماري سرويس گرا
لايه بندي و مدل سازي سرويس ها در SOA
سيستم هاي مديريت فرايندهاي كسب و كار
تكامل معماري برنامه كاربردي گام بعدي مديريت فرايند است
مسير حركت به سمت سيستم هاي BPM مشابه مسير حركت به طرف DBMS است
سيستم هاي مديريت فرايندهاي كسب و كار ايده اصلی، كنار هم آوردن فرآيندهاي كسب و كار اطلاعات افراد سيستم مديريت فرآيند کار خودکار سازی فرآيندهای افقی با توجه به امكانات طراحي، استقرار، اجرا، تعامل، گزارش گيري و بهبود فرايندها مديريت پذيری عمودی (با توجه با استفاده از SOA)
پنج مولفه يك سيستم BPM
سناريوي طراحي و استقرار فرايندها Design Tool .NET Process Designer Services <process> <sequence> <receive … /> <invoke </sequence> </process> BPEL Process Java Publishes To TODO: Fix The Arrows! The Design Tool Is Pulling In The Service Descriptions Siebel Orchestration Engine
سناريوي اجراي فرايندها You’re approved! Loan Service 1 <process> <sequence> <receive … /> <invoke </sequence> </process> Loan Service 2 Credit Validation Service Loan Service (Orchestration)
تعامل كارمندان، مشتريان و همكاران تجاري با سيستم شروع يک فرايند كسب و كار مثلاً درخواست خريد خودرو از طرف مشتري انتخاب سرويس خريد خودرو در پورتال سازمان و پر كردن فرم مربوطه ادامه يک فرايند كسب و كار مثلاٌ تاييد امكان تحويل خودرو به مشتري در حسابداري انتخاب وظيفه مربوطه از كارتابل و پر كردن فرم مربوطه
انتخاب سرويس مورد نظر از پورتال سازمان
مشاهده تمامي وظايف ارسال شده در كارتابل
پر كردن فرم مربوطه
امكان گزارش گيري از كارايي فرايندها با تعريف KPI بر روي آنها
امكان مانيتورينگ فرايند از طريق پورتال و بهبود آن امكان مانيتورينگ فرايند از طريق پورتال و بهبود آن
تغيير و بهبود فرايندهاي كسب و كار دو سناريوي تغيير در فرايند نياز به تغيير در فرايند با توجه به تغييرات فني و محيطي شناسايي گلوگاه ها با توجه به گزارشات سيستم و حركت به سمت بهبود آنها راه حل در سيستم هاي BPM جايگزين كردن پياده سازي سرويس ها تغيير مدل فرايند كسب و كار و استقرار مجدد آن ايجاد مدل فرايند كسب و كار جديد و استقرار آن
hsmoradi@ gmail.com http://RealITdream. blogspot.com با تشکر hsmoradi@ gmail.com http://RealITdream. blogspot.com