Posted by : Unknown Kamis, 22 Mei 2014

Sejarah tentang perkembangan webservice tidak lepas dari perkembangan sejarah dari SOAP WSDL, dan sejarah perkembangannnya WSDL 1.0 (September 2000) telah dikembangkan oleh IBM, Microsoft, dan Ariba untuk mendeskripsikan Web Service untuk toolkit SOAP. Dikembangkan dengan mengkombinasikan bahasa deskripsi service






1.    SOAP
a    a)    Sejarah SOAP
Sejarah tentang perkembangan webservice tidak lepas dari perkembangan sejarah dari SOAP WSDL, dan sejarah perkembangannnya WSDL 1.0 (September 2000) telah dikembangkan oleh IBM, Microsoft, dan Ariba untuk mendeskripsikan Web Service untuk toolkit SOAP. Dikembangkan dengan mengkombinasikan bahasa deskripsi service: NASSL (Network Application Service Spesification Language) dari IBM dan SDL (Service Description Language) dari Microsoft. WSDL 1.1 dirilis tahun 2001, merupakan formalisasi dari WSDL 1.0. Tidak ada perubahan besar yang diperkenalkan antara versi 1.0 dan 1.1. WSDL 1.2 (Juni 2003) merupakan draf kerja W3C, tetapi menjadi WSDL 2.0. Menurut W3C, WSDL 1.2 lebih mudah dan lebih fleksibel untuk para developer daripada versi sebelumnya. WSDL 1.2 berupaya untuk menghapus fitur non-interoperable dan juga mendefinisikan binding HTTP 1.1 secara lebih baik. WSDL tidak didukung oleh kebanyakan server/vendor SOAP.

WSDL menyediakan sebuah kamus XML untuk menjabarkan detail-detail ini. WSDL digunakan di mana skema XML tidak digunakan lagi dengan menyediakan jalur pesan-pesan grup menjadi operasi-operasi dan operasi-operasi menjadi antarmuka. Ini juga menyediakan jalur untuk medefinisikan binding-binding untuk setiap antamuka dan kombinasi protokol sepanjang alamat titik akhir utnuk setiap kalinya. Definisi WSDL yang lengkap terdiri dari seluruh informasi yang dibutuhkan untuk meminta web service. Pengembang yang mau mempermudah yang lain untuk mengakses service-servicenya harus menyediakan defisi-definisi WSDL. WSDL memainkan peranan penting pada seluruh arsitektur web service semenjak menjabarkan kontrak lengkap pada komunikasi aplikasi (sama seperti peran IDL pada arsitektur DCOM). Walaupun teknik-teknik lain untuk menjabarkan Web service ada, WS-I Basic Profile Versi 1.0 memadati penggunaan WSDL dan skema XML untuk menjabarkan web service. Ini membantu untuk memastikan interoperbilitas pada layer deskripsi servis.

Karena WSDL adalah mesin yang dapat dibaca (misalnya hanya file XML), tool-tool dan infrastruktur dan dengan mudah dibuat seputar ini. Saat ini pengembang-pengembang dapat definisi-definisi WSDL untuk membangun kode yang tahu dengan tepat bagaimana berinteraksi dengan web service yang menjabrkan.

 
       b)   KONSEP SOAP
SOAP singkatan dari Simple Object Access Protocol. SOAP adalah protokol untuk pertukaran informasi dengan desentralisasi dan terdistribusi. SOAP dibangun dengan menggunakan protokol komunikasi HTTP. Karena HTTP didukung oleh semua browser dan server, maka SOAP dapat berkomunikasi dengan berbagai aplikasi meskipun terdapat perbedaan sistem operasi, teknologi, dan bahasa emrogramannya. Dan dalam system Osi Layer SOAP berada pada lapisan Transport
Peran SOAP di dalam teknologi web service adalah sebagai protokol pemaketan untuk pesan-pesan (messages) yang digunakan secara bersama oleh aplikasi-aplikasi penggunanya. Spesifikasi yang digunakan tidak lebih seperti sebuah amplop biasa berbasis XML untuk informasi yang ditransfer, serta sekumpulan aturan bagi translasi aplikasi dan tipe-tipe data platform yang spesifik menjadi bentuk XML. Desain bentuk dari SOAP membuatnya cocok untuk berbagai pertukaran pesan pada aplikasi.

