Yuppzz akhirnya setelah beberapa waktu disibukan oleh kegiatan ini, itu, dsb sekarang kembali bisa meluangkan waktu untuk iseng iseng buat tutorial.
Kali ini giliran tutorial untuk membuat web services sederhana dengan menggunakan ASP.Net, apa itu web service..??? Web services merupakan suatu layanan yang diberikan oleh website yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler.
Nah sebenarnya, ada berbagai macam web services yang bisa kita buat dengan menggunakan the power of teknologi .Net Framework, sebut saja yang baru baru ini lagi trend adalah WCF (Windows Communication Foundation) , WSDL (Web Services Definition Language) , atau bahkan yang in-going-project nya Microsoft, yaitu WIF (Windows Identity Foundation) yang dikembangkan dengan code name "Geneva" (tapi yang ini saya ragu kalo harus disebut web services soalnya dia sendiri membutuhkan WCF untuk berjalan)
Karena menurut saya yang paling simple dan paling dapet interoperabitlitynya itu yang WSDL, maka untuk tutorial kali ini saya akan menjelaskan tentang bagaimana membuat services yang bertipe WSDL saja.
Karena menurut saya yang paling simple dan paling dapet interoperabitlitynya itu yang WSDL, maka untuk tutorial kali ini saya akan menjelaskan tentang bagaimana membuat services yang bertipe WSDL saja.
Ok langsung saja mari kita buat web services sederhana menggunakan WSDL yang akan di host di aplikasi web ASP.Net.
Tahap pertama :
Karena dibuat dengan ASP.Net maka tentu saja IDE yang saya pakai adalah Microsoft Visual Studio 2010. Selain IDE, kali ini saya menggunakan juga menggunakan .Net Framework versi 4.0, tapi tenang saja, web services tidak tergantung pada versi .Net kok. Selanjutnya silahkan membuat project ASP.Net Web Application baru seperti gambar dibawah ini :
Nah setelah itu sebuah project ASP.Net siap untuk di utak atik.
Tahap Kedua :
Sebenernya tahap ini boleh dilakukan atau tidak, akan tetapi untuk bisa mengetahui bahwa web services ini bisa men-serialize suatu object dan mengirimnya, maka lebih baik kita lakukannya saja. Tahap kedua ini silahkan membuat suatu class baru didalam ASP.Net project tadi. Class tersebut biasanya merupakan sebuah entity class yang hanya memiliki variable variable yang akan dikirim oleh web services. Berikut ini merupakan contoh dari entity class yang bisa dibuat.
using System;
namespace SimpleWSDL
{
public class Mahasiswa
{
private string nrp;
private string name;
public string Nrp
{
get { return nrp; }
set { nrp = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public Mahasiswa()
{ }
public Mahasiswa(string nrp, string name)
{
this.nrp = nrp;
this.name = name;
}
}
}
Agar suatu class dapat diserialize oleh web serives, class tersebut harus mematuhi beberapa aturan sebagai berikut :
- Have parameterless constructor
- Encapsulate all its attribute
Nah ini dia tahap yang paling penting yaitu membuat sebuah web services dalam project ini. Web services tersebut dapat dibuat dengan meng-klik kanan project dan add item -> web services seperti dalam gambar dibawah ini :
Nah setelah menambahkan sebuah file .asmx dalam project, ubahlah code yang terdapat pada asmx.cs dari file tersebut menjadi seperti dibawah ini :using System;
using System.Web;
using System.Web.Services;
namespace SimpleWSDL
{
public class SimpleService : System.Web.Services.WebService
{
[WebMethod]
public int AddTwoInteger(int a, int b)
{
return a + b;
}
[WebMethod]
public bool IsFromSameDepartment(Mahasiswa a, Mahasiswa b)
{
if (a.Nrp.Substring(0, 2) == b.Nrp.Substring(0, 2))
return true;
else
return false;
}
}
}
Tahap Keempat :
Nah sekarang web services sederhana ini sudah siap dipakai, untuk mencobanya silahkan run project tersebut dengan menekan key F5. Jika sukses dan tidak ada error maka dibrowser akan muncul halaman seperti ini :
Bagi yang tidak error akan tetapi tidak muncul halaman seperti diatas jangan berkecil hati dulu dan pastikan URL yang dituju oleh browser adalah seperti ini :
bukan seperti ini :
yaitu menuju halam services yang kita buat tadi
Untuk port yang digunakan tidak masalah jika berbeda dengan yang saya contohkan, karena itu merupakan hasil generate dari ASP.Net Deployment Servernya
Tahap Kelima :
Sebenarnya tahapan untuk membuat web services sudah selesai pada tahap keempat diatas, tahap ini hanya untuk melakukan uji coba dalam mengkonsum web services yang telah kita buat tadi. Untuk bisa melakukannya, silahkan kita buat project satu lagi di visual studio dengan tipe console application dan dengan kondisi project asp.net tadi running, klik kanan pada folder references console application kita dan klik add services reverences
Setelah itu, copy dan paste URL dari services kita tadi di text box url seperti pada gambar dibawah ini dan tekan add reference
Jika berhasil dan tidak menemui error, maka web services tadi bisa kita panggil di console application kita seperti pada code dibawah ini :
using System;
using System.Collections.Generic;
namespace ConsumeServices
{
class Program
{
static void Main(string[] args)
{
//Instansiasi services yang telah dibuat
localhost.SimpleService services = new localhost.SimpleService();
//Instansiasi object untuk dicek apakah memiliki jurusan yang sama dengan
//memanggil Method Web Services IsFromSameDepartment()
localhost.Mahasiswa mhs1 = new localhost.Mahasiswa();
mhs1.Name = "Yohanda";
mhs1.Nrp = "5108100196";
localhost.Mahasiswa mhs2 = new localhost.Mahasiswa();
mhs2.Name = "Mandala";
mhs2.Nrp = "5108100999";
Console.WriteLine(services.IsFromSameDepartment(mhs1,mhs2));
}
}
}
Kelas Mahasiswa.cs yang kita buat di ASP.Net tadi juga bisa langsung kita instansiasi seperti dalam contoh program diatas. Jika anda beruntung dan tidak terjadi error apapun, silahkan run program tersebut dengan menekan tombol F5. Jrenggg jrenggg... Console application diatas telah sukses memanggil web services untuk mengecek apakah 2 mahasiswa berasal dari satu jurusan atau tidak.
*Di universitas saya, jurusan dari mahasiswa bisa dilihat dari 2 Digit pertama dari NRP/Nomor Registrasi mahasiswa tersebut
Sekian dulu tutorial web services kali ini dan mungkin karena akan berasa sangat capek jika mau menggunakan web services tersebut kita harus membuka projectnya dan me-runningnya maka tunggulah tutorial saya berikutnya tentang bagaimana untuk men-deploy project ASP.Net dengan menggunakan web server IIS 7. ^_^ Happy Coding
Link download project :
SimpleWSDL [ ASP.Net 4.0 Project ]
TestServices [ Console Application ]










5 komentar:
Nyoba Ah..
ini sama yang ada di asistensi kemaren ya,Mas?
Waduw.. ada praktikanku disini rek -_-a.....
Iya ini sama persis kok.....
salam kenal mas, mohon petunjuk mas, sy baru coba web service buatan temen saya, di laptop temen saya (Win 7) dia jalan, setelah sy coba copy ke laptop saya ( Win XP) muncul error seperti ini mas :
XML Parsing Error: not well-formed
Location: http://localhost/webservice/service.asmx
Line Number 1, Column 2:<%@ WebService Language="vb" CodeBehind="~/App_Code/Service.vb" Class="Service" %>
-^
kira2 kenapa ya?
terimakasih
character ini "-^" masuk dalam codingan service.asmx-nya engga..??? jangan2 gara2 itu errornya,,,
Biasa'e kalo errornya XML Parsing Error : not well-formated itu merupakan syntax errornya mark-up code ASP.Net...
Poskan Komentar