Service Oriented Architecture-SOA

(متن اين نوشته به صورت Pdf در اينجا –

https://33pol.files.wordpress.com/2008/05/soa.pdf – قرار دارد)

چندي است که مفهوم SOA  بعنوان معماري  جديد  مطرح شده است برخي شرکتها استفاده از اين رويکرد را شروع کرده و ادعا مي کنند   محصولات خود را بر اساس اين معماري و ساختار پيش مي برند بعنوان مثال در بيانيه اي که در سال 2004  شرکت SAP    منتشر کرده ، اعلام شده است که محصول جديد اين شرکت يعني My Sap    (اين محصول يک ارتقا از  Sap R/3  مي باشد  که ظاهرا به جهت تحريمها فروش آن به ايران ممنوع است و شرکت  SAP  تنها قادر به فروش محصول قديمي خود يعني SAP R/3  به ايران مي باشد ) بر اساس  Service Oriented Architecture بنا شده است . ساير سازمانها و شرکتها نيز با توجه به مواردي که به ان اشاره خواهد شد ناچار به استفاده از اين معماري شده اند.

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

عوامل بسياري استفاده از اين معماري را باعث شده اند بعنوان مثال برخي سازمانها عموما هر  business unit  خود را بطور جداگانه مکانيزه مي نمايند . لذا اعمال تغييرات در يک فرايند و يا عرضه محصول يا خدمات جديد که شايد لازم باشد از کانالهاي متفاوتي عبور کرده و عمليات متفاوتي را انجام دهد ،   بسيار مشکل و زمان بر خواهد بود.

 

مفهومSOA   بحث  فراگيري است که هنوز اتفاق نظر و مدل استانداردي براي تعريف آن وجود ندارد. برخيها وب سرويسها را همان SOA  ميدانند در حاليکه وب سرويسها يک نوع  خاصي از پياده سازي از SOA  ميباشد . SOA  يک معماري خاصي است که لازم نسبت به تعريف و تبيين و استاندارد کردن  آن پرداخت .

 

SOA   يک ارتقا از Component Based Architecture, Interface Based Design (Object Oriented)    و سيستمهاي Distributed طراحي شده در دهه 1990 مانند CORBA , J2EE ,  و بطور کلي اينترنت  ميباشد .  نوع خاصي از پياده سازي از  SOA را ميتوان در وب سرويسها يا .NET  يا J2EE  يا و…  مشاهده نمود.

 

 در سيستمهاي   Component Based  نوعي از معماري بکار گرفته شده که  در آن کل فانکشناليتي سيستم به فانکشنهاي کوچکتري که هر کدام از آنها در يک  COMPONENT  کپسوله شده اند تقسيم شده است. درسيستمهاي   DISTRIBUTED  که  توسعه اي از معماري Component Based  مي باشد و در آن COMPONENT  ها در محلهاي فيزيکي جداگانه اي ميتوانند قرار بگيرند.

امتياز ويژه اين نوع معماريها عبارت از قابليت reusability و repurposing  است که در SOA  سعي شده از اين امتياز استفاده شده و توسعه داده شود  .اين ويژگيها  سهولت نگهداري و توسعه سيستمها و بدنبال آن کاهش هزينه هاي نگهداري سيستمها را در بر  دارد.

قابليت reusability و repurposing   از دلايل اوليه براي پذيرش و پياده سازي سيستمها بر اساس SOA  مي باشد.

 

مفاهيم اصلي موجود در SOA  :

با بررسي معماريهاي پياده سازي شده که مدعي ساختار  SOA ميباشند  مشخص مي شود که مفاهيم زير در تمامي آنها وجود دارد

·        Services

·        Service descriptions (including security parameters and constraints, reusability and repurpose-ability)

·        Advertising and discovery

·        Specification of an associated data model

·        Service contract

 

Services  :

عبارت از کاري مشخص وتعيين شده است که ميتواند بوسيله يک     component  براي استفاده  component  ديگر پياده سازي و اجرا گردد. يکي از  شناخته شده ترين سرويسها عبارت از وب سرويسها ميباشد.

 

Service descriptions :

شامل پارامترها ي فني و محدوديتها و سياستهايي است که براي درخواست و استفاده از سرويس بايستي در نظر گرفته شود .هر سرويس بايستي در قالبي استاندارد اين موارد را مشخص نمايد.) يکي از  اين استانداردهاWeb Services Description Language  (WSDL)  مي باشد (

 

Advertising and discovery of services :

يک سرويس بايستي امکان ابلاغ و ارسال  شرح سرويس خود را به نحوي سهل و واضح براي استفاده  کننده هاي بالقوه داشته باشد.اين عمل ميتواند بوسيله متدولوژيهاي متفاوتي مانند روش  push , pull  انجام گيرد.

 در روش  pull  مصرف کنندگان بالقوه از تهيه کنندگان سرويسها درخواست مي کنند Service descriptions را براي آنان ارسال نمايد

در روش  push  تهيه کنندگان سرويسها  ، عمل ارسال Service descriptions   را براي مصرف کنندگان سرويسها انجام مي دهند.

عمل  discovery  زماني اتفاق مي افتد که مصرف کنندگان بالقوه توصيف و پارامترها و قواعد استفاده از سرويس را بدست آورند

 

 Specification of an associated data mode  :

زمان درخواست يک سرويس پارامترهايي براي بکار گيري سرويس ممکن است لازم باشد. همچنين سرويس نيز ممکن است پارامترهايي را براي درخواست کننده ارسال نمايد. با استفاده از مدلهاي داده اي مرتبط با سرويسها  عمل مشخص نمودن اين پارامترها  انجام ميگردد.

 

 Service contract :

که بين تهيه کننده و استفاده کننده از سرويس مطرح مي باشد.

 

                                                                                                       

انگيزه ها براي پذيرش SOA  :

 

کارکنان بخش  IT  با چالشهاي فراواني مانند موارد زير روبرو هستند :

·        محدوديت بودجه اي

·        تغييرات مداوم تکنولوژيها

·        ارتقاي فانکشنهاي عملياتي و تجاري (مانند ويرايش جديد يک نرم افزار  customer relationship Management (CRM))

·        نيازهاي تجاري  که تقاضاي تعداد زيادي از APPLICATION  هايي را مي نمايد که بايستي با هم يکپارچه گردند

·        عملکرد  APPLICATION  ها که مي بايستي از محدوده سازمان فراتر باشد . بعنوان مثال بانک اطلاعاتي موجودي انبار که ممکن است لازم باشد  براي مشتريان نيز در دسترس باشد

 

بسياري از عوامل فوق يکپارچگي و تماميت  سيستمها را طلب مي کند . چنانچه تماميت بطور خاصي و صرفا براي يک Application يا يک محيط تعريف و تبيين شده باشد داشتن  يکپارچگي براي تمامي يک پروژه نياز به صرف نيروي فراوان و دانش شناخت کامل سيستمها را در بر  خواهد داشت. معماري  SOA  براي غلبه بر اين مشکل ميتواند مفيد باشد.

 

الزامات  SOA :

 

براي طراحي و پياده سازي و اجراي يک سيستم بر اساس  SOA  الزاماتي نياز  مي باشد . بطور کلي اين الزامات به الزامات زمان طراحي و الزامات زمان اجرا مي تواند تقسيم گردد.

برخي از الزامات در زمان طراحي عبارتند از :

 

 

·        UDDI (Universal Description, Discovery and integration)

·        Directory of Enterprise Internal web services

·        Agile Design Methodology

·        Workflow Oriented Development

·        Multi-level Design Management

·        Agile Toolset For SOA Development

·        Information Routing Modelling

·        Debugging And Simulation Capability

·        Multi-Language Capability

و براي الزامات زمان اجرا به موارد زير ميتوان اشاره نمود :

 

·        User Access And Security

·        Workflow

·        Business Activity Monitoring (BAM)

·        Simulation capability

·        Error Management

 

 

 

 

براي مطالعه بيشتر در اين زمينه سايتهاي sap , ittoolbox, cio  ميتواند مفيد باشد

 

Advertisements

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: