NetBeans 6.5 Türkçe Yerelleştirmesi

8/29/2008 04:42:00 ÖS

(0) Comments

Pek çok yenilik ve iyileştirme ile birlikte gelecek olan NetBeans 6.5 sürümünün Türkçe yerelleştirmesi için gönüllü kişilere ihtiyacımız var.

Yerelleştirmeye katkıda bulunmak için yapmanız gerekenler şu adreste(http://translatedfiles.netbeans.org/docs/first_steps.html) anlatılıyor. Ayrıca Türkçe e-posta listesine kaydolmak için tr-subscribe@translatedfiles.netbeans.org adresine boş bir e-posta yollamanız ve gelen e-postayı yanıtlamanız yeterli.

Herhangi bir soru sormak için benimle iletişime geçebilirsiniz. Elimden geldiğince yardımcı olmaya çalışırım.

Saygılar,

Fatih.

fatih {at} erguven {dot} org

Yasin Hasan Karanfil

J2ME Web Servisleri

8/29/2008 04:36:00 ÖS

(0) Comments

 

© Yasin Hasan Karanfil (2007)

Netbeans 6.0 tüm geliştirme ortamlarını tek bir paket içinde toplayan bir sürüm yayınladı. Resmi yardım dokümanlarında J2ME platformundan web servislerine erişmek için iki yoldan bahsediliyor.

Netbeans web servislerine erişmek için iki katmanlı veya üç katmanlı istemcilerini otomatik olarak geliştirme yeteneğine sahiptir.

Java ME Web Service Client wizard

JSR-172 spesifikasyonuna göre iki katmanlı istemci geliştirmek için bu sihirbazı kullanabilirsiniz.

Fakat bunu çalıştırabilmek için mutlaka JSR – 172 destekli emulator ve cihazlara ihtiyaç duyacaksınız.

Mobile Client to Web Application Generator

JSR – 172 desteklemeyen cihazlarda kullanmak üzere üç katmanlı mobil web servis istemcisi oluşturur. Bu sihirbaz web servis istemcisi içeren bir web uygulamasına bağlanmak üzere bir servlet oluşturur.

Bu sihirbazı kullanmadan önce web servis istemcisi içeren bir web uygulamasına sahip olduğunuzdan emin olunuz.

Üç Katmanlı Mobil Web Servisleri Oluşturmak

The Mobile Client to Web Application Generator ile MIDP istemci, servlet ve MIDlet ile web servisi konuşturmaya yarayacak dosyalar oluşturacaktır.

İstemci ve oluşturulan orta katman servlet özel bir protokolle haberleşir. Servlet ve sunucu ise SOAP protokolü ile haberleşir.

The Mobile Client to Web Application Generator şunları oluşturur.

- JAVA ME istemci sınıfı

- Bir servlet ve diğer sınıfler

- Web Servis bilgilerinin tutulduğu bir XMl dosyası

Yeni bir mobil uygulama oluşturduktan sonra projeye sağ tıklayıp add new file kısmından MIDP bölümünden Mobile Client to Web Application kısmını seçin.

Daha sonra servletin ekleneceği Web Application’ı seçin. Yalnız bu Web Application mutlaka bir web servis istemcisine sahip olmalıdır.

Oluşturulacak servlet için bir isim girin. Mobil istemcinin Web Uygulamasında metodlar yoluyla mı yada web servis istemcisiyle mi bağlanacağını seçin.

Sonraki kısımda ise metod seçmişseniz metodlar, servis seçmişseniz servisler listelenecektir. Buradan kullanmak istediğiniz kısımları seçin.

Daha sonraki kısımda Generate stubs ile aktarılan her bir servis için istemci metodları oluşturulur.

Allow floating point kısmını seçerek float ve double veri tiplerine izin verebilirsiniz.

Finish tuşuna basarak işlemleri tamamlayın.

Server uygulamasını build ve deploy edin. Çünkü gerekli dosyalar server uygulaması içinde oluşturuldu.

Server uygulaması deploy edildikten sonra artık mobil uygulaması ile web servisine artık erişebilirsiniz.

Fakat şunlara mutlaka dikkat etmelisiniz.

Her bir WSDL dosyası için bir istemci desteklenmektedir. Daha fazla istemci oluşturabilir ya da birleşik bir servis oluşturup Mobile Client to Web Application Generator ile erişebilirsiniz.

Özel veri tipleri enumeration gibi ve diğer WS – I uyumlu olmayan veri tipleri için wrapper sınıfı oluşturulur ve bunun üzerinden Mobile Client to Web Application erişimi sağlar.

Secure (Güvenli) URL’ler firewall arkasındaysa ve özel Proxy ayarları gerektiriyorsa henüz Mobile Client to Web Application Generator tarafından desteklenmemektedir. Bunun için WSDL dosyasını kendiniz indirmelisiniz.

Web Servislerini oluşturabilmeniz için JDK 1.5 gereklidir. Eğer JDK 1.5’e sahip değilseniz veya JDK 1.4 ile limitli iseniz Tools -> Update Center kısmından gerekli modülleri indirebilirsiniz.

JAVA ME Web Services (JSR – 172) istemcisi oluşturmak

JSR 172 destekli cihazlarda çalıştırmak üzere iki katmanlı web servisi istemcileri oluşturmanız mümkündür. Bu istemci SOAP Protokolünü kullanarak direkt olarak web servisi ile konuşabilir.

Öncelikle JSR – 172 destekli bir cihaz veya emülatör sahibi olmanız beklenmektedir. Ayrıca WS – I uyumlu, bilgisayarınızda bulunan veya internet üzerinden erişilebilen bir WSDL dosyasına sahip olmalısınız.

Yeni bir mobil uygulama oluşturduktan sonra sağ tuş tıkla New File kısmından MIDP altından Java ME Web Service Client eklenir.

Daha sonra WSDL dosyası eklenir. WSDL dosyası ağda bir sunucuda ise adresi yazılır ve Retrieve WSDL ile dosya çekilir.

"WSDL file is not WS-I compliant as required by the specification," şeklinde bir hata alırsanız WSDL dosyasından istemci oluşturulamamış demektir. Bu durumda WSDL dosyasının stilini değiştirebilirsiniz. Diğer seçenek ise üç katmanlı istemci oluşturmaktır.

Bazı durumlarda CLDC 1.1 veri tiplerini CLDC 1.0 veri tiplerine dönüştürmeniz yani float ve double türündeki verileri string’e dönüştürmeniz gerekebilir. Bunun için “Convert floating point to String” seçeneğini işaretledikten sonra generate stubs tuşuna basın.

Otomatik oluşturulan dosyalar üzerinde değişiklik yapmamalısınız çünkü yeniden oluşturulduklarında yaptığınız değişiklikler kaybolacaktır.

Artık servisi kullanabilirsiniz. Fakat örneğin C:\Program Files\NetBeans 6.0\mobility8\WTK2.5.2\bin klasörü içindeki prefsw programından güvenlik ayarını maximum ayarlamak gerekir. Ayrıca projeyi deploy etmeden önce proje ayarları kısmından Application Descriptor kısmından API Permissions kısmından gerekli ayarları vermeniz gerekebilir.

Bu projede oluşturulan servis kolaylık açısından Microsoft Visual Studio ile oluşturulmuştur. Ve WSDL dosyasının URL adresi şu şekildedir.

http://localhost:1411/OrnekServis/Service.asmx?WSDL

Örneğin Microsoft Visual Studio ile oluşturduğunuz Service isimli bir servisten oluşturduğunuz servise şu şekilde ulaşabilirsiniz. service isimli package altında Service_Stub isimli bir java dosyası oluşturulduğunu görebilirsiniz.

 

public void commandAction(Command command, Displayable displayable) {

// write pre-action user code here

if (displayable == form) {

if (command == itemCommand) {

// write pre-action user code here

// write post-action user code here

service.Service_Stub srv = new service.Service_Stub();

try{

stringItem.setText(String.valueOf(srv.Topla(3, 5)));

}catch(Exception e){

stringItem.setText(e.getMessage());

}

}

}

// write post-action user code here

}

Yasin Hasan Karanfil