MEMBUAT WEB SERVICE DENGAN WCF C# SQL Server




Web service adalah aplikasi sekumpulan data (database), perangkat lunak (software) atau bagian dari perangkat lunak yang dapat diakses secara remote oleh berbagai piranti dengan sebuah perantara tertentu.  Secara umum,web service  dapat diidentifikasikan dengan menggunakan URL seperti hanya web pada umumnya. Namun yang membedakan web service dengan web pada umumnya adalah interaksi yang diberikan oleh web service. Berbeda dengan URL web pada umumnya, URL web service hanya menggandung kumpulan informasi, perintah, konfigurasi atau sintaks yang berguna membangun sebuah fungsi-fungsi tertentu dari aplikasi.
Web service dapat diartikan juga sebuah metode pertukaran data, tanpa memperhatikan dimana sebuahdatabase ditanamkan, dibuat dalam bahasa apa sebuah aplikasi yang mengkonsumsi data, dan di platform apa sebuah data itu dikonsumsi. Web service mampu menunjang interoperabilitas. Sehingga web service mampu menjadi sebuah jembatan penghubung antara berbagai sistem yang ada.
Menurut W3C Web services Architecture Working Group pengertian Web service adalah sebuah sistem softwareyang di desain untuk mendukung interoperabilitas interaksi mesin ke mesin melalui sebuah jaringan. Interfaceweb service dideskripsikan dengan menggunakan format yang mampu diproses oleh mesin (khususnya WSDL). Sistem lain yang akan berinteraksi dengan web service hanya memerlukan SOAP, yang biasanya disampaikan dengan HTTP dan XML sehingga mempunyai korelasi dengan standar Web (Web Services Architecture Working Group, 2004).
Web pada umumnya digunakan untuk melakukan respon dan request yang dilakukan antara client dan server. Sebagai contoh, seorang pengguna layanan web tertentu mengetikan alamat url web untuk membentuk sebuahrequestRequest akan sampai pada server, diolah dan kemudian disajikan dalam bentuk sebuah respon. Dengan singkat kata terjadilah hubungan client-server secara sederhana.
Sedangkan pada web service hubungan antara client dan server tidak terjadi secara langsung. Hubungan antaraclient dan server dijembatani oleh file web service dalam format tertentu. Sehingga akses terhadap databaseakan ditanggani tidak secara langsung oleh server, melainkan melalui perantara yang disebut sebagai web service. Peran dari web service ini akan mempermudah distribusi sekaligus integrasi database yang tersebar di beberapa server sekaligus.

sumber : http://saptafina13.blogspot.co.id/2013/04/pengertian-web-service.html

Ok langsung saja kita implementasi pembuatan web servicenya : 

pertama buat database di SQL Server dengan nama testDB, setelah itu buat table dengan nama testTable, field tablenya id,url,status. kemudian isi data seperti berikut.



selanjutnya buat stored procedure untuk menampilkan isi table, stored procedurenya seperti berikut :
CREATE PROCEDURE [dbo].[sp_Selectdata]
      
AS
BEGIN
       SET NOCOUNT ON;

    Select * From tesTable

END


Ok. setelah itu buat project di visual studio dengan nama wcfLearn
susunan projectnya seperti pada gambar ini


didalam entity.cs terdapat sebuah class data yang berfungsi untuk menampung data dari sql kemudian ditampilkan kedalam bentuk json, berikut class data :
public class data
    {
        [DataMember]
        public String id { set; get; }

        [DataMember]
        public String url { set; get; }

        [DataMember]
        public String status { set; get; }
    }

kemudian didalam file IService1.cs kita tambahkan interface seperti dibawah ini :
[OperationContract]
        [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "GetAllData")]
        List<data> GetAllData();

kemudian kita implement interface tersebut didalam Service1.cs, berikut source codenya:
//membuat variable koneksi ke sql
string str = @"Data Source=.\SQLEXPRESS;Initial Catalog=SignalRDB;User ID=sa;Password=Admin123456kr";



public List<data> GetAllData()
        {

            SqlConnection con = new SqlConnection(str);
            //membuat list dataRMUsage untuk menampung data dari sql
            List<data> dataRMUsage = new List<data>();
            try
            {
                //membuka koneksi ke sql server            
                con.Open();
                //memanggil nama stored procedure
                SqlCommand command = new SqlCommand("sp_Selectdata", con);
                SqlDataReader reader;
                //set command type
                command.CommandType = System.Data.CommandType.StoredProcedure;
                //execute menggunakan executeReader
                reader = command.ExecuteReader();
                DataTable dt = new DataTable();
                //hasil reader dimasukkan ke dataTable dt
                dt.Load(reader);

                //memasukkan data dari dataTable dt ke list dataRMUsage
                dataRMUsage = (from DataRow row in dt.Rows
                               select new data
                               {
                                   id = row["id"].ToString(),
                                   url = row["url"].ToString(),
                                   status = row["status"].ToString()

                               }).ToList();
                //tutup kembali koneksi yg dibuat
                con.Close();
                //return list dataRMUsage
                return dataRMUsage;
            }
            catch (Exception e)
            {
                string errorMassage = e.Message;
                con.Close();
                return dataRMUsage;
            }
        }

selanjutnya jalankan programnya, jika berhasil hasilnya akan seperti berikut :




untuk projectnya bisa di download DISINI

Semoga bermanfaat.
Terimakasih. :D

Comments

  1. minta tutorial bikin databasenya sekalian dong. Soalnya sudah bikin database sendiri dan download progran yg visual studia masih blum bisa.

    ReplyDelete

Post a Comment

Popular posts from this blog

IT Asset Management Dengan PHP MySQL

PHP MySql CRUD Dengan Konsep MVC

Cara Sederhana Multi Insert Data Dengan PHP - MySQL