Implementasi Menggunakan Java
Nah setelah kita mengetahui format message ISO 8583, sekarang bagaimana meng-implementasikan-nya pada bahasa pemrograman Java ? Sebelum kita menulis kode, yang harus kita lakukan pertama kali yaitu adalah menyusun spesifikasi yang akan kita gunakan untuk berkomunikasi. Pada kenyataan-nya, spesifikasi ini sangat penting peranan-nya dan ada kemungkin tiap vendor mempunyai spesifikasi yang berbedaantara satu dengan yang lain. Sebagai catatan, perhatikan betul-betul spesifikasi yang sudah disepakati bersama. Dan sekarang, bagaimanakah cara membuat sebuah spesifikasi untuk message ISO 8583dan implementasi-nya pada bahasa pemrograman Java akan kita bahas pada bab-bab dibawah ini :
Pembuatan Spesifikasi Message Network Management
Agar komunikasi antara server dan client dapat berjalan dengan sukses, maka diperlukan sebuah kesepakatan yang harus ditaati oleh kedua belah pihak. Beberapa persyaratan tersebut yaitu mencakup tentang :
- Message Protokol, protokol yang akan digunakan dalam contoh kasus ini adalah ISO 8583:1993 yang ditandai dengan angka 1 (satu) pada MTI (Message Type Indicator).
- Connection Type, mode koneksi yang akan digunakan adalah mode connection-oriented dimana client membuka koneksi ke server sekali dan mengirimkan banyak message (connect once -> many transaction)
- Message System, untuk seluruh message yang dikirimkan ke server harus menggunakan 4 bit header sebagai penanda panjang message yang dikirimkan
- NETWORK MANAGEMENT REQUEST
- Message Type Identifier : 1800
- Sender : Client
- Purpose : Request network management action to Server
- NETWORK MANAGEMENT RESPONSE
- Message Type Identifier : 1810
- Sender : Server
- Purpose : Response network management action for Client
- 000 = Successfull
- 001 = Timeout from Server
- 002 = Invalid Network Information Code
- 003 = Invalid Processing Code
Data Element | Name | Subfield | Type | Length | Format | Description |
---|---|---|---|---|---|---|
MTI | N | 4 | For request use 1800 | |||
1 | Bitmap | H | 16 | Use field = 3,7,11,12,13,48 and 70 | ||
3 | Processing Code | N | 6 | Default set to 000001 | ||
7 | Transmission Date and Time | N | 8 | yyyyMMdd | Transmission Date and Time | |
11 | System Trace Audit Number | N | 6 | zero-left-padding | Unique number from client | |
12 | Local time transaction | N | 6 | HHmmss | Transaction time from client | |
13 | Date local transaction | N | 4 | mmdd | Date transaction from client | |
48 | Additional Private Data | N | 3 | zero-left-padding | Lenght of Additional Private Data | |
48 | Additional Private Data | ClientID | N | 7 | zero-left-padding | Client identification number |
70 | Network Information Code | N | 3 | 001=sign-on, 002=sign-off, 003=echo-test |
Data Element | Name | Subfield | Type | Length | Format | Description |
---|---|---|---|---|---|---|
MTI | N | 4 | For request use 1800 | |||
1 | Bitmap | H | 16 | Use field = 3,7,11,12,13,39,48 and 70 | ||
3 | Processing Code | N | 6 | Default set to 000001 | ||
7 | Transmission Date and Time | N | 8 | yyyyMMdd | Transmission Date and Time | |
11 | System Trace Audit Number | N | 6 | zero-left-padding | Unique number from client | |
12 | Local time transaction | N | 6 | HHmmss | Transaction time from client | |
13 | Date local transaction | N | 4 | mmdd | Date transaction from client | |
39 | Response Code | N | 3 | Available Response Code : | ||
48 | Additional Private Data | N | 3 | zero-left-padding | Lenght of Additional Private Data | |
48 | Additional Private Data | ClientID | N | 7 | zero-left-padding | Client identification number |
70 | Network Information Code | N | 3 | 001=sign-on, 002=sign-off, 003=echo-test |
Pembuatan Aplikasi Server
Sekarang buatlah sebuah project Java biasa pada NetBeans IDE dan berilah nama project tersebut contohnya Implementasi, dan buatlah sebuah package dahulu dengan namaid.web.martinusadyh.iso8583.helper. Didalam package yang telah kita buat, buatlah sebuah helper class dengan nama DecimalHexBinaryConverter.java yang mempunyai fungsi sebagai konverter ketika kita ingin menghitung nilai Bitmap yang kurang lebih seperti kode dibawah ini :
- id.web.martinusadyh.iso8583.helper.DecimalHexBinaryConverter.java
- id.web.martinusadyh.iso8583.helper.ISOUtil.java
- id.web.martinusadyh.iso8583.socket.ServerISO.java
No comments:
Post a Comment