واضح آرشیو وب فارسی:سایت ریسک: f-secure19-07-2007, 11:22 PMپنجشنبه، ۲۸ تیرماه ۱۳۸۶ http://www.itna.ir/archives/image/gears.gif همواره آرزوي بزرگ و ديرينه توسعهدهندگان برنامههاي تحت وب ادامه اجراي برنامههايشان در صورت قطع شدن ارتباط از اينترنت بودهاست. اكنون گوگل آمده است كه كابوس چند ساله آنان را به رويايي شيرين تبديل كند! Google Gears http://gears.google.com شهرام انسان- دنياي كامپيوتر و ارتباطات خبر منتشر شد: «محيط برنامهسازي تحتوب آفلاين گوگل ارائه شد.» اگر چه دوستداران تكنولوژيهاي وب به خوبي ميدانند اين اولين تلاش براي ارائه محيطهاي برنامهسازي آفلاين تحت وب نيست اما زماني كه گوگل بزرگ (!) وارد اين گود ميشود به معناي آن است كه تحولاتي فراگير در پيش روست. همواره آرزوي بزرگ و ديرينه توسعهدهندگان برنامههاي تحت وب ادامه اجراي برنامههايشان در صورت قطع شدن ارتباط از اينترنت بودهاست. اكنون گوگل آمده است كه كابوس چند ساله آنان را به رويايي شيرين تبديل كند! http://gears.google.com/images/gears_sm.png تكنولوژي Google Gears كه در حال گذران نسخه آزمايشي (beta) خود است، يك محيط توسعه تحت وب سورس آزاد (open source) است كه امكان ادامه بكارگيري برنامههاي تحت وب بدون وجود ارتباط با كارگزار از طريق شبكه يا اينترنت را فراهم ميسازد. به زبان سادهتر اگر در حالت عادي با قطع ارتباط شبكهاي يا اينترنتي تمامي برنامههاي تحت وب بدون امكان اجرا باقي ميمانند، به كمك اين محيط ميتوان استفاده از برنامه را ادامه داد و در زمان ارتباط مجدد، تغييرات اعمال شده در حالت آفلاين را به كارگزار اصلي منتقل نمود. اين عمل به كمك سه گروه از API ارائه شده به زبان جاوا اسكريپت ميسر شده است: - ذخيرهسازي منابع و ارائه سرويس محلي به برنامه - ذخيرهسازي اطلاعات در يك بانك اطلاعاتي رابطهاي قابل جستوجو به صورت محلي! - امكان اجراي كدهاي غير همزمان (asynchronous) جاوا اسكريپ براي بهبود كارايي برنامه محلي گوگلي معماري ارائه شده در Google Gear را نتيجه آزمون ساختارهاي مختلف براي برنامههاي تحت وب آفلاين خوانده است. اين معماري نكات زير را در مورد هر برنامه مشخص ميكند: جداسازي لايه داده در بيشتر برنامههاي تحت وب امروزي لايهاي به نام لايه داده در سرويس گيرنده (client) وجود ندارد. 1. جداسازي لايه داده 2. تصميمگيري در مورد اينكه چه قابليتهايي از برنامه در حالت آفلاين پيادهسازي شوند. (استراتژي اتصال) 3. تصميمگيري در مورد عملكرد modality برنامه 4. پيادهسازي همزماني (يكسانسازي) اطلاعات http://www.itna.ir/archives/image/figure_1.gif شكل 1 – در سرويس گيرنده لايه داده وجود ندارد در اين حالت كد AJAX (كد جاوا اسكريپتي كه به صورت ديناميك اطلاعات موردنياز صفحه را از سرويسدهنده فرا ميخواند) مستقيما سرويسهاي ارائه شده در سمت سرويسدهنده را فراخوانده و به اطلاعات دست مييابد. در اين حالت توابع API كه سرويسدهنده به كد AJAX سرويس گيرنده ارائه ميدهد، نقش لايه داده را بازي ميكند. اضافه نمودن لايه داده در حالت كلي اضافه نمودن لايه داده، قدم اول است. زماني كه يك لايه ذخيرهسازي محلي داده در سرويس گيرنده پيشبيني شود، يك درگاه واحد براي گذراندن تمام اطلاعات ورودي يا خروجي در اختيار خواهيم داشت. http://www.itna.ir/archives/image/figure_2.gif شكل 2 – لايه داده در سمت سرويس گيرنده (Client) به عنوان مثال اگر كد AJAX به صورت سنتي براي به دست آوردن اطلاعات حسابهاي مشتريان به صورت مستقيم يك سرويس از سرويس دهنده را فراخواني مينمود، در حالت جديد اين فراخواني از طريق يك ماژول واسط انجام خواهد پذيرفت. در اين حالت اين ماژول تصميم خواهد گرفت كه اطلاعات حساب مشتريان را از سرويس دهنده از طريق اينترنت يا از ذخيرهسازي محلي در سرويس گيرنده فراخواني كند. به صورت مشابه زماني كه برنامه درخواست بهروزرساني اطلاعات حساب يك مشتري را ميدهد، اين كار به ماژول واسط واگذار ميشود. ماژول واسط ميتواند تصميم بگيرد كه اطلاعات را به صورت محلي ذخيره كند يا براي ذخيره بلافاصله به سرويس دهنده بفرستد يا نهايتا انجام اين كار را به كمك توابع همزمانسازي برنامهريزي نمايد. ميتوان تصور نمود كه ماژول واسط همانند يك سوئيچ داده عمل ميكند. در حالت اول كليه ارتباطات داده با سرويس دهنده به صورت عادي انجام ميشود. اين همان حالتي كه Google Gears وجود ندارد يا هنوز انجام عمليات آفلاين از سوي كاربر درخواست نشدهاست. http://www.itna.ir/archives/image/figure_3.gif شكل 3 – لايه سوئيچ داده حالت دوم همانگونه كه در شكل 4 نمايش داده شده است، ساخت يك لايه داده محلي است؛ كه به جاي اتصال به بانك اطلاعاتي سرويس دهنده از بانك اطلاعاتي محلي Google Gears استفاده مينمايد. در اين حالت لايه داده همان رابط Interface را خواهد داشت كه در ارتباط با سرويسهاي سرويس دهنده از اينترنت بكار گرفته ميشد. http://www.itna.ir/archives/image/figure_4.gif شكل 4 – لايه داده محلي قابليتهاي برنامه در حالت آفلاين به دلايل تكنيكي ممكن است هر قابليتي از برنامه امكان اجرا در حالت آفلاين را نداشته باشد. در اين قسمت بايد قابليتهايي كه نياز به پيادهسازي براي اجرا در حالت آفلاين را دارند تعيين شده و تصميمگيري در مورد زمانهاي اتصال و قطع از سرويس دهنده انجام شود. تصميمگيري در مورد اينگونه ايجاد ارتباط يا قطع شدن را استراتژي اتصال مينامند. ممكن است يك تفكر اين باشد كه استفاده از ذخيرهسازي محلي به علت سرعت بالاي آن هميشه يك راه حل مناسب است؛ اما دلايل بسياري وجود دارد كه نياز يا اجبار براي اتصال به سرويس دهنده و دسترسي به اطلاعات آن اجتنابناپذير باشد: - ممكن است طبيعت اطلاعات آنچنان زودگذر باشد كه امكان ذخيرهسازي و نگهداري محلي آنها نباشد. به عنوان مثال برنامهاي كه سود لحظهاي بازار سهام را محاسبه ميكند. - اطلاعات برخي از برنامهها فقط در حالت آنلاين داراي معني هستند. مانند اطلاعات برنامههاي پيامرسان همانند ياهو مسنجر. - ممكن است برنامه فقط نياز به ذخيره محلي اطلاعاتي را داشته باشد كه دسترسي متناوب به آنها نياز است. - ممكن است محدوديتهاي محاسباتي يا ذخيرهسازي امكان اجراي آفلاين يك قابليت از برنامه را منتفي سازد. در حالت كلي، راهحل بهينه آن است كه تا حد ممكن اطلاعات به صورت محلي ذخيرهسازي شوند. با اين وجود هر چه برنامه كار بيشتري را به صورت محلي و آفلاين انجام دهد، كد بيشتري براي اضافه نمودن اين قابليتها نياز است. بنابراين انجام مقايسه بين نيازمندي و هزينه توليد براي دست يافتن به مرز نهايي كارساز است. Modality يك سوال اساسي كه تمام برنامههاي آفلاين بايد پاسخي براي آن داشته باشند، بحث Modality است. برنامههاي modal حالت آفلاين مشخصي در برابر حالت آنلاين دارند كه معمولا در رابط كاربري آنها به خوبي نمايش داده ميشود. كاربر به خوبي از حالت جاري برنامه آگاهي دارد و حتي در بعضي از موارد در تصميمگيري براي تغيير حالت برنامه از آفلاين به آنلاين و بالعكس شركت ميكند. برنامههاي modeless سعي در گذر از حالت آفلاين به آنلاين بدون تغييرات آشكار در ظاهر و رابط كاربري خود دارند. كاربر نيازي به سهيم شدن در عمليات تغيير حالت نداشته و اين امر به صورت خودكار صورت ميپذيرد. همزمان سازي اطلاعات بدون توجه به آنكه چه نوع استراتژي اتصال يا modality بكار برده باشيد، دادههاي محلي شما نسبت به سرويسدهنده اصلي متفاوت خواهند شد. برطرف نمودن اين تغييرات كه ناشي از انجام ورود و تغييرات اطلاعات از طرف كاربر است همگاهسازي خوانده ميشود. راههاي متفاوتي براي انجام همگاهسازي وجود دارد كه بسته به شرايط خاص برنامه انتخاب ميشوند. همگاهسازي دستي در اين حالت كه سادهترين روش همگاهسازي محسوب ميشود، كاربر در مورد زمان همگاهسازي تصميم گرفته و اين عمل بنابر دستور كاربر انجام ميشود. در اين حالت كليه اطلاعات ذخيرهشده محلي به سرويس دهنده ارسال شده (upload) و پس از آن نسخه به روز شده همان اطلاعات از سرويس دهنده دريافت (download) و در بانك داده محلي ذخيره ميشود. همگاهسازي در پسزمينه در اين روش برنامه به صورت مداوم اطلاعات را بين سرويسدهنده و سرويسگيرنده همگاه ميكند. بنابراين اطلاعات به روز شده هميشه مهيا است كه اگر ناگهاني اتصال به سرويس دهنده قطع شود امكان ادامه عمليات به صورت آفلاين فراهم باشد. علاوه بر اين كارايي برنامه به خصوص در حالتي كه سرعت اينترنت كند است در حد قابل قبولي باقي ميماند. اين حالت در شكل 5 به تصوير كشيده شدهاست. http://www.itna.ir/archives/image/figure_5.gif شكل 5 – معماري همگاهسازي در پسزمينه جمعبندي روشها و طراحيهاي متنوعي براي اجرا و پيادهسازي يك برنامه تحت وب به صورت آفلاين وجود دارد. گوگل در محيط Google Gears سعي در ارائه راهحلي ساده و كارا با قابليت بكارگيري عملي در برنامههاي پيادهسازي شده سنتي تحت وب داشته است. منتظر ارائه نسخه نهايي اين محصول هستيم. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! godsmak20-07-2007, 12:01 AMدوست عزیز ممنون از خبری که دادید. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 328]