معرفي اجزاي اصلي معماري صفا رايانه
|
معماري صفارايانه که نماي شماتيک آن در صفحه قبل آمده است از الگوي DAO در J2EE و نيز الگوي معماري پنجلايه پيشنهادي شرکت مايکروسافت نشات گرفته است. طبق تعريف معماري نرمافزار ، هر لايه يک تقسيمبندي افقي در معماري است. در الگوي معماري صفارايانه نيز، نظير ساير معماريهاي چندلايه ، چند لايه اصلي وجود دارند که در سه لايه کلي بنامهاي UI ، Business و Date طبقه بندي مي شوند. اين لايه ها از بالا به پايين به هم متصل هستند. به عبارتي لايه هاي بالاتر از وجود لايه هاي پايين خبردار هستند اما برعکس لايه هاي پايين هيچ اطلاعي از لايه هاي بالاتر ندارند. هر گونه ارتباط اين لايه ها با يکديگر از طريق اشياء حمل کننده داده ها يا Data Transfer Objects (که باختصار DTO ناميده مي شوند) انجام مي شود. کلاسهاي DTO يک نگاشت از موجوديت هاي پايگاه اطلاعاتي هستند.

|
 |
| |
|
|
همانطور که در شکل فوق مشخص است لايه UI (که در بالاترين سطح معماري واقع شده است) براي انجام کارهاي خود به سرويسهاي لايه Business محتاج است. لايه Business اصلي ترين لايه هر نرم افزار است و خود به دو بخش مجزا تقسيم شده است :
- لايه Business Façade Layer
- لايه Business Layer
لايه Façade که بدان لايه سرويس هم مي گوييم جهت مجرد سازي و بالابردن سطح Abstraction سرويسهاي پيشبيني شده در لايه اصلي Business ايجاد شده است. در حقيقت لايه Façade لايه اي است که تمامي سرويسهاي کلاسهاي اصلي نرم افزار از طريق آن قابل دسترسي است و لذا در آينده در صورتي که تعداد ، فرم و نحوه سرويس دهي کلاسهاي business در لايه Business Layer تغيير کند بدليل استفاده از Façade کمترين تغيير به نرم افزار اعمال خواهد شد. دقت به اين نکته ضروري است که هر سرويس ارايه شده توسط لايه Façade ممکن است در لايه UI (فرمها ، گزارشات و ...) دهها و حتي صدها بار مورد استفاده قرار گيرد لذا در صورتي که Façade به عنوان لايه جداکننده پيش بيني نشود تغيير حتي يک کلاس در لايه Business به تغيير دهها و شايد صدها مورد در برنامه (در بخشهاي مختلف UI) منجر شود.
در معماري نرم افزار به يک تقسيمبندي عمودي افراز مي گوييم. کلاسهاي ارايه شده در يک افراز قابليت استفاده شدن در تمامي لايه هاي نرم افزار را دارند. در معماري صفارايانه نيز افرازي به نام Common حاوي تمامي DTO ها و ساير Utility کلاسهاي لازم جهت استفاده مشترک در کليه لايههاي سيستم است. بخش زير از دياگرام افراز Common را نمايش مي دهد:

اينک جهت رعايت اختصار شرح کوچکي از هر يک از بسته هاي نرم افزاري درون افراز Common ارائه مي دهيم:
زير سيستم انعطاف پذير ، چند پارچه و کاراي مديريت کاربران صفا رايانه . اين زير سيستم از امکانات کليدي جالب توجه زير برخوردار است:
- امکان تعريف و مديريت متمرکز و غير متمرکز نرم افزارهاي کاربردي مورد استفاده در سازمان
- امکان تعريف سلسله مراتب سازماني (چارت سازماني)
- امکان تعريف مشخصات کامل پرسنل (پروفايل کاربران با عکس و نمونه امضاء و اثر انگشت)
- امکان تعريف نقش هاي نرم افزاري مستقل يا وابسته به نرم افزار کاربردي خاص
- امکان استخراج اتوماتيک مجوزهاي قابل صدور از اجزاء فرمهاي نرم افزاري
- امکان واگذاري يا سلب مجوز روي اشخاص حقيقي ، واحد ها و پست هاي سازماني و نقش ها
- انجام عمليات مطمئن ورود و خروج از سيستم
- کليه عناصر ويژوال و منوهاي لازم جهت مديريت کاربران و دسترسي ها
- يک API کارا با قابليت Caching جهت دسترسي نرم افزارهاي ديگر به امکانات مديريت کاربران و چک کردن دسترسي ها
کليه زيرسيستمهاي ديگر صفارايانه به اين زيرسيستم و سرويسهاي آن وابسته هستند.
در اين بسته نرم افزاري تمامي کنترلهاي ويژوال و غير ويژوال صفارايانه قرارمي گيرند. اين کنترلها همگي در محيط دات نت و براي استفاده مجدد در نرم افزارهاي مختلف اين شرکت توليد شده اند. بعنوان مثال مي توان به کنترل SafaPDF (براي نمايش و تغيير و پردازش فايلهاي PDF) و SafaMAP (براي نمايش و کنترل نقشه) اشاره نمود.
تمامي کلاسهايي که به نحوي در سيستم توليد شده و قرار است به شکل اشتراکي در تمامي لايه هاي نرم افزار مورد استفاده قرار گيرند ، در اين بسته نرم افزاري قرار مي گيرند. کلاسهاي اين دسته مانند کلاسهاي تبديل و انتخاب تاريخ شمسي DatePicker ممکن است پس از طي مدت زمان خاصي به بسته Safa Controls منتقل شوند.
تمامي کلاسهايي که نقش داده را بازي مي کنند و قرار است بين لايه هاي مختلف پاس شوند در اين بسته وجود دارند.
موتور گردش کار صفا رايانه به عنوان يکي از قويترين موتورهاي گردش کار سيستم Service Based در محيط دات نت و در قلب معماري صفا رايانه جاي دارد اين زير سيستم از دو سرويس کلي براي Messaging و Workflow تشکيل شده است و در عين حال با داشتن دو رابط برنامه نويسي (API) بنامهاي Message Access و Workflow Access امکان مي دهد تا هر نرم افزار متکي بر گردش کار براحتي از امکانات آن استفاده کند. معرفي معماري خاص موتور گردش کار صفارايانه که با بررسي و شناخت و استفاده از استانداردهاي روز BPML و نرم افزارهاي مطرحي چون BizTalk ساخته شده در اين مجال ممکن نيست و خود مبحث جداگانه اي را ميطلبد.

|
|