رابطه ۲-۳  

ضریب همبستگی پیرسون[۸۱] : روش دیگری برای اندازه ­گیری میزان مشابهت دو بردار چند بعدی است.
پایان نامه

۲-۵ رویکرد آگاه به زمینه

انسان‌ها به دلیل غنی بودن زبانی که با هم حرف می‌زنند و همچنین به دلیل اطلاعات ضمنی و زمینه­ای که از محیط اطراف همدیگر دارند، به آسانی می‌توانند ایده‌ها و نظرات خود را به همدیگر انتقال دهند در حالی که همچون تعامل بین انسان و ماشین و یا بین ماشین با ماشین، به دلیل نبود پارامترهای فوق به اندازه‌ی کافی به صورت ایده­آل وجود ندارد. مطلب فوق یکی از مشکلاتی است که پژوهشگران زیادی روی آن کار کرده ­اند تا در حد ممکن تعامل انسان با کامپیوتر و ماشین با ماشین را به اندازه‌ی تعامل انسان با انسان افزایش دهند. یکی از راهکارهایی که در این زمینه ارائه شده است رویکرد استفاده از اطلاعات زمینه است. در واقع عملی که در این روش صورت می‌پذیرد، ارائه دادن اطلاعات زمینه­ای کاربرانی که با سیستم تعامل دارند، می­باشد. هنگام ارتباط کاربر یا ماشین با سیستم توسط سیستم مورد استفاده قرار گیرند [۲۵ ، ۲۶].
برای اینکه بخواهیم از اطلاعات زمینه­ای به طور موثر استفاده کنیم باید با مفهوم زمینه آگاهی داشته باشیم و اینکه چگونه باید مورد استفاده قرار گیرد. طراحان سیستم‌ها با درک این دو موضوع قادر خواهند بود مناسب‌ترین اطلاعات زمینه­ای را برای سیستم خود انتخاب کنند.

۲-۵-۱ تعریف زمینه و رویکرد آگاه به زمینه

جامع‌ترین تعریفی که در رابطه با «زمینه» ارائه شده است، توسط آقای دی و همکارانش[۸۲] در سال ۱۹۹۱ ارائه شده است که بدین شکل است «زمینه عبارت است از هر اطلاعی که در مشخص کردن وضعیت یک موجودیت مورد استفاده قرار گیرد. موجودیت می‌تواند یک شخص و یا هر شی در سیستم مورد مطالعه باشد» [۲۵]. همان طور که مشخص است تعریف فوق کلی است و نمی‌توان در سیستم‌های واقعی از آن تعریف استفاده کرد به همین دلیل پژوهشگران در حوزه‌های مختلف سعی کرده‌اند یک تعریف جزئی‌تر از تعریف فوق ارائه دهند. تعریفی که در همین راستا پژوهشگران حوزه‌ی وب­سرویس‌ها ارائه دادند بدین شکل است : ” زمینه عبارت است از هر اطلاعی که به صورت ضمنی یا صریح بر روی درخواست وب‌سرویس کاربر تأثیر بگذارد” [۹]. رویکرد آگاه از زمینه نیز به این معنی است که کسی یا سیستمی بتواند از این اطلاعات زمینه استفاده کند.
اطلاعات زمینه­ای اصلی که بیشتر پژوهشگران و آقای دی نیز به آن‌ها اشاره کرده‌اند عبارتند از : مکان[۸۳]، زمان[۸۴]، شناسه[۸۵] و فعالیت[۸۶] است که هر کدام در سیستم‌های مختلف وابسته به نیاز طراح سیستم مورد استفاده قرار گرفته‌اند. پیش فرضی که در استفاده از اطلاعات زمینه­ای باید در نظر گرفت این است که حتماً اطلاعات زمینه­ای انتخاب شده باید در دوره­ های زمانی مختلف تغییر کنند. به عنوان مثال اطلاع زمینه­ای مکان وقتی انتخاب می‌شود که در سیستم مورد مطالعه کاربران یا شی‌ءهای مورد نظر در دوره­ های زمانی مختلف تغییر مکان دهند و این تغییر مکان‌ها در سیستم ثبت شود تا در موقع نیاز مورد استفاده قرار گیرد.
در فصل‌ چهارم نحوه‌ی استفاده از اطلاعات زمینه­ای در الگوریتم پیشنهادی برای کشف سرویس به طور مفصل پرداخته خواهد شد.

