CoE JNLP Framework

โปรแกรมชุดนี้เป็น framework สำหรับพัฒนาโปรแกรมเพื่อให้ดาวโหลดและติดตั้งผ่าน Java Web Start ได้ง่ายๆ โดยจะมี Launcher และ Installer ไว้ให้ใช้ ซึ่ง Launcher จะสามารถแสดง icon ที่ Taskbar ของระบบปฏิบัติการ หรือที่เรียกว่า System Tray ได้ ส่วน Installer ก็จะใช้ความสามารถของ Java Web Start ในการแสดง Status และ Progress bar สำหรับบอกข้อมูลเกี่ยวกับการติดตั้งนั้นๆ (screen shot)

ความสามารถ

  1. มี Installer สำหรับใช้ติดตั้งโปรแกรม
    ขณะนี้โปรแกรมสามารถติดตั้ง zip ไฟล์ (ไฟล์เดียว) ซึ่งจะ pack รวมอยู่ใน JAR ไฟล์ (เป็นไปตามข้อกำหนดของ JNLP) โดยจะกำหนดชื่อ zip ไฟล์ ไว้ใน launcher.properties ไฟล์
  2. มี Launcher สำหรับเรียกโปรแกรมมาทำงาน
    ขณะนี้โปรแกรมสามารถกำหนดให้เรียกคลาสใดๆมารัน (start/stop) ได้ โดยกำหนดไว้ที่ launcher.properties ไฟล์ แต่วางแผนไว้ว่าจะให้สามารถรับ event จากโปรแกรมที่รันมาแสดงสถานะได้ และเรียก method อื่นๆได้ตามต้องการ
  3. แสดง icon และเมนู ที่ System Tray ได้
    ขณะนี้จะมี icon เดียว และเมนู Exit เท่านั้น แต่วางแผนไว้ว่าจะให้สามารถเปลี่ยน icon ไปตามสถานะการทำงานของโปรแกรมได้ และเมนูก็จะสามารถกำหนดเองได้ง่ายๆ

สิ่งที่ต้องการ

  1. JNLP Developer's Pack
  2. SysTray for Java
  3. Apache Ant

ข้อจำกัด

  1. เนื่องจากการแสดง icon ที่ System Tray นั้น สร้างจาก SysTray for Java ซึ่งขณะนี้ทำงานได้เฉพาะบน Windows เท่านั้น

วิธีใช้งาน

  1. เตรียมโปรแกรมทั้งหมด zip ไว้
  2. เตรียม JNLP ไฟล์และ HTML ไฟล์ สำหรับเรียกและเป็นโฮมเพจ ไฟล์ภาพสำหรับเป็น icon และ splash
  3. กำหนดค่า property ต่างๆใน build properties ไฟล์ตามที่ต้องการ โดยเริ่มต้นนี้ ค่า prj.propertyfile ใน build.xml จะอ้างถึงไฟล์ build.example.properties ในตัวอย่าง หากสร้างใหม่ จะต้องแก้ไขค่า prj.propertyfile นี้ ให้อ้างถึงไฟล์ของท่าน
  4. เรียก ant all เพื่อสร้าง WAR ไฟล์
  5. นำ WAR ไฟล์ที่ได้ไปติดตั้งบน Servlet Engine

หมายเหตุ:
หากไม่สามารถติดตั้งบน Servlet Engine ได้ ท่านสามารถ unzip WAR ไฟล์ออกมาแล้วแก้ไข JNLP ไฟล์ ตรงจุดที่ระบุ $$codebase ให้เป็น URL ของโฟลเดอร์ที่ท่านติดตั้งบน Web Server นั้นๆ และ $$name เป็นชื่อ JNLP ไฟล์ที่กำลังแก้ไขอยู่

รายละเอียด

build.example.properties

เป็นไฟล์ที่กำหนดค่า property ต่างๆให้กับ Ant เพื่อทำการ build ให้ได้ผลลัพธ์ตามที่ต้องการ

Property
Default
Description
Framework   properties สำหรับการ build
dir.src src โฟลเดอร์ที่เก็บ source code ทั้งหมดของ framework
dir.build build โฟลเดอร์ที่เก็บไฟล์ที่ได้จากการ compile, jar, filter หรืออื่นๆเพื่อเตรียม pack เป็น WAR ไฟล์
lib.jnlp.dir
../javaws1.2 โฟล์เดอร์ของ JNLP Developer's Pack
lib.jnlp.jar
${lib.jnlp.dir}/jnlp.jar JNLP ไฟล์

lib.jnlp-servlet.jar

