وب سرویس
مرور وب سرویس مسئله عدم تجانس بین کاربردهای یک سازمان: عدم تجانس میان افزار (سرورها) عدم تطابق پروتکل (http , … ) تنوع فرمت دادهها تنوع معرفی واسطها (CORBA, Java RMI, … ) نداشتن مکان مشترک جهت جست و جوی سرویسها راه حل : استفاده از استانداردها استاندارد: مجموعهای از قوانین و مشخصات که توسعه پیدا میکنند و پذیرفته میشوند و به جزییات پیادهسازی وابسته نیستند. مثال: XML, SOAP, WSDL, UDDI, WS-I Basic Profile
مرور وب سرویس مثال: XML, SOAP, WSDL, UDDI, WS-I Basic Profile XML(Extensible Markup Language) : زبان ارتباطات مشترک ، فرمتی مستقل از میان افزار برای تبادل داده SOAP(Simple Object Access Protocol) : فرمت مشترک برای تبادل پیامها بین کاربردها (سرویس دهنده و گیرنده) WSDL(Web Services Description Language) : فرمت مشخصات سرویس مشترک، زبان توصیف وب سرویسها و مستقل از زبان و پلتفرم جهت تعیین واسط یک سرویس UDDI(Universal Description, Discovery and Integration) : ابزاری مشترک برای جست و جوی سرویس، روشی استاندارد برای ثبت، حذف و جست و جوی سرویسها
مرور وب سرویس مثال: XML, SOAP, WSDL, UDDI, WS-I Basic Profile WS-I (Web Services-Interoperability) Basic Profile() : تعاملپذیری چند محیطی سرویسها که در پلتفرمهای مختلف عمل میکنند. وبسرویس: استانداردهای فوق که بسیاری از مسائل عدم تجانس را حل میکنند ولی نه همه.
مرور وب سرویس مدل تجاري بعدي اينترنت: نظر سنجي بيش از 66 درصد ويژگيهاي يک وب سرويس از ديد Paul Flessner ، نايب رئيس مايکروسافت: پنهانسازي اطلاعات وب سرويسها بر پايه XML بنا نهاده شدهاند وب سرويسها خود، خود را توصيف ميکنند
سير تکاملي محاسبات توزيعی و تجمیع پست الکترونيکي EDI ميکروکامپيوتر، سيستم عامل، پست الکترونيکي RPCs CORBA, DCOM وب XML XML – RPC , SOAP 0.9 , etc. SOAP & WSDL وب سرويسها 1970 1980 1990 1997 1999 2000 2001 2002 2003 … 1970 1980 1990 1997 1999 2000 2001 2002 2003 2004
مثال: خريد بليط قطار فراخواني و استفاده سرورهاي شرکت رجا تحت وب درخواست فراخواني و استفاده SOAP سرورهاي شرکت رجا تحت وب وب سرويس بانک سامان کاربر پاسخ
مفهوم وب سرويس توصيف وجستجو انتشار و کشف استفاده ميانجيهاي سرويس WSDL انتشار و کشف UDDI درخواست کنندگان سرويس فراهم کنندگان سرويس استفاده SOAP over HTTP
XML eXtensible Markup Language در سال 97 استاندارد شد به شرکت خاصي تعلق ندارد جبران ضعف HTML جدا بودن محتوا از ظاهر استفاده از تگ مشابه HTML تگ جهت تعیین نوع داده نه نمایش آن (مانند HTML) برخلاف HTML، تگها ثابت نیستند هر کاربرد خودش تصميم مي گيرد که چگونه اطلاعات را نمايش دهد XML parser براي خواندن اطلاعات هر تکنولوژي ميتواند به استفاده از آن بپردازد
XML هر تکنولوژي ميتواند به استفاده از آن بپردازد مهمترین استاندارد در وبسرویسها اسناد XML ابزاری جهت انتقال اطلاعات بین سرویس دهنده و گیرنده مبنایی برای WSDL جهت معرفی واسط مبنای پروتکل SOAP جهت دسترسی به وب سرویسها UDDI که برای انتشار و یافتن سرویس هست نیز بر اساس XML هست
ساختار سند XML
مثال ساده <?xml version="1.0" encoding="UTF-8"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> عنصر فوقانی: note، هر عنصر شامل داده، ویژگی و تعدادی عنصر دیگر
SOAP Simple Object Access Protocol توليد توسط شرکت UserLand و مايکروسافت در سال 1998 اولين نسخه در سال 1999 در دسامبر 2001 نسخه 2/1 استاندارد شد هدف : ارسال داده بين سيستم هاي روي شبکه
SOAP : ارتباط کاربردها و وب سرويسها 2- اجراي يک تابع با توجه به محتواي پيام 1- پيام SOAP وب سرويس کاربرد تحت وب 3- ارسال نتايج با SOAP
پيام SOAP XML به تنهایی برای ارتباط کافی نیست مستقل از زبان برنامهنویسی و پلتفرم پیام SOAP یک سند XML هست هدف: تفسير درست توسط گيرنده دريافت توسط سرورهاي SOAP
عناصر پيام : پيام SOAP پوششی (Envelope) : به منظور بسته بندي کردن کل پيام توصيف محتواي پيام و گيرنده آن سرآيند (Header) : اختياري است امنيت و مسيريابي بدنه (Body) : حاوي پيام واقعی پیروی از عنصر سرآیند تعيين شکل پيامهاي ارسالي با استفاده از الگو
مزيتهاي SOAP به علت استفاده از HTTP به علت استفاده از XML قابليت گسترش سادگي استقلال از زبان برنامه نويسي و سيستم عامل و سخت افزار به علت استفاده از XML به علت استفاده از HTTP
مثال پیام SOAP Envelope بدنه اطلاعات مربوط به نوع ذخيره فايلهاي xml تعريف نام متغيرها و نوع آنها، مقداردهي اوليه به آنها
زبان WSDL Web Services Description Language مبتنی بر فرمت XML توانايي تعریف واسط و توصيف مشخصات وب سرويسها توسط خودشان اطلاعات (پارامترهای) مورد نياز وب سرويس اطلاعات (پارامترهای) خروجي وب سرويس طراحي براي درک آن توسط ماشين در ابتدا هر يک از توسعهدهندگان، استاندارد خودشان را داشتند پس از يکسان شدن استاندارد IBM و مايکروسافت، WSDL به وجود آمد ارائه WSDL توسط اين دو کمپاني و استاندارد شدن آن
WSDL هر وب سرويس روي اينترنت يک WSDL دارد. اين فايل توصيف کننده وب سرویس: مشخصات مکان نحوه استفاده (با استفاده از پروتکلهاي مختلف) در تئوري، هر برنامه کاربردي تحت وب با استفاده از WSDL به جستجوي وب سرويس دلخواه خود گرديده و از آن استفاده ميکند.
قسمتهاي سند WSDL Types Message Operation PortType تعریف انواع داده (ساده، پیچیده، طرحواره و ... ) موجود در پیامها Message قسمتهاي (parts) مختلف پيام را تعريف ميکند. مانند سرآيند (header) و بدنه <message name=’quoteRequest’> <part name=’body’ element=’quote-schema-ns:stockName’/> </message> Operation پيامهاي مختلف در يک جريان پيام رساني را ليست ميکند. به عنوان مثال يک عمليات request- response شامل دو پيام هست. PortType مجموعه عملياتي را که هر يک از طرفين درگير در ارتباط، انتظار دارند، بدون توجه به جزئيات کدکردن و انتقال پيام نشان ميدهد. <portType name=’quotePortType’> <operation name=’getQuote’> <input message=’quote-wsdl-ns:quoteRequest’/> <output message=’quote-wsdl-ns:quoteResponse’/> </operation> </portType>
ادامه قسمتهاي سند WSDL Binding جزئيات کدکردن و انتقال پيام را براي يک portType خاص نشان مي دهد. <binding name=’quoteBinding’ type=’quote-wsdl-ns:quotePortType’> <operation name=’getQuote’> <soap:operation soapAction="http://example.com/stockQuoteAction"/> <input> <soap:body part=’body’ use=’literal’/> </input> <output> </output> </operation> </binding>
ادامه قسمتهاي سند WSDL Port آدرس شبکه، ماشيني که سرويس را ارائه ميدهد دربر ميگيرد Service يک مجموعه از endpointهاي مرتبط به هم را نشان مي دهد <service name=’stockService’> <port name=’stockPort’ binding=’quote-wsdl- ns:quoteBinding’> <soap:address location=’http://example.com/quotes/'/> </port> </service>
قسمتهاي سند WSDL
UDDI Universal Description , Discovery and Integration توانايي ارائه وب سرويسها بر روي اينترنت توسط شرکتها و افراد استاندارد: توسط مايکروسافت، IBM و چندین شرکت ديگر مبتني بر XML توصیف درمورد: چگونگي کار با وب سرويس امکانات آن
UDDI UDDI ميتواند: بزرگترين و مهمترين پايگاه در اينترنت به طور خصوصي نگهداري شود در مکانهاي عمومي در اينترنت قرار داده شود بزرگترين و مهمترين پايگاه در اينترنت UDDI Business Registry که توسط چهار شرکت نگهداري ميشود: مايکروسافت IBM SAP HP اين اطلاعات شامل: اطلاعات تماس شرکتها و توضيحات متني آن شرکتها اطلاعات طبقهبندي شده شرکتها و اطلاعات درباره توانايي وب سرويسهای آنها اطلاعات تکنيکي درباره سرويسهاي آنها و نحوه پردازش اطلاعات
رجیستری UDDI یافتن سرویس ثبت سرویس استفاده رجیستری UDDI مصرف کننده سرويس فراهم کننده سرويس
وب سرويس در يک نگاه فهرست مستندات UDDI WSDL وب سرويس کاربرد 1- جستجوي فهرست 4-داده هاي لازم براي تعامل با وب سرويس وب سرويس کاربرد 5- پيام درخواست SOAP 6- پيام پاسخ SOAP
وب سرويس در يک نگاه- مثال
تکلیف استفاده از یک وب سرویس گوگل برای یک کاربرد تحت وب. استفاده از یک وب سرویس گوگل برای یک کاربرد تحت وب. دسترسی به این وب سرویس با هر زبانی. API وب سرویس گوگل ساخت یک صفحه وب برای فراخوانی وب سرویس گوگل.