استفاده از معماري Multi-tier (چندلايه)
|
معماري هر سيستم توصيفي از ساختار و رفتار سيستم که بيشترين تاثير را بر عمکرد سيستم دارند به دست مي دهد. به عبارت ديگر توصيف بخشهايي از سيستم که بر عرض (مجموعه موارد کاربرد) نرمافزار و يا طول (طول عمر، مدت استفاده و نگارشهاي مختلف) نرمافزار تاثير بسزايي دارند بر عهده معماري نرم افزار است. معماري هر سيستم شمايي کلان از اجزاء سيستم و ارتباط آن اجزاء را به دست مي دهد. در فرآيند طراحي سيستمهاي بزرگ در صورتي که معماري مناسبي جهت کاربرد موردنظر طراحي نشده باشد احتمال شکست سيستم به شدت افزايش مييابد و اين نکته اهميت معماري را در سيستم هاي امروزه به ما گوشزد مي کند. شرکت صفا رايانه با چندين سال تجربه کاري خود اکنون به اجزاء خاصي در معماري خود رسيده است که حداکثر انعطاف پذيري و قدرت را در نرم افزارهاي طراحي شده ايجاد مي کند. در مقايسه با معماري قديمي Client/Server معماري چندلايه صفارايانه از مزاياي مهم زير سود مي برد:
- کاهش وابستگي اجزاي کد به همديگر و در نتيجه امکان اعمال تغييرات در لايه هاي مختلف با حداقل تاثير در بخشهاي مرتبط . بعنوان مثال امکان تغيير در ظاهر برنامه ها بدون هيچگونه تغيير در کدهاي برنامه نويسي وجود دارد.
- امکان Scalability يا گسترش پذير بودن نرم افزار که اجازه توزيع واحدهاي پردازشگر روي سرورهاي متعدد را به طراحان مي دهد.
- تحمل خطاي بالا (Fault tolerance) در برپايي مجموعه سخت افزاري و نرم افزاري
Manageable Component based Programming کاهش زحمات برنامه نويسان و افزايش خوانايي سورس برنامه ها و در نتيجه افزايش کيفيت کد و کاهش هزينه و اتلاف وقت براي نگهداري آن
- راحتي بروزرساني با توجه به جدابودن محصولات و فايلهاي هر لايه از لايه ديگر
- افزايش قابليت مانور در بکارگيري نيروها و استفاده از تخصص هاي هر نيرو در لايه مربوطه
- با توجه به استفاده از سکوي دات نت ، معماري طراحي شده از اصول ارائه شده از سوي شرکت Microsoft براي طراحي صحيح نرمافزارهاي مبتني بر .Net پيروي کند.
- معماري از الگوي معماري پنج لايه پيروي کند.
- معماري طراحي شده قابل توزيع بر روي سختافزارهاي متعدد به منظور پشتيباني از مقياسپذيري باشد.
- نرمافزارهاي طراحي شده بر اساس اين معماري، قابل نگهداري و گسترش با کمترين هزينه ممکن باشند.
- معماري طراحي شده بايد حداکثر امکان کار موازي براي طراحان تفصيلي و برنامهنويسان را در فاز ساخت داشته باشد. معماري بايد امکان اجراي موازي تمامي موارد کاربرد نگاهداشت و گزارشگيري را به صورت همزمان در اختيار تيم استفاده کننده قرار دهد.
- نرمافزارهاي توليد شده بر اساس اين معماري توان توزيع و اجرا بر روي روشهاي مختلف توزيع از يک ايستگاه کاري تا شبکهاي با خادمهاي متفاوت و ايستگاه هاي کاري متعدد را داشته باشند.
- هزينه ارتقاء نرمافزارهاي توليد شده بر اساس اين معماري، از رابط کاربر مبتني بر Windows به رابط کاربر مبتني بر Web پايين باشد.
- نرمافزارهاي توليد شده بر اساس اين معماري حداکثر قابليت استفاده مجدد از اجزاء موجود در هر يک از لايه ها را داشته باشند. اين موضوع در رابطه با اجزاء رابط کاربر (UI) نيز بايد صادق باشد.
- وابستگي (coupling) ميان اجزاء يک نرمافزار توليد شده بر اساس اين معماري بايد حداقل بوده و حداکثر فقط در دو نقطه رابط کاربر و سرويسهاي نرمافزار وابستگي به آن جزء وجود داشته باشد.
- نمايش و ثبت خطاهاي کاربر نرمافزار و يا عوامل خارجي درگير در اجراي نرم افزار نظير شبکه، سيستم عامل، پايگاهداده و ...
- امکان پيگيري خطاهاي پيدا شده براي کاربر، حتي اگر دسترسي به کاربر و خطا در زمان رخ دادن امکانپذير نباشد.
- امنيت و کنترل آن در دو لايه رابط کاربر و لايه سرويسها.
- ثبت عملکرد کاربران به صورت قابل تنظيم در اختيار مدير سيستم.
|

|
| |
|
|
شکل زیر شمايي از معماري عام نرم افزارهاي صفارايانه را نشان مي دهد. بديهي است هر نرم افزار بسته به مورد کاربرد ممکن است از نوع تغيير يافته و Customize شده اي از اين معماري استفاده کند:

|
|