امتیاز موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ساخت برنامه های وب هوشمند
#1
Star 
بر مبناي طرح Smart Planet شرکت آي بي ام

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


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

برنامه هاي تحت وب هوشمند: تمرکز روی کاربر
هم اکنون بیشتر برنامه هاي تحتوب فقط روی نیازهای اصلی کسب وکار تمرکز دارند و کمتر به کاربر توجه ميکنند. در برنامه هاي تحت وب هوشمند باید فلسفه کاربر محور دنبال شود و نیازهای کسب وکار نیز به عنوان بخشی از رضایت کاربر منعکس شود. این راهبرد باعث ميشود تا بتوانیم سرویسهاي مناسبی را برای گستره وسیعی از کاربران برنامه فراهم سازیم و این موضوع نیز به نوبه خود تغییر مهم و جدیدی در زمینه تجربه کاربر و دسترسی پذیری او است. این تغییرات باعث ميشود تا برنامه وب توسط هر نوع کاربری قابل استفاده شود. حتی ميتوان به طورخاص به افرادی اشاره کرد که از نظر فیزیکی دچار مشکل هستند. با در نظر گرفتن امکانات خاصی(به عنوان مثال، خواندن متن برای نابیناها) ميتوان امکان استفاده آسان را برای این افراد نیز فراهم کرد. این تغییرات درحقيقت، با درک کاربر و فراهم آوردن سرویسهاي مختلف براساس علایق وی ایجاد ميشود. یک برنامه تحت وب هوشمند باید سه المان رابط کاربری تطبیق پذیر، منطق پردازشی هوشمند و پایگاه دانش معنایی را درون خود جای داده باشد. رابط کاربری ميتواند با تطبیق دادن خود برای کاربرهاي مختلف به آنها کمک کند تا کارهای خود را راحت تر انجام دهند. این تطبیق ميتواند بازه بزرگی از کاربران را شامل شود. از افراد مبتدي گرفته تا پیشرفته و حتی افراد معلول جسمی. در این ميان، اطلاعات ميتواند با توجه به ترجیحات، پروفایل کاربر و قیود مورد نظر سازنده برای کاربران مختلف مطابقت یابد. رابط کاربری ممکن است استاتیک نباشد و با توجه به سرویس و وضعیت فعلی سیستم تفاوت کند. یک تطبیق شرطی ميتواند به وسیله در نظرگرفتن موتور قانون(Rule Engine) که با توجه به مدل کاربر(User Model)، قوانین را در موقعیتهاي مختلف استخراج ميکند، تأمین شود. رابطه ميان کاربر و اطلاعاتی که نمایش داده ميشود، نقشي حیاتی در موفقیت یک برنامه تحتوب هوشمند بازیميکند. قوانین در اصل واحدهای کوچکتری هستند که چنین رابطه ای یا نیازهای کسب وکار را در میان کاربر و داده تبیین ميکنند. این قوانین بعدها ميتوانند براساس دستهبندیشان با یکدیگر ترکیب شده و برای مجموعه بزرگتری نیز به کار گرفته شوند.

یک پایگاه دانش جامع و خوش تعریف برای تطبیق دادن رابط کاربری برای کاربر ضروری است. پایگاه دانش نیاز دارد تا سمانتیکی مناسب و روابط تعریف شده اي میان کاربر اطلاعات و سرویسها را دربرداشته باشد. برنامه وبی ما ميتواند با استفاده از نمایش معنایی داده ها رابط ها را برای کاربران با توجه به زمان و نیازهای خاصشان تغییر دهد.

ساخت برنامه هاي هوشمند تحتوب
اکنون وقت آن است که ببینیم اصولاً چگونه ميتوان یک برنامه هوشمند تحت وب ساخت. برای این کار یک برنامه e-Learning را در نظر بگیرید که محتوا را مطابق با کاربر تنظیم ميکند.

SOA
با استفاده از یک معماری سرویسگرا يا SOA (سرنام Service Oriented Architecture) شما ميتوانید سرویسی را که قرار است توسط یک برنامه ارائه شود، از رابطی که برای فراخوانی آن سرویس مورد استفاده قرار ميگیرد، جدا کنید. بعضی از سرویسهاي پایه ای یک برنامه e-Learning ميتوانند اینها باشند:
- مدیریت پروفایل کاربر
- مدیر یادگیری
- مدیر آزمايش کردن

شما ميتوانید این سرویسها را در قالب یک فایل WSDL (سرنام Web Service Description Language) قرار داده به نحوی که برنامه مبدأ بداند چه کسی و چه زمانی سرویسها را فراخوانی کند. WSDL یک استاندارد وب سرویس است که ميتواند برای توصیف وب سرویسها استفاده شود.

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

نمایش معنایی داده ها
اطلاعاتی که قرار است نمایش داده شود ميتوانند طوری به صورت معنایی تعریف شوند که با ترجیحات کاربر ارتباط داشته باشند.این باعث ميشود تا بتوانیم اطلاعات مناسبی را به کاربر ارائه دهیم. این کار ميتواند به وسیله استفاده از یک RDF (سرنام Resource Description Framework) که استانداردی برای تعریف منابع است، انجام شود.

یک مثال از نمایش معنایی داده ها در کد زیر نشان داده شده است:

<item rdf:about=http://dbpedia.org/resource/Computer> Computer </item>
در ایــــــن مثــــال، آیتـــــــم Computer در محــــــــلhttp://dbpedia.org/resource/Computer تعریف شده است.

