آشنائی با فن آوری های AJAX و Atlas به منظور پياده سازی برنامه های وب مبتنی بر سرويس گيرنده New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 سه شنبه  5  ارديبهشت  1396  2017  Apr.  25   Tuesday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 برنامه های وب مبتنی بر سرويس گيرنده : AJAX و Atlas

 مديريت وب

11529

11

4.1

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

برنامه های وب مبتنی بر سرويس گيرنده : AJAX و Atlas

برنامه های وب مبتنی بر سرويس گيرنده : AJAX و Atlas
 يكی از ويژگی های مهم برنامه های وب ، تبعيت آنان از معماری "سرويس گيرنده - سرويس دهنده"  است . اين بدان معنی است كه پياده كنندگان برنامه های وب می توانند به منظور تحقق پردازش های سمت سرويس دهنده و سرويس گيرنده از فن آوری های متعددی استفاده نمايند. يكی از نكات مهم در خصوص انجام پردازش های سمت سرويس گيرنده ، ميزان وابستگی آنان به اطلاعات موجود در سمت سرويس دهنده است . به عبارت ديگر ، اجرای يك event handler در سرويس گيرنده تا چه ميزان وابسته به كد سمت سرويس دهنده است و  به منظور انجام آن چه ميزان داده می بايست بين سرويس گيرنده و سرويس دهنده مبادله گردد ؟
صرفنظر از اين كه  به سوال فوق چه پاسخی داده می شود ، واقعيت اين است كه به منظور مديريت رويدادهای محقق شده در سمت سرويس گيرنده ، می بايست ملزومات مورد نياز ايجاد تا پياده كنندگان بتوانند با استفاده از آنان پردازش های سمت سرويس گيرنده را مديريت نمايند .

پردازش های سمت سرويس گيرنده از گذشته تاكنون
با توجه به اين كه پردازش های سمت سرويس گيرنده در برنامه های وب می بايست مستقل از نوع پلت فرم باشند ،  بديهی است كه تمامی تلاش های انجام شده در اين عرصه ، می بايست متمركز بر روی برنامه های مرورگر باشد تا با ايجاد پتانسيل هائی در آنها ، امكان انجام پردازش های سمت سرويس گيرنده فراهم گردد . ظهور زبان های اسكريپت نويسی نظير جاوااسكريپت و  تجهيز مرورگرها به برنامه های مفسر مربوطه از جمله اقدامات عملی دراين عرصه است . استفاده از زبان جاوااسكريپت به منظور كدينگ پردازش های سمت سرويس گيرنده دارای قدمتی چندين ساله است . در ادامه ، قابليت های جديدی به مرورگرها اضافه گرديد تا پياده كنندگان بتوانند به كمك آنان برنامه های وب سمت سرويس گيرنده را ايجاد نمايند . هم اينك ، تمامی مرورگرهای متداول از يك مدل شی گراء موسوم  به DOM ( برگرفته از document object model ) استفاده می نمايند و تعداد اندكی از آنها از يك ويژگی جديد با نام XMLHTTP استفاده می نمايند  كه به كمك آن ،  سرويس گيرندگان و سرويس دهندگان می توانند بدون نياز به انجام يك postback كامل و round trip با يكديگر و به صورت مستقيم ارتباط برقرار نمايند.
XMLHTTP  ، شامل مجموعه ای API ( رابط برنامه نويسی ) است كه امكان ارسال و يا دريافت داده به صورت باينری ، HTML و XML را از سرويس دهندگان وب بر روی اينترنت و به كمك پروتكل HTTP فراهم می نمايد .  در مواردی كه نياز به داده موجود در سمت سرويس دهنده می باشد ،  XMLHTTP  به صورت پيوسته اقدام به ارسال درخواست خود برای سرويس دهنده می نمايد تا آخرين اطلاعات را بدون نياز به refresh كردن مدام مرورگرها ، بازيابی نمايد . در واقع ، به كمك فن آوری فوق ، سرويس گيرندگان قادر به مبادله غيرهمزمان با سرويس دهنده بوده و می توانند اقدام به ارسال و يا دريافت داده XML بدون نياز به انجام يك round trip كامل كه باعث توليد مجدد يك صفحه می گردد ، نمايند .
ماحصل اين تحولات ، ظهور نسل جديدی از برنامه های وب نظير  Microsoft Virtual Earth  و   Microsoft Windows Live  است . ايجاد چنين برنامه های وبی كار ساده ای نخواهد بود و پياده كنندگان می بايست شناخت مناسبی نسبت به جاوااسكريپت و مدل DOM  داشته باشند كه ممكن است در هر مرورگر متفاوت باشد . علاوه بر اين ، جاوااسكريپت تمامی ويژگی های يك زبان شی گراء را ارائه نمی نمايد و بسياری از ملزومات مورد نياز پياده كنندگان برنامه های وب در فريمورك دات نت را تامين نمی نمايد ( نظير type-safe ) .

