Feature Post

Top

Mysim9: Personal/customizable simulator

Download from Codeplex: http://middleware.codeplex.com/


Updated: 2012/Feb/24 - Added screenshots

Updated: 2015/May/27 - Added download link: https://middleware.codeplex.com/downloads/get/1458927


Motivation

While interacting with middleware, or other similar software, there comes a need of a highly customizable simulator that should work handy, for the developers as well as testers. Based upon ISO8583’s financial transaction messages.

Requirement
  • Shall work as a client
    • Multiple client-instances shall also be supported
  • Shall work as a server
    • Shall connect multiple client at a time
    • Shall respond to each client accordingly
  • Shall provide a user interface to configure the format.
User Interface


FIG 1: MySim9 Simulator
Options
  • Generate Sample
  • Edit
  • Reload
  • Help, this help.
  • Browse data file button
  • List of simulations available
  • List of Transactions available for a simulation
  • Start button
  • Send button
Definitions
  1. Generate Sample
    Generates sample simulator file, contains specific simulations.

FIG 1.1: Generate sample xml option
  1. Edit
Edits the simulator file (xml) file, in the default edit(for instance, notepad.exe)
  1. Reload
Reloads all the transactions from simulator file
  1. Help
Provides this help file.
  1. Browse data file button
Browse button provides a window to select the simulator file (.xml)
  1. List of simulations available
Simulations list box provides list the of simulations available in the simulator file. By default top most simulator is selected, when you click the reload button
  1. List of Transactions available for a simulation
Transactions list box provides the list of transactions in the selected simulator.
  1. Start button
In case of client, it starts trying to connect to server; In case of server, it starts the listening process.
  1. Send button
Sends the text to the selected displayed on the complete message text box.
    1. In case of server, it sends the message to all of the clients
    2. In case of client, it sends the message to server.
How to use – step wise
  1. Double click to run the application
    1. Prerequisites,
      • MySim9.exe must be having the simulator file (.xml) with it in the same directory
      • MySim9.exe must be having the Avanza.Networker.Dll in the same directory.
  1. Choose the browse button to select the a valid simulator file (.xml)
  2. Click reload button to load the contents of the xml file
  3. Click on start button to run the process.

FIG2: MySim9, on the run
How to configure simulator file


Data Types
Type.DFont sizeate
Works for 8(yyyyMMdd) and 14(yyyyMMddhhmmss) and the formatting defined as the field value. For instance, mmddyyyy

Type.Time
Works for 6(hhmmss)

Type.Number
Adds the number

Type.AutoNumber
Creates an auto number of the provided length

Type.String
Text based data


Simulator Attributes
  1. Simulator name
Name of the simulator
  1. Server
True means it’s a server.
  1. IP
IP address
  1. Port
Port
  1. Meta length
Length of message that is padded on the top of message. For instance 4 bytes ascii or 2 bytes binary.
  1. Meta Type
Type of coding, supports binary, ascii, and hexa
  1. Separator
Separator to be defined in between the message
  1. Delimited
If true, means concat message without separator.
  1. Request code
Request code, ISO8583 financial transaction, 0200
  1. Response code
Response code, ISO8583 financial transaction, 0210

Header Field Attributes
  1. Name
    1. Name of the transaction
  2. Data type
    1. Type of data being provided
  3. Length
    1. Length of field
  4. AutoPad
    1. Pads automatically depending upon the length of the field
  5. PadRight
    1. If false then pad left, otherwise pads right
  6. PadChar
    1. Char to be padded
  7. Field value
    1. Value of the field.
Transaction Attributes
  1. Transaction name
  2. Transaction code
Pre-requisites/Mandatory
  1. The name of transaction code field in the header attribute, must be “Transaction Code”, otherwise system will not be able to work properly.
Known Issues & Workarounds
  1. No schema validation upon selecting the xml file.
    1. Workaround: Use specified format, for now.
  2. Can’t handle linear talking sessions, for instance, IVR requests to Middleware requests to Core banking requests to HOST and then HOST responds to core banking responds to middleware responds to IVR.
    1. Workaround: Future development, volunteer help.
  3. Button text doesn’t change when in client mode, when the client is forcefully stopped.
    1. Workaround: Restart app.
Enhancement Areas

  1. Add complete ISO8583 message base (including network messages)
  2. Support all versions, ISO 8583-1-1987, ISO 8583-2-1993, ISO 8583-3-2003
  3. Support all origins, Aquirer, Aquirer Repeat, Issuer, Issuer Repeat, Other, Other Repeat.
  4. Support all functions, Request, Response, Advice, Advice Response, Notification., Response Acknowledgement, Negative Acknowledgement.
  5. And support all classes/types of messages, Authorization, Reserved by ISO, Fee Collection, Administrative, File Actions, Financial, Reversal, Reconciliation, Network Management.
Report bugs/ideas, if you have.