devprg

applet library location

Posted in Applet, General Web App, Java by devprg on 06.07.2009

dimanakah menempatkan library (JAR) yang digunakan oleh applet? apakah harus diletakkan dalam WEB-INF/lib seperti umumnya jar untuk aplikasi web lain?

Perhatikan perbedaan ini : Servlet dieksekusi di server. Applet dieksekusi di client. Karena servlet dieksekusi di server, maka servlet bisa mengakses library yang terdapat di WEB-INF/lib.

WEB-INF/lib memiliki sifat tidak bisa diakses dari luar web aplikasi. Oleh karena applet dianggap sebagai aplikasi client, maka applet tidak bisa mengakses library yang ada di WEB-INF/lib. Oleh karena itu, library JAR untuk applet diletakkan di folder biasa seperti file JSP/JSPX lainnya.

direct printing 1

Posted in ADF, Applet, General Web App by devprg on 02.07.2009

Tujuan: dari aplikasi web j2ee, server bisa mencetak pada printer yang terpasang pada komputer client. Misalnya pembuatan report dilakukan dengan jasperreport. Jasperreport dieksekusi di server lalu hasilnya langsung tercetak printer client.

Upaya pencarian melalui Google dan Yahoo menghasilkan pendapat umum sbb:

  • PHP versi windows bisa mengerjakan hal tersebut. (Belum dibuktikan)
  • Aplikasi web tidak diperbolehkan mengerjakan hal tersebut, karena itu berarti lubang pada security. Bayangkan ketika kita mengakses Yahoo lalu tiba-tiba server Yahoo bisa mencetak di printer kita.
  • Ada beberapa solusi komersial non opensource dengan harga kira-kira $ 8000 per server.
  • Belum ada solusi open source yang cukup memuaskan.
  • Belum tahu apakah Javascript punya fasilitas direct printing

Setelah berdiskusi dengan Google dan Yahoo,  diperoleh ide dasar untuk membuat solusi sederhana masalah ini sbb:

  • Jasperreport menghasilkan report dalam format PDF di server
  • Karena applet bisa mengakses printer, maka dibuat applet yang bisa membaca dari direktori server dan mengirimnya ke printer.
  • Supaya applet bisa mengirim pdf ke printer, maka harus dicari library-library yang bisa melakukan pencetakan PDF
  • Setelah selesai mencetak, bila diharuskan, hapus file PDF yang terletak di webserver

Ketika ditanya mengenai library java yang mencetak PDF, Google dan Yahoo sepakat memberikan alternatif:

  • pdfbox
  • icepdf
  • pdfrenderer
  • dll, maksudnya ada yang lain tetapi belum menarik untuk dieksplorasi lebih lanjut

Ketika framework j2ee yang digunakan untuk membangun aplikasi adalah ADF, isu-isu ini timbul:

  • Bagaimana applet bisa memerintahkan server untuk mencetak report?
  • Bagaimana ADF bisa memberitahu applet apa nama report yang dihasilkan dan dimana lokasinya. Pertanyaan dimana lokasinya juga terkait dengan kebiasaan ADF menggunakan nama folder ‘faces’ yang merupakan folder virtual. Contoh : http://nama_server/nama_app/faces/thepage.jspx  Apakah ini akan menimbulkan masalah???
  • Bagaimana kalau aplikasi tersebut dijalankan dari dalam WAR atau EAR? Apakah proses penulisan file akan tetap normal seperti bila dijalankan dari exploded app?
    Ikuti

    Get every new post delivered to your Inbox.