google gears


همواره آرزوی بزرگ و دیرینه توسعه‌دهندگان برنامه‌های تحت وب ادامه اجرای برنامه‌هایشان در صورت قطع شدن ارتباط از اینترنت بوده‌است. اکنون گوگل آمده ‌است که کابوس چند ساله آنان را به رویایی شیرین تبدیل کند!













Google Gears
شهرام انسان- دنیای کامپیوتر و ارتباطات
خبر منتشر شد: «محیط برنامه‌سازی تحت‌وب آفلاین گوگل ارائه شد.» اگر چه دوستداران تکنولوژی‌های وب به خوبی می‌دانند این اولین تلاش برای ارائه محیط‌های برنامه‌سازی آفلاین تحت وب نیست اما زمانی که گوگل بزرگ (!) وارد این گود می‌شود به معنای آن است که تحولاتی فراگیر در پیش روست. همواره آرزوی بزرگ و دیرینه توسعه‌دهندگان برنامه‌های تحت وب ادامه اجرای برنامه‌هایشان در صورت قطع شدن ارتباط از اینترنت بوده‌است. اکنون گوگل آمده ‌است که کابوس چند ساله آنان را به رویایی شیرین تبدیل کند!

تکنولوژی Google Gears که در حال گذران نسخه آزمایشی (beta) خود است، یک محیط توسعه تحت وب سورس آزاد (open source) است که امکان ادامه بکارگیری برنامه‌های تحت وب بدون وجود ارتباط با کارگزار از طریق شبکه یا اینترنت را فراهم می‌سازد. به زبان ساده‌تر اگر در حالت عادی با قطع ارتباط شبکه‌ای یا اینترنتی تمامی برنامه‌های تحت وب بدون امکان اجرا باقی می‌مانند، به کمک این محیط می‌توان استفاده از برنامه را ادامه داد و در زمان ارتباط مجدد، تغییرات اعمال شده در حالت آفلاین را به کارگزار اصلی منتقل نمود.

این عمل به کمک سه گروه از API ارائه شده به زبان جاوا اسکریپت میسر شده‌ است:
- ذخیره‌سازی منابع و ارائه سرویس محلی به برنامه
- ذخیره‌سازی اطلاعات در یک بانک اطلاعاتی رابطه‌ای قابل جست‌وجو به صورت محلی!
- امکان اجرای کدهای غیر هم‌زمان (asynchronous) جاوا اسکریپ برای بهبود کارایی برنامه محلی

گوگلی معماری ارائه شده در Google Gear را نتیجه آزمون ساختارهای مختلف برای برنامه‌های تحت وب آفلاین خوانده است. این معماری نکات زیر را در مورد هر برنامه مشخص می‌کند:
1. جداسازی لایه داده
2. تصمیم‌گیری در مورد اینکه چه قابلیت‌هایی از برنامه در حالت آفلاین پیاده‌سازی شوند. (استراتژی اتصال)
3. تصمیم‌گیری در مورد عملکرد modality برنامه
4. پیاده‌سازی همزمانی (یکسان‌سازی) اطلاعات

جداسازی لایه داده
در بیشتر برنامه‌های تحت وب امروزی لایه‌ای به نام لایه داده در سرویس گیرنده (client) وجود ندارد.



شکل 1 – در سرویس گیرنده لایه داده وجود ندارد


در این حالت کد AJAX (کد جاوا اسکریپتی که به صورت دینامیک اطلاعات موردنیاز صفحه را از سرویس‌دهنده فرا می‌خواند) مستقیما سرویس‌های ارائه شده در سمت سرویس‌دهنده را فراخوانده و به اطلاعات دست می‌یابد. در این حالت توابع API که سرویس‌دهنده به کد AJAX سرویس گیرنده ارائه می‌دهد، نقش لایه داده را بازی می‌کند.

اضافه نمودن لایه داده
در حالت کلی اضافه نمودن لایه داده، قدم اول است. زمانی که یک لایه ذخیره‌سازی محلی داده در سرویس گیرنده پیش‌بینی شود، یک درگاه واحد برای گذراندن تمام اطلاعات ورودی یا خروجی در اختیار خواهیم داشت.



شکل 2 – لایه داده در سمت سرویس گیرنده (Client)