ايجاد برنامه های وب با تاكيد بر انجام پردازش سمت سرويس گيرنده ، نيازمند ملزوماتی نظير
يك زبان برنامه نويسی و پلت فرم پياده سازی جديد  است .   

AJAX ( برگرفته از asynchronous JavaScript and XML )
پياده سازی برنامه های وب با استفاده از فن آوری های اشاره شده ( اسكريپت نويسی سمت سرويس گيرنده و مبادله غيرهمزمان با سرويس دهنده ) ،  AJAX  ناميده می شود . AJAX ، پياده كنندگان را قادر به توليد صفحاتی می نمايد كه از توان پاسخگوئی بسيار مطلوبی در سمت سرويس گيرنده متناسب با رويداد ايجاده شده ، برخوردار می باشند . چراكه آنها  از اسكريپت های سمت سرويس دهنده برای دستيابی و مديريت عناصر بخش رابط كاربر استفاده می نمايند . علاوه بر اين ، با توجه به مبادله غيرهمزمان داده به منظور ارسال و دريافت داده ، امكان انجام عمليات مورد نظر بر روی داده بدون وقفه و ازدست دادن state وجود خواهد داشت .  Microsoft Virtual Earth  و برنامه سرويس گيرنده نامه های الكترونيكی Outlook Web Access  ،  دو نمونه از برنامه های سبك AJAX ، می باشند .

Atlas : تلاش‍ی در جهت ايجاد يك  پلت فرم پياده سازی جامع 
فن آوری جديد ASP.NET با نام Atlas ، مجموعه ای از فن آوری های مايكروسافت را شامل می شود  كه با تمركز بر روی اصول AJAX ، سعی در توسعه و بهبود آن را دارد .
Atlas ، يك فن آوری جديد در عرصه پياده سازی برنامه های وب ASP.NET است كه  كتابخانه های اسكريپت سرويس گيرنده را با فريمورك پياده سازی مبتنی بر سرويس دهنده ASP.NET 2.0 تركيب می نمايد . در واقع ، Atlas به پياده كنندگان برنامه های وب يك پلت فرم مناسب به منظور پياده  سازی صفحات وب مبتنی بر سرويس گيرنده را ارائه می نمايد كه قبلا" مشابه آن در خصوص صفحات وب مبتنی بر سرويس دهنده توسط ASP.NET ارائه شده بود . با توجه به اين كه Atlas ، به عنوان يك پتانسيل اضافه در كنار ASP.NET مطرح می باشد ، بديهی است كه كاملا" سازگار با سرويس های مبتنی بر سرويس دهنده باشد . با استفاده از Atlas ، می توان بخش قابل توجهی از پردازش های مورد نياز يك برنامه را به سمت سرويس گيرنده انتقال داد ( fat-client ) . در چنين مواردی ، امكان ارتباط سرويس گيرنده با سرويس دهنده در background فراهم می گردد. ماحصل اين فن آوری ، ايجاد برنامه های وبی است كه علاوه بر ارائه امكانات مناسب  در لايه رابط كاربر ( UI ) ، دارای توان پاسخگوئی بالائی می باشند و به سادگی می توانند با سرويس دهنده ارتباط برقرار نمايند .

