پایان نامه ارشد با موضوع قابلیت اطمینان، مدل ارتباطی، مفهوم نما

نگاهداشتن اطلاعات از رمزنگاری متقارن استفاده میشود. برای حفظ تمامیت36 پیامها هم MAC 37 به کار گرفته میشود.[3]
SOAP معایبی هم دارد. XML میتواند به طور قابل توجهی کندتر از تکنولوژیهای میانافزاری38 مانند CORBA39 باشد. در مورد پیامهای کوچک این موضوع اغلب مشکلی محسوب نمیشود. اما در مورد پیامهای بزرگ و پیچیده CORBA از نظر کارایی عملکرد بهتری دارد. البته این مشکل با به کارگیری استاندارد MTOM40 در سرویسهای وب کاهش پیدا کرده است. این استاندارد امکان انتقال کارای اطلاعات دودویی41 را بین سرویسهای وب فراهم مینماید.[3]
WSDL (Web Service Description Language)
سرویسهای وب نیاز دارند یک روش استاندارد را برای توصیف فراخوانی و ارتباط بین خود در نظر بگیرند. WSDL زمینه ایجاد مستندات را به این منظور فراهم میآورد.[8] WSDL امکان یک توصیف رسمی را در یک حالت قابل خواندن توسط ماشین42 ایجاد مینماید. WSDL یک زبان مبتنی بر XML است که برای توصیف سرویسهای وب، نحوه فراخوانی آنها، پارامترهایی که یک سرویس منتظر دریافت آنها است و نوع دادهساختاری که یک سرویس بازمیگرداند، کاربرد دارد.
در نسخه 1.1 WSDL یک سرویس به صورت مجموعهای از درگاهها43 تعریف میشد. در WSDL 2.0 یک سرویس به صورت مجموعهای از نقطههای پایانی44 تعریف میشود. در شکل ‏22 نمایی از ساختار یک سند WSDL با نسخه 1.1 و یک سند WSDL با نسخه 2.0 آمده است. تفاوتهای ساختاری نسخه 1.1 و 2.0 در شکل مشهود میباشد.

