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 :
fa529fa6-91dc-42b3-9eef-35adeb33e41b|0|.0
ASP NET , C#
asp.net, web service temel oluşumu