Web servis (Web Service) kavramı, iki cihaz arasındaki iletişim yöntemlerinden biridir.
Java ile web servisi geliştirmenin birden çok yolu var. Son yeniliklerle beraber “Annotations” kavramı sayesinde bu iş daha da kolaylaştı, elle wsdl üretmeye gerek kalmadı, gerekli annotation işaretlerini yerine koyunca program çalışırken wsdl kendi kendine oluşuyor.
GlassFish bilindiği üzere JavaEE’nin temel taşlarından biri olan açık kaynak uygulama sunucusu, sektörde kullanımı diğer sunuculara göre az olabilir ama en bilindiklerden ve bana göre kullanması çok kolay olanlardan biri. Yönetim paneli kullanımını hakkaten kolaylaştırıyor.
Şimdi GlassFish üzerinde gerçekleştireceğimiz web servis örneğine gelirsek, edinmemiz gereken malzemeler şunlar;
- GlassFish 3 uygulama sunucusu
- Eclipse IDE for Java EE Developers
kurulmuş olmalı
Adım adım ilerleyelim. Yapacağımız web servisi, en basitinden aldığı “String” parametreye karşılık “Merhaba {parametre}” desin.
Eclipse üzerinde yeni bir “Dynamic Web Project” açalım. Resimde görüldüğü gibi adını “WebServiceGlassFish” koydum.
İleri dedikten sonra bize kaynak kodları nereye yazdığımı soruyor, hiç dokunmadan ileri diyoruz, karşımıza aşağıdaki ekran geliyor, web.xml oluşturmasını özellikle istiyoruz.
Sıra geldi kodlamamıza, artık sınıfımızı ve yazmak istediğimiz metodları gerçekleştirelim. Proje içinde yeni bir Java sınıfı oluşturup adını “HelloWorld” veriyorum, sınıfını da “org.sukru.webservices” olarak yazıyorum.
Bir sınıfın web servis olabilmesi için sınıfın başına @WebService() annotation işareti koyulur, web servis metodu olması istediğimiz metodun başına da @WebMethod() annotation işareti konulur. Tamam bilmemiz gerekenler bu kadardı, dağılabilirsiniz 🙂 Şaka bir yana örnek java kodu aşağıda…
[java]
package org.sukru.webservices;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService()
public class HelloWorld {
@WebMethod()
public String sayHello(String name) {
System.out.println("Merhaba " + name);
return "Merhaba" + name + "!";
}
}
[/java]
Yapılması gereken ek bir şey de web.xml üzerinde servlet tanımlarını yapmak, en başta oluşan web.xml içerisine aşağıdaki kodu yazıyorum.
[xml]
<servlet>
<display-name>HelloWorld</display-name>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>org.sukru.webservices.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
[/xml]
Böylelikle, HelloWorld isminde bir servletim olduğunu, url bilgisi ve sınıfının nerede olduğunu eklemiş oldum ki uygulama sunucusu tanısın uygulamamızı.
Sıra artık önemli noktalardan birine yani GlassFish’e yüklemeye geldi. Eclipse’in Servers tabında yeni sunucu eklemek istiyoruz ama standartında GlassFish i bulamazsınız o sebeple, Servers altında New > Download Additional Adapters yolunu takip ediyoruz, gelen listeden “Oracle GlassFish Server Tools” seçimini yapıyoruz, kısa bir yüklemeden sonra Eclipse i yeniden başlatmak istiyor, başlat diyoruz.
Şimdi ekleyebiliriz. Aşağıda örneği var.
GlassFish kullanıcı adı ve şifremizi giriyoruz.
Şifre ekranından sonra hangi uygulamaları sunucuya atacağımızı soruyor, web servis uygulamamamızı seçiyoruz. Eğer sizin Eclipse inize GlassFish sunucusu tanımlanmışsa sadece sunucuya sağ tıklayıp “Add and Remove” ile de sadece uygulamayı yükleyebilirsiniz.
Son olarak projenin build-path ine GlassFish i göstermemiz lazım. proje sağ tıklayıp Build Path > Configure Build-Path yolunu takip edip Server Runtime üzerinden sunucuyu ekliyoruz.
Bundan sonra GlassFish’i başlatın ve uygulamanın artık GlassFish altında çalışıyor olması lazım 🙂
GlassFish Yönetim Ekranından (http://localhost:4848) -eğer değişiklik yapmadıysanız- görebiliriz, sunucuya giriş yaptıktan sonra soldaki “Applications” menüsüne tıklayarak yüklü uygulamaları görebiliriz.
Görüldüğü üzere WebServiceGlassFish projesi GlassFish altına yüklenmiş ki zaten server altına eclipse içinden ilk eklemenizde de konsola yüklenip yüklenemediği bilgisini yazar.
Şimdi o ekrandan “launch” yani çalıştır dedikten sonra /HelloWorld servlet ismini tarayıcıya aşağıdaki gibi ekleyince karşınıza web servis hakkında bazı bilgiler gelecektir.
WSDL adresine tıklayınca da wsdl a ulaşabileceksiniz, bendekinin ekran görüntüsü şu şekilde.
Web servisi artık kullanıma hazır. Başka bir yazıda da bu web servisinin testini yaparız inşallah 🙂 (Ben yaptım da buraya yazması var bir de :D)
Kolay gelsin.
Yazılarını ilk günden beri takip ediyorum. Paylaşımların için çok teşekkürler. Uygulamalarımızda ihtiyacımız olan şeyleri yazıyorsun, sorularım olduğunda burdan cevap yazarsan (vakit olursa) çok sevinirim :). Şu karmaşık blog ortamında temiz ve anlaşılır makaleler yazman benim adıma çok faydalı. Umarım diğer arkadaşlar da faydalanırlar. Görüşmek üzere.
Geri izleme: Web Servis İstemcisi (Web Service Client) | Şükrü Çakmak | Java / JSF / JPA / Seam