جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
معماري برنامه هاي مبتني بر داده
-(1 Body) 
معماري برنامه هاي مبتني بر داده
Visitor 464
Category: دنياي فن آوري
داده ها در برنامه هاي کامپيوتري داراي نقشي بسيار مهم بوده و همواره نحوه ذخيره و بازيابي آنان از مهمترين مباحث در دنياي گسترده نرم افزار بوده و خواهد بود. فراموش نکنيم که هدف از ذخيره سازي داده ها، بازيابي آنان در زمان مناسب و با سرعت مطلوب است .روش هاي ذخيره سازي داده ها در بستر زمان، دچار تغيير و تحولات گسترده اي شده و با ظهور پديده اينترنت و ضرورت طراحي و پياده سازي نرم افزار بر روي بستر فوق وارد مرحله جديدي شده است. در اين مقاله به بررسي معماري برنامه هاي کامپيوتري با محوريت داده پرداخته و گزينه هاي ذخيره سازي داده ها بررسي مي گردد .

ذخيره سازي داده

ذخيره سازي داده ها ، روشي بمنظور ذخيره اقلام متفاوتي از اطلاعات در کنار يکديگر با هدف تشکيل يک واحد اطلاعاتي منسجم و يکپارچه است. اقلام اطلاعاتي منفرد،به تنهائي کمتر مورد استفاده قرار مي گيرند. اطلاعات مورد نظر زماني بعنوان منابع اطلاعاتي با ارزش مطرح خواهند بود که ما قادر به ذخيره سازي آنان درساختاري مناسب و همراه با ساير اقلام اطلاعاتي باشيم .
براي ذخيره سازي داده ها از روش هاي متعددي استفاده مي گردد :
• غير ساختيافته . در اين روش، داده ها داراي هيچگونه ساختاري نمي باشند ( نظير Memo هاي ساده )
• ساختيافته - غير رابطه اي . داده ها بصورت واحدهاي مجزاء قرار مي گيرند. سازماندهي واحدها عموما" با توجه به اولويت استقرار آنها تعيين مي گردد . فايل هاي CSV)Comma Separated value) و يا فايل هائي که محتويات آنان توسط Tab از يکديگر جدا مي شوند، فايل هاي صفحات گسترده نظير Excel ، فايل هاي سرويس دهنده Exchange ، فايل هاي Active Directory ، فايل هاي ISAM(Indexd sequential access method )، نمونه هائي در اين زمينه مي باشند .
• سلسله مراتبي . در اين روش، داده ها بصورت يک ساختار درختي سازماندهي مي گردند. هر درخت داراي مجموعه اي از گره بوده که هر گره خود مي تواند شامل چندين گره ديگر باشد .سندهاي داده XML ، نمونه اي از اين مورد است .
• بانک هاي اطلاعاتي رابطه اي . در روش فوق، داده ها در جداولي سازماندهي مي گردند . ستون ها در جدول شامل يک نوع خاص داده بوده و سطرها شامل رکورد خاصي از اطلاعات مي باشند . جداول مي توانند از طريق ستون هاي خاصي بيکديگر مرتبط تا امکان استفاده از داده هاي مشترک ( يکسان ) بين آنها فراهم گردد. سرويس دهنده SQL ، بانک اطلاعاتي Access و بانک اطلاعاتي Oracle نمونه هائي در اين زمينه مي باشد .
• بانک اطلاعاتي شي گراء . در اين روش، داده ها بصورت مجموعه اي از اشياء سازماندهي مي شوند . نظير Objectivity/DB

محيط هاي متصل (Connected)

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

معايب :

• مي بايست يک اتصال پيوسته با شبکه وجود داشته باشد .
• توسعه سيستم، داراي چالش هاي خاص خود است .
مثال :
• کارخانه اي که نيازمند يک اتصال دائم و هميشگي با سرويس دهنده مربوطه بمنظور مديريت و آگاهي از آخرين وضعيت محصولات ورودي و خروجي به انبار مربوطه است.
• يک بنگاه تجاري که نيازمند يک اتصال دائم بمنظور آگاهي از آخرين وضعيت اطلاعاتي در رابطه با تعداد و قيمت سهام است .

محيط هاي غيرمتصل (Disconnected )