به عنوان مثال اگر کد AJAX به صورت سنتی برای به دست آوردن اطلاعات حساب‌های مشتریان به صورت مستقیم یک سرویس از سرویس دهنده را فراخوانی می‌نمود، در حالت جدید این فراخوانی از طریق یک ماژول واسط انجام خواهد پذیرفت. در این حالت این ماژول تصمیم خواهد گرفت که اطلاعات حساب مشتریان را از سرویس دهنده از طریق اینترنت یا از ذخیره‌سازی محلی در سرویس گیرنده فراخوانی کند.

به صورت مشابه زمانی که برنامه درخواست به‌روزرسانی اطلاعات حساب یک مشتری را می‌دهد، این کار به ماژول واسط واگذار می‌شود. ماژول واسط می‌تواند تصمیم بگیرد که اطلاعات را به صورت محلی ذخیره کند یا برای ذخیره بلافاصله به سرویس دهنده بفرستد یا نهایتا انجام این کار را به کمک توابع همزمان‌سازی برنامه‌ریزی نماید.

می‌توان تصور نمود که ماژول واسط همانند یک سوئیچ داده عمل می‌کند. در حالت اول کلیه ارتباطات داده با سرویس دهنده به صورت عادی انجام می‌شود. این همان حالتی که Google Gears وجود ندارد یا هنوز انجام عملیات آفلاین از سوی کاربر درخواست نشده‌است.



شکل 3 – لایه سوئیچ داده


حالت دوم همانگونه که در شکل 4 نمایش داده شده است، ساخت یک لایه داده محلی است؛ که به جای اتصال به بانک اطلاعاتی سرویس دهنده از بانک اطلاعاتی محلی Google Gears استفاده می‌نماید. در این حالت لایه داده همان رابط Interface را خواهد داشت که در ارتباط با سرویس‌های سرویس دهنده از اینترنت بکار گرفته می‌شد.



شکل 4 – لایه داده محلی


قابلیت‌های برنامه در حالت آفلاین
به دلایل تکنیکی ممکن است هر قابلیتی از برنامه امکان اجرا در حالت آفلاین را نداشته باشد. در این قسمت باید قابلیت‌هایی که نیاز به پیاده‌سازی برای اجرا در حالت آفلاین را دارند تعیین شده و تصمیم‌گیری در مورد زمان‌های اتصال و قطع از سرویس دهنده انجام شود. تصمیم‌گیری در مورد این‌گونه ایجاد ارتباط یا قطع شدن را استراتژی اتصال می‌نامند. ممکن است یک تفکر این باشد که استفاده از ذخیره‌سازی محلی به علت سرعت بالای آن همیشه یک راه حل مناسب است؛ اما دلایل بسیاری وجود دارد که نیاز یا اجبار برای اتصال به سرویس دهنده و دسترسی به اطلاعات آن اجتناب‌ناپذیر باشد:

- ممکن است طبیعت اطلاعات آنچنان زودگذر باشد که امکان ذخیره‌سازی و نگهداری محلی آنها نباشد. به عنوان مثال برنامه‌ای که سود لحظه‌ای بازار سهام را محاسبه می‌کند.
- اطلاعات برخی از برنامه‌ها فقط در حالت آنلاین دارای معنی هستند. مانند اطلاعات برنامه‌های پیام‌رسان همانند یاهو مسنجر.
- ممکن است برنامه فقط نیاز به ذخیره محلی اطلاعاتی را داشته باشد که دسترسی متناوب به آنها نیاز است.
- ممکن است محدودیت‌های محاسباتی یا ذخیره‌سازی امکان اجرای آفلاین یک قابلیت از برنامه را منتفی سازد.

در حالت کلی، راه‌حل بهینه آن است که تا حد ممکن اطلاعات به صورت محلی ذخیره‌سازی شوند. با این وجود هر چه برنامه کار بیشتری را به صورت محلی و آفلاین انجام دهد، کد بیشتری برای اضافه نمودن این قابلیت‌ها نیاز است. بنابراین انجام مقایسه بین نیازمندی و هزینه تولید برای دست یافتن به مرز نهایی کارساز است.

Modality
یک سوال اساسی که تمام برنامه‌های آفلاین باید پاسخی برای آن داشته باشند، بحث Modality است. برنامه‌های modal حالت آفلاین مشخصی در برابر حالت آنلاین دارند که معمولا در رابط کاربری آنها به خوبی نمایش داده می‌شود. کاربر به خوبی از حالت جاری برنامه آگاهی دارد و حتی در بعضی از موارد در تصمیم‌گیری برای تغییر حالت برنامه از آفلاین به آنلاین و بالعکس شرکت می‌کند. برنامه‌های modeless سعی در گذر از حالت آفلاین به آنلاین بدون تغییرات آشکار در ظاهر و رابط کاربری خود دارند. کاربر نیازی به سهیم شدن در عملیات تغییر حالت نداشته و این امر به صورت خودکار صورت می‌پذیرد.

