Java Web Start ve JNLP

Yazan: Revne | Tarih 18 Şubat 2009 | Yorum  Yorum Yok
BerbatKötüOrtaGüzelHarika 2 kez puan verildi, Ortalama: 5.00 (5 üzerinden)
Loading ... Loading ...

JNLP: Network Launching Protocol. Başka bilgisayardaki JAR dosyasının bilgisayarınızın belleğine alınması için geliştirilen bir veri alıp-verme protokolu.
Web Start (JWS): Başka bilgisayardaki jar dosyasını bilgisayarınızdaki JVM ( Virtual Machine) ile bağlantısını sağlıyor.
JWS JNLP protokulu uzerinde calisan bir uygulama gibi düşünebiliriz.

Bu teknolojinin çıkmasındaki en onemli neden, ile geliştirdiğiniz ve Web oratmında kullandığımız Applet'lerde güvenlik gerekçesiyle, bilgisayarınızın dosya sistemine ve belleğine erişiminin engellenmiş olması. Fakat siz hem kullanıcının dosya sistemine erişmek hemde programınızı web uzerinden çalıştırmak istiyorsanız Web Start tam size göre.

Bu teknolojiyi kullanırken uygulamalarınızı bir kutuphane (jar dosyası) seklinde saklayorsunuz. Bu jar dosyasına ulaşmanızı sağlayan bir XML(jnlp uzantılı) dosyası hazırmanız yetiyor. Jar dosyasını websitenize koyup jnlp dosyasının içine nerde olduğunu link vererek jar dosyasına ulaşımı sağlamış oluyorsunuz. Kullanıcının JNLP dosyasına tıklamasıyla Web Start Başlayıp JAR dosyasından Class'lari belleğe yukleyip uygulamayı çalıştırıyor. Bu uygulamayı kullanan sitelerin başında www.topcoder.com geliyor.
Istersenin JNLP dosyasının içeriğine bir bakalım.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="JAR Dosyasinin Bulundugu Klasor" spec="1.0+">
<information>
<title> Web Start Çalışınca Gorunecek Uygulama Adi</title>
<vendor>Uygulamayı Yazan kişi veya firma</vendor>
<homepage href=""/>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+"/>
<jar href="Burada JAR dosyasının adi"/>
</resources>
<component-desc/>
<application-desc main-class="Program hangi classtan Çalışmaya başlayacak"/>
</jnlp>

Bir de örnek uygulama ekleyelim tadından yenmesin.
Hangi IDE yi kullandığınızı bilmiyorum. Ben NetBean kullandığımdan yine NetBean üzerinden anlatacagım. IDE mizde KartoDB diye yeni bir Class Library Projesi açıyorum. Içine KViewer diye bir Class ekliyorum.. Burada yazacagım Classın Swing uygulaması olması zorunluluğu yok. Istediginiz turden uygulamayı kullanbilirsiniz.Denemedim ama Console uygulması bile kullanabiliyorsunuz.

:
  1. package com.kartocad;
  2. import .awt.*;
  3. import .awt.event.*;
  4. import javax.swing.*;
  5. /**
  6.  * @author Revne
  7.  */
  8. public class KViewer extends JFrame{
  9.  public KViewer() {
  10.   super("KartoCAD");
  11.   JButton btn=new JButton("Dosya Aç");
  12.   btn.addActionListener(new ActionListener() {
  13.    public void actionPerformed(ActionEvent e) {
  14.     JFileChooser file=new JFileChooser();
  15.     file.showOpenDialog(null);
  16.     //Diğer şeyler......Dosyayla ne yapmak istiyorsanız artık
  17.    }
  18.   });
  19.   Container cnt=getContentPane();
  20.   cnt.add(btn,BorderLayout.NORTH);
  21.   cnt.setBackground(Color.BLACK);
  22.  }
  23.  public static void main(String[] args){
  24.   KViewer kview=new KViewer();
  25.   kview.setDefaultCloseOperation( EXIT_ON_CLOSE );
  26.   kview.setSize( 640, 480 );
  27.   kview.setVisible( true );
  28.  }
  29. }

Programımı derleyip kapatıyorum.
launcher.jnlp adinda bir dosya oluşturup içine aşagıdakileri yazıyorum.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="http://www.tanberi.com/wp-content/" spec="1.0+">
<information>
<title>KartoDB</title>
<vendor>Revne</vendor>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.3+"/>
<jar href="KartoDB.jar"/>
</resources>
<component-desc/>
<application-desc main-class="com.kartocad.KViewer"/>
</jnlp>

Bu dosyayı kaydettikten sonra jnlp dosyasına tiklayip uygulamamı çalıştırabiliyorum.

Burada Launch.jnlp linkine tıkladıgınızda sitede bulunan KartoDB.jar içinde depoladığım uygulamayı çalıştırmış olursunuz.
Not: Eğer JNLP linki direk tıklayarak çalışmıyorsa Farklı Kaydet.. ile indirin, oyle çalıştırın.

kartodb.jar
launch.jnlp
Kodların Tamamı

Kolay Gelsin

Çok sevdim, başkalarıyla paylaşayım:
  • Google Bookmarks
  • Facebook
  • MySpace
  • TwitThis
  • del.icio.us
  • Digg
  • Live
  • YahooMyWeb
  • Technorati
  • StumbleUpon
Yazdır Yazdır | 1,845 Görüntülenme | Kategori: Diğer Diller, Donanım/Hardware, Programlama | Trackback  Geri İzleme
Etiketler  Etiketler: , , , ,

Benzer Yazılar


Yorum Yap


(gerekli)

(gerekli,yayınlanmaz)




XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>