wow, thanx nu. membantu sekali hehehehe. gw butuh sebagai client aja sih :D, 
klo loe punya dokumentasinya boleh tuh ;))

Ifnu bima <[EMAIL PROTECTED]> wrote:                             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
 
     
                                       

       

Reply via email to