فصل سوم: پیشینه­ی تحقیق

 

۳-۱ مقدمه

همان‌طور که در فصل‌ قبلی مطرح شد وب­سرویس‌ها و پروتکل‌های مرتبط با آن‌ها یک مجموعه بسیار کار آمدی را برای توسعه‌ی نرم افزارهای توزیع شده و نامتمرکز از طریق معماری سرویس­گرا فراهم آورده‌اند. دلیل اصلی کارآمد بودن وب­سرویس‌ها به عنوان ابزار پیاده­سازی نرم افزارهای توزیع­شده به روش معماری سرویس­گرا، رعایت اصول اولیه­ این معماری در پیاده­سازی وب­سرویس‌ها است. اگر یک بررسی اجمالی در مورد اینکه این اصول تا چه حدی در وب­سرویس‌ها در نظر گرفته شده است انجام شود، مشاهده می­ شود که اصول اولیه­ای مثل قابلیت استفاده‌ی مجدد سرویس‌ها، تجرد سرویس‌ها، اتصال سست بین سرویس‌ها، خود مختاری سرویس و مهیا کردن پروتکل‌ها و استانداردهای لازم در حد قابل قبولی در سرویس‌هایی که با وب­سرویس‌ها پیاده­سازی شده‌اند در نظر گرفته شده است. رعایت این اصول باعث شده است که امروزه در زمینه ­های مختلف مثل تجارت الکترونیک[۸۷]، فضای کسب‌وکار[۸۸] و غیره وب­سرویس‌های زیادی پیاده­سازی شود. ولی یکی از اصول کلیدی که تا به امروز به دلیل زیاد بودن وب سرویس‌ها و پراکنده بودن آن­ها در کل فضای اینترنت راهکار خوبی پیشنهاد داده نشده است، آسان بودن عمل کشف وب سرویس مناسب است. پژوهشگران زیادی در این زمینه الگوریتم‌های مختلفی ارائه دادند که در این فصل سعی می‌شود با طبقه ­بندی این الگوریتم‌ها و مطالعه‌ی موردی بعضی از آن‌ها به نقص‌ها و مزیت‌های این الگوریتم‌ها پرداخته شود تا در پیاده­سازی الگوریتم پیشنهادی تا حد ممکن این نقایص برطرف گردد.

۳-۲ الگوریتم‌های کشف وب­سرویس بر اساس کلمات کلیدی

ساده‌ترین راهکاری که در این زمینه به نظر می‌رسد در واقع همان جستجوی معمولی است که کاربران اینترنت برای پیدا کردن مطلب مورد نظر خود مورد استفاده قرار می‌دهند. برای اینکه کاربری بتواند مطلب مورد نظر خود را در اینترنت پیدا کند، چند کلمه‌ی کلیدی در یکی از موتورهای جستجو مثل گوگل[۸۹] یا یاهو[۹۰] وارد می‌کند و موتور جستجو هم طبق داده‌ها و مکانیزمی که دارد، چند صفحه را به عنوان نتیجه به کاربر برمی‌گرداند. در الگوریتم‌های کشف وب­سرویس بر اساس کلمات کلیدی نیز روشی مشابه روش بالا به کار گرفته شده است. همان طور که در شکل ۲-۱ قابل مشاهده است، وقتی که کاربری می‌خواهد وب­سرویس مناسب خود را پیدا کند، چند کلمه‌ی کلیدی به عنوان ورودی به سیستم کشف وب­سرویس می‌دهد و سیستم با مقایسه‌ای که بین کلمات کلیدی و توصیف‌های متنی موجود در فایل‌ها با بهره گرفتن از توابع تشابه[۹۱] انجام می‌دهد، چند مورد از وب سرویس‌ها را به عنوان نتیجه به کاربر برمی‌گرداند.

شکل ۳-۱: شمای کلی الگوریتم‌های کشف وب سرویس بر اساس کلمات کلیدی