همزمان با پيدايش اينترنت، سناريوي عمليات غير متصل به امري عادي تبديل شده است . بموازات افزايش استفاده از دستگاههاي handheld ، رويکرد فوق ، بسيار متداول و مورد توجه قرار گرفته است .Laptop ,Notebook و ساير کامپيوترهاي قابل حمل، اين امکان را بدست آورده اند که از برنامه ها حتي در موارديکه ارتباطي با سرويس دهنده و يا بانک اطلاعاتي وجود ندارد ، بتوان استفاده نمود. در اغلب حالات، افراد بصورت کامل در يک محيط متصل و يا غير متصل کار نمي کنند، بلکه محيط استفاده شده تلفيقي از دو رويکرد فوق است . يک محيط غير متصل ،محيطي است که بر اساس آن کاربر و يا يک برنامه بصورت پيوسته به يک منبع داده مرتبط و متصل نخواهد بود. کاربران موبايل که با Laptop کار مي کنند، اولين کاربران در محيط هاي غير متصل مي باشند . کاربران مي توانند زير مجموعه اي از داده ها را دريافت و در يک کامپيوتر غير متصل مستقر و پس از اعمال تغييرات لازم مجددا" آنان را به محل مرکزي ذخيره سازي داده ها ، ارسال نمايند .

مزايا :

• قابليت انجام عمليات و فعاليت هاي مورد نياز در زمان دلخواه و ارتباط با منبع داده در زماني ديگر بمنظور پردارش
• ساير کاربران مي توانند از ارتباط استفاده نمايند .( بهينه سازي اتصالات همزمان به يک منبع داده )
• بهبود در کارآئي و توسعه برنامه

معايب :

• داده ها همواره بهنگام نخواهند بود .
• تغييرات اعمال شده مي تواند باعث بروز تناقص اطلاعاتي شده و مي بايست اقدامات لازم در اين خصوص ، پيش بيني گردد .
مثال :
• در يک سيستم مالياتي ، ضرائب مالياتي ممکن است طي يک سال و يا حتي چندين سا ل يک مرتبه تغيير نمايند ، بنابراين اصلاح جداول در بانک اطلاعاتي مربوطه ، مي تواند بصورت غيرمتصل و در زمان مورد نياز انجام پذيرد.

مدل هاي متفاوت برنامه ها براي دستيابي به داده ها

