مجيد اطلس باف

Majid Atlasbaf
91 - پیام , 188 - نظر

پیوندهای اصلی

اخبار


Page Rank Tool

بایگانی پیامها

بایگانی سال ۱۳۸۸

فروردین ۱۳۸۸، (۱)

بایگانی سال ۱۳۸۷

دی ۱۳۸۷، (۱)
آذر ۱۳۸۷، (۱)
آبان ۱۳۸۷، (۱)
مهر ۱۳۸۷، (۱)
شهریور ۱۳۸۷، (۱)
مرداد ۱۳۸۷، (۱)
تیر ۱۳۸۷، (۱)
خرداد ۱۳۸۷، (۱)
اردیبهشت ۱۳۸۷، (۱)
فروردین ۱۳۸۷، (۱)

بایگانی سال ۱۳۸۶

اسفند ۱۳۸۶، (۱)
بهمن ۱۳۸۶، (۳)
آذر ۱۳۸۶، (۱)
آبان ۱۳۸۶، (۱)
مهر ۱۳۸۶، (۱)
شهریور ۱۳۸۶، (۱)
مرداد ۱۳۸۶، (۲)
خرداد ۱۳۸۶، (۱)
اردیبهشت ۱۳۸۶، (۱)
فروردین ۱۳۸۶، (۲)

بایگانی سال ۱۳۸۵

اسفند ۱۳۸۵، (۱)
دی ۱۳۸۵، (۱)
آبان ۱۳۸۵، (۲)
مهر ۱۳۸۵، (۲)
شهریور ۱۳۸۵، (۳)
مرداد ۱۳۸۵، (۱)
تیر ۱۳۸۵، (۴)
خرداد ۱۳۸۵، (۱)
اردیبهشت ۱۳۸۵، (۵)
فروردین ۱۳۸۵، (۲)

بایگانی سال ۱۳۸۴

اسفند ۱۳۸۴، (۱)
دی ۱۳۸۴، (۳)
آذر ۱۳۸۴، (۵)
آبان ۱۳۸۴، (۲)
مهر ۱۳۸۴، (۷)
شهریور ۱۳۸۴، (۴)
مرداد ۱۳۸۴، (۳)
خرداد ۱۳۸۴، (۳)
اردیبهشت ۱۳۸۴، (۳)
فروردین ۱۳۸۴، (۵)

بایگانی سال ۱۳۸۳

اسفند ۱۳۸۳، (۴)
بهمن ۱۳۸۳، (۴)

دسته بندی پیامها

(rss) مطالب مرتبط با NET.
(rss) مطالب مرتبط با SQL
(rss) مطالب مرتبط با UNIX

گالری عکسها

عکسهای مقالات

سایت های مرتبط

Persian Websites Directory
DSP algorithms development

همکاران

حمیدرضا طاهریان
شیما دهباشی
فاطمه طاهریان
محسن طاهریان

وب سرویس

وب سرویسها یک مدل کلی برای ساختن برنامه هایی است که می توانند برای هر نوع سیستم عاملی که ارتباط از طریق اینترنت را پشتیبانی می کنند، پیاده سازی شوند. وب سرویسها از طریق پروتکل 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> : تمام بخشهای ذکر شده تا اینجا، در این قسمت به هم متصل می شوند.
 
 به عنوان مثال وب متد زیر را در نظر بگیرید :
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
توصیف WSDL آن به شرح زیر است : 
<?xml version="1.0" encoding="utf-8" ?>
- <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://tempuri.org/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
- <s:element name="HelloWorld">
  <s:complexType />
  </s:element>
- <s:element name="HelloWorldResponse">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" />
  </s:sequence>
  </s:complexType>
  </s:element>
  </s:schema>
  </types>
- <message name="HelloWorldSoapIn">
  <part name="parameters" element="s0:HelloWorld" />
  </message>
- <message name="HelloWorldSoapOut">
  <part name="parameters" element="s0:HelloWorldResponse" />
  </message>
- <portType name="GrabSessionSoap">
- <operation name="HelloWorld">
  <input message="s0:HelloWorldSoapIn" />
  <output message="s0:HelloWorldSoapOut" />
  </operation>
  </portType>
- <binding name="GrabSessionSoap" type="s0:GrabSessionSoap">
  <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="HelloWorld">
  <soap:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
- <input>
  <soap:body use="literal" />
  </input>
- <output>
  <soap:body use="literal" />
  </output>
  </operation>
  </binding>
- <service name="GrabSession">
- <port name="GrabSessionSoap" binding="s0:GrabSessionSoap">
  <soap:address location="http://localhost/MySessionService/grabsession.asmx" />
  </port>
  </service>
  </definitions>

ارسال شده در تاریخ ۱۶ اسفند ۱۳۸۳ - 10:09 صبح

نظرات

# پاسخ به: وب سرویس  

توضیحاتی درباره ی وب سرویس می خواستم ,اگر لطف کنید
۳۰ خرداد ۱۳۸۴ - 6:17 عصر | محمد رضا

# مناقصه الکترونیکی با وب سرویس  

سلام من می خواستم ببینم با وب سرویس ها چه گونه یک مناقصه الکترونیکی را می توان پیاده سازی کرد لطفا اگر می توانید به من کمک کنید ممنون می شوم . اینکه در واقع بین چند فروشنده و یک خریدار وب سرویسهایی بنویسیم و اینها بات هم ارتباطاتی سر قیمت خرید داشته باشند.
با تشکر قبلی
۲۵ اردیبهشت ۱۳۸۶ - 5:11 عصر | سحر

# پاسخ به: وب سرویس  

ببخشید ولی چطور می توان دستورات زیر را به کار برد ولی errorی دریافت نکرد.
[System::web::services::web method]
char* test (char*,int a)
منظورم با نوع char* است.
۱۲ تیر ۱۳۸۶ - 3:18 عصر | زهرا

# پاسخ به: وب سرویس  

می توانید فرق decentrialize و distributed را در وب سرویس ها بگویید ؟
۲۷ تیر ۱۳۸۶ - 5:59 عصر | khodkari

# پاسخ به: وب سرویس  

آموزشي در مورد درج فايل در وبلاگ براي دانلود كردن ميخواستم.
۹ شهریور ۱۳۸۶ - 4:35 عصر | جواد

# پاسخ به: وب سرویس  

آموزشي در مورد درج فايل در وبلاگ براي دانلود كردن ميخواستم.
۹ شهریور ۱۳۸۶ - 4:38 عصر | جواد

# پاسخ به: وب سرویس  

من چند وقتی است که به دنبال دانلودگوگل وب سرویس هستم. ولی موفق به این کار
نشده ام . چون با اشکال مواجه می شود.هرکس توانسته این کاررا بکندلطفا به من هم بگوید.
۴ مهر ۱۳۸۶ - 2:12 عصر | زهرا

# پاسخ به: وب سرویس  

در مورد وب سورویس
۳۱ فروردین ۱۳۸۷ - 7:40 عصر | الا

# پاسخ به: وب سرویس  

به نظر شما برای ارتباط data base یک شبکه mpls با شبکه mpls دیگر استفاده از روش وب سرویس بهتر است یا روش replcation
۶ خرداد ۱۳۸۸ - 1:32 عصر | سیدابراهیم موسوی

ارسال نظرات

عنوان:  
نام:  
آدرس الکترونیکی:
زبان:
توضیح:  
لطفا متن مقابل را در زیر وارد کنید
(کوچک یا بزرگ بودن حروف مهم نیست)