Makale Özeti

VB ile web servisleri yaratmak , ve örnekler...

Makale


Bu ilk makalede Visual Basic ile COM Objesi yaratarak, SOAP Toolkit ile web servisimiz için gerekli altyapıyı oluşturacağız.
Bugünlerde adını sık sık duyduğumuz bir terim “Web Servisleri”. Peki nedir bu web servisi denilen şey? Bu makale teknik olarak bunu anlatan bir makale değil, bu konuya daha sonra uzun olarak değineceğiz ama kısa bir başlangıç yapacak olursak ben web servislerinin tanımını şöyle yapıyorum: “Günümüzde internet size bilgiyi sunan bir web sayfası olmaktan çıkıp, programlanabilir bir ağ halini alıyor; uygulamalar, cihazlar ve firmalar arası ortak iletişime gidiliyor, bu programlanabilir zeki altyapıya web servisleri diyoruz”. Biraz karmaşık görünse de Xml teknolojisi ile çok kolay web servisleri geliştirip hayata geçirebilirsiniz. Bu makalede de küçük bir uygulama yazacağız.
Öncelikle Asp.Net web servislerinin kolay ortaya konması ve geliştirilmesi için geliştirilmiş bir teknoloji ama biz bu makalemizde Asp ile de web servislerini kullanabileceğimizi göreceğiz. Eski mimari yapıdan başlayacak olursak COM bizim Asp uygulamalarımızda esnekliği sağlayan bir yapı idi. CreateObject methodu ile COM objeleri yaratıp Asp uygulamamıza yeni eklentiler yapabilmekteydik. Hatta bunları Visual Basic gibi kolay bir görsel platform kullanarak kendi ihtiyacınıza uygun objeler gelitirmeniz mümkündü. Ardından DCOM teknolojisi ise artık geliştirilen COM objelerinizi Distributed yani yaygın olarak kullanabiliyordunuz. Web farm olarak adlandırdığımız Web sunucu, veritabanı sistemleri, firewall’lar ve arka planda çalışan diğer sistemlerin bütünleşik olarak aynı COM objelerini kullanması artık mğmkün oluyordu. Ama bu sistemde de sorun güvenliği sağlamak açısından bu sistemin kapalı bir yapısı olması gerekliliği idi. Örneğin bir COM objesini Firewall dışında bulunan bir sunucu üzerinden çalıştırmak isterseniz bu uygulama size çok büyük bir güvenlik açığı doğuracaktır. Peki ne yapacağız? İşte web servislerine duyulan ihtiyaçlardan birisi de budur. Internet gibi bir platformda programlanabilir uygulama geliştirmek, web servisleri.
Sanırım web servisleri kavramı biraz daha somut olarak belirmiştir. Artık canlı bir örnek yapmanın zamanı geldi diye düşünüyorum. Basit ve kolay olması açısından ilk örneğimizi bir çarpma işlemi olarak yapalım. 2 sayı verelim ve yapacağımız web servisi bize bu iki sayının çarpımını versin.

Aşağıda Visual Basic 6 için yazılmış bir kod bulunmaktadır. Bu kod verilen iki sayıyı çarpan bir fonksiyonu içermektedir:
Public Function Carpma(ByVal ilkSayi As long, _
ByVal ikinciSayi As long) As Double
Carpma = ilkSayi * ikinciSayi
End Function
 
Şimdi gidelim bu project’i YazgelistirCarpma, class’ı da Carpma olarak isimlendirelim ve Dll’i yaratalım.

Artık elimizde çarpma işlemini yapacak bir Com objesi var. Bundan sonar yapmamız gereken SOAP Toolkit’i kullanarak web servisi oluşturmak. SOAP Toolkit’in varolan verisyonu 2, eğer bilgisayarınızda yüklü değilse Microsoft’un web sitesinden indirmeniz mümkün.

SOAP Tookit’in içerisinde yer alan WSDL Generator’ı açalım. Burada bizden az once yaratmış olduğumuz Com objesi istenmektedir. Hemen gidelim YazgelistirCarpma.dll dosyasının bulunduğu path’i Soap’a gösterelim. Hemen ardından size bu objenin methodlarını listeleyen bir ekran gelecektir. Burada tabiki sadece Carpma isimli bir methodumuz var simdilik.

Bundan sonra karşınıza gelecek ekranda sizden dinleyici sistem hakkında bilgi istenecektir. Bu kısa eğer local bilgisayarınızda deneme yapıyorsanız http://localhost değilse http://www.serverinizinadi.com ardından da dinleyici olacak asp dosyasının adınızı veriniz. XSD Shema Namespace yaratma işlemini Soap sizing yerinize yapacaktır. Daha önceden Xsd yazanlar bu işin ne kadar zor ve zaman alıcı olduğunu bilirler, ama artık Soap sayesinde bu eziyetten kurutuluyoruz.

Son olarak bizden Web Servisinin kullanacağı karakter setinin belirlenmesi istenecektir. UTF 8.0 ve UTF 16.0 arasında gerekli seçimi yaptıktan sonra (eğer Unicode istiyorsanız UTF 16.0’I seçmelisiniz), yapmanız gereken asp, wsdl ve wsml dosyalarının yaratılacağı dizini belirtmeniz. Unutmayın bu dizin sizin internetten erişebileceğiniz bir dizin olması gerektiğinden örneğin c:\inetpub\wwwroot altında yer almalıdır.
Bu makale daha da uzun sürecek, ama şimdilik elimizde çalışan bir Com objemiz ve Soap ile yarattığmız asp, Wsdl ve Wsml dosyalarımız mevcut. Bundan sonraki makalede bunların neler olduğu ve nereden nasıl kullanabileceğimizi anlatacağım. Bir sonraki makalede görüşmek üzere…
Mehmet Nuri ÇANKAYA
nuri_cankaya@arena.com.tr




Konu ile ilgili yararlanabileceğiniz web adresleri:
- Microsoft Official Web Servisleri Sitesi

- SOAP Toolkit 2.0