مدل هاي دستيابي به داده ، همزمان با تکامل تدريجي کامپيوتر نيز متحول و دگرگون شده است ( از بشدت محلي بودن تا بشدت توزيع شده ) . همزمان با افزايش کاربران و حجم اطلاعات ، مدل دستيابي به داده از يک کاربر در رابطه با يک برنامه به چندين کاربر از طريق اينترنت، گسترش پيدا کرده است . آخرين تحول در اين راستا به مدل مبتني بر سرويس هاي وب XML ، بر مي گردد .
تعريف Tire : در يک مدل دستيابي به داده ، Tire ( رديف - طبقه ) ، يک سطح منطقي و يا لايه اي است که عناصر منطقي مربوط به يک برنامه بر روي آن مستقر مي گردند( نه يک tire فيزيکي). . طبقات ( لايه ها ) ، مي تواند بر روي يک و يا چندين کامپيوتر و يا حتي Tire فيزيکي، مستقر گردند . تعداد Tire ها به تعداد سطوح بر مي گردد( نه تعداد کامپيوترهاي فيزيکي که سرويس ها را تقسيم نموده اند) . اين سطوح عموما" داراي موارد زير است :
• Client-tire . لايه فوق ، با نام Presentation و يا User Service نيز ناميده شده و شامل بخش رابط کاربر است .
• Bussiness Logic Tire . شامل منطقي است که با منابع داده مرتبط مي گردد . اين Tire مياني (Middle) ، شامل بخشي از برنامه است که با داده ها مرتبط مي گردد ( مثلا" ايجاد يک ارتباط با منبع داده). لايه فوق، اغلب بصورت فيزيکي و در تمام لايه ها پياده سازي مي گردد . مثلا" بعنوان يک Stored Procedure در کنار منبع داده، يک کلاس همراه يک سرويس دهنده برنامه و يا حتي کدهاي همراه برنامه سرويس گيرنده .
• Data Service Tire . لايه فوق ، شامل داده هائي است که Bussiness Logic از آنان در برنامه ها استفاده مي نمايد .
• Interoperability . شامل منطقي است که امکان ارتباط بين برنامه هاي متعدد بر روي سيستم هاي عامل متفاوت و يا انواع متفاوت داده ها را فراهم مي نمايد. مثلا" سرويس هاي وب XML مي توانند توسط هر نوع سيستم عامل، ميزبان و استفاده گردند .

مزاياي Tires

مهمترين مزيت افزودن Tire ، قابليت گسترش و توسعه يک برنامه است . هر Tire اضافه، امکان افزودن کاربران بيشتر و ايزوله نمودن يک سطح از منطق برنامه را فراهم مي نمايد . ايزوله نمودن منطق، اين امکان را فراهم مي نمايد که تغييرات لازم در يک برنامه بدون نياز به اعمال تغييرات در ساير Tier ها ، صورت پذيرد. مثلا" در يک برنامه One-tire ، اعمال تغيير در هر سطح از منطق برنامه، مستلزم ترجمه مجدد برنامه و توزيع آن خواهد بود .

تکامل مدل هاي دستيابي

مدل هاي متفاوت دستيابي به داده به مرور زمان دچار تحول شده است .
• One -Tire . مدل فوق، عموما" شامل يک کاربر بوده و تمامي سه لايه در يک کامپيوتر مستقر ( لايه بندي ) مي شوند . مثلا" يک بانک اطلاعاتي شامل يک کاربر
مزايا : چون هر چيز در يک محل قرار مي گيرد تمام عناصر بسادگي قابل دستيابي خواهند بود.
معايب : بهنگام سازي برنامه ها مستلزم کدهاي اوليه برنامه بوده و پس از اعمال تغييرات و ترجمه مجدد ، مي بايست برنامه براي هر يک از کاربران ارسال مجدد گردد. در اين مدل قابليت واقعي براي گسترش وجود ندارد .
• Two-Tire . لايه User و Business Logic در يک Tire قرار گرفته و Data Service در لايه دوم قرار خواهد گرفت . مدل فوق، عموما" شامل دو و يا بيش از دو کامپيوتر است . مثلا" يک بانک اطلاعاتي که Businesses Logic بين دو Tire تقسيم مي گردد . بخشي از منطق در برنامه سرويس گيرنده و بخشي ديگر بعنوان Stored procedure در Data Tire ذخيره مي گردد.
مزايا : برخي از جداسازي ها را ارائه مي نمايد .
معايب : توسعه مشکل خواهد بود، چراکه سرويس گيرندگان بصورت يک Fat Client مطرح و شامل لايه هاي Presentation و Business Logic مي باشند. توزيع و پشتباني نرم افزار يکي ديگر از مشکلات موجود در اين مدل است .
• Three-Tire . هر سرويس در يک لايه مجزا قرار مي گيرد. Bussiness Logic در يک Middle Tire جديد مستقر مي گردد.
مزايا : نوع مطلوبي از جدا سازي را ايجاد نموده و حجم سرويس گيرنده نازک( لاغر!) مي شود . در اين مدل سرويس گيرنده بصورت thin client بوده که صرفا" شامل منطق و يا لايه Presentation است.
معايب : مديريت آن بمراتب پيچيده تر بوده و از لحاظ امنيتي انعطاف و توسعه پذيري مدل N - Tier را ندارد .
• N - Tire . يک بانک اطلاعاتي گسترده که داراي سرويس گيرندگان متعدد از طريق يک سرويس دهنده برنامه مي باشد . Tier هاي جديد مي تواند با توجه به ضرورت هاي منطقي مورد نياز، اضافه گردد .
مزايا : امکان اجراي برنامه هاي متعدد بر روي سيستم هاي عامل گوناگون بمنظور ارتباط با کاربر و داده فراهم مي گردد .
معايب : مسايل مربوط به امنيت داراي چالش هاي خاص خود است . RPC)Remote Procedure Call) نمي تواند از طريق فايروال ها ،عبور داده شوند .
• N-Tire with web Interface . سرويس ها بين اينترنت و اينترانت از طريق Tier اضافه سرويس دهندگان اختصاصي اضافه در شبکه، توزيع مي گردد .
مزايا : هزينه بکارگيري نرم افزار بر روي سرويس گيرنده بسمت صفر ميل مي کند . بهنگام سازي صرفا" بر روي سرويس دهندگان WEB و Application انجام خواهد شد . پروتکل HTTP امکان عبور از طريق فايروال را خواهند داشت .
معايب : داراي چالش هاي امنيتي خاص خود است .
در پايان لازم است به اين نکته اشاره گردد که با افزايش Tier ها ، از يکطرف امکان گسترش برنامه بيشتر شده و از طرف ديگر، پيچيدگي مدل دستيابي به داده ها ، افزايش مي يابد.
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image