${lib.jnlp.dir}/jnlp-servlet.jar JNLP Servlet ไฟล์
lib.systray4j.dir
../systray4j โฟล์เดอร์ของ SysTray for Java
lib.systray4j.jar
${lib.systray4j.dir}/systray4j.jar JAR ไฟล์ ของ SysTray for Java
lib.systray4j.windows
${lib.systray4j.dir}/systray4j.dll Windows native library ไฟล์ของ SysTray for Java

lib.systray4j.kde

${lib.systray4j.dir}/unknown KDE native library ไฟล์ของ SysTray for Java
Application   properties ของโปรแกรมที่ต้องการ build
app.name
Example 1.0 Application name for showing in Java Web Start
ชื่อโปรแกรมสำหรับให้ Java Web Start แสดง
app.dir
example Application Folder
folder ที่เก็บไฟล์ต่างๆของ application
app.keystore.file
Keystore.jks keystore file for signing JAR file
ชื่อ keystore ไฟล์ที่เก็บ certificate สำหรับ sign JAR ไฟล์
app.keystore.password
examplekey keystore password
รหัสผ่านของ keystore
app.signer.id
example signer id
ชื่อผู้ sign
app.signer.password
examplepass signer password
รหัสผ่านของผู้ sign
app.zip
program.zip zip file of all application files
ชื่อ zip ไฟล์ที่รวมโปรแกรมไว้
app.zip.prefix
program/ first folder name in the zip file that will be remove when unzip (should be end with /)
ชื่อ folder เริ่มต้นใน zip ไฟล์ที่ต้องการตัดออกเมื่อ unzip (ควรจะลงท้ายด้วย / )
app.jar example-1.0.jar JAR file name for installation
ชื่อ jar ไฟล์ที่สร้างขึ้นสำหรับใช้ในการติดตั้ง
app.war example-1.0.war WAR file name of result
ชื่อ WAR ไฟล์ที่เป็นผลลัพธ์ เมื่อติดตั้ง ชื่อไฟล์นี้จะกลายเป็นชื่อโฟลเดอร์หลัก
app.icon example_icon.jpg graphic file for make an icon for showing a shortcut or menu
ชื่อไฟล์ภาพ ที่ใช้แสดงเป็น icon เมื่อสร้างเป็น shortcut หรือ เมนู
app.splash example_splash.jpg graphic file for display on the application splash screen
ชื่อไฟล์ภาพที่ใช้แสดงใน splash screen
app.others program.jar other files that will be packed with WAR file (no filter), comma seperate, full file name, *.ext, or **/*.ext for any folder
ไฟล์อื่นๆที่ต้องการจะรวมไว้ใน WAR ไฟล์ (ไม่แปลง macro), คั่นแต่ละไฟล์ด้วย comma, จะเขียนชื่อเต็มๆ, *.นามสกุล หรือ **/*.นามสกุล สำหรับโฟล์เดอร์ใดๆ
app.home.property psu.coe.jnlp.example Property name for application to detect installed folder must be unique.
ชื่อ property ที่ใช้บอกว่าโปรแกรมติดตั้งไว้ที่ไหน จะต้องตั้งให้ไม่ซ้ำกับโปรแกรมอื่นๆ
app.main.path   classpath for application main class
classpath สำหรับ main โปรแกรม (แยกด้วย comma)
app.main.class Example application main class
ชื่อคลาสที่เป็น main ของโปรแกรม
app.main.start.method main method name for starting application must has String[] argument
method สำหรับเริ่มต้นโปรแกรม จะต้องมีอากิวเมน์เป็น String[]
app.main.start.args start Arguments string for start method
Argument สำหรับใช้เรียก start method
app.main.stop.method main method name for stopping application must has String[] argument
method สำหรับจบโปรแกรม จะต้องมีอากิวเมน์เป็น String[]
app.main.stop.args stop Arguments string for stop method
Argument สำหรับใช้เรียก stop method

JNLP ไฟล์

รายละเอียดใน JNLP ไฟล์นั้นเป็นไปตามมาตรฐาน JNLP 1.0.1 โดยมี macro เพิ่มเติมที่ขึ้นต้นด้วย $$ ซึ่งเป็นความสามารถของ JNLP Developer's Pack นอกจากนี้ ท่านยังสามารถระบุค่าของ property ต่างๆใน properties ไฟล์ได้ด้วยการขึ้นต้นด้วย @ ตามด้วยชื่อ property และลงท้ายด้วย @ เช่น @app.name@ เป็นต้น

แหล่งอ้างอิง

  1. Java™ Web Start
  2. SysTray for Java
  3. Apache Ant

since September 2002
Web Counter by http://www.digits.com
Last updated : Thursday, 4 December, 2003 14:07

Copyright © 2002-2004 Somchai LIMSIRORATANA. All rights reserved.