Java Web Start ve JNLP
JNLP: Java 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.
Java Web Start (JWS): Başka bilgisayardaki jar dosyasını bilgisayarınızdaki JVM (Java 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, Java 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 Java 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 Java 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>Java 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 Java 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.
-
package com.kartocad;
-
import java.awt.*;
-
import java.awt.event.*;
-
import javax.swing.*;
-
/**
-
* @author Revne
-
*/
-
public KViewer() {
-
super("KartoCAD");
-
file.showOpenDialog(null);
-
//Diğer şeyler......Dosyayla ne yapmak istiyorsanız artık
-
}
-
});
-
}
-
KViewer kview=new KViewer();
-
kview.setDefaultCloseOperation( EXIT_ON_CLOSE );
-
kview.setSize( 640, 480 );
-
kview.setVisible( true );
-
}
-
}
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
Yazdır
| 1,845 Görüntülenme | Kategori: Diğer Diller, Donanım/Hardware, Programlama |
Geri İzleme
Etiketler: JWS, JNLP, Java Web Start, java, JARBenzer Yazılar
Yorum Yap
XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

18 Şubat 2009 |












Henüz yorum yapılmamış.