Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

NETBEANS’TE AXİS 2 ile WEB SERVİS GELİŞTİRME

Benzer bir sunumlar


... konulu sunumlar: "NETBEANS’TE AXİS 2 ile WEB SERVİS GELİŞTİRME"— Sunum transkripti:

1 NETBEANS’TE AXİS 2 ile WEB SERVİS GELİŞTİRME
Hazirlayan Serkan Macit Kocaeli Universitesi Bilgisayar Muhendisligi Proje Calismasi

2 NETBEANS’TE AXİS 2 WEB SERVİS GELİŞTİRME
AXIS 2 Nedir? Axis 2, web servisler için oluşturulmuş çekirdek makinadır(core engine). Bize SOAP kullanılarak dizayn ve yazma sağlayan apache tarafından geliştirilmiş proje diyebiliriz. Java ve C programlama dillerini desteklemektedir. Ayrıca REST ve  Spring Framework  desteği de mevcuttur. Axis 2’nin bazı özellikleri şunlardır: *Yeni XML işleme(process) çekirdeği modeli, AXIOM (AXIs Object Model) *A blocking ve non-blocking istemci API (application programming interface) *WS-Addressing desteği *HTTP (Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol), ve TCP (Transmission *Control Protocol) iletişimi için destek

3 AXIS 2 ve NetBeans Kurulumu
Daha detaylı bilgi için burayı ziyaret edebilirsiniz AXIS 2 ve NetBeans Kurulumu sitesinden Netbeans ALL sürümünü indiriniz.(Axis 2 Netbeans 7 sürümüne şu an uyumlu değildir.)Bu sürüm içerisinde Tomcat yı da barındırmaktadır ve böylece Netbeans kurulumuyla beraber Tomcat i de işlemsiz bilgisayarımıza kurmuş oluruz.Tomcat bir internet sunucusudur ve web servislerimiz bu sunucu üzerinde çalışacaktır.(JDK 6 VE JRE 6 yükleme öncesi kurulmuş olmalıdır.) Daha sonra sitesinden Axis ‘ın WAR sürümünü arşiv dosya şeklinde indiriniz.İleride bu paketi sunucu ya açacağız. Netbeans ‘i açarak Araçlar-Eklentiler-Uygun Eklentiler yolunu izleyerek Axis2 Support eklentisini kurunuz.Bu eklenti kodlarımızı yazarken bize yol gösterici olacaktır. Tomcat Sunucusu ‘na alternatif olarak GlassFish Sunucusu da mevcuttur fakat hız farkından dolayı Tomcat i kullanacağız.Tomcat varsayılan olarak C :/ProgramFiles içine kurulur.Elinizdeki Axis 2 dosyasını CATALINA_BASE/webapps dizinine açın.’’CATALINA_BAS E’’ dizininin neresi olduğunu öğrenmek için Netbeans ‘te servisler tabını kullanarak Sunucular sekmesinden Tomcat ‘i başlatın.Daha sonra Tomcat Sunucusuna sağ tıklayıp Properties seçeneğine girin.Burada Connection sekmesine tıkladığınızda bu adresin neresi olduğunu göreceksiniz.(Bknz şekil 1) .Bu işlem sonucunda dizinde axis2.war dosyası oluşacaktır.

4

5 6. Daha sonra Tomcat Sunucusunu tekrar başlatın
6.Daha sonra Tomcat Sunucusunu tekrar başlatın .Bu işlem sonucunda Tomcat axis2.war dosyasını aynı dizindeki axis2 klasörüne çıkaracaktır. 7.Netbeans’te Araçlar-Seçenekler menüsünü izleyiniz ve açılan pencereden Axis2 tabına tıklayın.Burada ‘’target location for Axis2 AAR files’’ yazan yere CATALINA_BASE (not TOMCAT_HOME)/ webapps/axis2 Dizinini girin.Daha sonra ‘’Axis2URL ‘’kısmına uygun bir port adresi giriniz.( ).Son olarak ‘’ Use Tomcat Manager for Deployment’’ seçeneğini de işaretleyerek ‘’OK’’ e basınız.(bknz Şekil:2) 8.Axis2 URL deki port numarasının Tomcat Sunucu su için doğru olup olmadığını kontrol için Tomcat i başlatın ve  Coyote HTTP/1.1 in kullandığı port numarasını bakın.Yanlışsa kullanılan port numarasını giriniz.Aşağıdaki şekilde 4. satır bize  Coyote HTTP/1.1 ile ilgili bilgi vermektedir.