شکل ‏22- تفاوت نسخههای WSDL نسخه 1.1 و نسخه 2.0
هر درگاه با یک آدرس شبکهای مرتبط است. در قسمت Binding در WSDL نسخه 1.1 Operationهای یک سرویس توصیف شدهاند. همچنین در WSDL نسخه 2.0 در این قسمت واسطها توصیف میشوند. هر Operation قابلیت این را دارد که توسط درخواستکننده سرویس فراخوانی شود. در سرویسها میتوان Operationها را مانند متدها یا توابع در زبانها برنامهنویسی معمول در نظر گرفت. همچنین قالب پیام ورودی و پیام خروجی هر Operation در قسمت Message سند WSDL تعریف شده است. انواع دادهای هم که میتوان از آنها برای تعریف پیامهای ورودی و خروجی استفاده کرد را میتوان در قسمت Types تعریف نمود.
UDDI (Universal Description, Discovery and Integration)
UDDI یک زبان مبتنی بر XML است که توسط کسبوکارها برای ثبت کردن سازمانشان در اینترنت از آن استفاده مینمایند. همچنین برای ثبت و کشف سرویسهای وب برنامههای کاربردی نیز به کار میرود.[9]
UDDI یک ابتکار صنعتی است که به وسیله OASIS45 حمایت میشود. این سازمان امید دارد به واسطهی به کارگیری UDDI به کسبوکارها کمک شود که یکدیگر را از طریق لیست سرویسهای منتشرشده پیدا نمایند. UDDI را میتوان به عنوان یک استاندارد صنعتی در نظر گرفتن که امکان تعامل را برای نرمافزارهای کاربردی سرویسهای وب، بر روی اینترنت فراهم مینمایند. UDDI براساس استانداردهای پایه سرویسهای وب شکل گرفته و امکان ارتباط برقرار کردن با آن به وسیله SOAP وجود دارد. همچنین این امکان وجود دارد که به وسیله یک سند WSDL مشخصات سرویسهای مرتبط با آن تعریف شود.[10]
UDDIهای ثبت کسبوکارها شامل سه مولفه میشوند. این مولفهها صفحههای سبز، زرد و قرمز میباشند. صفحههای سبز مشخصات فنی مرتبط با سرویس را ارائه میدهند. این صفحهها توسط کسبوکاری که ثبت شده، ارائه میشوند. صفحههای زرد طبقهبندیها هستند، که بر اساس روشهای استاندارد طبقهبندی ارائه میگردند. صفحههای سفید شامل اطلاعات مشخص هویتی میشوند. مانند: اطلاعات تماس و آدرس کسبوکار. صفحههای سفید معمولا شامل اطلاعات تماس سازمان، مانند آدرس سازمان، شماره تلفن تماس میشود.[10] حتی ممکن است شامل اطلاعاتی چون ردهبندی شایستگی کارت اعتباری و اطلاعات مهم دیگر شود.[9]
صفحههای زرد کلاسهبندی کسبوکار را بر اساس سیستمهای استاندارد کلاسهبندی مشخص مینمایند.[10] استانداردهای مربوطه توسط UNSPSC46، NAICS47 و SIC48 قرار داده شدهاند.
صفحههای سبز اطلاعات لازم برای دسترسی به سرویسهای وب را در اختیار قرار میدهند.[10] برای مثال آدرس اینترنتی سرویس و پارامترهای مربوطه در این صفحه قرار میگیرد. همچنین ممکن است، اطلاعاتی مانند واسطها49 و مشخصات سرویس نیز در این صفحهها آمده باشد. بعضی سرویسهای وب ممکن است از چند Binding پشتیبانی نمایند، در این صورت به ازای هر Binding یک صفحه سبز وجود خواهد داشت. به عبارت دیگر هر صفحه سبز میتواند مرتبط با یک Binding باشد.
RESTful (Representational State Transfer)
یکی از رقبای تفکر SOAP به کارگیری سبک RESTfull سرویسهای وب میباشد. این سبک در سال 2000 در دانشگاه کالیفرنیا پیشنهاد شده است.[11] این فناوری شامل یک ارتباط ساده HTTP میشود که میتواند انواع قالبهای دادهای مانند XML را منتقل نماید. REST بر پایه مفهوم نماینده انتقال حالت50 که توسط Roy Fielding در رساله خود مطرح کرده، بنا شده است[12]. REST تلاش کرده معماری باشد که با به کارگیری HTTP یا پروتکلهای مشابه و واسطهای محدود و شناخته شدهای که همان عملیاتهای استانداردی مثل GET، POST، PUT و Delete، عملکرد خود را انجام دهد و تمرکز خود را به جای پیامها و عملیاتها51 بر روی تعامل بدون حالت52 قرار دهد.
REST از چهار اصل پایه ذیل در طراحی پیروی مینماید:
استفاده صریح از روشهای HTTP
بدون حالت بودن
ارائه URIهایی مشابه ساختار پوشهبندی
انتقال XML یا JSON53 یا هر دوی
REST با قابلیتهایی که دارد به راحتی میتواند بین سرویسگیرندگان مختلف که حتی به زبانهای برنامهنویسی مختلف نوشته شدهاند، ارتباط برقرار نماید. سهولت پیادهسازی و استفاده باعث شده است که REST به صورت غالب در طراحی سرویسهای وب به کار گرفت
ه
شود و در بسیاری موارد توانسته جایگزین SOAP و واسطهایی که توسط WSDL طراحی میگردد، شود.[11]
این معماری که بر پایه REST طراحی شده است، میتواند از WSDL که برای توصیف پیامرسانی بر پایه SOAPاست، استفاده نماید یا میتواند به طور کلی بدون SOAP به کار گرفته شود.
مقایسه SOAP و RESTfull
هر دوی این تکنولوژیها مزایا و معایب خود را دارند. برای مثال SOAP برای محیطهای محاسبات توزیعشده طراحی شده است و پیشتیبانی بهتری از استانداردهایی مانند WSDL و WS-* را داراست. همچنین دارای مکانیزم مدیریت خطا54 میباشد و قابل توسعه است. از سوی دیگر SOAP از نظر مفهومی پیچیده است و از نظر توسعه و ابزار هم دشواریهایی را تحمیل مینماید. البته در صورتیکه نیاز به تعریف رسمی55 قرارداد56 باشد، بهترین گزینه محسوب میشود. همچنین استفاده از SOAP برای شرایطی که نیاز به مدیریت نیازمندیهای کیفی پیچیده وجود داشته باشد یا نیاز به مدیریت غیرهمزمان57 پردازشها و فراخوانیها وجود داشته باشد، انتخاب مناسبی محسوب میشود.[13]
REST هم دارای مزیتها و معایب خود میباشد. مزایای آن عبارتست از: سادگی در توسعه، کمتر بر پایه ابزار بودن، زمان یادگیری کوتاه، مختصر بودن و نزدیک بودن فلسفه و تفکر آن به طراحی وب. معایب REST عبارتند از مدل ارتباطی نقطهبهنقطه58 که در محیطهای محاسبات توزیعشده قابل استفاده نیست. عدم وجود استانداردهایی برای امنیت، سیاستگذاری59 و پیامرسانی قابل اطمینان60 و وابستگی شدید آن به مدل انتقال HTTP.
استفاده از REST در شرایط ذیل توصیه میشود:
سرویسهای وب به طور کامل بدون حالت
وجود کنترل بر روی زیرساخت Caching برای کارایی بهتر
در شرایطی که ارائهدهندگان و مصرفکنندگان سرویس درک مشترکی از محتوا و متن داشته باشند.
در شرایطی که پهنای باند محدود باشد. برای مثال به کارگیری REST در محیطهایی مثل PDAها وگوشیهای همراه مفید میباشد.
در جاهایی که ادغام بین سرویسهای وب و صفحههای وب داشته باشیم. چرا که AJAX با سهولت بسیار میتواند برای استفاده یک سرویس به کار گرفته شود.
در مجموع به کارگیری SOAP یا REST هر یک مزایا و معایب خود را دارد و هر یک جذابیت خود را برای توسعهدهندگان، طراحان و معماران دارند. در اینجا این وظیفه آنها است که با سنجش شرایط خود، تصمیم درست را بگیرند.
کشف سرویس مبتنی بر DNS61
DNS یک سیستم توزیعشده و سلسلهمراتبی برای نامگذاری کامپیوترها، سرویسها و هر منبعی است که به اینترنت یا شبکه محلی متصل است. یکی از معمولترین کاربردهای DNS ترجمه نام دامنهها به آدرس IP ای میباشد، که کامپیوتر ارائهدهنده سرویس از آن استفاده مینماید.[14] البته کاربرد DNS بسیار فراتر از این کار میباشد. DNS قادر است اطلاعات مختلفی را در رابطه با نام دامنهها دخیره نماید و در صورت لزوم آن اطلاعات را ارائه دهد.
کارکرد DNS به شکل معمول آن که سرویسگیرنده-سرویسدهنده62 است، خلاصه نمیشود. همیشه عملکرد به این صورت نیست که یک رایانه به عنوان سرویسدهندهی DNS عمل نماید و سایر رایانهها به عنوان سرویسگیرنده برای دریافت سرویس به این سیستم درخواست دهند. [15]
یکی از کارکردهای mDNS63 ترجمه نامها به آدرسهای IP در یک شبکه کوچک است که فاقد یک سرویسدهنده DNS محلی میباشد. این موضوع در مورد mDNS قابل توجه است که کلیه واسطهای برنامهنویسی، قالب بستههای پیام و مفاهیم عملیاتی بهطور کامل با یک Unicast DNS یکسان میباشد. mDNS قادر است به تنهایی در شبکه عملکرد خود را داشته باشد. همچنین میتوان با هماهنگی کامل با Unicast DNSها هم، به درستی عمل نماید. پروتکل mDNS با به کارگیری 64UDP به صورت چندپخشی65 برای تبادل پیام قادر است، چنین کارکردی داشته باشد.[16]
کشف سرویس مبتنی بر DNS به سرویسگیرندگان این امکان را میدهد که لیست سرویسها را بر اساس نوع کشف نمایند. این فرآیند کشف میتواند به یک دامنه مشخص محدود گردد. سرویسها میتوانند خود را توسط یک رکورد SRV و رکورد TXT توصیف نمایند. این عملکرد میتواند هم با mDNS و هم با ساختار Unicast DNS که به صورت سرویسگیرنده-سرویسدهنده است، خود را سازگار نماید. یک سرویسگیرنده میتواند لیست سرویسهایی که از نوع خاصی هستند را در دامنههای مشخص کشف نماید. این کار به کمک رکوردهای PTR، SRV و TXT صورت میگیرد.[17]
رکوردهای SRV به تنهایی برای برطرف کردن نیازمندیهای کشف سرویس محدودیتهایی دارند. رکوردهای SRV نمیتوانند در زمانیکه چنین نمونه از یک نوع سرویس وجود دارد را پشتیبانی نمایند. آنها میتوانند تنها از حالتی پشتیبانی نمایند که برای ترکیب نام و پورت یک سرویس وجود داشته باشد. برای مثال امکان پیکربندی رکوردهای SRV برای حالتی که دو سرویس جستجو در یک نرمافزار کاربردی وب از یک پورت یکسان استفاده نمایند، وجود ندارد. همچنین امکان ثبت فراداده66 را برای یک سرویس نمیتوانند فراهم نمایند.
کشف سرویس مبتنی بر DNS برای غلبه بر این محدودیتها با به کارگیری سازوکاری برای ترکیب سه نوع رکورد SRV، PTR و TXT سعی نموده، کلیه نیازمندیهای کشف سرویسها را برآورده نماید. کشف سرویسها مبتنی بر DNS از این سه نوع رکورد به صورت زیر استفاده مینماید:[15]
PTR: از این نوع رکورد برای نگاشت نمونههای سرویس به نوع آن سرویسها استفاده مینماید.
SRV: از این نوع رکورد برای مشخص کردن آدرس و پورت یک سرویس استفاده میشود.
TXT: از این نوع رکورد برای ارائه فرادادهها در مورد یک سرویس استفاده میشود.
در مورد کاربرد این رکوردها میتوانیم مثال زیر را مطرح نماییم. رکوردهای PTR زیر را در نظر میگیریم.
JimBlog._atom_http._tcp