یکی از برنامه ­های کاربردی مشهور در این زمینه، UDDI است که الگوریتم به کار رفته در آن هم بر اساس کلمات کلیدی است. در فصل قبلی تا حدودی به نحوه‌ی طبقه ­بندی اطلاعات مربوط به وب­سرویس‌ها در صفحات مختلف اشاره شد و در اینجا به نحوه‌ی استفاده از این اطلاعات در پیدا کردن وب سرویس‌های مناسب اشاره می‌شود. همان‌طور که در بالا اشاره شد، در این قسمت کاربر چند کلمه کلیدی را به عنوان ورودی به UDDI می‌دهد و UDDI طبق یک تابع تشابه چند وب سرویس‌ را به عنوان نتیجه به کاربر برمی‌گرداند[۲۲].

۳-۲-۱ مزایا و معایب الگوریتم‌های کشف وب­سرویس بر اساس کلمات کلیدی

مزایا
پیاده سازی آسان این نوع الگوریتم‌ها نسبت به الگوریتم‌های دیگر در این زمینه : به خاطر آسان بودن پیاده سازی این روش امروزه بیشتر پورتال‌های کشف وب­سرویسی که به صورت عملی کار می‌کنند، از این نوع الگوریتم‌ها استفاده می‌کنند.
آسان بودن انتشار و ثبت وب­سرویس در مخازن ثبت سرویس : فراهم کنندگان وب­سرویس‌ها با وارد کردن ویژگی‌های وب­سرویس‌ها مثل پارامترهای توصیف وب­سرویس، نام وب­سرویس، آدرس وب­سرویس و فایل توصیفی وب­سرویس با فرمت WSDL در واسط کاربری این نوع سیستم‌ها به راحتی می‌توانند وب­سرویس‌های خود را در مخازن ثبت کنند. در حالی که در ادامه خواهیم دید در الگوریتم‌های کشف وب­سرویس بر اساس معنا، فراهم کنندگان وب­سرویس‌ها برای انتشار وب­سرویس خود مجبورند با استاندارد حاشیه نویسی (مثل DAML-S , OWL-S ,WSDL-S , WSML) که در آن سیستم به کار رفته است، آشنایی داشته باشند.
معایب
توانا نبودن کاربر در انتخاب کلمات کلیدی مناسب : یکی از مشکلات این است که اگر کاربر توانایی لازم در انتخاب کلمات کلیدی مناسب در مورد وب‌سرویس مورد نظر خود نداشته باشد، به سختی‌ می‌تواند وب‌سرویس مناسب را پیدا کند چون که الگوریتم‌های مزبور برای مقایسه از توابع همانندی استفاده می‌کنند که در این صورت لازم است کلمات کلیدی استفاده شده در درخواست کاربران عیناً در فایل توصیفی وجود داشته باشند تا وب‌سرویس مورد نظر به عنوان نتیجه بر‌گردانده شود.
توانا نبودن کاربر در توصیف ایده‌ی خود با چند کلمه‌ی کلیدی: مشکل دیگری که در این زمینه وجود دارد این است که بیشتر کاربران نمی‌توانند هدف اصلی خود را با چند کلمه‌ی کلیدی بیان کنند و بنابراین مجبورند برای پیدا کردن نتیجه‌ی دلخواه خود از روش سعی و خطا استفاده کنند که در این صورت وقت زیادی از کاربر بدین شکل به هدر می‌رود [۲ ، ۴ ، ۵] .
کمک نکردن به کاربر در ایجاد درخواست مناسب برای پیدا کردن وب‌سرویس مورد نظر خود: همان‌طور که در دو مشکل فوق بیان شد، سیستم‌های پیاده­سازی شده با این روش هیچ کمکی به کاربر در ایجاد درخواست مناسب نمی­ شود. در حالی که امروزه این مشکل به یکی از دغدغه­ های اصلی پژوهشگران در این زمینه تبدیل شده است. با افزایش تعداد وب­سرویس‌های پیاده­سازی شده در زمینه ­های مختلف بالطبع به تعداد کسانی که می‌خواهند از وب­سرویس‌ها استفاده کنند، روز به روز افزوده می‌شود که ممکن است کاربران توانایی لازم در ایجاد درخواست مناسب برای پیدا کردن وب‌سرویس خود نداشته باشند. بنابراین سیستم‌های پیاده­سازی شده در این زمینه باید بتوانند به کاربران خود در ایجاد یک درخواست مناسب کمک کنند.
مناسب نبودن نتایج برگشتی: صرف‌نظر از اینکه کاربران ممکن است کلمات کلیدی مناسبی را به سیستم ارائه ندهند، خود این نوع الگوریتم‌ها به دلیل استفاده نکردن از تمام محتویات موجود در فایل‌های توصیفی WSDL (هر چند که خود این فایل‌ها هم از نظر دارا بودن تمامی اطلاعات ناقص هستند) کارایی لازم را برای برگرداندن نتایج مناسب را نداشته باشند.
با کنار هم قرار دادن مزایا و معایب این نوع الگوریتم‌ها نتیجه می‌گیریم که این نوع الگوریتم‌ها هم از لحاظ کارایی و هم از نظر ساده بودن برای کاربر در پیدا کردن وب­سرویس مورد نظر عملکرد خوبی ندارند.

