[erlang-questions] Erlang for Payment Systems

Hassan Sowwan <>
Mon May 9 18:42:11 CEST 2016


Thanks for your comments, the point is clear now.
 
Just one thing to add, for online transaction processing (OLTP), what is the best approach to deal with RDBMS?
 
For each transaction received, the system has to access the database and perform some sort of validations and log the request, and finally the request will be updated when receiving the response back from external systems.
 
How this can be done efficiently especially that erlang uses ODBC drivers.
 
> Date: Sat, 30 Apr 2016 10:43:49 +0200
> Subject: Re: [erlang-questions] Erlang for Payment Systems
> From: 
> To: 
> CC: 
> 
> On Sat, Apr 30, 2016 at 12:09 AM, Hassan Sowwan <> 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
> > 
> > http://erlang.org/mailman/listinfo/erlang-questions
> >
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160509/1c00f631/attachment.html>


More information about the erlang-questions mailing list