6

7 AXIS 2 Web Servis Geliştirme
Bu işlemlerin sonucunda artık Netbeans,Tomcat Sunucusu ve Axis2 , web servis geliştirmek için uygun duruma gelmiştir. AXIS 2 Web Servis Geliştirme Netbeans-File-New Project –Java-Java Library Project menülerini kullanarak bir java projesi oluşturulur. Daha sonra projeye isim verilir (AxisHello) ve kaydedileceği dizin seçilir. Oluşturulan proje üzerine sağ tıklanarak New-Other-Web Services-Axis2 Web Service From Java-Create Empty Web Service menüsü takip edilir.En son web servis ismi , kaydedileceği dizin seçilir ve örnek bir method oluşturma seçeneği işaretlenir.Finish butonuna tıklanınca web servis oluşturma işlemi birmiş olur. (bknz şekil 3) Web Service ‘i çalıştırmak için önce Tomcat Sunucusunun çalışıp çalışmadığı kontrol edilir ve sonrasında proje altında Axis2 Web Services-Deploy To Server menüleri izlenir ve web servis çalışmaya hazır hale getirilir. Programı test etmek için Axis2 Web Services menüsü altında ilgili web servis bulunur ve altında ‘’hello’’ isimli fonksiyona sağ tıklanarak Test Operation In Browser karşımıza aşağıdakine benzer bir çıktı gelir.(bknz şekil 4). Projede .java dosyamızın olduğu paket altına gidersek buradaki class içinde hello fonksiyonunu görürüz .Bu kısma biz de dört işlem yapan 4 tane fonksiyon daha ekleyip yukarıdaki işlemleri tekrarlayabiliriz.

8 Şekil 3 Şekil 4

9 Axis 2 Web Servis Client Oluşturma
Şekil 4’te görüldüğü üzere program çıktısı XML halindedir ve istediğimiz çıktı bu XML arasına gömülüdür.Ayrıca çıktı bir web sayfası olduğundan adres çubuğundan name değişkenine farklı isimler atayarak farklı çıktılar üretebiliriz. Axis 2 Web Servis Client Oluşturma Bu kısımda Bir WSDL dosyasından nasıl bir web servis istemcisi oluşturacağımızı göreceğiz.Bunun için sırasıyla aşağıdaki adımlar takip edilir. File-New Project-Java Web-Web Application menüleri yardımıyla istenilen isimde ve dizinde bir web uygulaması oluşturulur. Proje ismine sağ tıklanarak New-Other-Web Services-Web Service Client menüleri izlenerek istemci oluşturmaya başlanır.Bizden bu aşamada web servisimizin wsdl url’sini girmemiz istenir.Bunu da şöyle bulabiliriz.Önce Tomcat çalıştırılır.Kullandığımız port 8084 idi.İnternet tarayıcıya yazıldığında sunucudaki web servislerin listesine ulaşırız.Buradan da istediğimiz servise tıkladığımızda adres çubuğunda wsdl url’si oluşur.Bu adresi kullanarak istemci oluşturmaya devam edilir.Daha sonra paket ismi boş bırakılır ve jax versiyon olarak JAX-WS seçilir.Finish butonuna tıklanır ve web service istemcisi oluşur.HesapMak adlı bir web servis oluşturduğumuz düşünülürse önümüze şekildeki gibi bir proje ekranı gelir.(bknz şekil 5)

10

11 Bu aşamada istemci web servis sunucusuna bağlanmış haldedir
Bu aşamada istemci web servis sunucusuna bağlanmış haldedir.Proje penceresinde Generated Sources tabı altında web servise ve web servi s e ait fonksiyonlara erişim ile ilgili classlar yer almaktadır.Daha altta web references kısmı görülür .Burada da web servis ismi ve yapabileceğimiz operasyonlar listelenir.Web Pages tabı altında da index.jsp dosyası vardır ve bu da istemci ile kodlarımızı yazacağımız jsp dosyasıdır.(bknz şekil 6)Bu sayfada kodlama yapabilmemiz için temel html kodlarına hakim olmamız gerekmekedir. NOT: Class isimlerinde Türkçe karakterler veya «ı,i» kullanılması durumunda proje nin ‘’Generated Sources’’ kısmında syntax hatası uyarısı alırsınız.Bu durumda da proje çalışmaz ve .jar veya .war haline getirilemez.