مفاهيم فنی اوليه AJAX
در AJAX ، پياده كنندگان می توانند سرويس های وب را بطور غيرهمزمان و از طريق اسكريپت های سمت سرويس گيرنده و با استفاده از شی XMLHTTPRequest  فراخوانده تا اطلاعات به عنوان داده XML بسته بندی و در ادامه آنها را بر روی شبكه ارسال نمايند . بدين منظور شی XMLHTTPRequest يك شی پراكسی را ارائه می نمايد تا به كمك آن امكان فراخوانی از راه دور و مبادله داده فراهم گردد . در فن آوری AJAX از زبان های اسكرپيت سمت سرويس گيرنده نظير جاوااسكريپت بطرز گسترده ای استفاده می گردد . از جاوااسكريپت در مواردی نظير فراخوانی از راه دور روتين ها ، انجام پردازش های مورد نياز يك برنامه در سمت سرويس گيرنده و ايجاد ويژگی های پيشرفته ای در سطح لايه رابط كاربر استفاده می شود .
AJAX علاوه بر جاوااسكريپت از چندين فن آوری ديگر در سمت سرويس گيرنده نيز استفاده می نمايد :

  • DOM : به كمك فن آوری فوق ، عناصر موجود در يك صفحه HTML به عنوان مجموعه ای از اشياء استاندارد ( نظير document و windows ) در نظر گرفته می شوند . بدين ترتيب ، امكان دستيابی  و انجام عمليات دلخواه بر روی آنان از طريق كد فراهم می گردد .

  • DHTML ( برگرفته از Dynamic HTML ) : فن آوری فوق ، توانمندی HTML را به منظور واكنش مناسب در خصوص عملياتی كه توسط كاربران انجام می شود ( نظير درج داده ) با استفاده از اسكريپت های سمت سرويس گيرنده و بدون نياز به يك round trip افزايش می دهد .

  • رفتارها ، شامل روشی مناسب به منظور برخورد سيستماتيك با عملياتی نظير drag and drop در سطح لايه رابط كاربر و مرتبط با عناصر موجود بر روی يك صفحه می باشد .

  • عناصر : اشياء سفارشی شده جاوااسكريپت می باشند كه پتانسيل های توسعه يافته ای را در سمت سرويس گيرنده ايجاد می نمايند .

چالش های فن آوری AJAX
برنامه نويسی صفحات به سبك AJAX دارای چالش های متعددی است :

  • عناصر موجود در صفحات وب می بايست متناسب با شرايط هر مرورگر برنامه نويسی گردند ، چراكه هر مرورگر يك نسخه متفاوت از DOM و DHTML را ارائه می نمايند(هر چند اين تفاوت ها اندك باشد) .

  • برنامه نويسی سمت سرويس گيرنده صرفا" با استفاده از جاوااسكريپت انجام می شود . پياده سازی برخی از پتانسيل های  AJAX می تواند برای پياده كنندگان بسيار پيچيده باشد و نيازمند دانش بالائی در خصوص استفاده از جاوااسكريت است .

  • جاوا اسكريپت ،  ويژگی ها و امكانات مورد نياز پياده كنندگان برنامه های دات نت را تامين نمی نمايد ( نظير يك رويكرد شی گراء كامل ) . علاوه بر اين ، در اين فن آوری از كتابخانه ای نظير آنچه در پلت فرم دات نت ارائه شده است ،‌ استفاده نمی گردد و برنامه نويسان می بايست تمامی برنامه را از ابتدا كد نمايند  .

  • جاوااسكريپت و پياده سازی سمت سرويس گيرنده  ، عموما" بخوبی در IDEs حمايت نمی گردند .

فن آوری Atlas  ، مسائل اشاره شده را با ارائه يك فريمورك كامل برای ايجاد برنامه های وب مبتنی بر سرويس گيرنده برطرف می نمايد.

فن آوری Atlas  ، 
دارای عناصر سرويس گيرنده و سرويس دهنده ای است
 كه آن را  به خوبی با ASP.NET
يكپارچه و مرتبط می نمايد

مفاهيم فنی اوليه معماری Atlas
در ساده ترين حالت ، يك برنامه Atlas ، از كتابخانه های سمت سرويس گيرنده به منظور مديريت رابط كاربر و فراخوانی عناصر مبتنی بر سرويس دهنده استفاده می نمايد . Atlas ، همچنين عناصر سمت سرويس دهنده ای را ارائه می نمايد  كه با سرويس گيرنده مرتبط و می توانند اسكريپت سمت سرويس گيرنده از قبل تعريف شده ای را توليد نمايند .

