<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>WEB Services</title>
	<atom:link href="http://tridimor.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tridimor.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sun, 13 Jul 2008 13:00:47 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='tridimor.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>WEB Services</title>
		<link>http://tridimor.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://tridimor.wordpress.com/osd.xml" title="WEB Services" />
	<atom:link rel='hub' href='http://tridimor.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Membuat Web Service dengan PHP</title>
		<link>http://tridimor.wordpress.com/2008/07/13/membuat-web-service-dengan-php/</link>
		<comments>http://tridimor.wordpress.com/2008/07/13/membuat-web-service-dengan-php/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 12:53:09 +0000</pubDate>
		<dc:creator>didinsuryastya</dc:creator>
				<category><![CDATA[Membuat Web Service dengan PHP]]></category>

		<guid isPermaLink="false">http://tridimor.wordpress.com/?p=30</guid>
		<description><![CDATA[Membuat Server Untuk membuat server yang menyediakan web service, kita harus membuat sebuah kelas yang berisi method-method yang akan kita jadikan web service. class OperasiMatematika { function tambah($a, $b) { return $a + $b; } function kurang($a, $b) { return $a &#8211; $b; } function kali($a, $b) { return $a * $b; } function bagi($a, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=30&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Membuat Server</p>
<p>Untuk membuat server yang menyediakan web service, kita harus membuat sebuah kelas yang berisi method-method yang akan kita jadikan web service.<br />
class OperasiMatematika {</p>
<p>function tambah($a, $b) {<br />
return $a + $b;<br />
}</p>
<p>function kurang($a, $b) {<br />
return $a &#8211; $b;<br />
}</p>
<p>function kali($a, $b) {<br />
return $a * $b;<br />
}</p>
<p>function bagi($a, $b) {<br />
if ($b == 0) {<br />
/* error */<br />
}<br />
else {<br />
return $a / $b;<br />
}<br />
}</p>
<p>function mod($a, $b) {<br />
return $a % $b;<br />
}</p>
<p>}</p>
<p>Kelas tersebut akan menjadi dasar web service yang akan kita buat. Setelah itu, kita harus membuat daftar method-method yang akan dijadikan web service. Agar pendefinisian kelas dan pendefinisian daftar method untuk web service tidak dicampur, kita akan membuat daftar method-method tersebut dalam kelas turunannya saja.<br />
class OperasiMatematikaService extends OperasiMatematika {</p>
<p>var $__dispatch_map;</p>
<p>function OperasiMatematikaService() {</p>
<p>$this-&gt;__dispatch_map['tambah'] = array(<br />
&#8216;in&#8217;  =&gt; array(&#8216;a&#8217; =&gt; &#8216;int&#8217;, &#8216;b&#8217; =&gt; &#8216;int&#8217;),<br />
&#8216;out&#8217; =&gt; array(&#8216;hasil&#8217; =&gt; &#8216;int&#8217;)<br />
);</p>
<p>$this-&gt;__dispatch_map['kurang'] = array(<br />
&#8216;in&#8217;  =&gt; array(&#8216;a&#8217; =&gt; &#8216;int&#8217;, &#8216;b&#8217; =&gt; &#8216;int&#8217;),<br />
&#8216;out&#8217; =&gt; array(&#8216;hasil&#8217; =&gt; &#8216;int&#8217;)<br />
);</p>
<p>$this-&gt;__dispatch_map['kali'] = array(<br />
&#8216;in&#8217;  =&gt; array(&#8216;a&#8217; =&gt; &#8216;int&#8217;, &#8216;b&#8217; =&gt; &#8216;int&#8217;),<br />
&#8216;out&#8217; =&gt; array(&#8216;hasil&#8217; =&gt; &#8216;int&#8217;)<br />
);</p>
<p>$this-&gt;__dispatch_map['bagi'] = array(<br />
&#8216;in&#8217;  =&gt; array(&#8216;a&#8217; =&gt; &#8216;int&#8217;, &#8216;b&#8217; =&gt; &#8216;int&#8217;),<br />
&#8216;out&#8217; =&gt; array(&#8216;hasil&#8217; =&gt; &#8216;float&#8217;)<br />
);</p>
<p>$this-&gt;__dispatch_map['mod'] = array(<br />
&#8216;in&#8217;  =&gt; array(&#8216;a&#8217; =&gt; &#8216;int&#8217;, &#8216;b&#8217; =&gt; &#8216;int&#8217;),<br />
&#8216;out&#8217; =&gt; array(&#8216;hasil&#8217; =&gt; &#8216;int&#8217;)<br />
);</p>
<p>}</p>
<p>function __dispatch($method_name) {</p>
<p>if (isset($this-&gt;__dispatch_map[$method_name])) {<br />
return $this-&gt;__dispatch_map[$method_name];<br />
}<br />
else {<br />
return NULL;<br />
}<br />
}</p>
<p>}</p>
<p>Perhatikan potongan source code di bawah ini.<br />
$this-&gt;__dispatch_map['mod'] = array(<br />
&#8216;in&#8217;  =&gt; array(&#8216;a&#8217; =&gt; &#8216;int&#8217;, &#8216;b&#8217; =&gt; &#8216;int&#8217;),<br />
&#8216;out&#8217; =&gt; array(&#8216;hasil&#8217; =&gt; &#8216;int&#8217;)<br />
);</p>
<p>Bagian tersebut berisi penjelasan method yang didaftarkan untuk menjadi web service. Nilai dari key dari variabel $this-&gt;__dispatch_map, dalam hal ini adalah mod, adalah nama method yang akan dijadikan web service. Method ini harus ada di dalam kelas.</p>
<p>Nilai dari variabel tadi menjelaskan mengenai method yang bersangkutan. Dalam contoh di atas, method mod adalah method yang memiliki tipe operasi Request-response, yaitu method yang menerima request dan akan mengeluarkan response.</p>
<p>Jika kita lihat pada potongan source code di atas, method mod akan menerima input berupa dua buah variabel, yaitu a dan b yang masing-masing memiliki tipe int. Method tersebut akan mengeluarkan output berupa sebuah variabel hasil dengan tipe int.</p>
<p>Dalam contoh kelas OperasiMatematika, pada method bagi, ada bagian yang baru saya beri tanda /* error */. Bagian tersebut akan berisi potongan source code yang dapat mengeluarkan informasi error kepada client dari web service. Potongan source code yang akan kita isikan pada bagian tersebut adalah sebagai berikut.<br />
return new SOAP_Fault(&#8216;Anda melakukan pembagian dengan nol&#8217;);</p>
<p>Method bagi dalam kelas OperasiMatematika akan menjadi sebagai berikut.<br />
function bagi($a, $b) {<br />
if ($b == 0) {<br />
return new SOAP_Fault(&#8216;Anda melakukan pembagian dengan nol&#8217;);<br />
}<br />
else {<br />
return $a / $b;<br />
}<br />
}</p>
<p>Sampai saat ini, Anda telah membuat sebuah deskripsi dari web service yang akan dibuat. Agar kelas-kelas tadi dapat digunakan sebagai web service, kita akan menggunakan fasilitas dari paket SOAP dari PEAR.<br />
&lt;?</p>
<p>include_once(&#8216;SOAP/Server.php&#8217;);<br />
include_once(&#8216;SOAP/Disco.php&#8217;);</p>
<p>class OperasiMatematika {<br />
&#8230;<br />
}</p>
<p>class OperasiMatematikaService extends OperasiMatematika {<br />
&#8230;<br />
}</p>
<p>$soap = new SOAP_Server();<br />
$soap-&gt;_auto_translation = true;</p>
<p>$matematika = new OperasiMatematikaService();<br />
$soap-&gt;addObjectMap($matematika, &#8216;http://schemas.xmlsoap.org/wsdl/&#8217;);</p>
<p>if (isset($_SERVER['REQUEST_METHOD']) &amp;&amp; ($_SERVER['REQUEST_METHOD'] == &#8216;POST&#8217;)) {<br />
$soap-&gt;service($HTTP_RAW_POST_DATA);<br />
}<br />
else {<br />
header(&#8216;Content-type: text/xml&#8217;);<br />
$disco = new SOAP_DISCO_Server($soap, &#8216;OperasiMatematikaService&#8217;);</p>
<p>if (isset($_SERVER['QUERY_STRING']) &amp;&amp; (strcasecmp($_SERVER['QUERY_STRING'], &#8216;wsdl&#8217;) == 0)) {<br />
print($disco-&gt;getWSDL());<br />
}<br />
else {<br />
print($disco-&gt;getDISCO());<br />
}<br />
}</p>
<p>?&gt;</p>
<p>Lengkapi isi dari kelas OperasiMatematika dan OperasiMatematikaService pada potongan source code di atas agar menjadi source code utuh yang dapat digunakan.</p>
<p>File PHP yang kita buat di atas berisi pendefinisian kelas yang akan menjadi web service, sebuah fasilitas untuk memproses request yang datang, dan fasilitas untuk melihat WSDL atau deskripsi dari web service yang kita buat.</p>
<p>Setelah semua ini dibuat, web service yang Anda buat sudah siap untuk digunakan. Anda dapat menggunakan fasilitas dari Microsoft .NET, Apache AXIS, atau client web service lainnya (seperti yang akan kita buat juga) untuk mengakses web service ini.<br />
Source code<br />
Demo server<br />
WSDL</p>
<p>Membuat Client</p>
<p>Pembuatan client web service jauh lebih mudah daripada pembuatan server. Yang harus Anda lakukan pertama kali adalah menentukan alamat web service yang akan di akses. Saya akan menggunakan web service yang terletak pada http://fajran.net/web/arsip/tutorial/web-service-dengan-php/server.php?wsdl sebagai bahan uji coba pembuatan client web service.</p>
<p>Pertama-tama, Anda harus membuat proxy (client stub) sebagai perantara antara aplikasi client dan web service yang ingin Anda akses.<br />
$soap = new SOAP_WSDL(&#8216;http://fajran.net/web/arsip/tutorial/web-service-dengan-php/server.php?wsdl&#8217;);<br />
$proxy = $soap-&gt;getProxy();</p>
<p>Setelah proxy berhasil dibuat, Anda dapat menggunakan object $proxy tadi untuk mengakses method-method yang dijadikan web service seolah-olah method-method tersebut adalah method lokal.<br />
$a = 2;<br />
$b = 2;</p>
<p>$hasil = $proxy-&gt;tambah($a, $b);<br />
print(&#8220;&lt;p&gt;$a + $b = $hasil&lt;/p&gt;&#8221;);</p>
<p>$hasil = $proxy-&gt;kurang($a, $b);<br />
print(&#8220;&lt;p&gt;$a &#8211; $b = $hasil&lt;/p&gt;&#8221;);</p>
<p>$hasil = $proxy-&gt;kali($a, $b);<br />
print(&#8220;&lt;p&gt;$a * $b = $hasil&lt;/p&gt;&#8221;);</p>
<p>$hasil = $proxy-&gt;bagi($a, $b);<br />
print(&#8220;&lt;p&gt;$a / $b = $hasil&lt;/p&gt;&#8221;);</p>
<p>$hasil = $proxy-&gt;mod($a, $b);<br />
print(&#8220;&lt;p&gt;$a % $b = $hasil&lt;/p&gt;&#8221;);</p>
<p>Jika script di atas dijalankan, maka hasil yang akan Anda dapatkan adalah sebagai berikut.<br />
2 + 2 = 4</p>
<p>2 &#8211; 2 = 0</p>
<p>2 * 2 = 4</p>
<p>2 / 2 = 1</p>
<p>2 % 2 = 0</p>
<p>Mudah bukan?<br />
Source code<br />
Demo client</p>
<p>Referensi<br />
Building PHP Web services with PEAR<br />
WSDL Tutorial</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tridimor.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tridimor.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tridimor.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tridimor.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tridimor.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tridimor.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tridimor.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tridimor.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tridimor.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tridimor.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tridimor.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tridimor.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tridimor.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tridimor.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tridimor.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tridimor.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=30&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tridimor.wordpress.com/2008/07/13/membuat-web-service-dengan-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2f47c16fabaa70b8d944c30556fd450?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">didinsuryastya</media:title>
		</media:content>
	</item>
		<item>
		<title>Invoke Web Service Menggunakan XMLHttpRequest</title>
		<link>http://tridimor.wordpress.com/2008/07/13/invoke-web-service-menggunakan-xmlhttprequest/</link>
		<comments>http://tridimor.wordpress.com/2008/07/13/invoke-web-service-menggunakan-xmlhttprequest/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 12:50:35 +0000</pubDate>
		<dc:creator>didinsuryastya</dc:creator>
				<category><![CDATA[Invoke Web Service Menggunakan XMLHttpRequest]]></category>

		<guid isPermaLink="false">http://tridimor.wordpress.com/?p=29</guid>
		<description><![CDATA[Banyak library Ajax yang sudah gede dan banyak fiturnya seperti ASP.NET AJAX, Anthem.NET, AjaxAnywhere, ajaxCFC, AJS, Dojo, Rico dan beberapa library lainnya. Dalam tulisan ini akan saya jelaskan konsep invoke Web Service langsung menggunakan objek XMLHttpRequest (XHR). Saya asumsikan bahwa pembaca sudah memahami konsep dasar XMLHttpRequest, jika belum silakan baca tulisan saya sebelumnya di Pengenalan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=29&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Banyak library Ajax yang sudah gede dan banyak fiturnya seperti ASP.NET AJAX, Anthem.NET, AjaxAnywhere, ajaxCFC, AJS, Dojo, Rico dan beberapa library lainnya. Dalam tulisan ini akan saya jelaskan konsep invoke Web Service langsung menggunakan objek XMLHttpRequest (XHR). Saya asumsikan bahwa pembaca sudah memahami konsep dasar XMLHttpRequest, jika belum silakan baca tulisan saya sebelumnya di Pengenalan AJAX.</p>
<p>Pertama buat root object dengan nama Masykur, root object ini bisa disamakan sebagai namespace pada OOP.<br />
if (!window.Masykur) {<br />
window.Masykur = {};<br />
}</p>
<p>Setelah root object dibuat kemudian buat member yang berisi DOM dan Ajax. DOM digunakan untuk mendapatkan informasi DOM dan browser sedangkan Ajax adalah object yang menangani komunikasi singkron dengan Web Service.<br />
if (!Masykur.DOM) {<br />
Masykur.DOM = function() {}<br />
}<br />
if (!Masykur.Ajax) {<br />
Masykur.Ajax = function() {}<br />
}</p>
<p>Pada objek Masykur.DOM, tambahkan property untuk pengecekan browser. Pengecekan browser ini digunakan untuk mengecek kemampuan dari masing-masing browser karena masing-masing browser menggunakan objek yang berbeda untuk menangani XHR maupun dokumen XML.<br />
Masykur.DOM.isInternetExplorer = (navigator.userAgent.indexOf(&#8220;MSIE&#8221;) &gt;= 0);<br />
Masykur.DOM.isMozilla = (navigator.userAgent.indexOf(&#8220;Gecko&#8221;) &gt;= 0);<br />
Masykur.DOM.isOpera = (navigator.userAgent.indexOf(&#8220;Opera&#8221;) &gt;= 0);</p>
<p>Pada objek Masykur.Ajax, buat variabel nameSpace yang digunakan sebagai namespace pada Envelope SOAP. Selain variabel juga tambahkan fungsi set dan get namespace.<br />
Masykur.Ajax = function() {<br />
var nameSpace = &#8220;http://tempuri.org/&#8221;;<br />
this.setNameSpace = function(ns){<br />
nameSpace = ns;<br />
}//end setNameSpace()</p>
<p>this.getNameSpace = function(){<br />
return nameSpace;<br />
}//end getNameSpace()<br />
}</p>
<p>Buat objek XHR lintas browser dengan mencoba semua metode dari create XMLHttpRequest dari JavaScript object, ActiveX dan SOAPCall object. Ini dimaksudkan supaya semua library tidak tergantung dengan browser yang digunakan, dapat berjalan baik IE, Firefox maupun Opera.<br />
Masykur.Ajax = function(){<br />
// &#8230;<br />
var ajaxObject = function(){<br />
try{return new XMLHttpRequest();}catch(ex){};<br />
try{return new ActiveXObject(&#8220;Microsoft.XMLHTTP&#8221;);}catch(ex){};<br />
try{return new SOAPCall();}catch(ex){};<br />
}//end ajaxObject()<br />
}</p>
<p>Buat fungsi penanganan error yang kemudian dapat di-override dengan fungsi sendiri saat digunakan.<br />
Masykur.Ajax = function(){<br />
// &#8230;<br />
this.onError = function(error){<br />
alert(error);<br />
}//end onError()<br />
}</p>
<p>Setelah semua persiapan objek XHR selesai, sekarang tinggal buat fungsi callService untuk invoke ke Web Service.<br />
Masykur.Ajax = function(){<br />
// &#8230;<br />
this.callService = function(serviceUrl, soapMethod, callbackFunction /*, unlimited params */){<br />
// code<br />
}<br />
}</p>
<p>Pertama yang perlu disiapkan adalah URL web service. Tambahkan &#8220;?WSDL&#8221; dibelakang URL.<br />
if(serviceUrl.indexOf(&#8220;http://&#8221;) &lt; 0)<br />
serviceUrl = &#8220;http://&#8221; + serviceUrl;<br />
serviceUrl += &#8220;?WSDL&#8221;;</p>
<p>Hal penting yang harus disiapkan adalah envelope untuk membungkus data yang akan dikirimkan ke server. Envelope berisi semua parameter yang dibutuhkan oleh web service method. Parameter dibungkus dalam tag &lt;soap:Body&gt;, nama parameter merupakan sebuah elemen child &lt;soap:Body&gt; dan valuenya dimasukkan sebagai text element parameter.<br />
var soapEnvelope = &#8220;&lt;?xml version=\&#8221;1.0\&#8221; encoding=\&#8221;utf-8\&#8221;?&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;soap:Envelope xmlns:xsi=\&#8221;http://www.w3.org/2001/XMLSchema-instance\&#8221; &#8220;;<br />
soapEnvelope += &#8220;xmlns:xsd=\&#8221;http://www.w3.org/2001/XMLSchema\&#8221; &#8220;;<br />
soapEnvelope += &#8220;xmlns:soap=\&#8221;http://schemas.xmlsoap.org/soap/envelope/\&#8221;&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;soap:Body&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;&#8221; + soapMethod + &#8221; xmlns=\&#8221;" + nameSpace + &#8220;\&#8221;&gt;&#8221;;</p>
<p>if(arguments.length &gt; 3){<br />
for (var i = 3; i &lt; arguments.length; i++)<br />
{<br />
var params = [];<br />
var arg = arguments[i];<br />
var ieq = arg.indexOf(&#8216;=&#8217;);<br />
params[0] = arg.substr(0, ieq);<br />
params[1] = arg.substr(ieq + 1);<br />
soapEnvelope += &#8220;&lt;&#8221; + params[0] + &#8220;&gt;&#8221;;<br />
soapEnvelope += params[1];<br />
soapEnvelope += &#8220;&lt;/&#8221; + params[0] + &#8220;&gt;&#8221;;<br />
}//end for<br />
}//end if</p>
<p>soapEnvelope += &#8220;&lt;/&#8221; + soapMethod + &#8220;&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;/soap:Body&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;/soap:Envelope&gt;&#8221;;</p>
<p>Set event onreadystate pada objek XHR dan kembalikan hasil respon web service dalam format string setelah semua data lengkap diterima.</p>
<p>Terakhir buka sambungan dengan server menggunakan mode POST dan set header content-type menjadi &#8220;text/xml&#8221; dan tambahkan juga header &#8220;soapaction&#8221; dengan data namespace diikuti dengan soap method. Kirimkan soap envelope pada request body seperti pada kode berikut.<br />
ao.open(&#8220;POST&#8221;, serviceUrl, true);<br />
ao.setRequestHeader(&#8220;Content-Type&#8221;, &#8220;text/xml&#8221;);<br />
ao.setRequestHeader(&#8220;soapaction&#8221;, nameSpace + soapMethod);<br />
ao.send(soapEnvelope);</p>
<p>Script lengkap dapat dilihat pada kode berikut.<br />
if (!window.Masykur) {<br />
window.Masykur = {};<br />
}<br />
if (!Masykur.DOM) {<br />
Masykur.DOM = function() {}<br />
}<br />
if (!Masykur.Ajax) {<br />
Masykur.Ajax = function() {}<br />
}<br />
Masykur.DOM.isInternetExplorer = (navigator.userAgent.indexOf(&#8220;MSIE&#8221;) &gt;= 0);<br />
Masykur.DOM.isMozilla = (navigator.userAgent.indexOf(&#8220;Gecko&#8221;) &gt;= 0);<br />
Masykur.DOM.isOpera = (navigator.userAgent.indexOf(&#8220;Opera&#8221;) &gt;= 0);</p>
<p>Masykur.Ajax = function(){</p>
<p>var nameSpace = &#8220;http://tempuri.org/&#8221;;</p>
<p>//private method for returning an ajax enabled<br />
//object specific to a browser<br />
var ajaxObject = function(){<br />
try{return new XMLHttpRequest();}catch(ex){};<br />
try{return new ActiveXObject(&#8220;Microsoft.XMLHTTP&#8221;);}catch(ex){};<br />
try{return new SOAPCall();}catch(ex){};<br />
}//end ajaxObject()</p>
<p>this.onError = function(error){<br />
alert(error);<br />
}//end onError()</p>
<p>this.callService = function(serviceUrl, soapMethod, callbackFunction /*, unlimited params */){</p>
<p>var callServiceError = this.onError;</p>
<p>var ao = ajaxObject();</p>
<p>if(!ao.encode){<br />
if(serviceUrl.indexOf(&#8220;http://&#8221;) &lt; 0)<br />
serviceUrl = &#8220;http://&#8221; + serviceUrl;<br />
serviceUrl += &#8220;?WSDL&#8221;;</p>
<p>var soapEnvelope = &#8220;&lt;?xml version=\&#8221;1.0\&#8221; encoding=\&#8221;utf-8\&#8221;?&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;soap:Envelope xmlns:xsi=\&#8221;http://www.w3.org/2001/XMLSchema-instance\&#8221; &#8220;;<br />
soapEnvelope += &#8220;xmlns:xsd=\&#8221;http://www.w3.org/2001/XMLSchema\&#8221; &#8220;;<br />
soapEnvelope += &#8220;xmlns:soap=\&#8221;http://schemas.xmlsoap.org/soap/envelope/\&#8221;&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;soap:Body&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;&#8221; + soapMethod + &#8221; xmlns=\&#8221;" + nameSpace + &#8220;\&#8221;&gt;&#8221;;</p>
<p>if(arguments.length &gt; 3){<br />
for (var i = 3; i &lt; arguments.length; i++)<br />
{<br />
var params = [];<br />
var arg = arguments[i];<br />
var ieq = arg.indexOf(&#8216;=&#8217;);<br />
params[0] = arg.substr(0, ieq);<br />
params[1] = arg.substr(ieq + 1);<br />
soapEnvelope += &#8220;&lt;&#8221; + params[0] + &#8220;&gt;&#8221;;<br />
soapEnvelope += params[1];<br />
soapEnvelope += &#8220;&lt;/&#8221; + params[0] + &#8220;&gt;&#8221;;<br />
}//end for<br />
}//end if</p>
<p>soapEnvelope += &#8220;&lt;/&#8221; + soapMethod + &#8220;&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;/soap:Body&gt;&#8221;;<br />
soapEnvelope += &#8220;&lt;/soap:Envelope&gt;&#8221;;</p>
<p>ao.onreadystatechange = function(){</p>
<p>if(ao.readyState == 4){</p>
<p>if(Masykur.DOM.isOpera){<br />
//opera<br />
var response = ao.responseXML.getElementsByTagName(soapMethod + &#8220;Result&#8221;)[0];<br />
if(!response)<br />
response = ao.responseXML.getElementsByTagName(soapMethod + &#8220;Response&#8221;)[0];<br />
if(!response){<br />
callServiceError(&#8220;WebService does not contain a Result/Response node&#8221;);<br />
return;<br />
}//end if</p>
<p>ao.callbackFunction(ao.responseXML.getElementsByTagName(soapMethod + &#8220;Result&#8221;)[0].innerHTML);<br />
}<br />
else if(Masykur.DOM.isInternetExplorer){<br />
//IE<br />
var responseXml = new ActiveXObject(&#8216;Microsoft.XMLDOM&#8217;);<br />
responseXml.loadXML(ao.responseText);</p>
<p>var responseNode = responseXml.selectSingleNode(&#8220;//&#8221; + soapMethod + &#8220;Result&#8221;);<br />
if(!responseNode)<br />
responseNode = responseXml.selectSingleNode(&#8220;//&#8221; + soapMethod + &#8220;Response&#8221;);<br />
if(!responseNode) {<br />
callServiceError(&#8220;Response/Result node not found.\n\nResponse:\n&#8221; + ao.responseText);<br />
return;<br />
}//end if<br />
var resultNode = responseNode.firstChild;<br />
if (resultNode != null){<br />
try{<br />
callbackFunction(resultNode.xml);<br />
}<br />
catch(ex){<br />
callServiceError(ex);<br />
}//end tc<br />
}<br />
else{<br />
try{<br />
callbackFunction();<br />
}<br />
catch(ex){<br />
callServiceError(ex);<br />
}//end tc<br />
}//end if<br />
}<br />
else if(Masykur.DOM.isMozilla){<br />
//Mozilla<br />
var xmlDocument = new DOMParser().parseFromString(ao.responseText, &#8220;text/xml&#8221;);</p>
<p>var xr = xmlDocument.evaluate(&#8220;//&#8221; + soapMethod + &#8220;Result&#8221;,<br />
xmlDocument.childNodes[xmlDocument.childNodes.length-1],<br />
null,<br />
XPathResult.ANY_TYPE, null);<br />
var responseNode = xr.iterateNext();</p>
<p>if(!responseNode)<br />
callServiceError(&#8220;Response/Result node not found.\n\nResponse:\n&#8221; + ao.responseText);</p>
<p>var resultNode = responseNode.firstChild;</p>
<p>if (resultNode != null){<br />
try{<br />
callbackFunction(resultNode.textContent);<br />
}<br />
catch(ex){<br />
callServiceError(ex);<br />
}//end tc<br />
}<br />
else{<br />
try{<br />
callbackFunction();<br />
}<br />
catch(ex){<br />
callServiceError(ex);<br />
}//end tc<br />
}//end if<br />
}//end if<br />
}//end if<br />
};</p>
<p>ao.open(&#8220;POST&#8221;, serviceUrl, true);<br />
ao.setRequestHeader(&#8220;Content-Type&#8221;, &#8220;text/xml&#8221;);<br />
ao.setRequestHeader(&#8220;soapaction&#8221;, nameSpace + soapMethod);<br />
try{<br />
ao.send(soapEnvelope);<br />
}<br />
catch(ex){<br />
serviceCallError(ex);<br />
}//end tc<br />
}<br />
else{<br />
var soapParams = new Array();<br />
var headers = new Array();<br />
var soapVersion = 0;<br />
var object = nameSpace;</p>
<p>if(serviceUrl.indexOf(&#8220;http://&#8221;) &lt; 0)<br />
serviceUrl = document.location + serviceUrl;</p>
<p>ao.transportURI = serviceUrl;<br />
ao.actionURI = nameSpace + soapMethod;</p>
<p>for(var i=3; i&lt;arguments.length; i++){<br />
var params = arguments[i].split(&#8220;=&#8221;);<br />
soapParams.push( new SOAPParameter(params[1],params[0]) );<br />
}//end for</p>
<p>try{<br />
ao.encode(soapVersion, soapMethod, object, headers.length, headers, soapParams.length, soapParams);<br />
}<br />
catch(ex){<br />
serviceCallError(ex);<br />
}//end tc</p>
<p>try{<br />
netscape.security.PrivilegeManager.enablePrivilege(&#8220;UniversalBrowserRead&#8221;);<br />
}<br />
catch(ex){<br />
return false;<br />
}//end tc</p>
<p>try{<br />
ao.asyncInvoke(<br />
function(resp,call,status){</p>
<p>if(resp.fault)<br />
return callServiceError(resp.fault);<br />
if(!resp.body){<br />
callServiceError(&#8220;Service &#8221; + call.transportURI + &#8221; not found.&#8221;);<br />
}<br />
else{<br />
try{<br />
callbackFunction(resp.body.firstChild.firstChild.firstChild.data);<br />
}<br />
catch(ex){<br />
callServiceError(ex);<br />
}//end tc<br />
}//end if<br />
}<br />
);<br />
}<br />
catch(ex){<br />
serviceCallError(ex);<br />
}//end tc</p>
<p>}//end if</p>
<p>}//end callService()</p>
<p>this.setNameSpace = function(ns){<br />
nameSpace = ns;<br />
}//end setNameSpace()</p>
<p>this.getNameSpace = function(){<br />
return ns;<br />
}//end getNameSpace()</p>
<p>}//end Masykur.Ajax()</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tridimor.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tridimor.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tridimor.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tridimor.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tridimor.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tridimor.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tridimor.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tridimor.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tridimor.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tridimor.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tridimor.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tridimor.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tridimor.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tridimor.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tridimor.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tridimor.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=29&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tridimor.wordpress.com/2008/07/13/invoke-web-service-menggunakan-xmlhttprequest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2f47c16fabaa70b8d944c30556fd450?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">didinsuryastya</media:title>
		</media:content>
	</item>
		<item>
		<title>Akses Web Service pada Windows Form dengan Visual Basic .NET</title>
		<link>http://tridimor.wordpress.com/2008/07/13/akses-web-service-pada-windows-form-dengan-visual-basic-net/</link>
		<comments>http://tridimor.wordpress.com/2008/07/13/akses-web-service-pada-windows-form-dengan-visual-basic-net/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 12:48:47 +0000</pubDate>
		<dc:creator>didinsuryastya</dc:creator>
				<category><![CDATA[Akses Web Service pada Windows Form dengan Visual Basic]]></category>

		<guid isPermaLink="false">http://tridimor.wordpress.com/?p=16</guid>
		<description><![CDATA[Web services adalah class yang dikompilasi dan disimpan dalam sebuah web server. Dengan protokol tertentu, sebuah web services dapat diakses baik dalam sebuah jaringan lokal atau intranet, maupun dalam jaringan secara luas atau internet. Sebuah web services tidak hanya dibuat dengan menggunakan bahasa pemrograman Visual Basic .NET , tetapi juga bisa dibuat dengan menggunakan bahasa [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=16&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Web services adalah class yang dikompilasi dan disimpan dalam sebuah web server. Dengan protokol tertentu, sebuah web services dapat diakses baik dalam sebuah jaringan lokal atau intranet, maupun dalam jaringan secara luas atau internet. Sebuah web services tidak hanya dibuat dengan menggunakan bahasa pemrograman Visual Basic .NET , tetapi juga bisa dibuat dengan menggunakan bahasa pemrograman lain yang mendukung penggunaan .NET Framework seperti Visual C#, Visual C++, Java dan yang lain.</p>
<p>Sebuah web service sendiri diwakilkan dalam sebuah URI (Universal Resource Identifier) yang umumnya adalah sebuah alamat web server tersendiri. Dengan mengakses sebuah URI, maka web services menjadi sebuah class yang dapat diakses dari berbagai arah dan dengan berbagai cara baik untuk aplikasi berbasis Windows ataupun aplikasi berbasis web.</p>
<p>Sebuah web service dalam Visual Basic .NET dibuat dengan menggunakan template ASP .NET Web Services Template. Dengan ekstensi file default asmx, sebuah web services secara umum membutuhkan sebuah web server yang mendukung penggunaan ASP .NET dengan versi yang kompatibel (1.0 hingga 2.0) yang telah terinstalasi dengan baik pada sistem operasi tertentu (Windows 2000 &#8211; profesional dan server -, Windows XP dan Windows 2003).</p>
<p>Di dalam Visual Basic .NET, sebuah web services lebih dikhususkan untuk aplikasi berbasis web. Tetapi dalam sebuah aplikasi berbasis Windows, penggunaan web services juga akan sangat menguntungkan, baik bagi programmer maupun pihak pengguna. Bagi programmer, penggunaan web services akan mempermudah dalam pendefinisian dan penggunaan class yang akan diakses dalam frekuensi yang akut. Selain itu, dengan adanya web services, programmer dapat dengan mudah melakukan revisi terhadap fungsi yang ada didalam web services tanpa harus melakukan upgrade terhadap program yang telah terinstalasi di komputer client.</p>
<p>Meski sebuah web services hanya ditempatkan dalam sebuah web server di jaringan lokal, tetapi dari sisi pengguna akan meringankan beban komputer client dalam menggunakan sumber daya di aplikasi yang sudah dibuat oleh programmer, karena web services akan dieksekusi di server yang bersangkutan.</p>
<p>Pembuatan Web Services<br />
Web services yang dibuat adalah web services sederhana yang berisi sebuah fungsi yang akan menghitung selisih bulan tanggal sistem dengan tanggal kedua yang akan menjadi parameter inputan dari web services tersebut. Fungsi tersebut nantinya akan menjadi sebuah fungsi publik yang dapat diakses melalui obyek yang terbentuk dari inisialisasi class dari sebuah web services.</p>
<p>Pembuatan web services dimulai dengan membuat project baru di Visual Basic .NET melalui template ASP .NET Web Services Template, dengan asumsi pada kasus ini telah terdapat sebuah web server IIS 6.0 dengan sistem operasi Windows 2003 Enterprise Server.</p>
<p>Kemudian kita buat web services yang berisikan fungsi untuk menghitung selisih bulan, dengan listing sebagai berikut:</p>
<p>Imports System.Web.Services</p>
<p>&lt;System.Web.Services.WebService _<br />
(Namespace:=&#8221;http://localhost/HitungBulan/hitung&#8221;)&gt; _<br />
Public Class Hitung<br />
Inherits System.Web.Services.WebService</p>
<p>[" Web Services Designer Generated Code "]</p>
<p>&lt;WebMethod()&gt; _<br />
Public Function Menghitung(ByVal xTanggal As Date) As Integer<br />
Return DateDiff(DateInterval.Month, xTanggal, Now)<br />
End Function</p>
<p>End Class</p>
<p>Dalam pembuatan web services tersebut , yang paling penting diperhatikan adalah pembuatan fungsi Menghitung yang akan menjadi fungsi yang akan diakses melalui sebuah aplikasi berbasis Windows. Fungsi tersebut harus bersifat public dan merupakan sebuah fungsi yang telah didefinisikan sebagai sebuah WebMethod sehingga dapat diakses melalui obyek yang akan terbentuk dalam aplikasi.</p>
<p style="text-align:center;"><a href="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc11.gif"><img class="size-medium wp-image-18 aligncenter" src="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc11.gif?w=300&#038;h=207" alt="" width="300" height="207" /></a></p>
<p>Untuk melakukan pengecekan terhadap sintaks ataupun logika web services tersebut, dapat dilakukan eksekusi web services melalui Visual Basic .NET, sehingga akan muncul browser baru seperti pada gambar berikut:</p>
<p>Setelah web services dieksekusi, maka browser akan menunjukkan semua fungsi publik yang terdapat dalam services tersebut ( dalam kasus in hanya terdapa satu fungsi ). Jika berupa fungsi dengan sebuah parameter lebih, maka dapat dilakukan testing terhadap fungsi tersebut. Tetapi jika tidak terdapat parameter atau sebuah pesan, testing tetap dapat dilakukan meski kadang tidak muncul hasil yang diharapkan.</p>
<p style="text-align:center;"><a href="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc2.gif"><img class="size-medium wp-image-19 aligncenter" src="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc2.gif?w=300&#038;h=132" alt="" width="300" height="132" /></a></p>
<p style="text-align:left;">Setelah web services dieksekusi, maka browser akan menunjukkan semua fungsi publik yang terdapat dalam services tersebut ( dalam kasus in hanya terdapa satu fungsi ). Jika berupa fungsi dengan sebuah parameter lebih, maka dapat dilakukan testing terhadap fungsi tersebut. Tetapi jika tidak terdapat parameter atau sebuah pesan, testing tetap dapat dilakukan meski kadang tidak muncul hasil yang diharapkan.</p>
<p style="text-align:center;"><a href="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc3.gif"><img class="alignnone size-medium wp-image-20" src="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc3.gif?w=300&#038;h=147" alt="" width="300" height="147" /></a></p>
<p style="text-align:left;">Saat fungsi di dalam web services dicek, maka bisa dilakukan tes parameter yang ada, dalam hal ini adalah tanggal kedua yang akan dihitung selisih bulannya. Dengan asumsi tanggal sistem saat fungsi ini dijalankan adalah tanggal 26-08-2004, maka hasil yang didapat adalah sebuah dokumen XML dari fungsi tersebut seperti pada gambar berikut:</p>
<p style="text-align:center;"><a href="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc41.gif"><img class="alignnone size-medium wp-image-23" src="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc41.gif?w=300&#038;h=83" alt="" width="300" height="83" /></a></p>
<p style="text-align:left;">Pembuatan Windows Form di Visual Basic .NET<br />
Setelah pembuatan web services beserta verifikasi fungsi selesai dilakukan, maka dilakukan pembuatan Windows form yang akan dijadikan sarana pengaksesan web services tersebut. Pembuatan Windows form dilakukan dengan menggunakan template default dari Visual Basic .NET.</p>
<p>Di dalam Windows form tersebut ditempatkan sebuah komponen DateTimePicker , dua buah label dan dua buah button dengan layout form seperti pada gambar berikut:</p>
<p style="text-align:center;"><a href="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc5.gif"><img class="alignnone size-medium wp-image-24" src="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc5.gif?w=235&#038;h=143" alt="" width="235" height="143" /></a></p>
<p style="text-align:left;">Pada saat form diload pertama kali, label yang berisi nilai Tanggal hari ini akan berisi tanggal sistem yang sedang aktif, sedangkan untuk komponen DateTimePicker akan menjadi parameter bagi pengguna untuk melakukan perhitungan selisih bulan yang ada. Listing dari form_load adalah sebagai berikut:</p>
<p>Label2.Text &amp;= Now.Today</p>
<p>Pada saat tombol Selisih Bulan ditekan oleh pengguna, maka diharapkan akan muncul pesan yang menyatakan selisih bulan antara tanggal sistem dengan tanggal yang menjadi parameter. Sebelum dilakukan pengetikan listing, maka Windows form tersebut harus terlebih dulu direferensikan kepada web services yang telah kita buat sebelumnya.</p>
<p>Cara melakukan referensi tersebut adalah dengan melakukan pemilihan pada menu Project dan memilih sub menu Add Web Reference. Kemudian selanjutnya diketikkan alamat dari web services yang sudah kita buat.</p>
<p style="text-align:center;"><a href="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc6.gif"><img class="alignnone size-full wp-image-25" src="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc6.gif?w=497" alt=""   /></a></p>
<p style="text-align:center;"><a href="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc7.gif"><img class="alignnone size-medium wp-image-26" src="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc7.gif?w=300&#038;h=210" alt="" width="300" height="210" /></a></p>
<p style="text-align:center;">
<p style="text-align:left;">Saat sebuah web services berhasil direferensikan terhadap sebuah Windows form, maka berarti programmer telah siap untuk menggunakan semua fungsi publik dari class web services tersebut, dengan cara melakukan inisialisasi dari web service tersebut ke dalam listing program. Langkah-langkah akses web services tersebut adalah sebagai berikut:</p>
<p>1. Deklarasikan class baru yang mengacu pada web services yang sudah dibuat. Asumsi yang digunakan adalah web services disimpan pada web server di komputer yang sama, sehingga diarahkan ke localhost, sedangkan untuk kepentingan yang lebih luas, alamat web server dapat diarahkan langsung ke web server yang menampung web services secara langsung.</p>
<p>Dim wsHitung As New localhost.Hitung</p>
<p>2. Lakukan akses terhadap fungsi publik yang terdapat pada web services, lalu tampung hasilnya pada suatu variabel.</p>
<p>Dim xHasil As Integer<br />
xHasil = wsHitung.Menghitung(DateTimePicker1.Value)</p>
<p>3. Tampilkan hasil dari fungsi tersebut sebagai pesan atau sebagai umpan balik terhadap perintah yang lain.</p>
<p>MessageBox.Show(&#8220;Selisih bulan : &#8221; &amp; xHasil.ToString, &#8220;Hasil&#8221;)</p>
<p>4. Musnahkan class yang sudah terbentuk dari web services tersebut untuk menghemat sumber daya dan akses data.</p>
<p>wsHitung.Dispose()</p>
<p>Proses Testing<br />
Proses testing dilakukan dengan eksekusi dari Windows form yang sudah dibuat. Saat eksekusi dijalankan dengan melakukan input parameter tanggal dengan selisih satu tahun pada komponen DateTimePicker, didapat hasil seperti pada gambar berikut:</p>
<p style="text-align:center;"><a href="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc8.gif"><img class="alignnone size-medium wp-image-27" src="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc8.gif?w=233&#038;h=146" alt="" width="233" height="146" /></a></p>
<p style="text-align:center;"><a href="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc9.gif"><img class="alignnone size-medium wp-image-28" src="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc9.gif?w=109&#038;h=103" alt="" width="109" height="103" /></a></p>
<p style="text-align:left;">Demikianlah tulisan sederhana mengenai pembuatan web services pada Visual Basic .NET. Semoga bermanfaat bagi Anda semuanya. Jika ingin mengirimkan komentar silakan dikirim ke soetam@stikom.edu. Untuk membaca tulisan menarik lainnya silakan menuju ke www.sony-ak.com.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tridimor.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tridimor.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tridimor.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tridimor.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tridimor.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tridimor.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tridimor.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tridimor.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tridimor.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tridimor.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tridimor.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tridimor.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tridimor.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tridimor.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tridimor.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tridimor.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=16&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tridimor.wordpress.com/2008/07/13/akses-web-service-pada-windows-form-dengan-visual-basic-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2f47c16fabaa70b8d944c30556fd450?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">didinsuryastya</media:title>
		</media:content>

		<media:content url="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc11.gif?w=300" medium="image" />

		<media:content url="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc2.gif?w=300" medium="image" />

		<media:content url="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc3.gif?w=300" medium="image" />

		<media:content url="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc41.gif?w=300" medium="image" />

		<media:content url="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc5.gif?w=235" medium="image" />

		<media:content url="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc6.gif" medium="image" />

		<media:content url="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc7.gif?w=300" medium="image" />

		<media:content url="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc8.gif?w=233" medium="image" />

		<media:content url="http://tridimor.files.wordpress.com/2008/07/vbdotnetwebsvc9.gif?w=109" medium="image" />
	</item>
		<item>
		<title>Mekanisme Kerja Web Services</title>
		<link>http://tridimor.wordpress.com/2008/07/12/mekanisme-kerja-web-services/</link>
		<comments>http://tridimor.wordpress.com/2008/07/12/mekanisme-kerja-web-services/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 11:05:04 +0000</pubDate>
		<dc:creator>didinsuryastya</dc:creator>
				<category><![CDATA[Mekanisme Kerja Web Services]]></category>

		<guid isPermaLink="false">http://tridimor.wordpress.com/?p=15</guid>
		<description><![CDATA[Sebelum memasuki mekanisme kerja yang terjadi pada Web Service, akan dibahas terlebih dahulu komponen-kompenen yang mempunyai peranan penting pada Web Service, komponen-komponen tersebut dapat dilihat pada standard-standard web service itu sendiri, dimana standard-standard web service adalah sebagai berikut: WSDL Web Services Description Language http://www.w3.org/TR/wsdl Deskripsi-deskripsi dari web service UDDI Universal Discovery, Description &#38; Integration http://www.uddi.org/specification.html [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=15&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sebelum memasuki mekanisme kerja yang terjadi pada Web Service, akan dibahas terlebih dahulu komponen-kompenen yang mempunyai peranan penting pada Web Service, komponen-komponen tersebut dapat dilihat pada standard-standard web service itu sendiri, dimana standard-standard web service adalah sebagai berikut: WSDL Web Services Description Language <a class="external free" title="http://www.w3.org/TR/wsdl" rel="nofollow" href="http://www.w3.org/TR/wsdl">http://www.w3.org/TR/wsdl</a> Deskripsi-deskripsi dari web service UDDI Universal Discovery, Description &amp; Integration <a class="external free" title="http://www.uddi.org/specification.html" rel="nofollow" href="http://www.uddi.org/specification.html">http://www.uddi.org/specification.html</a> Registry mengenai deskripsi servis SOAP Simple Object Access Protocol <a class="external free" title="http://www.w3.org/TR/SOAP/" rel="nofollow" href="http://www.w3.org/TR/SOAP/">http://www.w3.org/TR/SOAP/</a> Protokol transport untuk berkomunikasi antar web service Standard-standard lain: WSRP, WSIA, WSXL…….</p>
<p>Selain standard-standard Web Service, juga ada Bagian-bagian Web Service (Web Service Dumpstack) yang mendeskripsikan task-task yang akan terjadi pada proses berjalannya web service, dimana task-task tersebut antara lain: Wire Protocols, Description, Discovery. Untuk lebih lanjut mengenai bagian-bagian Web Service maka dapat dilihat ilustrasinya pada gambar 5: Bagian-bagian Web Service .</p>
<pre>gambar 5: Bagian-bagian Web Service</pre>
<p>keterangan :</p>
<p>Wire Protocols Aturan utama: menyediakan standard, channel komunikasi flexible Aturan tambahan: menyediakan standard, representasi wire-level data yang flexible Keuntungan: interoperabilitas pada level terendah</p>
<p>Deskripsi Aturan utama: menyediakan standard, jalan untuk menjabarkan apa dan bagaimana web service melakukan yang harus dilakukan dengan fleksibel. Keuntungan: interoperabilitas.</p>
<p>Discovery Aturan utama: menyediakan standard, jalur untuk menemukan dimana web service di tempatkan dan bagaimana mencari informasi tambahan tentang apa yang dilakukan web service dengan fleksibel Keuntungan: interoperabilitas, integrasi yang dinamis</p>
<p><a name="2.3.09UDDI_.28skema_xml.29"></a></p>
<h3><span class="mw-headline">2.3 UDDI (skema xml)</span></h3>
<p>Kemampuan atribut metadata untuk service-service didaftarkan pada UDDI, dan lalu menjalankan quei-queri berdasarkan pada metadata tersebut yang menengahi secara mutlak menuju tujuan dari UDDI pada kedua waktu desain dan waktu pengekskusian.</p>
<p>UDDI (Universal Description, Discovery, and Integration) mempunyai tugas sebagai berikut: Deskripsi yang Programmatic dari bisnis dan sevice yang didukung Deskripsi yang Programmatic dari spesifikasi web service Model pemrograman dan schema.</p>
<p><a id="Tahap_Pengembangan_dan_Implikasi_Bisnis" name="Tahap_Pengembangan_dan_Implikasi_Bisnis"></a></p>
<h2><span class="mw-headline"><strong>Tahap Pengembangan dan Implikasi Bisnis</strong></span></h2>
<p><a name="1.TahapPengembangan."></a></p>
<h3><span class="mw-headline">1.TahapPengembangan.</span></h3>
<ul>
<li>Sebelum melakukan pengembangan, harus diketahui dulu ruang lingkup pengembangan aplikasi berbasiskan Web Service menurut media protokolnya, adapun ruang lingkup aplikasi Web Service tersebut adalah”</li>
</ul>
<p>Dalam korporasi firewall Untuk aplikasi enterprise terintegrasi ringan</p>
<ul>
<li>Antar korporasi firewall</li>
</ul>
<p>Untuk digunakan pada layanan eksternal (contoh: passport) Untuuk menyediakan data untuk partner-partner</p>
<ul>
<li>Melalui Web</li>
</ul>
<p>Aplikasi komposit Komponen-komponen AliranKerja</p>
<hr />Sedangkan tahap-tahap pengembangan Web Service itu sendiri adalah:</p>
<ul>
<li><em>Discover</em> – browse registry UDDI untuk mencari Web Service yang sudah ada untuk integrasi.</li>
<li><em>Create or Transform</em> –buat Web Service dari project-project yang ada.</li>
<li><em>Build</em> – satukan artifak yang ada sebagai SOAP dan service HTTP dan jabarkan pada WSDL.</li>
<li><em>Deploy</em> – Aplikasikan menjadi server aplikasi Websphere atau Tomcat.</li>
<li><em>Test</em> – Uji coba web service baik local (stand alone computer) atau secara remote.</li>
<li><em>Develop</em> – Bangun contoh aplikasi untuk memberi masukkan dalam membuat aplikasi klien Web service</li>
<li><em>Publish</em> – publikasikan / upload Web Service pada bisnis registri UDDI.</li>
</ul>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tridimor.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tridimor.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tridimor.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tridimor.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tridimor.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tridimor.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tridimor.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tridimor.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tridimor.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tridimor.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tridimor.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tridimor.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tridimor.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tridimor.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tridimor.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tridimor.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=15&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tridimor.wordpress.com/2008/07/12/mekanisme-kerja-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2f47c16fabaa70b8d944c30556fd450?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">didinsuryastya</media:title>
		</media:content>
	</item>
		<item>
		<title>Perspektif perkembangan web services</title>
		<link>http://tridimor.wordpress.com/2008/07/12/perspektif-perkembangan-web-services/</link>
		<comments>http://tridimor.wordpress.com/2008/07/12/perspektif-perkembangan-web-services/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 11:02:42 +0000</pubDate>
		<dc:creator>didinsuryastya</dc:creator>
				<category><![CDATA[Perspektif perkembangan web services]]></category>

		<guid isPermaLink="false">http://tridimor.wordpress.com/?p=14</guid>
		<description><![CDATA[Ada beberapa isu penting yang selalu dipikirkan oleh organisasi atau perusahaan yang terlibat di dalam pengembangan dan penggunaan piranti lunak bagi kepentingan bisnis. Jika Anda pengembang software yang sedang memberikan solusi bisnis, maka pertanyaan-pertanyaan berikut biasanya Anda lontarkan kepada calon pengguna. Di atas platform apa, aplikasi yang Anda buat akan dijalankan ?” Dengan bahasa pemrograman [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=14&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ada beberapa isu penting yang selalu dipikirkan oleh organisasi atau perusahaan yang terlibat di dalam pengembangan dan penggunaan piranti lunak bagi kepentingan bisnis.</p>
<p>Jika Anda pengembang software yang sedang memberikan solusi bisnis, maka pertanyaan-pertanyaan berikut biasanya Anda lontarkan kepada calon pengguna. Di atas platform apa, aplikasi yang Anda buat akan dijalankan ?” Dengan bahasa pemrograman apa aplikasi tersebut akan dibuat ?. Bagaimana aplikasi akan dikirimkan ke pengguna? Melalui CD-ROM, disk, atau media lain? Bagaimana CD-ROM diperbanyak, dikemas, dan didistribusikan kepada pengguna yang membutuhkan ? Bagaimana dengan persoalan DLL Hell atau junk of DLL? Bagaimana stabilitas sistem operasi karena kehadiran aplikasi? Apakah DLL nya compatible dengan environtment yang ada atau tidak ? Bagaimana melibatkan pengguna atau klien dalam proses pemeliharaan piranti lunak?</p>
<p>Jika Anda pengguna piranti lunak, maka Anda harus memikirkan cara mengalokasikan sumber daya dalam kegiatan instalasi, cara menguji kompatibilitas DLLs yang baru dengan sistem operasi yang ada, cara mengurus lisensi, cara membangun sistem keamanan yang mencukupi, dan lain-lain.</p>
<p>Persoalan-persoalan tersebut di atas senantiasa akan muncul karena cara pandang “application software as solution”, yang artinya bahwa “memberikan solusi dilakukan dengan membuat aplikasi”. Jika diinginkan perubahan atas solusi, maka dilakukan perubahan atas aplikasi. Jika ingin dilakukan integrasi solusi, maka dilakukan dilakukan integrasi aplikasi-aplikasi yang ada.</p>
<p>Di masa mendatang, paradigma akan bergeser dari “application as solution” kepada “services as solution” atau lebih tepatnya “webservices as solution”. Suatu webservice merupakan perwujudan dari suatu solusi yang bisa merupakan bagian dari solusi yang lebih besar. Suatu webservice dapat berhubungan dengan webservice lain, web site, atau aplikasi bisnis dan membentuk aplikasi atau solusi yang lebih besar.</p>
<p>Solusi Microsoft .NET</p>
<p>Solusi Microsoft.NET didasarkan kepada 4 prinsip, yaitu :<br />
1. Software as a service<br />
2. XML-enabled<br />
3. Range of smart devices<br />
4. New user experience</p>
<p>Dengan .NET, seperti sudah dijelaskan pada bagian tulisan sebelumnya, solusi diwujudkan sebagai service (atau webservice). Webservice berhubungan dengan webservice atau aplikasi lain melalui media atau protokol internet. XML dipakai sebagai standar dari pertukaran datanya.</p>
<p>Webservice dapat dihubungi oleh berbagai smartdevices. Sehingga pengguna dapat memanfaatkan pengalaman kesehariannya berhubungan dengan alat-alat yang biasa digunakan untuk mendapatkan services yang ia butuhkan.</p>
<p>Solusi Microsoft.NET, pada dasarnya merupakan solusi yang memanfaatkan kombinasi atau gabungan dari Microsoft.NET framework, konsep webservices, dan Microsoft.NET Enterprise Server. Gambar 2 menjelaskan hubungan antara Microsoft.NET dan Microsoft.NET Framework.</p>
<p>Microsoft.NET Framework</p>
<p>Microsoft.NET Frameworks mempunyai 3 unsur yang menyusunnya, yaitu :<br />
a. The common language runtime<br />
b. Class libraries, organized into easily comprehensible namespaces<br />
c. ASP.NET</p>
<p>Common Languange Runtime (CLR) adalah bagian dari feature .NET, yang melaksanakan fungsi-fungsi : common type system, just in time (JIT) compilers, Garbage collector, Permission and policy-based security, Exceptions, Threading, Diagnostics and profiling.</p>
<p>Anda dapat membuat source code menggunakan pilihan dari bahasa-bahasa pemrograman yang berbeda, yaitu Visual basic, C#, extention C++, dan Jscript. Dengan menggunakan CLR yang sama, Anda dapat melakukan kompilasi dari source code menjadi kode dalam Microsoft Intermediary Language (MSIL). Anda kemudian dapat mengubah kode dalam MSIL menjadi native code, dengan menggunakan JIT compiler.</p>
<p>.NET Framework memiliki class libraries yang diorganisasikan secara komprehensif ke dalam namespaces. Anda perlu menyebut namespace dari class-class dalam library, jika ingin memanfaatkan instansiasi dari class-class tersebut. Karena sifat common language-nya, maka pemanfaatan class, termasuk inheritansinya bersifat “cross language”.</p>
<p>ASP.NET lebih dari sekedar versi lanjut dari Active Server Pages (ASP), tetapi ia merupakan kesatuan platform pengembangan WEB (unified WEB development) yang memberikan layanan yang memadai bagi developer untuk membuat aplikasi WEB kelas enterprise. ASP.NET, secara sederhana, dapat dilihat sebagai tool yang memungkinkan pembuatan aplikasi WEB yang meng”invoke” webservices. Di samping memiliki sintaks yang, sebagian besar, kompatibel dengan ASP, ASP.NET juga menyediakan model pemrograman baru dan infrastruktur yang memungkinkan aplikasi kelas baru yang powerful. Anda dapat secara incremental menambahkan fungsionalitas ASP.NET ke dalam ASP yang sudah ada.</p>
<p>Visual Studio.NET adalah tool pengembangan yang dapat dipakai untuk mewujudkan aplikasi dengan solusi.NET, baik untuk mendefinisikan webservices maupun untuk membuat aplikasi sisi kliennya, berupa aplikasi WEB, aplikasi Winform, atau aplikasi konsol.</p>
<p>Microsoft.NET Framework dijalankan di atas sistem operasi Windows 2000. Pada masa mendatang, fungsionalitas dari .NET framework akan menjadi bagian dari fungsi sistem operasi .NET.</p>
<p>Microsoft.NET Enterprise Server</p>
<p>Microsoft.NET Enterprise Server adalah keluarga server-server berikut ini :<br />
a. SQL Server 2000<br />
b. Exchange 2000<br />
c. BizTalk Server 2000<br />
d. Commerce Server 2000<br />
e. Application Center 2000</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tridimor.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tridimor.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tridimor.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tridimor.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tridimor.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tridimor.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tridimor.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tridimor.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tridimor.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tridimor.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tridimor.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tridimor.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tridimor.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tridimor.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tridimor.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tridimor.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=14&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tridimor.wordpress.com/2008/07/12/perspektif-perkembangan-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2f47c16fabaa70b8d944c30556fd450?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">didinsuryastya</media:title>
		</media:content>
	</item>
		<item>
		<title>Java Web Services Menggunakan</title>
		<link>http://tridimor.wordpress.com/2008/07/12/java-web-services-menggunakan/</link>
		<comments>http://tridimor.wordpress.com/2008/07/12/java-web-services-menggunakan/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 10:55:23 +0000</pubDate>
		<dc:creator>didinsuryastya</dc:creator>
				<category><![CDATA[Java Web Services Menggunakan]]></category>

		<guid isPermaLink="false">http://tridimor.wordpress.com/?p=13</guid>
		<description><![CDATA[Definisi Web Services Web Service adalah  sekumpulan  application logic beserta object-object dan method-method yang dimilikinya yang terletak di suatu server yang terhubung ke internet sehingga dapat diakses menggunakan protocol HTTP dan SOAP (Simple Object Access Protocol). Dalam penggunaannya, web service dapat digunakan dari hanya untuk memeriksa data user yang login ke sebuah web site ataupun [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=13&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Definisi Web Services </strong><br />
Web Service adalah  sekumpulan  application logic beserta object-object dan method-method yang<br />
dimilikinya yang terletak di suatu server yang terhubung ke internet sehingga dapat diakses menggunakan<br />
protocol HTTP dan SOAP (Simple Object Access Protocol). Dalam penggunaannya, web service dapat<br />
digunakan dari hanya untuk memeriksa data user yang login ke sebuah web site ataupun untuk digunakan<br />
pada transaksi perbankan on-line yang rumit.</p>
<p>Tujuan dari teknologi ini adalah untuk memudahkan beberapa aplikasi atau komponennya untuk saling<br />
berhubungan dengan aplikasi lain dalam sebuah organisasi maupun diluar organisasi menggunakan<br />
standar yang tidak terikat platform (platform-neutral) dan tidak terikat akan bahasa pemrograman yang<br />
digunakan (language-neutral).</p>
<p>Hal tersebut dapat terjadi karena penggunaan XML standar yang didukung oleh banyak perusahaan besar<br />
di dunia,  yang digunakan untuk bertukar data. Selain daripada itu, penggunaan SOAP menjadikan<br />
method-method dari object-object yang ada dalam sebuah web service dapat di akses dari aplikasi lain<br />
seperti halnya aplikasi tersebut mengakses method lokal.</p>
<p>Pada gambar 1 terlihat struktur sederhana sebuah web service yan terletak pada sebuah server. User dapat<br />
menggunakan aplikasi yang ada di komputernya yang dibuat untuk mengakses web service tersebut, atau<br />
user juga dapat mengakses web site yang menjadi interface dari web service itu.</p>
<p>Disini bahasa pemrograman dan tampilan yang digunakan untuk membuat aplikasi tersebut bisa<br />
bermacam-macam. Misalnnya aplikasi yang mengakses tersebut dibuat menggunakan Java, PHP,<br />
maupun .Net tetap bisa mengakses web service yang ada karena data yang dipertukarkan antara client dan<br />
server berupa data XML yang standar.</p>
<p><strong>Apache Axis </strong><br />
Apache Axis adalah salah satu dari banyak implementasi Web Service Toolkit untuk Java. Project ini<br />
diawali dari tim yang mengerjakan Apache SOAP dengan tim dari SOAP4J yang bekerja sama untuk<br />
membuat tool yang dapat memudahkan proses pembuatan web service menggunakan Java.</p>
<p><strong>Metode Deployment di Axis </strong><br />
Sebelum kita membuat sebuah web service, ada baiknya untuk mengetahui beberapa metode untuk<br />
men-deploy sebuah web service menggunakan Axis. Metode-metode tersebut adalah :</p>
<p>1.  Metode JWS<br />
Metode ini adalah metode yang paling mudah dalam men-deploy sebuah web service di Axis. Dengan<br />
metode ini yang perlu anda lakukan hanyalah membuat sebuah program Java seperti biasa dan simpan<br />
file java tersebut di bawah direktori webapps/axis di Tomcat  kemudian  rubah akhiran .java<br />
menjadi .jws. Sebagai contoh kita membuat sebuah file bernama “hello.java”, maka rubah nama file<br />
tersebut menjadi “hello.jws”. Untuk mengakses WSDL dari aplikasi tersebut, maka kita bisa<br />
membuka URL http://localhost:8080/axis/hello.jws?wsdl.</p>
<p>Walaupun metode ini sangatlah mudah, tetapi memiliki beberapa kekurangan, yaitu :   Tidak mendukung penggunaan package di dalam aplikasi.   Yang dibutuhkan pada waktu deployment adalah source code, padahal kemungkinan besar yang<br />
kita miliki adalah file class atau bahkan jar.   Sulitnya untuk melakukan berbagai konfigurasi.</p>
<p>2.  Metode WSDD (Web Service Deployment Descriptor)<br />
Metode ini adalah metode standar dari Axis. Metode ini menggunakan sebuah file XML yang berisi<br />
berbagai informasi tentang web service yang akan di deploy, dan anda juga dapat mengatur<br />
method-method apa saja yang dapat diakses oleh client.</p>
<p><strong>Membuat Web Services beserta Client </strong><br />
Sekarang setelah mengetahui metode-metode yang dapat digunakan untuk men-deploy sebuah web service,<br />
maka sekarang kita akan mencoba untuk membuat web service sederhana beserta client untuk mengakses<br />
web service tersebut. Kita juga akan mencoba kedua metode deployment diatas.</p>
<p>1.  Metode JWS<br />
Pertama kita akan coba untuk menggunakan metode deployment yang pertama, yaitu menggunakan<br />
JWS Endpoint.</p>
<p>1.  public class Hello<br />
2.  {<br />
3.      public String getMsg(String msg)<br />
4.      {<br />
5.          return(&#8220;You say : &#8221; + msg);<br />
6.      }<br />
7.  }</p>
<p>Setelah anda menulis program diatas, simpan source code tersebut di folder axis dan beri nama<br />
Hello.jws. Sekarang pastikan Tomcat anda sudah berjalan, dan buka URL<br />
http://localhost:8080/axis/Hello.jws di browser anda, bila ada pemberitahuan bahwa ada sebuah web<br />
service maka web service anda telah berhasil di deploy. Kemudian klik link yang ada untuk melihat<br />
WSDL dari web service anda, atau buka http://localhost:8080/axis/Hello.jws?wsdl di browser anda.</p>
<p><em>Lisensi Dokumen:<br />
Copyright © 2005 IlmuKomputer.Com<br />
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara<br />
bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah<br />
atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak<br />
diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari<br />
IlmuKomputer.Com. </em></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tridimor.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tridimor.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tridimor.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tridimor.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tridimor.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tridimor.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tridimor.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tridimor.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tridimor.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tridimor.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tridimor.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tridimor.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tridimor.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tridimor.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tridimor.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tridimor.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=13&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tridimor.wordpress.com/2008/07/12/java-web-services-menggunakan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2f47c16fabaa70b8d944c30556fd450?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">didinsuryastya</media:title>
		</media:content>
	</item>
		<item>
		<title>SOAP vs WSDL</title>
		<link>http://tridimor.wordpress.com/2008/07/01/soap-vs-wsdl/</link>
		<comments>http://tridimor.wordpress.com/2008/07/01/soap-vs-wsdl/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 05:06:06 +0000</pubDate>
		<dc:creator>didinsuryastya</dc:creator>
				<category><![CDATA[SOAP vs WSDL]]></category>

		<guid isPermaLink="false">http://tridimor.wordpress.com/?p=8</guid>
		<description><![CDATA[SOAP (Simple Object Access Protocol) adalah standar untuk bertukar pesan-pesan berbasis XML melalui jaringan komputer atau sebuah jalan untuk program yang berjalan pada suatu sistem operasi (OS) untuk berkomunikasi dengan program pada OS yang sama maupun berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk pertukaran data. SOAP menspesifikan secara jelas bagaimana cara untuk meng-encode [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=8&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>SOAP</strong> (<em>Simple Object Access Protocol</em>) adalah standar untuk bertukar pesan-pesan berbasis <a class="mw-redirect" title="XML" href="http://id.wikipedia.org/wiki/XML">XML</a> melalui <a title="Jaringan komputer" href="http://id.wikipedia.org/wiki/Jaringan_komputer">jaringan komputer</a> atau sebuah jalan untuk program yang berjalan pada suatu <a title="Sistem operasi" href="http://id.wikipedia.org/wiki/Sistem_operasi">sistem operasi</a> (OS) untuk berkomunikasi dengan program pada OS yang sama maupun berbeda dengan menggunakan <a title="HTTP" href="http://id.wikipedia.org/wiki/HTTP">HTTP</a> dan XML sebagai mekanisme untuk pertukaran data.</p>
<p>SOAP menspesifikan secara jelas bagaimana cara untuk meng-<em>encode</em> <em>header</em> HHTP dan <em>file</em> XML sehingga program pada suatu <a title="Komputer" href="http://id.wikipedia.org/wiki/Komputer">komputer</a> dapat memanggil program pada pada komputer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan tanggapan.</p>
<p>SOAP adalah <a title="Protokol" href="http://id.wikipedia.org/wiki/Protokol">protokol</a> ringan yang ditujukan untuk pertukaran informasi struktur pada lingkup desentralisasi, dan terdistribusi. SOAP menggunakan teknologi XML utuk mendefinisikan rangka kerja pemesanan terekstrensi di mana menyediakan konstruksi pesan yang dapat dipertukarkan pada protokol berbeda. Rangka kerja dirancang bebas dari model pemrograman dan spesifikasi implementasi semantik.</p>
<p><strong>WSDL</strong> (<em>Web Services Description Language</em>) adalah fromat <a class="mw-redirect" title="XML" href="http://id.wikipedia.org/wiki/XML">XML</a> yang diterbitkan untuk menerangkan <em><a class="mw-redirect" title="Web service" href="http://id.wikipedia.org/wiki/Web_service">web service</a></em>.</p>
<p>WSDL mendefinisikan:</p>
<ul>
<li>pesan-pesan (baik yang abstrak dan kongkrit) yang dikirim ke dan menuju <em>web service</em></li>
<li>koleksi-koleksi digital dari pesan-pesan (<em>port type</em>, antarmuka)</li>
<li>bagaimana <em>port type</em> yang ditentukan dijadikan <em>wire</em> <a title="Protokol" href="http://id.wikipedia.org/wiki/Protokol">protokol</a></li>
<li>di mana servis ditempatkan</li>
</ul>
<p>WSDL menyediakan sebuah kamus XML untuk menjabarkan detil-detil 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 <em>binding-binding</em> 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 <em>web service</em>. Pengembang yang mau mempermudah yang lain untuk mengakses service-servicenya harus menyediakan defisi-definisi WSDL.</p>
<p>WSDL memainkan peranan penting pada seluruh arsitektur <em>web service</em> semenjak menjabarkan kontrak lengkap pada komunikasi aplikasi (sama seperti peran IDL pada arsitektur <a class="new" title="DCOM (belum dibuat)" href="http://id.wikipedia.org/w/index.php?title=DCOM&amp;action=edit&amp;redlink=1">DCOM</a>). Walaupun teknik-teknik lain untuk menjabarkan Web service ada, WS-I Basic Profile Versi 1.0 memadati penggunaan WSDL dan skema XML untuk menjabarkan <em>web service</em>. Ini membantu untuk memastikan interoperbilitas pada layer deskripsi servis.</p>
<p>Karena WSDL adalah mesin yang dapat dibaca (misalnya hanya file XML), <em>tool-tool</em> dan infrastruktur dan dengan mudah dibuat seputar ini. Saat ini pengembang-pngembang dapat definisi-definisi WSDL untuk membangun kode yang tahu dengan tepat bagaimana berinteraksi dengan <em>web service</em> yang menjabrkan. Pembangunan code tipe ini menyembunyikan detil-detil membosankan yang terlibat pada pengiriman dan penrimaan pesan-pesan <a title="SOAP" href="http://id.wikipedia.org/wiki/SOAP">SOAP</a> pada protokol-protokol yang berbeda-beda dan menyebabkan <em>web service</em> dapat dicapai oleh massa. Microsoft® .NET Framework menggunakan utilitas <em>command-line</em> bernama wsdl.exe yang mengenerasi kelas-kelas dari definsi WSDL. Wsdl.exe dapat meng-generasi satu kelas untuk menggunakanservice dan yang lainnya untuk mengimplementasikan service.(Apache axis menggunkaan utilitas yang sama bernama WSDL2Java yang melakukan fungsi yang sama pada kelas-kelas java.) Kelas-kelas digenerasi dari definisi WSDL sama harus mampu berkomunikasi dengan yang lain sepanjang antarmuka WSDL yang tersedia, tanpa memperhatikan <a title="Bahasa pemrograman" href="http://id.wikipedia.org/wiki/Bahasa_pemrograman">bahasa pemrograman</a> yang digunakan</p>
<p>WSDL 1.1 mempertimbangkan standar <em>de facto</em> saat ini karena dukungan industri yang luas. Kebanyakan <em>toolkit-toolkit web service</em> mendukung WSDL 1.1, tapi ada sedikit masalah interoperabilitas pada implementasi berbeda. Kebanyakan pembangun-pembangun percaya bahwa fleksibilitas yang luas dari WSDL (dan kompleksitas hasil) adalah sumber fundamental dari masalah ini. WS-I telah membantu memecahkan beberapa dari masalah ini dengan memkasakan pengembang-pengembang untuk menggunakan bagian-bagian tepat dari spesifikasi dan tidak menganjurkan mereka untuk menggunakan yang lainnya.</p>
<p><a class="new" title="W3C (belum dibuat)" href="http://id.wikipedia.org/w/index.php?title=W3C&amp;action=edit&amp;redlink=1">W3C</a> secara aktif bekerja pada versi WSDL “terdaftar” terakhir, WSDL 1.2, tapi saat ini hanya <em>working draft</em> dan tidak didukung oleh <em>toolkit-toolkit mainstream</em>, jika ada.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tridimor.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tridimor.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tridimor.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tridimor.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tridimor.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tridimor.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tridimor.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tridimor.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tridimor.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tridimor.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tridimor.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tridimor.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tridimor.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tridimor.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tridimor.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tridimor.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=8&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tridimor.wordpress.com/2008/07/01/soap-vs-wsdl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2f47c16fabaa70b8d944c30556fd450?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">didinsuryastya</media:title>
		</media:content>
	</item>
		<item>
		<title>Basic of WebService</title>
		<link>http://tridimor.wordpress.com/2008/07/01/basic-of-webservice/</link>
		<comments>http://tridimor.wordpress.com/2008/07/01/basic-of-webservice/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 04:47:52 +0000</pubDate>
		<dc:creator>didinsuryastya</dc:creator>
				<category><![CDATA[Basic Of Web Services]]></category>

		<guid isPermaLink="false">http://tridimor.wordpress.com/?p=3</guid>
		<description><![CDATA[Pengertian Keuntungan penggunaan Web Service Format penggunaan terbuka untuk semua platform. Mudah di mengerti dan mudah men-debug. Dukungan interface yang stabil. Menggunakan standard-standard “membuka service sekali” dan mempunyai pemakai banyak. Mudah untuk menengahi pesan-pesan proses dan menambahkan nilai. Routing and pengiriman. Security. management and monitoring. schema and service design. Akselerasi. mudah untuk mengembangkan dengan semantic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=3&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3><span class="mw-headline">
<a href='http://tridimor.wordpress.com/2008/07/01/basic-of-webservice/webservices/' title='webservices'><img data-attachment-id='5' data-orig-size='240,218' data-liked='0'width="150" height="136" src="http://tridimor.files.wordpress.com/2008/07/webservices.png?w=150&#038;h=136" class="attachment-thumbnail" alt="webservices architecture" title="webservices" /></a>
Pengertian</span></h3>
<h4><span class="mw-headline">Keuntungan penggunaan Web Service</span></h4>
<ul>
<li>Format penggunaan terbuka untuk semua platform.</li>
<li>Mudah di mengerti dan mudah men-debug.</li>
<li>Dukungan interface yang stabil.</li>
<li>Menggunakan standard-standard “membuka service sekali” dan mempunyai pemakai banyak.</li>
<li>Mudah untuk menengahi pesan-pesan proses dan menambahkan nilai.</li>
<li>Routing and pengiriman.</li>
<li>Security.</li>
<li>management and monitoring.</li>
<li>schema and service design.</li>
<li>Akselerasi.</li>
<li>mudah untuk mengembangkan dengan semantic transport tambahan.</li>
<li>Terbuka, standard-standard berbasis teks.</li>
<li>Pencapaian modular.</li>
<li>Tidak mahal untuk diimplementasikan (relatif).</li>
<li>Mengurangi biaya integrasi aplikasi enterprise.</li>
<li>Implementasi yang incremental.</li>
</ul>
<p>Web Service Sepenuhnya berdasarkan standard web dan xml. Web Service dapat membantu:</p>
<ul>
<li>Perantara pada integrasi platform sepanjang eksekusi mesin virtual.</li>
<li>Integrasi antara Web dan OO middleware.</li>
<li>Integrasi dari aliran kerja terisolasi dan sevice-service (Web Services Flow Language &#8211; WSFL).</li>
<li>Pertukaran data pada aplikasi yang berbeda-beda (X-Schema, XSLT ++)</li>
</ul>
<p>Microsoft: .NET SUN: Open Net Environment (ONE) IBM: Web Service Conceptual Architecture (WSCA) W3C: Web Service Workshop Oracle: Web Service Broker Hewlett-Packard: Web Service Platform</p>
<ul>
<li>Kemampuan aplikasi, fungsi atau operasi yang di ekspos untuk program lain melalui standard yang terbuka, dan interoperable.</li>
</ul>
<ul>
<li>“payloads” didefinisikan sebagai XML.</li>
</ul>
<ul>
<li>“transports” melalui http atau Internet protocol terbuka lainnya.</li>
</ul>
<ul>
<li>Data diakses dari berbagai bahasa pemrograman , platform hardware atau system operasi.</li>
</ul>
<ul>
<li>Middleware dari Internet.</li>
</ul>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tridimor.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tridimor.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tridimor.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tridimor.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tridimor.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tridimor.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tridimor.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tridimor.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tridimor.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tridimor.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tridimor.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tridimor.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tridimor.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tridimor.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tridimor.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tridimor.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tridimor.wordpress.com&amp;blog=4112474&amp;post=3&amp;subd=tridimor&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tridimor.wordpress.com/2008/07/01/basic-of-webservice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2f47c16fabaa70b8d944c30556fd450?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">didinsuryastya</media:title>
		</media:content>

		<media:content url="http://tridimor.files.wordpress.com/2008/07/webservices.png?w=150" medium="image">
			<media:title type="html">webservices</media:title>
		</media:content>
	</item>
	</channel>
</rss>