c   c)    Struktur Pesan SOAP



Sebuah pesan SOAP adalah sebuah dokumen XML yang berisi elemen-elemen berikut:

• Envelope element yang mengidentifikasi dokumen XML sebagai sebuah pesan SOAP.

• Elemen header yang berisi informasi header. Elemen ini bersifat opsional.
• Elemen body yang berisi panggilan dan merespon informasi.
• Fault element yang berisi pesan kesalahan yang terjadi pada waktu proses. Elemen ini opsional.


a



    d)   SOAP Message Transmision



    Transmisi pesan SOAP melibatkan:

    •   SOAP Sender, membuat dan mengirimkan pesan kepada SOAP receiver
    •   SOAP Intermediaries, suatu perantara SOAP bersifat optional untuk menangkap pesan
        antara pengirim dan penerima. Pada bagian ini dapat dilakukan logging, catching dll
    •   SOAP Receiver, tujuan pesan dari pengirim.


Dari gambar di atas terlihat bahwa arsitektur umum

• Sender atau Client

• Receiver atau Service provider



untuk berkomunikasi klien harus mengetahui beberapa informasi

• Lokasi webservices Server

• Fungsi yang tersedia, signature parameter dan tipe return nya.

• komunikasi protokol

• Format input output



Service provider akan membuat file XML standar yang mengkover kebutuhan di atas.Jika file ini diberikan pada klien maka klien dapat mengakses web services.

disebut Web Service Description Language.



a  e)    WSDL

Web Services Description Language (WSDL) adalah format XML untuk semua informasi yang dibutuhkan untuk Service. Deskripsi service memiliki dua komponen utama:

  
Functional Description 
 Mendefinisikan rincian tentang bagaimana Web Service dipanggil, di mana service dipanggil. Berfokus pada rincian sintaks pesan dan bagaimana mengkonfigurasi protokol jaringan untuk memberikan pesan.

Nonfunctional Description

Memberikan rincian sekunder untuk pesan (seperti sebagai security policy), diperlukan instruksi tambahan pada header SOAP. Karena WSDL merupakan XML maka baik user (manusia) maupun mesin dapat membacanya dengan mudah. Dengan menggunakan file WSDL maka Anda akan memahami :



o   Port / Endpoint – URL dari web service

o   Input message format

o   Output message format

o   Security protocol yang harus diikuti

o   Protocol yang web service gunakan

 

a.    a.  Struktur dokumen WSDL

Sebuah Dokumen WSDL adalah kumpulan definisi dengan root elemen tunggal.

Layanan dapat didefinisikan dengan menggunakan elemen XML berikut:


o   Types, seperti tipe data

o   Message, seperti methods

o   PortType, seperti Interfaces

o   Binding, seperti cara pengikatan Encoding Scheme

o   Port, seperti URL

o   Service, seperti banyak URLs





Ø  PortType Element



Definisi:

Elemen portType menggambarkan interface pada webservice

• Sebuah Dokumen WSDL dapat berisi nol atau banyak portType

• Elemen portType berisi satu nama atribut.

• Konvensi penamaan nameOfWebService PortType

• PortType berisi satu atau lebih elemen operasi, dengan nama atribut dapat berisi input, output dan fault elemen



           contohnya :



<!-- Port Type Definition Example -->

<portType name="weatherCheckPortType">

<operation name="checkTemperature">

<input message="checkTemperatureRequest"/>

<output message="checkTemperatureResponse"/>

</operation>

<operation name="checkHumidity">

<input message="checkHumidityRequest"/>

<output message="checkHumidityResponse"/>

</operation>

</portType>
 

 
Ø  Message Element
 

