hi, kalo JPos librarynya memang gratis,cuman dokumentasi dan samplenya beli yah :D
pada dasarnya aplikasi JPos bisa jadi 2 mode, client atau server. perbedaan kedua mode ini cuma mana yang harus duluan initiate request. Kalau client logikanya adalah send message duluan kemudian menunggu reply, kemudian di sisi server nunggu message kemudian reply lagi ke cleint. kita bahas satu2 mulai dari servernya dulu. Server pertamakali yang harus dilakukan adalah menyiapkan class yang implement interface IsoRequestListener, misalnya public class IsoListerner implements ISORequestListener{ public boolean process(ISOSource source, ISOMsg msg) { //handle request ISOMsg reply = handleRequest(msg); //reply request source.send(reply); } public ISOMsg handleRequest(ISOMsg msg){ return new ISOMsg(); } } kemudian kode untuk jalanin servernya kira-kira begini : public class Iso8583Server{ public static void main(String[] args) { BASE24Packager packager = new BASE24Packager(); ServerChannel channel = new BASE24TCPChannel(); channel.setPackager(packager); ISOServer server = new ISOServer(123, channel, null); server.addISORequestListener(new IsoListerner()); } } langkah pertama adalah menentukan packagernya, dalam hal ini adalah Base24 packager, BASE24Packager packager = new BASE24Packager(); kemudian membuat Server channel untuk membuka socket, dalam hal ini Base24TCP ServerChannel channel = new BASE24TCPChannel(); channel.setPackager(packager); kemudian membuat isoserver dan menambahkan listenernya ISOServer server = new ISOServer(123, channel, null); server.addISORequestListener(new IsoListerner()); setelah itu jalankan servernya di thread yang berbeda new Thread(server).start(); Kalau diminta bahwa aplikasi kita harus jalan sebagai client, prosesnya sedikit berbeda, karena client tidak buka koneksi hanya melakukan koneksi ke server, jadi langkah-langkahnya sedikit berbeda kalau aplikasi kita harus jalan sebagai client kita akan buat 2 class, class untuk jalanin client, dan class untuk process messagenya public class IsoClient { public static void main(String[] args) { BASE24Packager packager = new BASE24Packager(); BASE24TCPChannel channel = new BASE24TCPChannel("localhost", 123, packager); channel.connect(); IsoClientProcessor process = new IsoClientProcessor(); while(channel.isConnected()){ ISOMsg msg = channel.receive(); ISOMsg reply = process.processMessage(msg); msg.getSource().send(reply); } } } public class IsoClientProcessor{ public ISOMsg processMessage(ISOMsg msg){ //process incoming message //then create reply message return new ISOMsg(); } } penjelasan : pertama buat dulu packager yang sama persis dengan sisi servernya: BASE24Packager packager = new BASE24Packager(); kemudian bikin channel untuk koneksi ke socket yang juga sama persis dengan servernya, "localhost" adalah nama servernya, 123 adalah portnya, dan packager berasal dari Base24packager diatas BASE24TCPChannel channel = new BASE24TCPChannel("localhost", 123, packager); berikutnya adalah mencoba melakukan koneksi ke server channel.connect(); setelah itu, client menjalankan forever loop, sampe channelnya terputus, didalam loopnya si client ini menunggu ada message masuk, kemudian memproses message baru kemudian bales lagi message yang masuk IsoClientProcessor process = new IsoClientProcessor(); while(channel.isConnected()){ ISOMsg msg = channel.receive(); ISOMsg reply = process.processMessage(msg); msg.getSource().send(reply); } } tutorial diatas nggak sepenuhnya jalan, karena hanya kode yang saya ketik di sini saja, mungkin ada typo atau error. Untuk memudahkan proses handling message ini gunakan pattern yang disebut Resolver [1] dan Handler[2], trus jangan lupa gunakan JUnit[3] dan Logging [4] secara extensive, JUnit menyelamatkan banyak waktu gw pas development, dan Logger membantu banyak pas testing dan deployment [1] wah lupa deh linknya, coba cari di core j2ee pattern [2] idem sama yang diatas [3] http://endy.artivisi.com/downloads/presentations/ruthless-testing-1/ruthless-testing-1.html [4] http://endy.artivisi.com/blog/java/menggunakan-log4j/ selamat belajar On 8/12/08, naray citra <[EMAIL PROTECTED]> wrote: > ada yang tau gak lib gratis untuk baca ISO8583 di Java? gw nemu JPos tapi > cara pakenya bayar :(( > > -- Senior Engineer @ ArtiVisi Intermedia Java Training Center See our course @ artivisi.com http://ifnu.artivisi.com +62 856 9211 8687 regards