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

Slides:



Advertisements
Benzer bir sunumlar
E-İÇİŞLERİ KARŞILAŞILAN SORUNLAR
Advertisements

SGB.NET’İN TEKNİK ALTYAPISI
Not Sosyal Bilgiler Öğretmenliği
Java’da Eclipse ortaminda Axis2 ile Web Servis Uygulamasi
 Bir iletişim mimarisidir.  Bir DTD si yoktur.  Roy Fielding 2000 Yılında ortaya atmıştır.  En başarılı Rest Uyarlamalarından biri HTTP protokolüdür.
FTP UYGULAMALARI VE İŞLETİM SİSTEMİ LİSANS YÖNETİMİ
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
WSDL -SOAP Murat tezgider
WEB SAYFASI NASIL HAZIRLANIR?
Google Talk Kurulumu-Kullanımı
Support.ebsco.com EBSCOhost Collection Manager Selector Accounts(Seçici Hesaplar) Kullanıcı Kılavuzu.
İnternet Programcılığı
Kişisel Web Sayfaları Kullanım Bilgileri
İNTERNET VE İLETİŞİM.
İSİM UZAYLARI.
Template ve Macro Yaratma
11 1.
Proxy nedir ? Nasıl kullanılır ?
Çerez(Cookie) Kullanımı Oturum Yönetimi
Outlook express ayarları
HTML (HYPER TEXT MARKUP LANGUAGE) TEMEL ETİKETLERİ
HTML İLE BASİT WEB İŞLEMLERİ
Management Studio Kullanımı
 HTML nin en önemli araçlarından biri de bilgi girişinde kullanılan form kontrolleridir.  Formlar, web sayfası tasarlayan kişi veya şirketlerle internet.
BAĞLANTI (KÖPRÜ) OLUŞTURMA
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
İnternet Teknolojisi Temel Kavramlar
BTEP 203 – İnternet ProgramcIlIğI - I
CONTENT MANAGEMENT SYSTEM (İÇERİK YÖNETİM SİSTEMLERİ)
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
İnternet Programlama PHP.
U Y A R I Takibeden slaytlarda anlatılan internet explorer / proxy ayarları yapıldıktan sonra ancak KHÜ Bilgi Merkezi tarafından izin verilen web sayfalarına.
1 İNTERNET PROGRAMLAMA - 1 Bağlantılar Öğr.Gör. Serkan KORKMAZ Harran Üniversitesi Birecik Meslek Yüksekokulu.
Öğr.Gör.İnayet Hakkı ÇİZMECİ Bilgisayar Prog.
 Bilgisayarlar arasında bilgi alışverişini, dosya iletimini sağlamaktadır.  Bu protokol kullanılarak, internet üzerinde bulunan herhangi bir bilgisayarda.
PHP.
İNTERNET VE İLETİŞİM.
İnternet Teknolojisi Temel Kavramlar
E-POSTALARIN OUTLOOK 2010 PROGRAMINA KURULUMU
İKMAP İnternet 1 Ders Notu
Meb.k12 uzantılı E-posta Hesabı Kurulumu
BİLGİSAYAR MUHASEBE YAZILIMLARI
INTERNET EXPLORER TEMEL İŞLEMLER GOOGLE ARAMA TEKNİKLERİ
Ağa bağlı olan bir bilgisayarda, kullanıcının dosyaları ve dizinleri ağa bağlı olan başka bir kullanıcı tarafından kullanılabilir. Kullanıcı dosyalarını.
Meb.k12 uzantılı E-posta Hesabı Kurulumu
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
İLERİ SAYISAL SİSTEM TASARIMI VE SENTEZLEME 10. Hafta: Qsys
Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi
Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi
Doç.Dr. Ahmet ÖZMEN Sakarya Üniversitesi
BSM447 – MOBİL UYGULAMA GELİŞTİRME
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 3. Hafta.
KIRKLARELİ ÜNİVERSİTESİ
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 7. Hafta.
GGJ 2016 Oyun Yükleme GGJ Takımı. Bir GGJ kullanıcısı olmalısınız. Bir oyunu sisteme yüklemek için: 1. Bir GGJ hesabınız olmalı. 2. Bir jam merkezini.
Bilgisayar Görmesi Ders4:GUI OLUSTURMA Yrd. Doç. Dr. Serap KAZAN.
ELEKTRONİK TABLOLAMA PROGRAMI: EXCEL
HTML Dili ’ nin Genel Özellikleri. HTML Nedir? İşaretleme dili (HyperText Markup Language) Belirteçler (tags) W3 konsorsiyumu (Tim Berners-Lee) W3 konsorsiyumu.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
LOGMEIN İLK OLARAK, “REMOTE CONTROL” ILE BAŞKA BIR BILGISAYARA BAĞLANMAYı VE ERIŞILEN BILGISAYAR ÜZERINDEN KOLAYCA IŞLEM YAPMAYı ANLATACAĞıM. ”
DERS: MESLEKİ BİLGİSAYAR
XML ve XML WEB SERVİSLERİ Volkan ALTINTAŞ. XML Bağımsız bir kuruluş olan W3C tarafından tasarlanmıştır. Herhangi bir kurumun tekelinde değildir. Kişilerin.
KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi KBT208 SUNUCU İŞLETİM SİSTEMİ DNS Öğr.Gör. Ruslan ABDULLA 11. HAFTA.
Doküman Yönetim Sistemi (DYS) Kurulumu ve Ayarları
Dünyanın bilgisine açılan pencere...
Server Yönetim Programları
HESAP YÖNETİMİ-2.
İNTERNET PROGRAMCILIĞI 2
powerPoint nedir
Program Kurulum Seti Hazırlamak
Sunum transkripti:

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

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

AXIS 2 ve NetBeans Kurulumu Daha detaylı bilgi için burayı ziyaret edebilirsiniz http://axis.apache.org/axis2/java/core/ AXIS 2 ve NetBeans Kurulumu http://netbeans.org/downloads/ sitesinden Netbeans 6.9.1 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 6.0.26 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 http://axis.apache.org/axis2/java/core/download.cgi sitesinden Axis 2 1.6.0 ‘ı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.

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.(8084-8080).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.

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.

Şekil 3 Şekil 4

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 http://localhost:8084/axis2/services/listServices 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)

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.

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.

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='http://192.168.1.41:8084/axis2/services/Sayhello/hello‘ 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.

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

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.

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