Definisi:

Message adalah kumpulan bagian argumen.

 • Sebuah dokumen WSDL dapat berisi nol atau banyak elemen pesan
       • Setiap elemen pesan dapat digunakan sebagai input, output atau fault message dalam suatu
              operasi.
• Jenis atribut bagian dapat berupa tipe data standar dari XSD Schema atau ditetapkan oleh pengguna.


Contohnya


<!-- Message Definitions -->

<message name="checkTemperatureRequest">

<part name="location" type="xsd:string">

</message>

<message name="checkTemperatureResponse">

<part name="result" type="xsd:double">

</message>

<message name="checkHumidityRequest">

<part name="location" type="xsd:string">

</message>

<message name="checkHumidityResponse">

<part name="result" type="ns:HummidityType"

             </message>


 


Ø  Types Element

Tipe custom user data dapat didefinisikan dengan cara yang abstrak.

• Tipe default di WSDL adalah XML Schema (XSD)
• Sebuah dokumen WSDL dapat memiliki paling banyak satu elemen jenis.
• Unsur jenis dapat berisi simpleType atau complexType.
• Pada elemen-elemen tingkat terendah, elemen didefinisikan dengan nama dan
jenis atribut.

Contohnya
<!-- Type Definitions -->

<types>

<xsd:schema targetNamespace="http://weather.com/ns"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:complexType name="HumidityType">

<xsd:sequence>

<xsd:element name="loc" type="xsd:string">

<xsd:element name="humd" type="xsd:double">

<xsd:element name="temp" type="xsd:double">

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

</types>
 

  



Ø  Binding Element

Definisi :

Binding elemen menentukan pada service requester tentang bagaimana membuat
pesan untuk protokol tertentu. Setiap portType dapat memiliki satu atau lebih elemen yang terkait. Untuk portType yang telah ditentukan, elemen yang mengikat harus menentukan pesan dan pasangan transportnya. (SOAP / HTTP, SOAP / SMTP, dll).

contohnya
<binding name="WeatherBinding" type="weatherCheckPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="checkTemperature">
<soap:operation soapAction="" />
<input>
<soap:body use="encoded" namespace="checkTemperature"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="checkTemperature"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
 



  



Ø  Port Element



Port element menentukan alamat network dari web service

• Terdapat sebuah protokol, alamat khusus pada elemen terkait

• Port harus bernama dan unik pada dokumen



Contohnya :


<port name="WeatherCheck"

binding="wc:WeatherCheckSOAPBinding">

<soap:address location="http://host/WeatherCheck"/>

</port>




 Ø  Service Element


Elemen service adalah kumpulan port elemen diidentifikasikan dengan satu nama

service.



• Sebuah Dokumen WSDL diperbolehkan mengandung beberapa elemen service, tetapi secara biasanya terdapat satu.

• Setiap service harus diberi nama yang unik.

• Konvensi penamaan adalah GeneralInfoService



Contohnya :
<!-- Service definition -->
<service name="WeatherCheckService">
<port name="WeatherCheckSOAP"
binding="wc:WeatherCheckSOAPBinding">
<soap:address location="http://host/WeatherCheck"/>
</port>
<port name="WeatherCheckSMTP"
binding="wc:WeatherCheckSMTPBinding">
<soap:address location="http://host/WeatherCheck"/>
</port>
</service>


 yang harus perhatikan dari SOAP WSDL  adalah kesesuaian method yang dipanggil baik dari signature parameter, return type dan portnya.



sumber :
§  F, M Nurkamal. (2013). Web Service. Bandung : Politeknik Pos Indonesia
§  http://dini08.weblog.esaunggul.ac.id/2013/12/04/pengertian-dan-deskripsi-detail-dari-soap/
 













Leave a Reply

Subscribe to Posts | Subscribe to Comments

Random Post

Copyright © 2015 Mbah Second - Edited by Mbah Second - Powered by Blogger - Designed by Johanes Djogan Metrominimalist