Sümeyye Kök

Posts Tagged ‘web servis

    Web servis’e Visual Studio aracılığıyla bağlandıktan sonra insert,update gibi işlemlerimizi yapmak için nasıl kodlar yazmalıyız diye düşünebiliriz.Kendimce basic seviyede bir örnekle açıklamaya çalıştım..

Default.aspx yi kullanrak bir dizayn yapacağız ve gerekli buton,kodlarla daha önceden tabloda yaptığımız işleri web tabanında gerçeklemiş olacağız..adım adım gidelim:

1-web servis bağlantımızın ardından otomatik olarak projenizde oluşturulmuş olan Default.aspx’in altındaki Design kısmını seçip,Toolbox larımızı kullanrak projemize uygun textBox ları ve bir de bilgilerimizi ekrana bastıracağımız gridView i ekliyoruz

2-Ekle,Sil,Güncelle butonlarınızı ekledikten sonra kod bölümüne geçelim.mesela ekleme işlemi için örnek kodlarımız verelim diğer komutları bu mantıkla dizayn etmeniz yeterli olacaktır.

namespace projeadi

 

{

 public partial class _Default : System.Web.UI.Page

 {

 protected void Page_Load(object sender, EventArgs e)

 {

 getData(); //veritabanı bağlantısını sağlayan fonksiyon

 }

 SqlConnection conn;

 

protected void Button1_Click(object sender, EventArgs e)

 {

 if (Page.IsPostBack != false)

 {

 string cnString = ConfigurationManager.ConnectionStrings[“ApplicationServices”].ConnectionString;

 conn = new SqlConnection(cnString);

 conn.Open();

 

SqlCommand komut = new SqlCommand(“insert into OGRENCİ_TABLO(OGRENCI_ADI,OGRENCI_SOYADI) values(@ad,@soyad)”, conn);

 komut.Connection =conn;

 komut.Parameters.AddWithValue(“@ad”, TextBox1.Text);

 komut.Parameters.AddWithValue(“@soyad”, TextBox2.Text);

 

komut.ExecuteNonQuery();

 komut.Dispose();

 conn.Close();

 getData();//bu fonksiyon veritabanı bağlantısını sağlayan fonksiyonum,siz kendi Connection kodlarınızı eklemelisiniz.

 

}

 

}

3-farkettiğiniz gibi değişkenlere atayarak metodumuzu gerçekleştirdik.gerekli kütüphaneler ise:

 

using System;

 using System.Collections.Generic;

 using System.Linq;

 using System.Web;

 using System.Web.UI;

 using System.Web.UI.WebControls;

 using System.Data;

 using System.Data.SqlClient;

 using System.Configuration;

 

şeklindedir.

 

4-şimdide Webservice1.asmx.cs ye ait kodları verelim:

 

[WebMethod]

 public void getData()

 {

 string cnString = ConfigurationManager.ConnectionStrings[“ApplicationServices”].ConnectionString;

 conn = new SqlConnection(cnString);

 conn.Open();

 SqlDataAdapter sda = new SqlDataAdapter(“Select OGRENCI_ID,OGRENCI_ADI,OGRENCI_SOYADI from OGRENCİ_TABLO”, conn);

 DataTable dt = new DataTable();

 sda.Fill(dt);

 conn.Close();

 GridView1= dt;

 }

5-işlemlerimiz bu şekildedir.İlk olarak web ervisi çalıştırıp ardından Default.aspx’i sağ click->set start up project olarak ayarlayıp çalıştırırsanız localhostta tasarımınızla birlikte gelen tablo verilerini görmüş olursunuz

herkese kolay gelsin:)

 

Web servis hakkında netten biraz alıntı yaparak biraz da kendimce bildiklerimden şöyle bir derleme yaptım:

Web servisi, XML mesajlaşma tabanlı bir sistem entegrasyon yöntemidir.Diğer bir tanımla; bilgisayarlar arasında ağ üzerinden etkileşimi ve uyumluluğu sağlayacak yazılım sistemidir. Günümüzde birbiriyle haberleşecek sistemleri gerçeklemek için en çok tercih edilen yöntem web servisidir.

Web servisler 3 ana birimden oluşmaktadır:

Servis sağlayıcı, servis istemcisi ve servis kayıt birimi.
Servis sağlayıcı(service provider): Bu birim, sağlayıcıdaki servislere erişimi sağlar ve kendi sitesinde bulunan web servisleri tanımını servis kayıt birimine (service registry) kaydeder. Burada servisin nasıl çağrılacağı belirtilir.
Servis İstemcisi (Service Requester) : Bu uygulama servis sağlayıcısındaki web servislerini çağırıp kullanır. Web servisinin nasıl çağrılacağını bulur ve ilgili parametreleri servis kayıt biriminden arayarak çağırır.
Servis Kayıt Birimi (Service Registry) : Servis sağlayıcılarının yayımladıkları web servisi tanımlarını saklar ve aranıp bulunmasını sağlar. Servis sağlayıcıları servis kayıt birimini tarayıp istediği servisler hakkında bilgi edinebilir. Ayrıca, servis kayıt birimi her servisin nasıl çağırılacağı konusunda tanım bilgileri de içerir.şimdi bir örnek verelim: diyelim ki biri java diğeri asp.net ile kodlanmış iki site var elimizde.Bu iki site arasında veri paylaşımı yapmak ya da bir siteden diğer siteye yönlendirme yapmak istiyoruz.Bu durumda sıkıntı çıkmaması için ortak bir dile ihtiyaç duyulur. Bu da WSDL’dir(Web Service Description Language- Web Servis Tanımlama Dili). Bu dil web servislerini tanımlamaya yaramaktadır.(İstemcilerin kullanacakları web servisindeki bilgileri önceden bilmeleri gerekir.bunu sağlayan da WSDL dir.)

Farklı iki programlama dilini konuşturmak için bir de SOAP(Simple Object Access Protocol – Basit Nesne Erişim Protokolü)’a ihtiyaç duyulur. Öyle ki Java’da yazılan metodlar çağrıldığında, bu istek SOAP paketine dönüştürülür ve server(sunucu)’a gider. Server da SOAP paketini alır ve inceler. Daha sonra çağrılan metod işletilir ve veriler dataset’e aktarılır. Oluşturulan dataset nesnesi de SOAP yardımıyla client(istemci)’a gönderilir. Client bilgisayar da SOAP paketini alır ve verileri işler. Yani SOAP paketi client ve server arasındaki iletişimi sağlar.

şematik olarak da özetlersek..web servis hakkında genel bir bilgi edinmekti amacım,umarım faydalı olmuştur.