مقاله شماره : 712

روشي نوين براي اجرا و پياده‌سازي سيستم‌هاي تجاري

 

روشي نوين براي اجرا و پياده‌سازي سيستم‌هاي تجاري

توسعه سيستم‌هاي تجاري از مهمترين مباحث فناوري اطلاعات است; چرا كه اين دسته از نرم‌افزارها نقش مهمي در توسعه و پيشرفت سازمان‌ها و موسسات ايفا مي‌كنند. در مجموع براي توسعه يك سيستم تجاري، سه مرحله زير انجام مي‌شود :

1- شناخت و طراحي
2- اجرا و پياده‌سازي
3- نصب و نگهداري

مرحلـــــه شناخت و طراحي ‌با متدولوژي‌هاي مهندسـي نرم‌افزار از جمله RUP‌، SSADM‌، MSF‌ و غيره انجـــــام مي‌شـــــود. نتيجه بـــــه دست آمده در اين مرحله، با روش‌هاي مختلف و نرم‌افزارهاي گوناگون مستندسازي مي‌شـــود و در اختيار تيم پياده‌سازي قرار مي‌گيـــــرد. در ايـــن مرحله، زبان مـــــدل‌سازي UML‌ از محبوبيت خـــــاصـــــي برخـــــوردار است. ضمنـــــا از نـــــرم‌افزارهـــايي ماننـــــد Rational Rose‌، Power Designer‌، Together‌ و غيره به عنوان C.A.S.E. Tool‌ استفاده مي‌شود.
مرحله دوم توسعه سيستم تجاري، اجـــــرا و پياده‌سازي ‌است. در اين مرحله، به كمك ابزارها و متدهاي مختلف، طرح مورد نظر اجرا خواهد شد. موضوع اصلي مقاله، درباره اين مرحله است.
نصب و نگهداري ‌سيستم‌هاي تجاري، مشكلات خاص خودش را دارد. تبديل سيستم قديمي به سيستم جديد، مي‌تواند به دو صورت زير انجام شود :
1- تبديل قطعي
2- تبديل موازي
در روش اول، سيستم قديمي به يكبـــــاره كنـــــار گذاشتـــــه شده و سيستم جديد جايگزين مي‌شود. در حاليكه در روش دوم، طي يك دوره زماني معيــن، از هر دو سيستم به صورت موازي در كنار هم استفـــــاده مي‌شـــــود تـــــا در صورت وجود مشكلات احتمالي، در روندكاري سازمان خللي ايجاد نشود. پس از حصــول اطمينان از عملكرد صحيح سيستم جديد، سيستم قديمي كنار گذاشته خواهد شد. گفتني است استفاده از روش دوم، رواج بيشتري دارد.

X-Method

