نام کاربری
کلمه عبور
ارتباط با ما
درباره ما
نمایندگی
سفارش آنلاین
پیامک
طراحی وب
برنامه نویسی
وب سرویس
میزبانی وب
پردازش داده
محصولات
سایت ساز
پرتال مدارس
سامانه پیامک
تلفن گویا
خدمات
ارسال پیامک
طراحی وب
توانمندی ها
طراحی وب موبایل
دامنه و میزبانی
میزبانی وب
ابزار های دامنه
سرویس های وب
وب سرویس Wsdl
وب سرویس Html
سرویس پیام کوتاه
موتور جستجو
بهینه سازی
افزایش رتبه
تبلیغات
برنامه نویسی
موبایل
ویندوز
وب
ویجت (Widget)
شبکه
پردازش داده
صفحه نخست
وب سرویس ها یک مدل کلی برای ساختن برنامه هایی است که می توانند برای هر نوع سیستم عاملی که ارتباط از طریق اینترنت را پشتیبانی می کنند، پیاده سازی شوند. وب سرویسها از طریق پروتکل SOAP و زبان XML امکان فراخوانی و اجرا از راه دور را فراهم می کنند .
به عنوان مثال شما بدون اینکه اطلاعی از آب و هوای ایران داشته باشید و بدون اینکه از بانک اطلاعاتی آب هوا استفاده کنید میتوانید با چند خط کد نویسی ساده از سرویس آب و هوا که ما در اختیار شما قرار می دهیم استفاده کنید.
گروه سرویس های وب شرکت نرم افزاری فراداده در یک اقدام بی سابقه چندین وب سرویس پر کاربرد وب را با هزینه بسیار ناچیز در اختیار توسعه دهندگان وب قرار داده برخی از این سرویس های وب عبارتند از :
وب سرویس آب و هوای ایران و جهان
وب سرویس دریافت رتبه سایت در موتور جستجوی گوگل
وب سرویس جستجوی دامنه (DomainWhois) ، جستجوی دی ان اس (Dns LookUp ) ، پینگ آی پی یا دامنه ( ping)
وب سرویس ارسال Pm به Yahoo Messenger ( مسنجر یاهو )
وب سرویس اوقات شرعی و تقویم روز
وب سرویس ارسال Sms ( مگفا و رهیاب )
وب سرویس ارسال پست الکترونیکی ( ایمیل )
وب سرویس دریافت پست الکترونیکی ( ایمیل )
وب سرویس اعتبار سنجی صحت پست الکترونیکی ( ایمیل )
وب سرویس Rss Reader
وب سرویس دیکشنری انگلیسی به فارسی
وب سرویس Ip 2 Location :: تبدیل آی پی به نام کشور (Ip to Country) ، تبدیل آی پی به نام شهر ( Ip to City )
وب سرویس تبدیل تاریخ هجری شمسی به میلادی ، تبدیل تاریخ میلادی به شمسی
سرویس های وب فوق با تمامی زبان های برنامه نویسی از جمله Php ، دات نت 1 ، دات نت 2 :: (C#,j#,VB.NET) ، جاوا (Jsp) و حتی Macromedia Flash و جاوا اسکریپت سازگار می باشد .
برای سفارش وب سرویس و دریافت راهنمای استفاده از طریق
منوی سفارش آنلاین
و یا شماره تلفن 22248016 اقدام نمایید.
یک
وب
سرویس
به معنای ساده نوعی کامپوننت تحت
وب
است.
این کامپوننت به application هایی که از آن استفاده می کنند این امکان را می دهد که بتوانند از متدهای این
وب
سرویس
استفاده کنند.
وب سرویسها یک مدل کلی برای ساختن برنامه هایی است که می توانند برای هر نوع سیستم عاملی که ارتباط از طریق اینترنت را پشتیبانی می کنند، پیاده سازی شوند. وب سرویسها از طریق پروتکل SOAP و زبان XML امکان فراخوانی و اجرا از راه دور را فراهم می کنند. به شکل زیر توجه کنید :
در NET. وب سرویسها همانند یک برنامه تحت وب ساده هستند با این تفاوت که هر متدی که از راه دور فراخوانی می شودباید بصورت[WebMethod] تعریف شود. به عنوان مثال:
[WebMethod(Description="This method call will get the company name and the price for a given security code.",EnableSession=false)]
public SecurityInfo GetSecurityInfo(string Code)
پارامترهای WebMethod :
Description
MessageName
EnableSession
CacheDuration
TransactionOption
BufferResponse
سه راه برای فراخوانی یک وب سرویس وجود دارد :
1) بوسیله HTTP GET مثل :
http://server/webServiceName.asmx/functionName?parameter=parameterValue
که نام تابع به همراه عملوندهای آن در انتهای آدرس می آید.
2) بوسیله HTTP POST شبیه GET.
3) بوسیله پروتکل SOAP
SOAP : Simple Object Access Protocol
SOAP پروتکلی است که اجازه می دهد دو سامانه بعنوان سرویس دهنده و سرویس گیرنده با هم اطلاعات رد و بدل کنند. SOAP دو نوع الگوی پیغام را پشتیبانی می کند :
تبادل یکطرفه : سرویس گیرنده یک سرویس را از سرویس دهنده تقاضا می کند و سرویس دهنده این سرویس را اجرا می کند ولی پاسخی بصورت مستقیم به درخواست کننده نمی دهد.
تبادل دو طرفه : سرویس گیرنده تقاضا می کند و سرویس دهنده پاسخ می دهد. یعنی بصورت تعامل درخواست – پاسخ می باشد.
SOAP اجازه می دهد تا اطلاعات ساده و ساختیافته بین سرویس دهنده و گیرنده بصورت XML رد وبدل شود. و همچنین ساختاری برای فراخوانی اشیا از دور ارائه می دهد. نحوه فراخوانی یک وب سرویس توسط پروتکل SOAP بشرح زیر است :
- درخواست SOAP توسط HTTP Request صادر می گردد.
- درخواست به صفحه مربوط به سرویس (Service.asmx) ارسال می شود.
- SOAP یک هدر HTTP اضافی استفاده می کند که SOAPAction نامیده می شود که شامل uri وب سرویس به همراه نام وب سرویس می باشد.
- بدنه HTTP مربوط به POST حاوی یک متن XML است که SOAP envelope نامیده می شود و بوسیله برچسب <Envelope> جدا می شود.
- SOAP envelope خود حاوی یک عنصر بدنه است که توسط برچسب <body> مشخص می شود و داخل این بدنه عناصری وجود دارد که متد وب و پارامترهای مورد نیاز آنرا توصیف می کنند.
پاسخ SOAP بصورت زیر است :
- پاسخ SOAP یک پاسخ عادی HTTP است.
- بدنه HTTP مربوط به پاسخ SOAP حاوی یک سند XML است که SOAP envelope نامیده می شود و در قسمت قبل تشریح شد.
- SOAP envelope حاوی یک بدنه است که داخل بدنه عناصری وجود دارد که پاسخ SOAP را توصیف می کنند.
WSDL : Web Service Description Language :
این زبان با فرمت XML است و برای تشریح یک وب سرویس که چگونه فراخوانی می شود و چه پارامترهایی می گیرد، استفاده می شود. WSDL از پنج قسمت به شرح زیر تشکیل شده است :
1) بخش <types> : در این بخش تمام گونه های داده ای که توسط سرویس مورد استفاده قرار می گیرد، تعریف می شود.
2) بخش <message>: پارامترهای ورودی و خروجی سرویس در این بخش تعریف می شوند.
3) بخش<portType>: روشهای دسترسی به پیغامهایی که در بخش پیش تعریف شده اند در این بخش قرار می گیرند.
4) بخش<bindings>: پروتکلهایی که مورد استفاده قرار می گیرد (HTTP GET, HTTP POST, SOAP) در این بخش قرار می گیرد.
5) بخش<service> : تمام بخشهای ذکر شده تا اینجا، در این قسمت به هم متصل می شوند.
یک
وب
سرویس
به معنای ساده نوعی کامپوننت تحت
وب
است.
این کامپوننت به application هایی که از آن استفاده می کنند این امکان را می دهد که بتوانند از متدهای این
وب
سرویس
استفاده کنند.
بهتر است
وب
سرویس
را با یک مثال توضیح دهیم.
فرض کنید شما می خواهید در web application خود وضعیت آب و هوای مناطق جغرافییای مختلف را داشته باشید. برای پیاده سازی چنین کاری شما دو راه دارید:
1- خودتان وضعیت اب و هوا را از سایت های مختلف جمع آوری کنید و آنها را در web application خود استفاده کنید.
2- از یک
وب
سرویس
که آب و هوای مناطق جغرافیایی مختلف را می دهد استفاده کنید.
در واقع این
وب
سرویس
آب و هوا به تنهایی کاری نمی کند. بلکه توابعی دارد که توسط web application های مختلف صدا زده می شوند. که بعنوان مثال در اینجا
وب
سرویس
وضعیت آب و هوا را برمی گرداند.
البته
وب
سرویس
ها استفاده های بسیار پرکاربردتر و مهمتری دارند مثل کار با دیتابیس و ... که در اینجا فقط یک مثال برای روشن شدن موضوع ذکر شد.
اما مزیت اصلی استفاده از
وب
سرویسها:
عدم نیاز به کدنویسی مجدد.
شاید بسیاری از دوستانی که OOP کار کارده اند بگویند که اینکار با کلاس هم امکانپذیر است. بله امکانپذیر است اما:
1- در برنامه نویسی با کلاس شما باید کلاستان را در هر پروژه add کنید ولی در
وب
سرویس
فقط کافیست از متدها استفاده کنید.
2- در کار با کلاسها شما ممکن است در application های مختلف به روشهای مختلف با کلاسهای متفاوت کار کنید. یعنی به عبارتی کار شما هر بار متفاوت است و این خوانایی را پایین می آورد و همچنین توسعه را مشکل می سازد. اما در استفاده از
وب
سرویس
شما هربار فقط با یک
وب
سرویس
خاص کار می کنید و طبق همان متدهای خاص
وب
سرویس
کار می کنید حالا در هر کجا و هر application که باشید.
3- وقتی با
سرویس
کار می کنید یک سری استانداردهایی در استفاده وجود دارد که تمام application ها باید از آن تبعیت کنند و بنابراین reusability بالا می رود.
4- و ....
و اما بعضی واژگان در ارتباط با Web Service :
XML:
Extensible Markup Language
یک زبان markup است که یک فرمتی را برای توصیف داده ها فراهم می کنید. شبیه html است شامل تگ ها و ...
SOAP :
Simple Object Access Protocol
در واقع پروتکل ارتباطی است برای
وب
سرویس
مثل http برای
وب
و ...
WSDL:
Web Service Description Language
یک xml document برای web service است که متدها و بعضی خصوصیات دیگر
وب
سرویس
را توضیح می دهد.
در این قسمت ایجاد
وب
سرویس
با C# code behind توضیح داده می شود البته با vs 2005 . در vs 2003 نیز بسیار شبیه به 2005 است.
ابتدا به این قسمت بروید :
File -> new -> website
از پنجره نشان داده شده Asp.net Web Service را انتخاب کنید.(شکل 1 )
حال در solution explorer فایلی با نام service.asmx می بینید که فایل اصلی webservice شما است و در واقع از کلاس service.cs که در پوشه ی app_code قرار دارد استفاده می کند.
کلاس service.cs در 2005 یا service.asamx.cs در 2003 از namespace System.Web.Services.WebService مشتق می شود. و دارای متدهایی با تگهای [WebMethod] است. این متدها متهایی هستند که قابل استفاده توسط web application های دیگر هستند.
حال برای نمونه یکبار webservice خود را run کنید. یک صفحه با آدرس
http://..../service.asmx
در browser نمایش داده می شود.
شکل 2 یک نمونه
وب
سرویس
است با عنوان SSO و متدهایی که در زیرش نشان داده شده.
چگونگی ایجاد
وب
متد:
نمونه کد زیر را ببینید:
کد:
[WebMethod] public string HelloWorld() { return "Hello World"; }
وب
متدها همانطوری که اشاره شد با تگ [WebMethod] شروع می شوند. و بسته به نیاز می توانند پارامتر بگیرند و خروجی برگردانند.
برای اطلاعات بیشتر در مورد type پارامترها به آدرس زیر مراجعه کنید :
http://samples.gotdotnet.com/quickst...vicetypes.aspx
حال اگر متد بالا را در
وب
سرویس
خود اجرا کنید می بینید که خروجی Hello World را داخل تگ های xml به شما برمی گرداند.
دقت کنید که این نمایش از
وب
سرویس
صرفا یک نمای ایجاد شده توسط مایکروسافت است و شما نمی توانید به اینصورت از
وب
سرئیس استفاده کنید. بلکه شما برای استفاده نیاز به استفاده از این متد ها در Web application خود دارید.
اما پارامترهایی که در تگ
وب
متد بکار می روند:
1- Description
همانطوری که از نامش پیداست توضیحات مربوط به هر متد را مشخص می کند که این توضیحات در زیر هر متد در پیش نمایش و همچنین در فایل WSDL مربوط به
وب
سرویس
قابل مشاهده است.
2- EnableSession
همانطوریک از نامش پیداست برای مدیریت Session ها بکار می رود.
این متغیر در ابتدا Disable است که شما می توانید آنرا به Enable تغییر دهید.
البته پیشنهاد می شود که اگر نیاز به استفاده از این امکان ندارید آنرا Disable بگذارید تا Performance کاهش نیابد.
3-CacheDuration
تعداد ثانیه هایی که یک response کش می شود.در حالت عادی صفر است یعنی response کش نمی شود.
TransactionOption4-
مدیریت تراکنش ها. در مورد تراکنش ها دوستان احتمالا اطلاعاتی دارند.
یک تراکنش مجموعه ای از دستورات است که یا همه با هم اجرا می شود و یا هیچکدام انجام نمی شود. مورد استفاده ی این تراکنش ها بیشتر در کارت های اعتباری و ...
بحث بیشتر در مورد تراکنش ها ما را از حوزه ی
وب
سرویس
خارج می کند.
5- BufferedResponse
وب
سرویس
بصورت پیش فرض Response را بافر می کند و هرزمان بافر پر شد دوباره خالی می شود و ادامه می دهد. اما گاهی شاید شما در کار خودتان دیتاهای بزرگ و response بزرگی داشته باشید که بافرشدن آن کارایی را پایین بیاورد در چنین شرایطی شما می توانید این گزینه را false کنید .
در قسمت قبل طریقه ی ایجاد یک
وب
سرویس
را گفتیم. اما گفتیم که
وب
سرویس
به تنهایی نمی تواند توسط کاربر استفاده شود بلکه باید یک web application آنرا Consume (استفاده) کند.
حال یک web application ایجاد کنید.
روی پروژه راست کلیک کنید و گزینه ی Add web reference را انتخاب کنید. پنجره ای مطابق با شکل 1 ظاهر می شود.
اگر url
وب
سرویس
را به شما داده باشند آنرا در قسمت url وارد کنید. و اگر که از روی localmachine بخواهید
وب
سرویس
را جستجو کنید داخل همین پنجره گزینه ای برای آن وجود دارد. پس از انتخاب url
وب
سرویس
یک نام به آن نسبت دهید این نام در واقع نام کلاسی است با عنوان proxy class که برای ارتباط با
وب
سرویس
از طریق برنامه ی شما بکار می رود.
Copyright © 2010 FaraDade Co. All rights reserved.