۳-۳ الگوریتم‌های کشف وب­سرویس بر اساس تحلیل نحوی[۹۲]

فایل‌های توصیفی وب­سرویس‌ها علاوه بر بخش توصیف عملکرد وب­سرویس بخش‌های دیگری هم دارد که می‌توان از آن‌ها برای بهتر کردن کارایی الگوریتم‌های کشف وب­سرویس استفاده کرد. بعضی از پژوهشگران کارهایی در این زمینه انجام دادند که در ادامه بعضی از آن‌ها مورد بررسی قرار خواهد گرفت.
در [۷] به خوبی همه بخش‌های فایل توصیفی WSDL وب­سرویس‌ها مورد تحلیل قرار گرفته است که در الگوریتم کشف وب­سرویس پیاده­سازی شده نیز به خوبی مورد استفاده قرار گرفته است. در مدل مفهومی این تحقیق محتوای هر فایل توصیفی به چهار دسته‌ی مجزا تقسیم می‌شود.
CP [۹۳]: این دسته شامل ویژگی‌های عمومی وب­سرویس‌ها مثل نام وب­سرویس، کلید وب­سرویس در مخزن، توصیف وب­سرویس، نام فراهم کننده وب­سرویس و آدرس وب­سرویس است. برای مقایسه تشابه این ویژگی‌ها با داده ­های ورودی کاربران، از پایگاه داده ­های لغوی[۹۴] WordNet و HowNet استفاده شده است. در پایگاه داده ­های WordNet و HowNet ابتدا واژه‌ها در مجموعه­های هم معنی سازماندهی می‌شوند که هر کدام از این مجموعه‌ها یک مفهوم لغوی را نشان می‌دهند و در مرحله‌ی بعد با بهره گرفتن از مفاهیم معنایی[۹۵] بین این مجموعه‌ها ارتباط برقرار می‌شود. با این مجموعه‌ها و ارتباط‌های بین آن‌ها یک گراف به وجود می‌آید که با بهره گرفتن از آن به آسانی فاصله‌ی معنایی بین واژه­ های مختلف قابل محاسبه است. در این تحقیق از این ساختار برای اندازه ­گیری میزان تشابه دو واژه‌ی متفاوت استفاده شده است که فرمول استفاده شده به صورت زیر است.
SP [۹۶]: این دسته شامل ویژگی‌های خاص برای برخی وب­سرویس‌ها است. به عنوان نمونه وب­سرویس‌های رسانه­ای ممکن است تصویری یا صوتی باشند که در این پژوهش می‌توان این نوع اطلاعات را در این ویژگی‌ها ذخیره کرد. فرمول محاسبه‌ی میزان تشابه این نوع ویژگی‌ها به شکل زیر است.
SI [۹۷] : این دسته از اطلاعات بدست آمده از تحلیل فایل توصیفی در واقع واسط کاربری وب­سرویس‌ها را نشان می‌دهد که متشکل از تعدادی عملیات است که وب­سرویس­های مورد نظر آن‌ها را به کاربران ارائه می‌دهد. هر عملیاتی با مجموعه سه­تایی نشان داده شده است. نحوه‌ی محاسبه‌ی میزان تشابه داده ­های ورودی کاربران با داده‌هایی که در پایگاه داده ذخیره شده‌اند، این دسته هم مثل دسته‌ی CP است .
Qos [۹۸]: این دسته شامل اطلاعاتی مثل زمان پاسخ[۹۹]، قابلیت اطمینان[۱۰۰]، درستی[۱۰۱] و امنیت[۱۰۲] است که ممکن است با توجه به مکانیزم‌هایی، این اطلاعات برای هر وب سرویسی محاسبه شود.

