معماری برنامه های مبتنی بر داده

معماری برنامه های مبتنی بر دادهکامپیوتر و موبایل
داده ها در برنامه های کامپیوتری دارای نقشی بسیار مهم بوده و همواره نحوه ذخیره و بازیابی آنان از مهمترین مباحث در دنیای گسترده نرم افزار بوده و خواهد بود.فراموش نکنیم که هدف از ذخیره سازی داده ها، بازیابی آنان در زمان مناسب و با سرعت مطلوب است .روش های ذخیره سازی داده ها در […]
داده ها در برنامه های کامپیوتری دارای نقشی بسیار مهم بوده و همواره نحوه ذخیره و بازیابی آنان از مهمترین
مباحث در دنیای گسترده نرم افزار بوده و خواهد بود.
فراموش نکنیم که هدف از ذخیره سازی داده ها، بازیابی آنان در زمان مناسب و با سرعت مطلوب است .
روش های ذخیره سازی داده ها در بستر زمان، دچار تغییر و تحولات گسترده ای شده و با ظهور پدیده
اینترنت و ضرورت طراحی و پیاده سازی نرم افزار بر روی بستر فوق وارد مرحله جدیدی شده است.
در این مقاله به بررسی معماری برنامه های کامپیوتری با محوریت داده پرداخته و گزینه های ذخیره سازی داده ها
بررسی می گردد .
●ذخیره سازی داده ذخیره سازی داده ها ، روشی بمنظور ذخیره اقلام متفاوتی از اطلاعات در کنار یکدیگر با هدف
تشکیل یک واحد اطلاعاتی منسجم و یکپارچه است.
اقلام اطلاعاتی منفرد،به تنهائی کمتر مورد استفاده قرار می گیرند.
اطلاعات مورد نظر زمانی بعنوان منابع اطلاعاتی با ارزش مطرح خواهند بود که ما قادر به ذخیره سازی آنان درساختاری
مناسب و همراه با سایر اقلام اطلاعاتی باشیم .
برای ذخیره سازی داده ها از روش های متعددی استفاده می گردد : ▪غیر ساختیافته .
در این روش، داده ها دارای هیچگونه ساختاری نمی باشند ( نظیر 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 ها ، از یکطرف امکان گسترش برنامه
بیشتر شده و از طرف دیگر، پیچیدگی مدل دستیابی به داده ها ، افزایش می یابد.
شرکت سخا روش
2011-07-04 / گردآوری:

نو عروس

دکتر طاهری

مسابقه گردشگری

نظر خود را بنویسید-نظرات کاربران (۰)
فیلم پرشین وی
چرا چاپ عکس آنلاین بهتر است؟چرا چاپ عکس آنلاین بهتر است؟
آموزش ساختن یک پست الکترونیکی در چند ثانیهآموزش ساختن یک پست الکترونیکی در چند ثانیه
همه ی کدهای شگفت انگیز را یاد بگیرید!همه ی کدهای شگفت انگیز را یاد بگیرید!
آموزش عکس گرفتن از صفحه کامپیوترآموزش عکس گرفتن از صفحه کامپیوتر
ترفند نوشتن اعداد کسری در Wordترفند نوشتن اعداد کسری در Word
آشنایی با کلیدهای اصلی کیبوردآشنایی با کلیدهای اصلی کیبورد
روش نصب بلوتوث روی کامپیوترروش نصب بلوتوث روی کامپیوتر
ترفند ادامه دانلود قطع شدهترفند ادامه دانلود قطع شده
ایجاد یک شورتکات برای قفل کردن کامپیوترایجاد یک شورتکات برای قفل کردن کامپیوتر
گوشی خود را چگونه به صفحه دسکتاپ کامپیوتر تبدیل کنیم؟گوشی خود را چگونه به صفحه دسکتاپ کامپیوتر تبدیل کنیم؟
آموزش پیدا کردن گوشی گمشده ی خود!+تصاویرآموزش پیدا کردن گوشی گمشده ی خود!+تصاویر
چگونه با کیبرد راست کلیک کنیمچگونه با کیبرد راست کلیک کنیم
اپلیکیشن های پولی آیفون که فعلا رایگان شده اند را بشناسیداپلیکیشن های پولی آیفون که فعلا رایگان شده اند را بشناسید
چگونه IP خودمان را عوض کنیمچگونه IP خودمان را عوض کنیم
برطرف کردن مشکل باز نشدن ایمیل یاهوبرطرف کردن مشکل باز نشدن ایمیل یاهو
اطلاعات فلش را چگونه برگردانیم؟اطلاعات فلش را چگونه برگردانیم؟
گلکسی نوت ۷ و علت اصلی آتش گرفتن آن!گلکسی نوت ۷ و علت اصلی آتش گرفتن آن!
ترفندی برای ذخیره تصاویر اینستاگرام با کیفیت بالا!ترفندی برای ذخیره تصاویر اینستاگرام با کیفیت بالا!
کار با کامپیوتر | نکاتی مفید در مورد کار با کامپیوتر که باید بدانیدکار با کامپیوتر | نکاتی مفید در مورد کار با کامپیوتر که باید بدانید
کامپیوتر خود را به شکل اتوماتیک و در زمان دلخواه روشن کنید(ترفند)کامپیوتر خود را به شکل اتوماتیک و در زمان دلخواه روشن کنید(ترفند)
بازیابی کد امنیتی گوشی های نوکیا بدون عملیات فلش !بازیابی کد امنیتی گوشی های نوکیا بدون عملیات فلش !
رفع مشکل بوت نشدن ویندوز به طور کاملرفع مشکل بوت نشدن ویندوز به طور کامل
سامسونگ گلکسی m30 و معرفی ویژگی ها و قیمت آنسامسونگ گلکسی m30 و معرفی ویژگی ها و قیمت آن
باتری گوشی ها به چه دلایلی آتش میگیرند و یا منفجر میشوند؟باتری گوشی ها به چه دلایلی آتش میگیرند و یا منفجر میشوند؟
رفع مشکل دوربین وب کم لپ تاپرفع مشکل دوربین وب کم لپ تاپ
آیا “ریست فکتوری” موبایل باعث حذف اطلاعات می‌شود!آیا “ریست فکتوری” موبایل باعث حذف اطلاعات می‌شود!
آموزش قفل کردن کامپیوتر برای حفاظت از آنآموزش قفل کردن کامپیوتر برای حفاظت از آن
نحوه یافتن آدرس IP مودمنحوه یافتن آدرس IP مودم
آموزش تعیین و تغییر زمان خواب رفتن ویندوز!+تصاویرآموزش تعیین و تغییر زمان خواب رفتن ویندوز!+تصاویر
صفحه نمایش‌های مولتی تاچ و کار با آن + تصاویر آموزشیصفحه نمایش‌های مولتی تاچ و کار با آن + تصاویر آموزشی
آموزش پین کردن پیام های مهم در تلگرام ! + تصاویرآموزش پین کردن پیام های مهم در تلگرام ! + تصاویر
چرا چاپ عکس آنلاین بهتر است؟چرا چاپ عکس آنلاین بهتر است؟
با کمک سایت پیچاپ عکس هایتان را در کمترین زمان چاپ کنید و درب منزل تحویل بگیرید .
سوژه های روز رو این جا ببینید !
به آسانی 8 میلیون تومن برنده شوید !
یک عروسی رویایی داشته باشید ! | بهترین ها را اینجا ببینید
زیبایی اندام خانم ها( جمع کردن باسن و بالا کشیدن سینه ) در زمانی کوتاه
آشنایی با گوشی گلگسی نوت ۱۰ از نوع طراحی تا قابلیت های آن
رفع مشکل بوت نشدن ویندوز به طور کامل
آشنایی با مشخصات و ویژگی های گوشی Redmi Pro 2
بازیابی کد امنیتی گوشی های نوکیا بدون عملیات فلش !
آشنایی با جدیدترین تبلت هواوی به نام تبلت Honor Tab 5
نحوه یافتن آدرس IP مودم
چگونه با کیبرد راست کلیک کنیم
ترفند نوشتن اعداد کسری در Word
گوشی تاشو هوشمند هواوی و آشنایی با مشخصات آن
نحوه پاک کردن حافظه پنهان گوشی آیفون
معرفی باریک ترین تبلت سامسونگ و ویژگی های آن
رفع مشکل دوربین وب کم لپ تاپ
سامسونگ گلکسی m30 و معرفی ویژگی ها و قیمت آن
روش نصب بلوتوث روی کامپیوتر
آموزش عکس گرفتن از صفحه کامپیوتر
فال روزانه
تعبیر خواب