12

13 BASİT BİR HESAP MAKİNESİ UYGULAMASI
public String hello(String name) { return "Hello "+name; } public int topla(int a, int b) { int c = a + b; return c; public int cikar(int a, int b) { int c = a - b; public int carp(int a, int b) { int c = a * b; public int bol(int a, int b) { int c=0; if(b!=0) c = a / b; Yukarıdaki kodlar Hello isimli web servis uygulamamızın içindeki SayHello.java dosyasındaki dört işlem fonksiyonlarına aittir. Şimdi bunları istemci tarafından nasıl yöneteceğimizi görelim.

14 Daha önce index. jsp adlı dosyamızın kodlarını şekil 5 te görmüştük
Daha önce index.jsp adlı dosyamızın kodlarını şekil 5 te görmüştük.Bu dosya sayesinde web servis istemcisi web servis fonksiyonlarını kullanarak çeşitli işlemler yapabilir.Şimdi buradaki kodları sırasıyla açıklarsak; action=' ile form üzerinde işlem yapıldığında ulaşılması gereken web servis fonksiyonunun Tomcat üzerindeki dizinini verdik.burada localhost ifadesi yerine ip adresi kullandık.Çünkü istemciler makine bağımsız olmalıdır.Bu uygulamayı bu şekilde aynı ağdaki başka bilgisayarlarda da sorunsuz çalıştırabiliriz. method="post" target="_blank"> post ile veriyi gönderiyoruz ve sonucu yeni bir sayfada görüntülüyoruz. <td>Who are you:</td> , <td><input type="text" size="30" name="name"></td> ifadeleri ile bir textbox oluşturup buradan girilen input değerini hello fonksiyonunun name adlı parametresine aktarıyoruz. <td align="right"><input type="submit" value="Hello"></td> ifadeleri ile bir hello isimli bir buton oluşturup bu buton ile işlemlerin yürümesini sağlıyoruz. Kodların devamını incelediğimizde diğer fonksiyonlara da aynı şekilde ulaşıldığı görülür. Bu şekilde kodlama bitirilip sayfa sunucuya deploy edilirse şekil 6 daki bir arayüz oluşturmuş oluruz.

15 Burada add fonksiyonunu için 5 ve 6 değerini girip çıktı ekranını görelim:

16 Görüldüğü gibi 11 sonucu <ns:return tagları arasında dönmüştür
Görüldüğü gibi 11 sonucu <ns:return tagları arasında dönmüştür. Diğer fonksiyonlar da aynı şekilde çalıştırılabilir ve sonuç buna benzer bir çıktı üzerinde test edilebilir NOT: Netbeans te istemci üzerine sağ tıklanıp ‘’Clean AndBuild ‘’ işlemi yapılırsa projenin olduğu dizinde dist klasöründe aynı isimli .war uzantılı bir dosya elde edilir.Bu dosya Tomcat üzerinde deploy edilmek koşuluyla aynı ağdaki başka bilgisayarlarda da çalıştırılabilir.

17 DiNLEDİĞİNİZ İÇİN TEŞEKKÜRLER Serkan Macit
BİR SONRAKİ AŞAMADA YAPILABİLECEK İYİLEŞTİRMELER XML çıktılar parse edilip sayfa kullanıcıya HTML olarak sunulabilir. Sonuçlar MySQL vb. bir veritabanına kaydedilebilir. Arayüz HTML &CSS kullanılarak daha iyi ve düzenli bir görünümde tasarlanabilir. İstemci olarak bir web uygulaması değil de masaüstü uygulaması tasarlanabilir. IP vb değerler dinamik olarak alınabilir.(properties dosyası ve hardcoding) DiNLEDİĞİNİZ İÇİN TEŞEKKÜRLER Serkan Macit


"NETBEANS’TE AXİS 2 ile WEB SERVİS GELİŞTİRME" indir ppt

Benzer bir sunumlar


Google Reklamları