شنبه, ۸ اردیبهشت, ۱۴۰۳ / 27 April, 2024
مجله ویستا

برنامه سازی آفلاین تحت وب


برنامه سازی آفلاین تحت وب
همواره آرزوی بزرگ و دیرینه توسعه دهندگان برنامه های تحت وب ادامه اجرای برنامه هایشان در صورت قطع شدن ارتباط از اینترنت بوده است. اكنون گوگل آمده است كه كابوس چند ساله آنان را به رویایی شیرین تبدیل كند!خبر منتشر شد: «محیط برنامه سازی تحت وب آفلاین گوگل ارائه شد.» اگر چه دوستداران تكنولوژی های وب به خوبی می دانند این اولین تلاش برای ارائه محیط های برنامه سازی آفلاین تحت وب نیست اما زمانی كه گوگل بزرگ وارد این گود می شود به معنای آن است كه تحولاتی فراگیر در پیش روست.
همواره آرزوی بزرگ و دیرینه توسعه دهندگان برنامه های تحت وب ادامه اجرای برنامه هایشان در صورت قطع شدن ارتباط از اینترنت بوده است. اكنون گوگل آمده است كه كابوس چند ساله آنان را به رویایی شیرین تبدیل كند!تكنولوژی Google Gears كه در حال گذران نسخه آزمایشی (beta) خود است، یك محیط توسعه تحت وب سورس آزاد (open source) است كه امكان ادامه بكارگیری برنامه های تحت وب بدون وجود ارتباط با كارگزار از طریق شبكه یا اینترنت را فراهم می سازد.
به زبان ساده تر اگر در حالت عادی با قطع ارتباط شبكه ای یا اینترنتی تمامی برنامه های تحت وب بدون امكان اجرا باقی می مانند، به كمك این محیط می توان استفاده از برنامه را ادامه داد و در زمان ارتباط مجدد، تغییرات اعمال شده در حالت آفلاین را به كارگزار اصلی منتقل نمود.این عمل به كمك سه گروه از API ارائه شده به زبان جاوا اسكریپت میسر شده است:
▪ ذخیره سازی منابع و ارائه سرویس محلی به برنامه
▪ ذخیره سازی اطلاعات در یك بانك اطلاعاتی رابطه ای قابل جست وجو به صورت محلی!
▪ امكان اجرای كدهای غیر هم زمان (asynchronous) جاوا اسكریپ برای بهبود كارایی برنامه محلی
گوگل معماری ارائه شده در Google Gear را نتیجه آزمون ساختارهای مختلف برای برنامه های تحت وب آفلاین خوانده است. این معماری نكات زیر را در مورد هر برنامه مشخص می كند:
۱) جداسازی لایه داده
۲) تصمیم گیری در مورد اینكه چه قابلیت هایی از برنامه در حالت آفلاین پیاده سازی شوند. (استراتژی اتصال)
۳) تصمیم گیری در مورد عملكرد modality برنامه
۴) پیاده سازی همزمانی (یكسان سازی) اطلاعات
● جداسازی لایه داده
در بیشتر برنامه های تحت وب امروزی لایه ای به نام لایه داده در سرویس گیرنده (client) وجود ندارد.در این حالت كد AJAX (كد جاوا اسكریپتی كه به صورت دینامیك اطلاعات موردنیاز صفحه را از سرویس دهنده فرا می خواند) مستقیما سرویس های ارائه شده در سمت سرویس دهنده را فراخوانده و به اطلاعات دست می یابد. در این حالت توابع API كه سرویس دهنده به كد AJAX سرویس گیرنده ارائه می دهد، نقش لایه داده را بازی می كند.
● اضافه نمودن لایه داده
در حالت كلی اضافه نمودن لایه داده، قدم اول است. زمانی كه یك لایه ذخیره سازی محلی داده در سرویس گیرنده پیش بینی شود، یك درگاه واحد برای گذراندن تمام اطلاعات ورودی یا خروجی در اختیار خواهیم داشت.
به عنوان مثال اگر كد AJAX به صورت سنتی برای به دست آوردن اطلاعات حساب های مشتریان به صورت مستقیم یك سرویس از سرویس دهنده را فراخوانی می نمود، در حالت جدید این فراخوانی از طریق یك ماژول واسط انجام خواهد پذیرفت.
در این حالت این ماژول تصمیم خواهد گرفت كه اطلاعات حساب مشتریان را از سرویس دهنده از طریق اینترنت یا از ذخیره سازی محلی در سرویس گیرنده فراخوانی كند.به صورت مشابه زمانی كه برنامه درخواست به روزرسانی اطلاعات حساب یك مشتری را می دهد، این كار به ماژول واسط واگذار می شود. ماژول واسط می تواند تصمیم بگیرد كه اطلاعات را به صورت محلی ذخیره كند یا برای ذخیره بلافاصله به سرویس دهنده بفرستد یا نهایتا انجام این كار را به كمك توابع همزمان سازی برنامه ریزی نماید.می توان تصور نمود كه ماژول واسط همانند یك سوئیچ داده عمل می كند.
در حالت اول كلیه ارتباطات داده با سرویس دهنده به صورت عادی انجام می شود. این همان حالتی كه Google Gears وجود ندارد یا هنوز انجام عملیات آفلاین از سوی كاربر درخواست نشده است.حالت دوم، ساخت یك لایه داده محلی است؛ كه به جای اتصال به بانك اطلاعاتی سرویس دهنده از بانك اطلاعاتی محلی Google Gears استفاده می نماید.
در این حالت لایه داده همان رابط Interface را خواهد داشت كه در ارتباط با سرویس های سرویس دهنده از اینترنت بكار گرفته می شد.قابلیت های برنامه در حالت آفلاین به دلایل تكنیكی ممكن است هر قابلیتی از برنامه امكان اجرا در حالت آفلاین را نداشته باشد. در این قسمت باید قابلیت هایی كه نیاز به پیاده سازی برای اجرا در حالت آفلاین را دارند تعیین شده و تصمیم گیری در مورد زمان های اتصال و قطع از سرویس دهنده انجام شود.
تصمیم گیری در مورد این گونه ایجاد ارتباط یا قطع شدن را استراتژی اتصال می نامند. ممكن است یك تفكر این باشد كه استفاده از ذخیره سازی محلی به علت سرعت بالای آن همیشه یك راه حل مناسب است؛ اما دلایل بسیاری وجود دارد كه نیاز یا اجبار برای اتصال به سرویس دهنده و دسترسی به اطلاعات آن اجتناب ناپذیر باشد.
منبع : روزنامه ابرار


همچنین مشاهده کنید