شکل ۳-۲ : شمای کلی معماری الگوریتم ارائه شده [۷]

هر چند که الگوریتم فوق از تمامی اطلاعات موجود در فایل‌های توصیفی وب­سرویس‌ها برای بهبود کارایی الگوریتم استفاده می‌کند، با این حال هنوز بیشتر مشکلاتی که در رابطه با الگوریتم‌های کشف وب­سرویس بر اساس کلمات کلیدی بیان شد، در الگوریتم پیشنهادی این مقاله نیز وجود دارد که مهم‌ترین آن کمک نکردن به کاربر در ایجاد یک درخواست مناسب برای پیدا کردن وب­سرویس مناسب است.
یکی دیگر از کارهایی که با این رویکرد انجام شده است به دو مورد از مشکلات موجود بین پارامترهای ورودی و خروجی عملیات وب­سرویس‌ها پرداخته است که در واقع می‌توان این کار را به عنوان تصحیح کننده این مشکلات به همه‌ی الگوریتم‌های کشف وب­سرویس اضافه کرد[۲۷]. مشکلاتی که در این مقاله به آن‌ها پرداخته شده‌اند به شرح زیر می‌باشند:
وابستگی به واسط کاربری[۱۰۳] : در هر عملیاتی تعدادی پارامتر ورودی و خروجی وجود دارد که هر پارامتر خروجی وابسته به چند پارامتر ورودی است. به عنوان مثال همان­طور که در شکل ۳-۳ قابل مشاهده است در این عملیات برای بدست آوردن ایستگاه راه آهن فقط پارامتر ورودی شهر مبدأ نیاز است در حالی که برای بدست آوردن فاصله‌ی بین دو شهر هر دو پارامتر ورودی نیاز است. با مشخص شدن اینکه هر پارامتر خروجی به کدام یک از پارامترهای ورودی وابسته است به کاربرانی کمک می­ کند که فقط برای هر خروجی ورودی‌های مناسبی را وارد می‌کنند. به عنوان مثال کسی که به دنبال پیدا کردن یک ایستگاه راه آهن مناسب می‌گردد، فقط شهر مبدأ را وارد می‌کند و دیگر نیاز به شهر مقصد نیست.

شکل ۳-۳ : نمایش وابستگی رابطه ای

ترکیب عملیات[۱۰۴] : در بعضی از موارد هم ممکن است با ترکیب چند مورد از عملیات یک وب­سرویس و ایجاد یک عملیات کلی به نتایج بهتری دست پیدا کنیم. به عنوان مثال اگر عملیات پیش بینی وضع هوا و تبدیل کد شهر به نام شهر را در یک وب­سرویس داشته باشیم، می‌توانیم با ترکیب این عملیات به یک عملیات کلی‌تر دست یابیم که در آن نیاز نباشد برای پیدا کردن عملیات پیش بینی هوا از پارامتر نام شهر هم استفاده کرد.
راهکاری که برای حل مشکلات فوق ارائه شده است، شناسایی همه وابستگی‌ها و ترکیب‌های ممکن قبل از انتشار وب­سرویس در مخازن ثبت سرویس می­باشد که در صورت وجود وابستگی بین خروجی و ورودی‌های مختلف، عملیات مورد نظر به صورت مجازی به چند عملیات تجزیه می‌شود و در صورت امکان ترکیب شدن عملیات، مجدداً یک عملیات مجازی کلی‌تری که ترکیبی از چند عملیات واقعی است به وب­سرویس اضافه می‌شود.

شکل ۳-۴ : الگوریتم پیشنهادی [۲۷]
موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...