X-Method ‌با هدف دستيابي به يك روش كارآمد، براي اجرا و پياده‌سازي سيستم‌هاي تجاري به وجود آمده است. در اين زمينه، متدهاي متنوع و مختلفي وجود دارد. البته در بسياري موارد نيز متد مشخصي براي توسعه وجود ندارد، اما با معرفي ديدگاههاي اين متد نسبت به اجزاي سيستم، مرحله دوم توسعه سيستم‌هاي تجـــــاري بـــــا قدرت و اطمينان بيشتري انجام خواهد شد. متد موردنظر، به صورت كامل در ايران شكل گرفته و در چندين پروژه نسبتا بزرگ نيز مـــــورد استفاده قرار گرفته است. نام ايـــــن متد، از كلمات Extreme Method ‌گرفته شده است. در ايـــــن متد، از تكنيك‌هـــــاي پيشرفته برنامه‌نويسي، از جملـــــه برنامـــــه‌نويسي شيءگرا  (Object Oriented) و XML ‌استفاده مي‌شود.
از مزاياي اين متد، مي‌توان به موارد زير اشاره كرد:
1- افزايش سرعت و كاهش زمـــــان اجرا و پياده‌سازي و در نتيجه، كاهش چشمگير هزينه‌هاي توليد
2- امكان كنتـــــرل متمركز روي قسمت‌هـــــاي مختلف سيستـــــم و در نتيجه، انعطاف‌پذيري در اعمال تغييرات به سيستم
3- تقسيم وظايف در بهترين حالت ممكن بين لايه‌هاي مختلف
4- امنيت بيشتر و ارايه اطلاعات به صورت سلسه مراتبي
5- كنترل دسترسي همزمان كاربران به منابع مشترك ‌
در ادامه، اين متد را به طور كامل معرفي خواهيـــــم كرد. البته ارايه كليه مطالب و جزئيات، در يك شماره ميسر نيست; بنابراين، در شماره‌هاي آينده نيز به اين مطلب خواهيم پرداخت. در اين شماره، درباره معماري سيستم بحث خواهيم كرد.
معماري سيستم‌هاي تجاري
معماري يك سيستم تجاري، از دو ديدگاه مورد بررسي قرار مي‌گيرد.
‌(‌ معماري منطقي
‌(‌ معماري فيزيكي
در معماري منطقي، بـــــه صورت خالص مي‌تـــــوان سه لايه در نظر گرفت. (شكل1)

وظيفه لايه Data ‌به عنوان مهم‌ترين لايه، ذخيره‌سازي، پردازش و حفاظت از اطلاعات است. مجموعه‌هـــــاي مختلف، تحت عنـوان DBMS‌، در اين لايه به كار گرفته مي‌شوند. وظيفه DBMS ‌ارائه امكانـــــات مورد نيــــــاز براي ايجاد، مديـــــــريت و نگهداري بانك اطلاعاتـــي است. از جملـــــه DBMS‌هـــــاي معـــــروف، مي‌تـــــوان به Oracle ‌و Microsoft SQL Server‌ اشاره كرد. ‌
وظيفه لايه Business Logic، مشخص كـــــردن قوانين حاكم بر سيستم است. هـر سيستم تجاري شامل قوانين و مقررات خاصي است كه نحوه عملكرد سيستم را سازمان مي‌دهد. درباره پياده سازي ايــــــن لايه، در ادامه توضيحاتي ارائه خواهيم كرد. وظيفه لايه Presentation، عرضه امكانات سيستم به كاربران است. در واقع كاربـــــران سيستــــــم، از طريق اين لايــــــه از امكانات سيستم استفاده خواهند كرد. از زبان‌هــــــاي برنامه‌سازي براي ايجاد اين لايه، تحت عنــــــوان رابط كاربــــــر )User Interface( ‌استفــــــاده مي‌شود. در واقع يك نرم‌افزار براي كاربران ساختـــــه مي‌شود. در سال‌هـــــاي اخير، ساخت ايــــن لايه، به صورت مبتني بر وب بــــــــا كمك ابزارهايي مانند EE2J ‌و ASP.NET‌ رواج پيدا كرده است.
اما در ديدگاه فيزيكي نسبت به لايه‌هاي يك سيستم تجاري، دو سطح سرور ‌و كلاينت در نظر گرفته مي‌شود. (شكل 2)

معماري فوق يكي از معروف‌ترين معماري‌هاي موجود و نوع خاصي از معمـــــاري n-Tier‌ است. از نظر فيزيكـــي يك ســـــرور و چنـــــد كلاينت ‌معمـــــاري كلـــــي را تشكيل خواهنـــــد داد. براي درك بهتر، وضعيت قرار گرفتن لايه‌هاي منطقي در معماري فيزيكي را مورد بحث قرار مي‌دهيم. به شكل3 توجه كنيد:

 در واقـــــع لايـــــه Data ‌در معمـــــاري منطقـــــي، در سطح سرور و لايـــــه Presentation ‌در سطـــــح كـــــلاينت قـــرار مي‌گيرد. اما لايه Business Logic‌ در كجاي معماري فيزيكي واقع مي‌شود؟ اين لايه مي‌تواند از نظر فيزيكي، هم در سطح سرور و هـــــم در سطح كلاينت ‌قرار گيرد (شكل 4.)

در صورتـــــي كـــــه لايـــــه Business Logic‌ در سطـــــح ســـــرور ‌قـــــرار گيـــــرد، معمـــــاري Thin Client‌Fat Server -‌ و بالعكس Thin Server‌Fat Client - ‌ناميده خواهد شد. در واقع در حالت اول، قوانين حاكم بر سيستم در لايه Data ‌اعمال مي‌شود، اما در حالت دوم، از زبان‌هاي برنامه‌نويسي براي اجـــــراي ايـــــن لايه، در سطح كلاينت ‌استفـــــاده مي‌شود. بهتريـــــن حـــــالت بـــــراي لايه Business Logic ‌در معماري فيزيكي، حـــــالت اول است. در واقع بهتر است ايـــــن لايـــــه، در سمت سرور و چسبيـــــده به لايه Data ‌پيـــــاده‌ســـــازي شود. ايـــــن روش نسبت بـــــه روش دوم كـــــه لايـــه Business Logic‌ در سمت كلاينت ‌قرار مي‌گيرد، داراي مزاياي زير است:
1- كنترل متمركز: ‌در واقع زماني كـــــه قوانين سيستـــــم در سمت سرور ‌قرار گيـــــرد، امكان كنترل متمركز روي آنها وجود دارد. همچنين اعمال تغييرات، بدون نياز به تغيير برنامه‌هاي نوشته در سمت كـــــلاينت‌، بـــــه راحتي امكان‌پذير است. بنابرايـــــن با اعمال تغييرات در سرور، كليه كلاينت‌‌ها تحت تاثير قرار خواهند گرفت.
2- ترافيك كمتر: ‌در صورتي كه لايه Business Logic‌در سمت سرور ‌پياده‌سازي شود، نرم‌افزاري كه وظيفه برقـــــراري ارتباط كاربر با سيستم را بر عهده دارد، براي انجام عمليات خاص، فقط يك درخواست به سمت سرور ارسال و پس از انجام پردازش‌هاي مــــــورد نياز توسط سرور‌، جواب درخواست را دريافت مي‌كند. اما در حالتــــــي كه Business Logic‌ در سمت كلاينت ‌قــــــرار بگيرد، ميــــــزان اطلاعاتي كه بين ســــــرور و كلاينت ارسال و دريـــــافت مي‌شود، به دليل پردازش‌هاي مربوط به قوانين سيستم، افزايش چشمگيري خواهد داشت; چــــــرا كه تصميمات بر اساس اطلاعات ذخيــــــره شده در سمت سرور ‌انجام مي‌شود. بنــــــابراين، احتمالا نرم‌افــــــزار موجــــــود در سمت كلاينت‌، در چنــــــدين نوبت اقدام به دريافت اطلاعات از سرور ‌و ارسال اطلاعات به آن خواهد كرد كه اين امر باعث افزايش ترافيك شبكه خواهد شد.
اگرچه ممكن است در سمت سرور‌، حجم پردازش‌ها افزايش يابد، با پيشرفت سخت‌افـــــزار و استفـــــاده از تجهيزات مناسب، مشكل خاصي به وجود نخواهد آمد.

ديدگاه در X-Method‌

در X-Method ‌از معماري Fat Server - Thin Client ‌استفاده مي‌شـــــود. ضمنــــــا در سمـــــت سرور از SQL Server‌ و در سمت كلاينت از Microsoft .NET Framework‌ استفـــــاده مي‌شود. براي پياده‌سازي لايه Business Logic‌ در سمت سرور‌، از زبان T-SQL‌ استفـاده خواهـــــد شد. ضمنا در سمـــــت كلاينت ‌يك لايه جديد، تحت عنوان Business Abstract Layer‌ به وجود خواهد آمد كه نماينده لايه Business Logic‌ در سمــت كلاينت است. در واقع لايه Presentation ‌در سمت كلاينت، از طريق اين لايه با لايه Data‌ كه متشكــل از داده‌هـــــا و قوانين است، ارتباط برقرار خواهد كرد. به شكل 5 كه مشخص كننده معماري فيزيكي و منطقي در X-Method‌است، توجه كنيد:

وظيـــــفـــــه لايـــــه Business Abstract Layer‌، ارائـــــه لايـــــه Business Logic ‌در سمت كــلاينت‌ است. براي پياده‌سازي اين لايه، از Microsoft .NET Framework‌ استفاده خواهد شد. البته براي افزايش سرعت در توليد و ساخت اين لايه، ابزارهايي با عنوان Code Generator‌ به كار مي‌رود. در واقع اين لايه، توسط Code Generator‌ به سرعت توليد و آماده خواهد شد. ‌نحوه ارتباط بين لايه‌ها
يكي از مهم‌ترين قسمت‌هـــــاي هـــــر متـــــد، نحوه ايجاد ارتباط بين لايه‌هـــــاي مختلف سيستـــــم است. در واقـــــع در صورت مشخص نبودن روش، احتمال بروز مشكلات زير وجود خواهد داشت:
1- صرف زمان زياد: ‌بـــــدون روش مشخص، زمان زيادي براي برقراري ارتباط بين لايه‌هاي مختلف صرف مي‌شود. در X-Method‌ از روش‌هاي مشخص و پويا، براي برقراري ارتباط بين لايه‌هاي مختلف استفـــــاده مي‌شود. ايـــــن موضوع ضمـــــن كـــــاهش زمان توسعه، هزينه‌هاي توليد را نيز كاهش خواهد داد.
2- پيچيدگي: ‌به دليل مشخص نبودن روش، استفاده از روش‌هاي مختلف و بروز مشكلات ناشي از آن، پيچيدگي در كليه لايه‌هاي سيستم، افـــــزايش خـــــواهد يافت. بنابرايـــــن، ضمن صرف انرژي بيشتـــــر در هنگـــــام توسعه، مدتي بعـــــد، كار پشتيباني نيز دچار اختلال مي‌شود.
3-عدم كنترل متمركز: ‌تغيير در سيستم‌هاي تجاري، روالي مستمر و هميشگي است. بنابراين در زمان توسعـــــه يا بعد از آن، به دليل استفاده از روش‌هاي مختلف، پيگيري و بررسي تغييرات دچار مشكل خواهد شد. با در نظر گرفتن تجارب عملي، در حالت ايده‌آل، 80 درصد تغييرات كنترل شده و باقيمانده تغييرات، به صورت خطا در سيستم ظاهر خواهد شد.

ديدگاه در X-Method‌

همان‌طور كه عنوان شد، از نظر منطقي در X-Method ‌چهار لايه وجــــود دارد: Data‌، Business Logic‌، Business Abstract ‌و Presentation‌. مبحث ارتبـاط بيـــــن لايه‌هـــــاي مختلف، بيشتر از منظر فيزيكـــــي داراي اهميت است. بنابرايـــــن، بـــــا توجه بـــــه مدل معماري فيزيكي مورد استفاده در X-Method‌، برقراري ارتباط بين دو لايه Business Logic ‌در سمت سرور ‌و Business Abstract‌ در سمت كلاينت‌، از اهميت خاصي برخوردار است; اگرچه نحوه بــــــرقراري ارتباط بيــــــن لايه‌هاي Data‌ و Business ‌و همچنيـــــن Presentation ‌و Business Abstract‌، كاملا مشخص است.
ارتباط بين لايه‌هاي Business‌ و Business Abstract‌
هر گونه ارتباط بين ايـــــن دو لايـــــه، بـــــر مبناي پيامهاي مبتني بر XML‌انجام مي‌شود. روند كلي كار به اين صورت است كـــــه لايه Business Abstract ‌براي انجام امور محتلف، يك درخـــــواست Request(‌) به لايه Business Logic‌ ارسال مي‌كند و لايه Business Logic‌، پس از پردازش درخواست، پاسخ Response(‌) آن را برمي‌گرداند. (شكل 6)

مبدا درخواست، برنامه‌اي است كـــــه توسط .NET Framework ‌ساخته شده و لايه Business Abstract ‌را تشكيل مي‌دهد. مقصد درخواست، يك Stored-Procedure ‌در بانك اطلاعاتي است كه شامل قوانين مربـــــوط به سيستـــــم خواهـــــد بود. در واقع در لايه Business Abstract‌، از زبان‌هاي C# ‌يا Visual Basic.NET ‌و همچنين امكانات ADO.NET‌ و در سمت سرور يـــــا همان لايه Business Logic‌، از زبان T-SQL ‌استفاده مي‌شود. براي درك بهتر اين موضوع، به جزئيات بيشتري درباره دو كلاس Request ‌و Response مي‌پردازيم.

كلاس Request‌

كلاس Request‌ ارائه كننده يك درخواست است; به عنوان مثال، درخـــــواست بـــــراي ثبت اطلاعـــــات يك مشتـــــري يا درخواست براي دريـــــافت فهرست محصولات يك شركت. كلاس Request ‌شامل خصوصيات زير است:

كلاس Response‌

كلاس Response‌، در ارتباط با Request‌ ساخته و ارسال خواهد شد. خصوصيات اين كلاس، در جدول آمده است:

ارتباط بين لايه‌هاي Data ‌و Business Logic‌

به دليل آنكه از نظر فيزيكي، اين دو لايه در سمت سرور ‌قرار دارند و هـــــر دو تـــــوسط Microsoft SQL Server‌ ايجـــــاد مي‌شوند، ارتباط بين اين دو لايه از طريق دستورات T-SQL‌انجام مي‌گيرد.

در واقع تكنيك خاصي براي برقراري ارتباط بين اين دو لايه وجود نـــــدارد; اگر چـــــه انتخـــــاب يـــــك استــاندارد و قالب مشخص براي نامگذاري اشيا، كمك چشمگيري در اين زمينه مي‌كند.

ارتباط بين لايه‌هاي Business Abstract ‌و Presentation‌

لايه Business Abstract‌، شامل كلاس‌هايي است كه امكانات سيستم را ارائه مي‌كند. بنابرايـــــن، لايه Presentation‌ با ساختن نمونه )Instance( ‌از كلاس‌هاي موجـــود، از امكانات اين لايه بهره خواهد برد. در شماره‌هاي آينده، مطالب بيشتري در ارتباط با اين موضوع ارائه خواهد شد.

phorozan@gmail.com فرامرز فروزان  

 

 

 [1]

  29 تعداد بازديد کننده : نفر

نظر درباره مقاله؟

ارسال مقاله 

 پرينت مقاله