عناصر سمت سرويس گيرنده Atlas
فن آوری Atlas برای پياده سازی برنامه های سمت سرويس گيرنده ، از مجموعه ای كتابخانه سمت سرويس گيرنده ( فايل هائی با انشعاب Js . ) استفاده می نمايد كه پيامد آن تعريف يك رويكرد لايه ای برای ايجاد برنامه های مبتنی بر سرويس گيرنده است . اين لايه ها عبارتند از :

  • لايه مختص  مرورگرها : با استفاده از پتانسيل های ارائه شده توسط اين لايه ، اسكريپت های Atlas در اكثر مرورگر سازگار بوده و ضرورتی به نوشتن اسكريت های مختص يك مرورگر وجود ندارد .

  • سرويس های هسته atlas : شامل ضمائمی به جاوااسكريپت نظير كلاس ها ، namespace ، event handler ، توارث ، نوع های داده و تسلسل اشياء است . ويژگی های فوق يك مدل برنامه نويسی شی گراء را در اختيار پياده كنندگان قرار می دهد تا به كمك بتوان علاوه بر سرعت در ايجاد برنامه ها از كد توليد شده نيز بدفعات استفاده نمود.

  • كتابخانه كلاس پايه Atlas : شامل عناصری نظير ديباگرها ، Timers ، رديابی و string buliders است .

  • لايه شبكه : اين لايه با سرويس های مبتنی بر وب و برنامه ها ارتباط برقرار می نمايد و  مديريت فراخوانی متدها از راه دور و غيرهمزمان را برعهده می گيرد . لايه فوق ، مديريت فراخوانی غيرهمزمان برروی XMLHTTP  را برعهده گرفته و باعث می گردد كه پياده كنندگان بدون اين كه درگير پيچيدگی های موجود شوند با نوشتن چندين خط كد ، متدهای مورد نظر را فراخوانند .

  • لايه UI  : در اين لايه قابليت های سرويس گيرنده Atlas نظير رفتارها ، گرامر تعريفی Atlas ، عناصر UI و نسبت دهی داده  ارائه می گردد .

  • لايه كنترل ها : اين لايه كنترل های مختص atlas را برای پياده سازی سمت سرويس گيرنده ايجاد می نمايد . علاوه بر اين كه می توان از طريق اسكريپت به اين كنترل ها دستيابی داشت ، امكان انجام عمليات متفاوتی نظير نسبت دهی داده نيز وجود دارد. كنترل های  Navigation و data-bound listview نمونه هائی در اين زمينه می باشند . 

  •  يك مدل برنامه نويسی تعريفی كه پياده كنندگان را قادر می سازد عناصر atlas را با روشی مشابه كنترل های سرويس دهنده ASP.NET ايجاد نمايند .

فن آوری Atlas  را می توان
به عنوان كتابخانه های اسكريپت سرويس گيرنده تصور نمود كه زيرمجموعه ای از معماری ASP.NET بر روی ‌سرويس دهنده می باشند

برای پياده سازی برنامه های وب سمت سرويس گيرنده ، فن آوری Atlas  ويژگی های متعددی را ارائه می نمايد . ارائه يك مجموعه API برای پياده سازی در جاوااسكريپت ، قابليت سازگاری اتوماتيك با مرورگرها و يك مدل تعريفی برای پياده سازی سمت سرويس گيرنده ، نمونه هائی در اين زمينه م‍ی باشند . 

عناصر سمت سرويس دهنده Atlas
فن آوری Atlas ، صرفا" در ارتباط با اسكريپت های سمت سرويس گيرنده نمی باشد و از عناصر سمت سرويس دهنده ، سرويس ها و كنترل هائی استفاده می نمايد كه می توانند با اسكريپت های Atlas سمت سرويس گيرنده مرتبط گردند :

  • سرويس های وب كه ويژگی های ASP.NET نظير سرويس های پروفايل ، membership ، roles ، personalization  و globalization را ارائه می نمايند .

  • كنترل های سرويس دهنده Atlas كه كنترل های سرويس دهنده ASP.NET را reasemble می نمايند ولی اسكريپت های سمت سرويس گيرنده Atlas را منتشر می نمايند . اين نوع كنترل ها ارتباط بسيار نزديكی با كنترل های سرويس دهنده ASP.NET نظير دكمه ها ، Label و ... دارند .

  • كنترل های سرويس دهنده Atlas كه باعث می گردند جاوااسكريپت رفتارهای سمت سرويس گيرنده را توليد نمايد . كنترل های  HoverBehavior  ، ClickBehavior ، Popup و  AutocompleteBehavior نمونه هائی در اين زمينه می باشند .

  • تمامی كنترل های سرويس دهند atlas در ويژوال استوديو نير قابل استفاده می باشند. بنابراين می توان از آنان در زمان طراحی استفاده نمود ( همانند كنترل های سرويس دهنده ASP.NET  ) .

 فن آوری Atlas ، اسكريپت نويسی سمت سرويس گيرنده را با پياده سازی سمت سرويس دهنده ASP.NET يكپارچه می نمايد و پياده كنندگان می توانند از پتانسيل های ASP.NET در سمت سرويس دهنده برای برنامه های Atlas نيز استفاده نمايند . 

هدف اوليه فن آوری Atlas   ، 
تركيب  ويژگی اسكريپت های سمت سرويس گيرنده با ويژگی هائی از ASP.NET بر روی سرويس دهنده است تا به كمك آن
يك پلت فرم پياده سازی جامع و فراگير ايجاد گردد .



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382