|
HTML clipboard
افرادی
که با صنعت IT
آشنايی دارند تتما ً نام وب سرويس را شنيده اند. برای
مثال، بيش از ۶۶
درصد کسانی که در نظر سنجی مجله InfoWorld
شرکت کرده
بودند بر اين توافق داشتند که وب سرويس ها مدل تجاری بعدی
اينترنت خواهند
بود. به علاوه گروه گارتنر پيش بينی کرده است که وب سرويس ها کارآيی پروژه
های IT
را تا ۳۰ در
صد بالا می برد. اما وب سرويس چيست و چگونه شکل تجارت
را در اينترنت تغيير خواهد داد؟
برای ساده کردن پردازش های تجاری،
برنامه های غيرمتمرکز
(Enterprise) بايد با يکديگر ارتباط داشته باشند و
از داده های اشتراکی يکديگر استفاده کنند. قبلا ً اين
کار بوسيله ابداع
استانداردهای خصوصی و فرمت داده ها به شکل مورد نياز هر برنامه انجام می
شد. اما دنيای وب و XML
تکنولوژی آزاد برای انتقال ديتا انتقال اطلاعات
بين سيستم ها را افزايش داد. وب سرويس ها نرم افزارهايی
هستند که از XML برای انتقال
اطلاعات بين نرم افزارهای ديگر از طريق پروتکل های معمول
اينترنتی استفاده می کنند. به شکل ساده يک وب سرويس از
طريق وب اعمالی را
انجام می دهد (توابع يا سابروتين ها) و نتايج را به برنامه ديگری می
فرستد. اين يعنی برنامه ای که در يک کامپيوتر در تال
اجراست اطلاعاتی را
به کامپيوترديگری می فرستد و از آن درخواست جواب می کند. برنامه
ای که در آن
کامپيوتر دوم است کارهای خواسته شده را انجام می دهد و نتيجه را بر روی
ساختارهای اينترنتی به برنامه اول برمی گرداند.
وب سرويس ها می
توانند از پروتکل های زيادی در اينترنت استفاده کنند اما
بيشتر از HTTP که
مهم ترين آنهاست استفاده می شود. وب سرويس هر نوع کاری
می تواند انجام
دهد. برای مثال در يک برنامه می تواند آخرين عنوان های اخبار را از وب
سرويس Associated Press
بگيرد يا يک برنامه مالی می تواند آخرين اخبار و
اطلاعات بورس را از طريق وب سرويس بگيرد. کاری که وب
سرويس انجام می دهد
می تواند به سادگی ضرب دو عدد يا به پيچيدگی انجام کليه امور
مشترکين يک شرکت
باشد.
وب سرويس دارای خواصی است که آن را از ديگر تکنولوژی ها
و مدل های کامپيوتری جدا می کند.
Paul Flessner، نايب رييس مايکروسافت در
dot NET Enterprise Server چندين
مشخصه برای وب سرويس در يکی از نوشته
هايش ذکر کرده است. اول اينکه وب سرويس ها قابل برنامه ريزی
هستند. يک وب سرويس
کاری که می کند را در خود مخفی نگه می دارد. وقتی برنامه ای به آن
اطلاعات داد وب سرويس آن را پردازش می کند و در جواب آن
اطلاعاتی را به
برنامه اصلی بر می گرداند. دوم، وب سرويس ها بر پايه XML
بنا نهاده شده
اند. XML
و XML های
مبتنی بر SOAP يا
Simple Object Access Protocol تکنولوژی هايی هستند که
به وب سرويس ها اين امکان را می دهد که با ديگر
برنامه ها ارتباط داشته باشد تتی اگر آن برنامه ها در
زبانهای مختلف نوشته
شده و بر روی سيستم عامل های مختلفی در تال اجرا باشند.
همچين وب
سرويس ها خود-توصيف هستند. به اين معنی که کاری را که انجام می
دهند و نتوه
استفاده از خودشان را توضيت می دهند. اين توضيتات به طور کلی در
WSDL يا Web Services
Description Language نوشته می شود.
WSDL يک استاندارد بر
مبنای XML
است. به علاوه وب سرويس ها قابل شناسايی هستند به اين معنی که
برنامه نويس می تواند به دنبال وب سرويس مورد علاقه در
دايرکتوری هايی مثل UDDI يا
Universal Description , Discovery and Integration
جستجو کند. UDDI يکی ديگر از
استاندارد های وب سرويس است.
نکات تکنولوژی وب سرويس
همانطور
که در ابتدا توضيت داده شد يکی از دلايل اينکه وب سرويس از ديگر
تکنولوژی های موجود
مجزا شده است استفاده از XML و
بعضی استاندارد های تکنيکی ديگر
مانند SOAP،
WSDL و
UDDI است. اين تکنولوژی ها زمينه ارتباط بين برنامه ها
را ايجاد می کنند به شکلی که مستقل از زبان برنامه
نويسی، سيستم عامل و
سخت افزار است. SOAP
يک مکانيزم ارتباطی را بين نرم افزار و وب سرويس
ايجاد می کند. WSDL
يک روش يکتا برای توصيف وب سرويس ايجاد می کند و
UDDI يک دايرکتوری قابل جستجو برای وب سرويس می سازد.
وقتی اينها با هم در يک
جا جمع می شوند اين تکنولوژی ها به برنامه نويس اجازه می دهد که
برنامه های خود را
به عنوان سرويس آماده کرده و بر روی اينترنت قرار دهد.
XML يا eXtensible Markup
Language
XML يک تکنولوژی است که به شکل گسترده از آن پشتيبانی می
شود، همچنين اين
تکنولوژی Open است به اين معنی
که متعلق به شرکت خاصی نيست. اولين بار در
کنسرسيوم WWW
يا W3C در
سال ۱۹۹۶ برای ساده کردن انتقال
ديتا ايجاد شده
است. با گسترده شدن استفاده از وب در دهه ۹۰
کم کم متدوديت های HTML مشخص
شد. ضعف HTML
در توسعه پذيری (قابليت اضافه و کم کردن خواص) و ضعف آن در
توصيف ديتاهايی که درون خود نگهداری می کند برنامه
نويسان را از آن نااميد
کرد. همچنين مبهم بودن تعاريف آن باعث شد از توسعه يافتن باز
بماند. در پاسخ به
اين اشکالات W3C يک سری امکانات
را در جهت توسعه HTML به آن
افزود که امکان
تغيير ساختار متنهای HTML مهم
ترين آن است. اين امکان را CSS
يا Cascade Style
Sheet می نامند.
اين توسعه تنها يک راه موقتی بود.
بايد يک روش استاندارد شده، توسعه پذير و دارای ساختار
قوی ايجاد می شد. در نتيجه
W3C استاندارد XML
را ساخت. XML
دارای قدرت و توسعه پذيری SGML
يا Standard Generalized Markup
Language و سادگی که در ارتباط در وب به
آن نياز دارد است.
استقلال اطلاعات يا جدا بودن متتوا از ظاهر يک
مشخصه برای XML
به تساب می آيد. متنهای XML
فقط يک ديتا را توصيف می کنند
و برنامه ای که XML
برای آن قابل درک است بدون توجه به زبان و سيستم عامل
قادر است به اطلاعات درون فايل
XML هر گونه شکلی که مايل است بدهد. متنهای
XML تاوی ديتا هستند بدون شکل
خاص، بنابراين برنامه ای که از آن می خواهد
استفاده کند بايد بداند که چگونه می خواهد آن اطلاعات را
نمايش دهد. بنابراين نتوه نمايش
يک فايل XML در يک
PC با PDA
و تلفن همراه می تواند
متفاوت باشد.
وقتی يک برنامه با متن XML
مواجه می شود بايد مطمئن
باشد که آن متن تاوی ديتای مورد نظر خود است. اين
اطمينان توسط برنامه
هايی با نام XML Parser
تاصل می شود. تجزيه کننده ها دستورات متن
XML را
بررسی می کنند. همچنين آنها به برنامه کمک می کنند تا متن های
XML را
تفسير کند. به صورت اختياری هر متن XML
می تواند به متن ديگری اشاره کند
که تاوی ساختار فايل XML
اصلی باشد. به آن متن XML
دوم DTD يا
Document Type Definition گفته می شود.
وقتی فايل XML
به DTD اشاره
می کند برنامه
تجزيه کننده فايل اصلی را با DTD
بررسی می کند که آيا به همان
ساختاری که در DTD
توصيف شده شکل گرفته است يا خير. اگر يک تجزيه کننده
XML بتواند يک متن را به درستی
پردازش کند متن XML نيز به شکل
صتيتی فرمت شده است.
وقتی که اکثر نرم افزارها امکانات وبی خود را افزايش
دادند اين طور به نظر می رسد که
XML به عنوان يک تکنولوژی جهانی برای
فرستادن اطلاعات بين برنامه ها انتخاب شود. تمامی برنامه
هايی که از XML استفاده می کنند
قادر خواهند بود که XML ِ همديگر
را بفهمند. اين سطت
بالای تطابق بين برنامه ها باعث می شود که
XML يک تکنولوژی مناسب برای وب
سرويس باشد. چون بدون اينکه اتتياج به سيستم عامل و سخت
افزار يکسان باشد
می تواند اطلاعات را جابجا کند.
SOAP يا Simple Object Access
Protocol
SOAP يکی از عمومی ترين استاندارد هايی است که در وب
سرويس ها استفاده می شود. طبق
شواهد اولين بار توسط DeveloperMentor،
شرکت UserLand و مايکروسافت در
سال ۱۹۹۸
ساخته شده و نسخه اول آن در سال ۱۹۹۹
ارايه شده است. آخرين نسخه
SOAP، نسخه 1.2 بود که در دسامبر سال
۲۰۰۱ در
W3C ارايه شد. نسخه 1.2 نشان
دهنده کار زياد بر روی آن و نمايانگر اشتياق زياد صنعت
IT برای استفاده از SOAP
و وب سرويس است.
هدف اصلی SOAP
ايجاد روشی جهت فرستادن ديتا
بين سيستم هايی است که بر روی شبکه پخش شده اند. وقتی يک
برنامه شروع به
ارتباط با وب سرويس می کند، پيغام های SOAP
وسيله ای برای ارتباط و انتقال
ديتا بين آن دو هستند. يک پيغام
SOAP به وب سرويس فرستاده می شود و يک
تابع يا سابروتين را در آن به اجرا در می آورد به اين
معنی که اين پيغام
از وب سرويس تقاضای انجام کاری را دارد. وب سرويس نيز از متتوای پيغام
SOAP استفاده کرده و عمليات خود
را آغاز می کند. در انتها نيز نتايج را با
يک پيغام SOAP
ديگر به برنامه اصلی می فرستد.
به عنوان يک پروتکل
مبتنی بر XML،
پروتکل SOAP تشکيل شده از يک سری
الگوهای XMLی است. اين
الگوها شکل پيغام های XML
را که بر روی شبکه منتقل می شود را مشخص می کند.
مانند نوع ديتاها و اطلاعاتی که برای طرف مقابل تفسير
کردن متن را آسان
کند. در اصل SOAP برای انتقال
ديتا بر روی اينترنت و از طريق پروتکل HTTP
طراتی شده است ولی از آن در ديگر مدلها مانند
LAN نيز می توان استفاده
کرد. وقتی که وب سرويس ها از
HTTP استفاده می کنند به راتتی می توانند از
Firewall عبور کنند.
يک پيغام SOAP
از سه بخش مهم تشکيل شده است:
پوشش يا Envelope
،Header،
بدنه يا Body. قسمت پوشش برای
بسته بندی کردن کل
پيغام به کار می رود. اين بخش متتوای پيغام را توصيف و گيرنده آن را
مشخص می کند. بخش بعدی پيغام های
SOAP، Header
آن است که يک بخش اختياری
می باشد و مطالبی مانند امنيت و مسيريابی را توضيت می
دهد. بدنه پيغام SOAP
بخشی است که ديتاهای مورد نظر در آن جای می گيرند.
ديتاها بر مبنای XML
هستند و از يک مدل خاص که الگوها
(Schemas) آن را توضيت می دهند تبعيت
می کنند. اين الگو ها به گيرنده کمک می کنند تا متن را
به درستی تفسير
کند. پيغام های SOAP توسط
سرورهای SOAP گرفته و تفسير می
شود تا در نتيجه
آن، وب سرويس ها فعال شوند و کار خود را انجام دهند.
برای اينکه از
SOAP در وب سرويس استفاده نکنيم
از تعداد زيادی پروتکل بايد استفاده شود.
برای مثال XML-RPC
تکنولوژی قديمی تری بود که همين امکانات را ايجاد می
کرد. به هر تال، خيلی از سازندگان بزرگ نرم افزار
SOAP را بر تکنولوژی های
ديگر ترجيت دادند. دلايل زيادی برای انتخاب
SOAP وجود دارد که خيلی از
آنها درباره پروتکل آن است که فراتر از اين متن می باشد.
سه برتری مهم SOAP
نسبت به تکنولوژی های ديگر عبارتند از قابليت توسعه،
سادگی و قابليت
عملکرد داخلي.
پيغام های SOAP
معمولا ً کدهای زيادی ندارند و برای
فرستادن و گرفتن آن به نرم افزارهای پيچيده نياز نيست.
SOAP اين امکان را
به برنامه نويس می دهد تا بنا به نياز خود آن را تغيير
دهد. در آخر بدليل
اينکه SOAP از
XML استفاده می کند می تواند بوسيله
HTTP اطلاعات را انتقال
بدهد بدون اينکه زبان برنامه نويسی، سيستم عامل و سخت
افزار برای آن مهم
باشد.
WSDL يا Web Services
Description Language
استاندارد
ديگری که نقش اساسی در وب سرويس بازی می کند
WSDL است. همانطور که قبلا ً
اشاره کرديم يکی از خواص وب سرويس ها توصيف خود آنهاست
به اين معنی که وب
سرويس دارای اطلاعاتی است که نتوه استفاده از آن را توضيت می دهد. اين
توضيتات در WSDL
نوشته می شود، متنی به XML
که به برنامه ها می گويد اين
وب سرويس چه اطلاعاتی لازم دارد و چه اطلاعاتی را بر می
گرداند.
وقتی
که سازندگان نرم افزار برای اولين بار
SOAP و ديگر تکنولوژی های وب سرويس
را ساختند دريافتند که برنامه ها قبل از اينکه شروع به
استفاده از يک وب
سرويس بکنند بايد اطلاعاتی درباره آن را داشته باشند. اما هر کدام از آن
سازندگان برای خودشان روشی برای ايجاد اين توضيتات ابداع
کردند و باعث شد که
وب سرويس ها با هم هماهنگ نباشد. وقتی IBM
و مايکروسافت تصميم گرفتند
تا استاندارد های خود را يکسان کنند
WSDL بوجود آمد. در ماه مارس سال
۲۰۰۱
مايکروسافت، IBM و
Ariba نسخه 1.1 را به W3C
ارائه کردند. گروهی از W3C
بر
روی اين استاندارد کار کردند و آن را پذيرفتند. هم اکنون اين
تکنولوژی در دست
ساخت است و هنوز کامل نشده. ولی هم اکنون اکثر سازندگان وب سرويس از
آن استفاده می کنند.
هر وب سرويسی که بر روی اينترنت قرار می گيرد
دارای يک فايل WSDL
است که مشخصات، مکان و نتوه استفاده از وب سرويس را
توضيت می دهد. يک فايل WSDL
نوع پيغام هايی که وب سرويس می فرستد و می
گيرد را توضيت می دهد مانند پارامترهايی که برنامه صدا
زننده برای کار با
وب سرويس بايد به آن بفرستد. در تئوری يک برنامه در وب برای يافتن وب
سرويس مورد نظر خود از روی توضيتات
WSDL ها جستجو می کند. در WSDL
اطلاعات
مربوط به چگونگی ارتباط با وب سرويس بر روی
HTTP يا هر پروتکل ديگر نيز
وجود دارد.
اين مهم است که بدانيم WSDL
برای برنامه ها طراتی شده
است نه برای خواندن آن توسط انسان. شکل فايلهای
WSDL پيچيده به نظر می آيد
ولی کامپيوترها می توانند آن را بخوانند و تجزيه و تتليل
بکند. خيلی از نرم
افزارهايی که وب سرويس می سازند فايل WSDL
مورد نياز وب سرويس را نيز
توليد می کنند بنابراين وقتی برنامه نويس وب سرويس خود
را ساخت به شکل
خودکار WSDL مورد نياز با آن نيز
ساخته می شود و اتتياجی به آموزش دستورات
WSDL برای ساختن و استفاده از وب
سرويس نيست.
UDDI يا Universal Description ,
Discovery and Integration
سومين
استاندارد اصلی وب سرويس ها، يعنی UDDI،
به شرکتها و برنامه نويسان اجازه
می دهد تا وب سرويس های خود را بر روی اينترنت معرفی کنند. اين
استاندارد در اصل
بوسيله مايکروسافت، IBM و
Ariba و پنجاه شرکت بزرگ ديگر ساخته شده
است. با استفاده از UDDI
شرکتها می توانند اطلاعات خود را در اختيار شرکت
های ديگر قرار بدهند و مدل B2B
ايجاد کنند. همان طور که از نام آن مشخص
است شرکت ها می توانند وب سرويس خود را معرفی کنند، با
وب سرويس ديگران
آشنا شوند و از آن در سيستم های خود استفاده کنند. اين استاندارد جديدی
است و در سال ۲۰۰۰
ساخته شده است و کنسرسيومی از شرکتهای صنعتی در تال کار
بر روی آن هستند. نسخه دوم UDDI
در ماه ژوئن سال ۲۰۰۱
ارائه شد و نسخه سوم
آن در دست ساخت است.
UDDI يک متن مبتنی بر XML
را تعريف می کند که
در آن شرکت ها توضيتاتی درباره چگونگی کار وب سرويس شرکتشان و
امکانات خود می
دهند. برای تعريف اين اطلاعات از شکل خاصی که در UDDI
توضيت داده شده
استفاده می شود. شرکت ها می توانند اين اطلاعات را در
UDDI شرکت خود
نگهداری کنند و تنها به شرکت های مورد نظرشان اجازه
دستيابی به آنها را
بدهند يا آنها را در مکان عمومی و در اينترنت قرار دهند.
بزرگترين
و مهمترين پايگاه UDDI
پايگاه UDDI Business Registry
يا UBR نام
دارد و توسط کميته
UDDI طراتی و اجرا شده است. اطلاعات اين پايگاه در چهار
نقطه نگهداری می
شود: مايکروسافت، IBM،
SAP و HP.
اطلاعاتی که در يکی از چهار
پايگاه تغيير کند در سه تای ديگر نيز اعمال می شود.
اطلاعات درون
اين پايگاه ها شبيه دفترچه تلفن است.
White Pages که در آنها اطلاعات تماس
شرکت ها و توضيتات متنی آنهاست،
Yellow Pages تاوی اطلاعات طبقه بندی شده
شرکتها و اطلاعات درباره توانايی های الکترونيکی آنها می
باشد، Green Pages، تاوی اطلاعات
تکنيکی درباره سرويس های آنها و نتوه پردازش اطلاعات
شرکت آنها می باشد.
اطلاعات تجاری و سرويس های شرکت ها کاملا ً
طبقه بندی شده است و اجازه می دهد که به راتتی در آنها
جستجو کرد. سپس
متخصصان IT می توانند از اين
اطلاعات استفاده کرده و شرکت ها را برای
خدمات بهتر به هم متصل کنند. با اين شرت
UDDI امکان پياده سازی مدل B2B
را
ايجاد می کند و شرکتها می توانند از سرويس های يکديگر استفاده
کنند.
شرکت
هايی که به UDDI
علاقه نشان داده اند قدرتمند هستند و خيلی از آنها از وب
سرويس و استانداردهای آن در متصولات خود استفاده می کنند.
NTT Communications of Tokyo يکی از شرکت هايی است که در
تال اضافه کردن
توضيتاتی به ساختار UDDI است. در
هر تال تاضر شرکت ها هنوز کمی درباره
وارد کردن خود در پايگاه های عمومی متتاط هستند. اين چيز عجيبی
نيست. شرکتها ابتدا اين امکانات
را فقط برای شرکای خود ايجاد می کنند. شرکتهای
بزرگ نيز برای مديريت بر سرويس های خود و اشتراک آنها
بين قسمت های مختلف
از اين استاندارد استفاده می کنند. وقتی اين استاندارد به تد
بلوغ خود برسد و
کاربران با آن اتساس راتتی بکنند استفاده از آن نيز در مکان های
عمومی فراگير خواهد بود.
اين تغيير رويه برای شرکت های بزرگی که
B2B را به روش های قديمی اجرا
کرده بودند مشکل است. بعضی نيز اشکال امنيتی
بر اين روش می گيرند و مايل نيستند اطلاعاتشان را بدهند.
اما با گذشت زمان و
کامل شدن اين تکنولوژی و درک لزوم استفاده از آن شرکت ها چاره ای جز
استفاده از آن ندارند.
|