PTR
_atom_http._tcp
MaryBlog._atom_http._tcp
PTR
_atom_http._tcp
SallyBlog._atom_http._tcp
PTR
_atom_http._tcp
درکوردهای فوق نشان میدهند سرویسهایی JimBlog و MaryBlog و SallyBlog از نوع _atom_http._tcp میباشند. کشف سرویس مبتنی بر DNS برای قواعد نامگذاری در نظر گرفته که نام سرویسها به صورت ذیل بیان شوند.
...
برای مثال نام سرویس JimBlog را میبایست به صورت زیر بیان شود.
JimBlog._atom_http._tcp.example.org
رکوردهای PTR سرویسگیرندگان را برای یافتن نمونههایی که از یک نوع سرویس وجود دارد، راهنمایی مینمایند. از رکوردهای SRV و TXT هم برای توصیف هر یک از نمونههایی که از یک سرویس وجود دارد، استفاده میشود. رکوردهای SRV اطلاعات آدرس و پورتی که سرویس بر روی عرضه میگردد را ارائه مینمایند. رکوردهای TXT هم فرادادههای بیشتری را در مورد هر نمونه سرویس ارائه میدهند. کشف سرویسها مبتنی DNS برای رکوردهای TXT از قالب کلید-مقدار67 استفاده مینماید. برای مثال در مورد سرویس JimBlog میتوانیم رکوردهای SRV و TXT ذیل را داشته باشیم. [15]