همزمان سازی اطلاعات
بدون توجه به آنکه چه نوع استراتژی اتصال یا modality بکار برده باشید، داده‌های محلی شما نسبت به سرویس‌دهنده اصلی متفاوت خواهند شد. برطرف نمودن این تغییرات که ناشی از انجام ورود و تغییرات اطلاعات از طرف کاربر است همگاه‌سازی خوانده می‌شود. راه‌های متفاوتی برای انجام همگاه‌سازی وجود دارد که بسته به شرایط خاص برنامه انتخاب می‌شوند.

همگاه‌سازی دستی
در این حالت که ساده‌ترین روش همگاه‌سازی محسوب می‌شود، کاربر در مورد زمان همگاه‌سازی تصمیم گرفته و این عمل بنابر دستور کاربر انجام می‌شود. در این حالت کلیه اطلاعات ذخیره‌شده محلی به سرویس دهنده ارسال شده (upload) و پس از آن نسخه به روز شده همان اطلاعات از سرویس دهنده دریافت (download) و در بانک داده محلی ذخیره می‌شود.

همگاه‌سازی در پس‌زمینه
در این روش برنامه به صورت مداوم اطلاعات را بین سرویس‌دهنده و سرویس‌گیرنده همگاه می‌کند. بنابراین اطلاعات به روز شده همیشه مهیا است که اگر ناگهانی اتصال به سرویس دهنده قطع شود امکان ادامه عملیات به صورت آفلاین فراهم باشد. علاوه بر این کارایی برنامه به خصوص در حالتی که سرعت اینترنت کند است در حد قابل قبولی باقی می‌ماند. این حالت در شکل 5 به تصویر کشیده شده‌است.



شکل 5 – معماری همگاه‌سازی در پس‌زمینه


جمع‌بندی
روش‌ها و طراحی‌های متنوعی برای اجرا و پیاده‌سازی یک برنامه تحت وب به صورت آفلاین وجود دارد. گوگل در محیط Google Gears سعی در ارائه راه‌حلی ساده و کارا با قابلیت بکارگیری عملی در برنامه‌های پیاده‌سازی شده سنتی تحت وب داشته ‌است. منتظر ارائه نسخه نهایی این محصول هستیم.

نگاه به زندگی

سلام به دوستان عزیزم...ببخشید یه چند وقت نبودم و آپ 

 نکردم...منتها این دفعه یه حکایت جالب براتون آوردم...شاید

 قبلاْ شنیده باشید...به هر حال خوندن دوباره ی اون خالی از

 لطف نیست...منتظر نظرات دل گرم کننده شما هستم....

 

 

 

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

هفته ها سپری می شد و دو بیمار با این مناظر زندگی میکردند.یک روز مرد کنار پنجره مرد و مستخدمان بیمارستان جسد او را از اتاق بیرون بردند.مرد دیگر که بسیار ناراحت بود درخواست کرد که تختش را به کنار پنجره منتقل کنند.پرستار این کار را با رضایت انجام داد.مرد به آرامی و با درد بسیار خود را به سمت پنجره کشاند تا بتواند آن مناظر زیبا را با چشمان خودش و به یاد دوستش ببیند.همین که نگاه کرد باورش نمی شد چیزی را که می دید غیر قابل قبول بود.یک دیوار بلند!همین!مرد حیرتناک به پرستار گفت:که هم اتاقی اش همیشه مناظر دل انگیزی را از پشت پنجره برای او توصیف می کرد، پس چی شده...؟؟؟                         

 

 

پرستار به سادگی گفت:ولی آن مرد کاملاً نابینا بود!                          

 

 

پر رنگ تر بودن نا آشنایی مدیران با ITدر دولت جدید

ناآشنایی مدیران ارشد سازمان‌ها و وزارتخانه‌ها با فناوری اطلاعات در دولت جدید پررنگ‌تر شده است.


نعمت‌رضا نشاط عضو هیات‌مدیره‌ سازمان نظام‌صنفی رایانه‌یی استان یزد در گفت‌وگو با ایسنا با بیان این مطلب اظهار کرد: یک مساله مهم مهجور ماندن IT و کم‌اهمیت شمردن آن از سوی مدیران دولتی است؛ در واقع IT و کاربردهای آن در حوزه‌های مختلف و همچنین اهمیت بخش خصوصی در ارتقای این بخش نادیده گرفته می‌شوند.

به گفته‌ او یکی از دلایل کم‌اهمیت شمرده شدن فناوری اطلاعات نیز ناآشنایی مدیران ارشد با این مبحث است و این مساله در حالی در کشور ما اتفاق می‌افتد که کشورهای دیگر با حساسیت زیادی بحث IT را دنبال می‌کنند و سرمایه‌گذاری‌های عظیمی‌ برای گسترش فناوری اطلاعات و پررنگ کردن نقش بخش خصوصی در این حوزه انجام می‌دهند.

وی با اشاره به پیامدهای سوء ناآشنایی مدیران دولتی با فناوری اطلاعات تصریح کرد: با توجه به نقش مهم IT در زمینه‌های مختلف این مساله بر حوزه‌های اجتماعی و اقتصادی تاثیر منفی خواهد داشت و ما در حال حاضر نیز شاهد بروز اثرات کوتاه مدت آن هستیم از جمله این که بی‌توجهی به فناوری اطلاعات به ساماندهی ضعیف بازار از سوی مسوولان منجر شده است و همچنین شاهد موازی‌کاری در سازمان‌ها و نبود حمایت کامل از شرکت‌های IT هستیم.

نشاط در ادامه روند بسیاری از پروژه‌های مخابراتی را کند دانست و با بیان این که شبکه‌ هوشمند سراسری که تاکنون دوبار وعده‌ راه‌اندازی آن در دی‌ماه سال گذشته و اردیبهشت‌ماه سال جاری اعلام شد هنوز اجرایی نشده است، گفت: وعده‌هایی نیز در رابطه با کاهش قیمت پهنای باند تا 30 درصد از شش ماه پیش اعلام شد، در صورتی که نه تنها قیمت‌ها کاهش پیدا نکرد بلکه تخفیف‌هایی که به ISP‌های برخی شهرستان‌ها داده می‌شد از ابتدای سال جاری حذف شده است.

به گفته‌ او اهمیت ندادن به IT و زیرساخت‌های آن موجب کندی روند پروژه‌ها و بی‌سامانی بازار شده است و همچنین دوباره کاری و موازی کاری در سازمان‌ها اتلاف هزینه‌ها را نیز دامنه زده است.

این عضو سازمان نظام‌صنفی رایانه‌یی در پایان با اشاره به ضعف سازمان‌های کنترلی و نظارتی در این بخش، عملکرد سازمان تنظیم مقررات را به عنوان یک سازمان کنترلی در بخش IT بسیار کند ارزیابی کرد و تنها راهکار حل معضلات فناوری اطلاعات را باور مدیران ارشد به اهمیت این بخش در حوزه‌های مختلف دانست.

آغاز عملیات اجرایی شبکه علمی تهران

مدیرکل دفتر امور زیربنایی فناوری اطلاعات گفت: عملیات اجرایی شبکه علمی تهران به زودی آغاز می‌شود.


علی ناصری در گفت‌و گو با ایرنا افزود: این شبکه برای ارتباط دانشگاه‌ها و موسسه‌های تحقیقاتی و پژوهشی سراسر کشور طراحی شده است.

وی اظهار داشت: در مرحله اول، عملیات شبکه علمی تهران اجرایی خواهد شد و سپس و به تدریج دانشگاه‌ها و موسسه‌های تحقیقاتی و پژوهشی سایر استان‌های کشور به آن متصل خواهند شد.

وی با اشاره به این که در واقع، تهران هسته اصلی شبکه علمی کشور است، گفت این شبکه کاملا مستقل است و با سرعت یک گیگابایت در ثانیه، دانشگاه‌ها و موسسات را به هم وصل می‌کند.

مدیرکل دفتر امور زیربنایی فناوری اطلاعات توضیح داد: شبکه علمی کشور بستری برای کارها و آزمایش‌های تحقیقاتی دانشگاه‌ها و موسسات پژوهشی و تحقیقی است. وی گفت: این شبکه پس از پایان کامل عملیات اجرایی آن به وزارت علوم، تحقیقات و فناوری واگذار می‌شود.

ناصری با اشاره به اینکه طراحی شبکه علمی تهران در مرکز تحقیقات مخابرات ایران انجام شده است، افزود: اکنون مناقصه برای پیاده‌سازی شبکه علمی تهران در حال برگزاری است. به گفته وی، طراحی این شبکه از سال ‪ ۸۵‬آغاز شده است.