[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
> TCP/IP)
> 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.
/Joe
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
More information about the erlang-questions
mailing list