mars.example.org

80
0
0
SRV
JimBlog._atom_http._tcp

Path=/blogs/jim
TXT
JimBlog._atom_http._tcp
این رکوردها بیان مینمایند که سرویس JimBlog._atom_http._tcp.example.org در آدرس mars.example.org و روی پورت 80 در دسترس است و رکورد TXT هم پارامتر مسیر68 لازم برای دسترسی را بیان مینماید. سرویسگیرنده در مجموع از رکوردهای ثبت شده، میتواند متوجه شود که سرویس JimBlog در آدرس http://mars.example.org:80/blogs/jim در دسترس میباشد.
در مجموع مزایایی را که به کارگیری DNS در این مکانیزم کشف سرویس به وجود آورده است را میتوان در موارد ذیل برشمرد: [15]
تعداد زیادی پیادهسازی تست شده و با کدباز69 وجود دارد.
دانش و آگاهی زیادی در مورد مکانیزمهای مرتبط با آن در میان مدیران شبکهها و توسعهدهندگان نرمافزار وجود دارد.
وجود تکنولوژی DNS در همه جا خود ضامن مطمئنی برای سرمایهگذاری بر روی این فناوری میباشد.
DNS هم با سازوکارهای جاری که دارد. مزایای ذیل را برای این فناوری ایجاد مینماید:
ارتقاء قابلیت اطمینان70 از طریق تکرار71
قابلیت Caching که DNSها در خود دارند.
قابلیت انتقال اختیارات مدیریتی که در DNS وجود دارد.
سهولت پیکربندی
پشتیبانی قوی و همهجانبهای که در حال حاضر وجود دارد.
جمعبندی و نتیجهگیری
سرویس وب یک سیستم نرمافزاری است که برای پشتیبانی از تعاملات سازگار72 کامپیوترهای تحت شبکه طراحی شده است. سرویس وب یک رابط73 دارد که در یک قالب قابل پردازش توسط ماشین74 توصیف میشود. WSDL معمولا قالبی است که برای توصیف یک سرویس وب استفاده میشود. یکی از مواردی که در مستندات WSDL توصیف میگردد، ساختار پیامهای دریافتی و بازگشتی است که یک سرویسهای از آنها استفاده مینماید. این پیامهای بهطور معمول در قالب SOAP مبادله میشوند.
UDDI یک زبان مبتنی بر XML است که توسط کسبوکارها برای ثبت کردن سازمانشان د

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *