WebServisinin temel oluşumu

WebServisinin temel oluşumu

10. June 2009

Read this article in your language IT | EN | DE | ES

 

Web servisleri

Merhaba Arkadaşlar  bu makkalemde  sizlere webservislerden  örnekler  gösterip  bize artıları  neler , eksleri  nelermiş   görelim; 

: Kaynak

       Web services architecture
W3C Working Group Note 11 February 2004 http://www.w3.org/TR/ws-arch/

       A Web Services Primer
Venu Vasudevan 4 April 2001
http://webservices.xml.com/pub/a/ws/2001/04/04/webservices/index.html

About Flash Remoting MX
http://livedocs.adobe.com/flashremoting/mx/Using_Flash_Remoting_MX/

Web  Servisi Nedir ?

       Bir ağ üzerindeki makinalar arasında birlikte işler etkileşimler sağlayan yazılım sistemleri.

       Genel tabiriyle SOAP standardını kullanan ve HTTP üzerinde taşınan XML biçimli mesajlardan oluşan, sunucu ve istemci arasındaki iletişimi sağlayan servisler.

       Geleneksel sunucu/istemci modelleri ile kıyaslandığında temel fark bir GUI sağlanmamasıdır.

Kim Düşünmüş ?

       WebMethods ilk “remote web service” olarak isimlendirilebilecek modellerden birini 1997 yılında tasarlamıştır.

Amaç ?

       Farklı üreticilerden çıkan farklı uygulamaların, iş mantığını, veriyi ve işlemleri ilave kod gerektirmeden ağ üzerinde paylaşmasıdır.

WebServislerin Artıları  Bize Göre Nelerdir ?

       Birlikte işleyebilirler

       Kullanımı oldukça kolaydır

       Tekrar kullanılabilirler

       Aynı anda her yerde mevcut olabilirler

       İnsanlar ve bilgisayarlar tarafından kullanılabilirler

        

WebServislerin Eksileri  Nelerdir ?

       Güvenlik ve basitlik:
Web servis mesajları internet trafiği üzerinde olduğu için kolaylıkla ticari ağların içerisine girebilir. Secure HTTP kullanıldığında kimlik doğrulama ve veri bütünlüğü sağlanabilir; fakat birçok firma daha fazla güvenlik tedbiri istiyor 

WebServis Mimarisi:

 

Universal Description, Discovery and Integration (UDDI)

       UDDI, OASIS (Organization for the Advancement of Structured Information Standards) tarafından geliştirilmiş bir gösterimdir.

       UDDI Web servis açıklamalarını aramak ve saklamak için kullanılır.

       UDDI üç farklı seviyede web servis açıklamalarını saklar.

      Beyaz sayfalar firmaların web servisleri hakkında bilgi içermez, fakat bunun yerine servis sunan firma hakkında bilgi verir.

      Sarı sayfalar, web servislerin sınıflandırmasını sağlar ve bu sayede bir servisin bulunmasını kolaylaştırır.

      Yeşil sayfalar web servislerin teknik açıklamalarını tutar.

 

Web Service Description (WSD)

 

       WSD bir web servisinin ne yapabileceğini, nerede bulunduğunu ve nasıl çalıştırılacağını tanımlar.

       Bir servisin tanımında aşağıdaki elemanlar kullanılır.

      Types

      Message

      Operation

      Port Type

      Binding

      Port

      Service

       Servis Tanımı - WDSL örneği

 

<?xml version="1.0"?>

<definitions name="StockQuote"

                targetNamespace="http://localhost/stockquote.wsdl"

                xmlns:tns="http://localhost/stockquote.wsdl"

                xmlns:xsd1="http://localhost/stockquote.xsd"

                xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

                xmlns="http://schemas.xmlsoap.org/wsdl/">

<types>

<schema targetNamespace="http://localhost/stockquote.xsd" xmlns="http://www.w3.org/1999/XMLSchema"> <element name="TradePriceRequest">

                               <complexType>

                                               <all>

                                                               <element name="tickerSymbol" type="string"/>

                                               </all>

                               </complexType>

                </element>

           <element name="TradePrice">

                               <complexType>

                                               <all>

                                                               <element name="price" type="float"/>

                                               </all>

                               </complexType>

                </element>

</schema>

</types>

<message name="GetLastTradePriceInput">

                <part name="body" element="xsd1:TradePriceRequest"/>

</message>

<message name="GetLastTradePriceOutput">

                <part name="body" element="xsd1:TradePrice"/>

</message>

 

SOAP
(Simple Object Access Protocol)

       Dağıtık uygulamaların ve web servislerinin birbirleri ile haberleşmelerini sağlamak amacıyla tasarlanmış bir protokoldür.

       SOAP’ın en büyük özelliği yapısının XML üzerine kurulu olmasıdır. Dolayısı ile SOAP, XML in sağladığı esneklik, kolaylık ve platform bağımsızlığı özelliklerini içerir.

       Diğer protokollerin aksine SOAP, HTTP protokolünü kullandığı ve taşıdığı mesajlar düz yazı dosyası halinde olduğu için firewall dostudur.

 

SOAP Request örneği

POST /StockQuote HTTP/1.1

Host: www.stockquoteserver.com

Content-Type: text/xml;

 

 

charset="utf-8"

Content-Length: nnnn

SOAPAction: "Some-URI"

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

                <SOAP-ENV:Body>

                               <m:GetLastTradePrice xmlns:m="Some-URI">

                                               <symbol>MOT</symbol>

                               </m:GetLastTradePrice>

                </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

Sample Case :

 

ASP.NET Web Servis Örneği

<%@ WebService Language="VB" Class="TempConvert" %>

Imports System

 

 

Imports System.Web.Services

Public Class TempConvert :Inherits WebService

<WebMethod()> Public Function FahrenheitToCelsius (ByVal Fahrenheit As Int16) As Int16

                Dim celsius As Int16
                celsius = ((((Fahrenheit) - 32) / 9) * 5)
                Return celsius

End Function

<WebMethod()> Public Function CelsiusToFahrenheit (ByVal Celsius As Int16) As Int16

                Dim fahrenheit As Int16
                fahrenheit = ((((Celsius) * 9) / 5) + 32)
                Return fahrenheit
End Function

End Class

 

HTML Entegrasyonu

<form target="_blank" action='http://localhost/webservices/tempconvert.asmx/FahrenheitToCelsius' method="POST">

                <table>

                               <tr>

                                               <td>

                                               Fahrenheit to Celsius:

                                               </td>

                                               <td>

                                               <input class="frmInput" type="text" size="30" name="Fahrenheit">

                                               </td>

                               </tr>

                               <tr>

                                               <td>

                                               </td>

                               <td align="right">

                                               <input type="submit" value="Submit" class="button">

                                               </td>

                               </tr>

                </table>

</form>

Response:

<?xml version="1.0" encoding="utf-8" ?>

<short xmlns="http://tempuri.org/">38</short>

Evet  arkadaşlar bir makkalenin sonuna  gelmiş  olduk  tekrar  yeni bir makkalede görüşmek üzere herkeze  başarılar 

Saygılarımla Orhan Türk :

 

 

 

 

 

FacebookDigg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

ASP NET , C# ,

Comments

8/14/2009 9:06:30 PM #
Very interesting topic will bookmark your site to check if you write more about in the future.
8/16/2009 7:25:54 PM #
Do you earn decent money from this blog or are you doing it just for fun?
8/27/2009 6:04:06 AM #
Do you accept guest posts? I would love to write couple articles here.

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



Sayfa 0.109375 saniyede yuklendi.