[erlang-questions] Erlang for Payment Systems

Joe Armstrong erlang@REDACTED
Sat Apr 30 10:43:49 CEST 2016

On Sat, Apr 30, 2016 at 12:09 AM, Hassan Sowwan <h_sowwan@REDACTED> wrote:
>  Hello,
> I am trying to implement payment messaging middleware and would like to
> explore the option of using Erlang/OTP.
> The application will be used in banking industry to interface with EFT
> payment switch/networks and core banking system to process card
> transactions.
> It will be responsible to perform following tasks:
> Communicate with external interfaces using ISO 8583 messaging format ( thru
> Receive huge amount of data over the socket ( HEX, BINARY, EBCIDIC), which
> represents financial transactions.
> Parse/decode the received data.
> Perform some checking in database for validation
> Interface with host security module to validate customer PIN and other
> security checks.
> Sends the request to core banking system via XML or web services call
> Respond back to external interfaces by formulating the response message in
> ISO 8583 format
> Obviously, such applications have to be concurrent and fast enough to
> process transactions within few seconds.
> Now my question here, is Erlang a good choice for implementing this type of
> applications ?
> Can Erlang handle string processing efficiently without impacting the system
> performance?
> As stated before, there will be a lot of string manipulation to decode data
> received over the network, so I am not sure whether erlang fits perfectly or
> not.

I think you've missed the most important criteria for choosing a technique.

Fault tolerance - If I was building a financial system #1 of my requirements
would be fault tolerance -  people will be very cross if money just
mysteriously vanishes from the system.

#2 would be correctness

So my questions would be how can we make a system fault tolerant and
how can we ensure correctness.

Making things fast is *easy* - making things fault-tolerant is
extremely difficult.

String manipulation in Erlang is blindingly fast (it's admittedly a
lot slower than C) but your program should not be manipulation strings
- but
trees representing financial objects.


> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list