موتور قانون
قوانین ميتوانند برای شخصی ساختن برنامه برای یک کاربر تعریف شوند. بعضی از کاربردهای یک موتور قانون ميتواند مواردی از قبیل مشخص ساختن ترتیب نمایش موضوعات مورد نمایش و ساخت یک رابط براساس ترجیجات یادگیرنده را در برگیرد. موتورهای قانون معمولاً به صورت Thread يا رشته هايي جداگانه پیاده سازی ميشوند تا بتوانند همیشه در حال اجرا باشند.
یک نمونه از قوانین به این ترتیب است:

If (learn-pref = ‘text’) Then learn-ui=’readable-ui
این قانون مشخص ميکند که اگر ترجیح یادگیری کاربر به اطلاعات متنی بود، برنامه رابط کاربری مخصوص المانهاي متنی را مشخص سازد.

یک رابط کاربری تطبیق پذیر و غنی
یکی از نیازهای مهم هر برنامه هوشمند تحت وب رابط کاربری تطبیق پذیر است. رابط باید بتواند خود را با انواع مختلفی از اطلاعات که در موضوعات مختلف توسط ترجیحات و پروفایل کاربر مشخص ميشوند، تطبیق دهد. رابط کاربری غنی از اساسیترین نیازهای هر برنامه تحت وب امروزی است. کارکردهای پیشرفته ای مانند Refresh شدن یک بخش خاص از صفحه و Auto-complete به عنوان بخشی از فریم ورکهاي Ajax محور برای ما فراهم ميشوند. هم اکنون فریم ورکهاي رابط بصری فراوانی برای ساخت و توسعه رابطه اي غنی و تطبیق پذیر موجود است. از جمله این فریم ورکها ميتوان بهWebsphere Portal، JSF، Richfaces، Struts و Tapestry اشاره کرد.

معماری سیستم
این بخش یک دید MVC (سرنام Model-View-Controller) سطح بالاتر را از برنامه هاي تحت وب هوشمند ارائه داده و ماجولهاي اساسی آن، یعنی لایه هاي ارائه، پردازش و دسترسی به داده را توضیح ميدهد.

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

پروفایل کاربر به ذخیره سازی ترجیحات کاربر و اطلاعاتی جزئی از قبیل سن، جنسیت و موارد مشابه ميپردازد. ترجیحات کاربر به دو صورت محتوایی و ترجیحات ظاهری در نظر گرفته ميشود.پایگاه داده قوانین، رويه را ذخیره ميکند که ترجیحات یا پروفایل کاربر را به محتوا، رابط کاربری و بخشهاي مختلف برنامه ارتباط ميدهد. داده هاي برنامه، رابطه شان با پروفایل کاربر، ترجیحات و قوانین ميتوانند به وسیله هر پایگاه داده رابطه ای از جمله DB2، اوراکل و ... ذخیره شود.
[عکس: cloud1_s.jpg]
شكل 1-

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

مفسر قوانین و موتور تطبیق پذیر ميتوانند به وسیله یک زبان شیء گرای استاندارد مانند جاوا، ++C یا NET. پیاده سازی شوند. این پیاده سازی ميتواند به وسیله Threadها یا تایمرها صورت گیرد تا به این وسیله یک قانون خاص در لحظه مناسب در سناریو اعمال شود.

لایه ارائه
لایه ارائه از رابط کاربری، نمایش تطبیق پذیر و Navigation تشکیل شده است.رابط کاربری در یک برنامه هوشمند وب باید به حد کافی انعطافپذیر باشد تا به این وسیله بتواند صفحه ای کنونی را براساس نمایش و عناصر Navigational قابل دسترس ارائه کند؛ نه طراحیهاي ثابت صفحات که بيشتر برنامه هاي کنونی وب از آن استفاده ميکنند.

ارائه تطبیق پذیر مسئول تطبیق دادن محتوای صفحه با پروفایل کاربر و ترجیحات کاربر است. Navigation تطبیق پذیر با تطبیق دادن عناصر Navigational و سناریویی که براساس پروفایل و ترجیحات کاربر بنا شده است، دست و پنجه نرم ميکند.

یک رابط کاربری با ارائه و Navigation تطبیقپذیر ميتواند به وسیله یک فریم ورک رابط کاربری پیشرفته مانند Websphere Portal، JSF، Struts یا Tapestry پیاده سازی شوند. این فریم ورکها قابليتهاي داینامیکی را برای تطبیق دادن محتوای رابط کاربری برای کاربران مختلف در سناریوهای متفاوت دارند.

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

درباره نویسنده
کریش راماچاندران یک متخصص IT مشغول در مرکز توسعه IBM Pacific در برنابی کانادا است. تحقیق فوق لیسانس او در زمینه طراحی رابطهاي کاربری تطبیق پذیر برای حوزه Health Care بوده است که به طور خاص روی بیماران متمرکز شده بود. وی در همین زمینه کتابها و مقاله هاي متعددی را تألیف کرده و روی پروژه هاي بسیار زیادی در زمینه Health Care کار کرده است که از جمله آنان ميتوان به پروژه Panorama در مرکز توسعه IBM Pacific اشاره کرد.
ستایش یعنی این حسی که دارم

:)
پاسخ
سپاس شده توسط:


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  چگونه انواع گزارش های تحقیقی بنویسیم؟ نويد 0 570 ۰۲-۱۱-۹۳، ۰۶:۱۴ ب.ظ
آخرین ارسال: نويد
Star مجازات های استفاده از فیلترشکن .:SNOW G!RL:. 0 638 ۱۰-۰۶-۹۲، ۰۱:۱۶ ب.ظ
آخرین ارسال: .:SNOW G!RL:.

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان