پایان نامه طراحي وب سرويس
web service 1-1 چیست ؟
براي ساده کردن پردازش ها برنامه هاي غير متمرکز ( Enterprise ) بايد با يکديگر ارتباط داشته باشند و از داده هاي اشتراکي يکديگر استفاده کنند . قبلا ً اين کار بوسيله ابداع استاندارد هاي خصوصي و فرمت داده ها به شکل مورد نياز هر برنامه انجام مي شد . اما دنياي وب و XML ( تکنولوژي آزاد براي انتقال ديتا ) انتقال اطلاعات بين سيستم ها را افزايش داد . وب سرويس ها در واقع نرم افزارهايي هستند که از XML براي انتقال اطلاعات بين نرم افزارهاي ديگر از طريق پروتوکول هاي معمول اينترنتي استفاده مي کنند . به شکل ساده يک وب سرويس از طريق وب اعمالي را انجام مي دهد (توابع يا سابروتين ها ) و نتايج را به برنامه ديگري مي فرستد . اين يعني برنامه اي در يک کامپيوتر در حال اجراست ، اطلاعاتي را به کامپيوتري مي فرستد و از آن درخواست جواب مي کند ، برنامه اي که در آن کامپيوتر دوم است کارهاي خواسته شده را انجام مي دهد و نتيجه را بر روي ساختارهاي اينترنتي به برنامه اول بر مي گرداند . وب سرويس ها مي توانند از پروتکول هاي زيادي در اينترنت استفاده کنند .
در سیستم های قدیمی تر و حتی شاید در بیش از نود درصد سیتم های فعلی, اصول client – server – programing بر مبنای request – response از طریق یک سری port ها , protocol ها واستانداردهای مشخص browser ها نهاده شده است . بدین ترتیب که درخواست شما از طریق یک browser به server ارسال می گردد web server آن را بنا به نیاز بهapplication Server واگذار می کند . app server آن را پردازش می کند و از طریق web server ان را به client بر می گرداند . مثلا اگر درخواست شما یک request به صفحات دینامیکی مثل .NETیا PHP باشد web server که در اینجا یک IIS یا Apacheمی باشد request را به app server واگذار می کند که پس از تفسیر , این اطلاعات به فرمت html در اختیار client قرار می گیرد . این سیستم جوابگوی بسیاری از نیازها نیست برای مثال request ها فقط از طریق browser ها انجام می شود ویا همه
اطلاعات روی یک server ویا روی سرورهای تحت اختیار موجود می باشد که این در عمل ممکن نیست بسیاری ازبرنامه ها تنها روی بعضی از سرورها قرار دارند وامکان دسترسی با نصب آنها روی سرورهای دیگر نیست به علاوه به دلیل مشکلات امنیتی نمی توان به همه اجازه ی
دسترسی به database ها را داد و از همه مهمتر برنامه های تحت سرور هر کدام در یک platform و با زبانی خاص نوشته شده اند که امکان دسترسی به آنها وجود ندارد.
با ایجاد وسایل گوناگون مثل pda ها , گوشی های تلفن , تلویزیون ها ی دیجیتال و … که قابلیت اتصال به شبکه را دارا هستند و همچنین نیاز application های desktopبرای ارتباط با سرور این نیاز بیشتر احساس شد که با شکل گیری plattform های بسیار قوی مانند J2EE درسمت سرور اصول web – services رقم زده شد.
یک وب سرویس نوعی کامپوننت تحت وب است که به application هایی که از ان استفاده می کنند این امکان را می دهد تا بتوانند از متدهای این وب سرویس استفاده کنند بهتر است وب سرویس را با یک مثال توضیح دهم :
فرض کنید شما در وب سرویس خود می خواهید آب و هوای مناطق جغرافیای مختلف را داشته باشید برای پیاده سازی چنین کاری شما دو روش در پیش دارید خودتان وضعیت آب وهواهای مختلف را از سایت های گوناگون جمع اوری ور در web application خود قرار دهید یا از یک وب سرویس که اب و هوای مناطق مختلف را می دهد استفاده کنید البته وب سرویس ها توانایی های بسیار گسترده ای در ارتباط با data base ها دارند که بعدا به ان خواهیم پرداخت
1-2مزیت ها ی استفاده از وب سرویس ها
وب سرويس داراي خواصي است که آن را از ديگر تکنولوژي و مدل هاي کامپيوتري جدا مي کند ، 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 يکي ديگر از استاندارد هاي وب سرويس است .
عدم نیاز به کد نویسی مجدد امکانات و امتیازات بزرگی را در کار با وب سرویس ها فراهم می کند .البته شاید بعضی از دوستان که با مفاهیم کلاس کار کرده اند بگویند که این کار در کلاس ها هم امکان پذیر است اما در برنامه نویسی با کلاس شما برای استفاده از هرکلاس باید تک تک کلاس ها را add کنید اما در اینجا فقط کافیست متدها را بنویسید. درنوشتن کلاس شما ممکن است در کار باapplication ها ی مختلف به روش های مختلف با کلاس های متفاوتی کارکنید یعنی کار شما هربار متفاوت از کار قبلی است که این خوانایی برنامه را پایین می اورد و همچنین توسعه را مشکل می سازد اما در این سیستم ما در یک وب سرویس و با متدهای خاص همان وب سرویس کار می کنیم حالا در هرجا و در هر application ی که قرار داریم .
وقتی با وب سرویس کار می کنیم یک سری استانداردها نیز وجود دارند که همه ی application های موجود با ان کار می کنند و در نتیجه reusability بالا می رود . که این خود مزیت بزرگی به شمار می رود .
بعنوان نمونه از وب سرویس هایی که در طول روز به چند صد هزار درخواست پاسخ می دهند می توان به عناوین زیر اشاره کرد:
1- کل نرم افزار yahoo messenger از طریق web service های ایجاد شده توسط weblogic پیاده سازی شده است.
2- وب سرویس راهبردی گزارش وضعیت ترافیکی راهها در ایالت متحده موسوم به (wfb = ways finder base) که افراد می توانند از طریق اتومبیل های خود با آن تماس برقرار کنند.
3- وب سرویس موسوم به شخص الکترونیکی یا eletronical whose که در بازارهای سهام برای به روز کردن قیمت ها جریان دارد .
و . . .
1-3 مفاهیم کاربردی در وب سرویس ها
XML 1-3-1 يا eXtensible Markup Language :
XML يک تکنولوژي است که به شکل گسترده از آن پشتيباني مي شود ، همچنين اين تکنولوژي Open است به اين معني که تعلق به شرکت خاصي ندارد . اولين بار در کنسرسيوم WWW يا W3C در سال 1996 براي ساده کردن انتقال ديتا ايجاد شده است . با گسترده شدن استفاده از وب در دهه 90 کم کم محدوديت هاي HTML مشخص شد . ضعف HTML در توسعه پذيري ( قابليت اضافه و کم کردن خواص ) و ضعف آن در توصيف ديتاهايي که درون خود نگهداري مي کند برنامه نويسان را از آن نا اميد کرد . همچنين مبهم بودن تعاريف آن باعث شد از توسعه يافتن باز بماند . در پاسخ به اين اشکالات W3C يک سري امکانات را در جهت توسعه HTML به آن افزود که امکان تغيير ساختار متنهاي HTML مهم ترين آن است . اين امکان را CSS يا Cascade Style Sheet مي نامند .
اين توسعه تنها يک راه موقتي بود . بايد يک روش استاندارد شده ، توسعه پذير و داري ساختار قوي ايجاد مي شد . در نتيجه W3C XML را ساخت . XML داراي قدرت و توسعه پذيري SGML يا Standard Generalized Markup Language و سادگي که در ارتباط در وب به آن نياز دارد است .
استقلال اطلاعات يا جدا بودن محتوا از ظاهر يک مشخصه براي XML به حساب مي آيد . متنهاي XML فقط يک ديتا را توصيف مي کنند و برنامه اي که XML براي آن قابل درک است – بدون توجه به زبان و سيستم عامل – قادر است به اطلاعات درون فايل XML هر گونه شکلي که
فهرست
فصل اول ( مقدمه ) |
web service 1-1 چیست ؟ 5 |
2-1 مزیت های استفاده از وب سرویس ها 6 |
1-3 مفاهیم کاربردی در وب سرویس ها 8 |
1- 3- 1 XML يا Extensible Mark Up Language 8 |
2- 3- 1 SOAP يا Simple Object Access Protocol 10 |
1 -3 -3 WSDL يا Web Services Descrition Language 12 |
UDDI 1- 3 – 4 يا Universal Description Discovery Integration 14 |
1-4 خلاصه ي فصل اول 15 |
فصل دوم (ابزارهاي لازم ) |
2-1 .Net Frame Work 17 |
2-2 مراحل نصب Micro Soft . Net Frame Work 19 |
2-3 ايجاد يك سرور مجازي IIS 20 |
2-4 نصب ويژوال استوديو 2005 22 |
2-5 نصب Sql Server 2005 26 |
2-6 خلاصه ي فصل دوم 27 |
فصل سوم (طراحي و پياده سازي وب سرويس ) |
1– 3 وظيفه ي وب سرويس 28 |
2- 3 سايت اصلي پروژه يا Book Web Service 29 |
3 – 3 وب سرويس سرويس دهنده / سرويس گيرنده 34 |
4 – 3 تنظيمات IIS براي اجراي برنامه 40 |
5- 3 خلاصه ي فصل سوم 45 |
فصل چهارم (پيشنهادات براي آينده ي وب سرويس) |
4-1 توسعه ي يك وب سرويس امن 46 |
4-1-2 معرفي مدل امنيتي 46 |
4-1-3 تهديد هاي شناخته شده توسط RupSec 47 |
4-1- 4 راه حل هاي امنيتي پيشنهادي RupSec 48 |
4 -3 خلاصه فصل چهارم 49 |
ضميمه ي فصل 4 – كاربرد فناوري ajax در وب سرويس 50
فهرست منابع 54
پایان نامه طراحي وب سرويس