0

We have two applications - One is open to consumers to browse and purchase the product. The product is the online course and in response to customer order they get an account to login credentials of other application where they can log in and use that course.

Contemporary, when consumer place an order application submit a SOAP to another application web service which creates the required credential for the customer and in response tell the other one that order 'has been processed successfully' and a receipt got print where there always a link to get log in to other system seamlessly.

This integration has some issues:

  1. If do maintenance of the other system which receives order via web service and create credentials till than all sales get halted
  2. No fault tolerance - Assume all system nodes got unavailable or some because of some intermittent network issue both systems unable to communicate or the web service unable to communicate with the database server then order started to fail
  3. Need to improve Transaction Management
  4. Need to improve Exception Management

And, the improvement desire:

  1. Maintenance period of the portal that has order web service does not effect the order. Instead, order started to queues and once the portal get back to live all queued order started to process
  2. The order transaction in the (portal) web service which creates credentials of the customer should be build around well-defined transaction (design) pattern
  3. Good Exception Handling that would improve the communication between two systems

At the end both systems integration get improve and the most important issue which is order failing completely get resolved.

I'm not too familiar with EIP or Messaging Services or Service Oriented Architecture. Neither I've much time to build my concepts and then prepare a solution to address the issue. I've started to read all these topics but I need some quick assistance or better to say an architectural solution to address this issue and make this integration more scalable and reliable.

Thanks.

Ramiz Uddin
  • 4,249
  • 4
  • 40
  • 72
  • I don't think there are any shortcuts to identifying the problems in more detail (they appear rather vague) and fixing them. If you don't have much time, you have to recognise your limitations and look for quick wins which could mean big improvement or none at all. – Peter Lawrey Aug 06 '14 at 08:32
  • @PeterLawrey I do have a solution but I don't consider it as best option as said I'm not an expert in EI. The reason to post and share this with everyone here is get an expert opinion. Just consulting. – Ramiz Uddin Aug 06 '14 at 08:36
  • I would use a JMS server to broker and persist the messages. However, I don't see how your system can continue to run without both the authentication piece and the front end web service. You need to restructure your application into the pieces we absolutely have to have, which have to keep running, and the pieces you can tolerate a failure of. – Peter Lawrey Aug 06 '14 at 08:51
  • @PeterLawrey should we use activemq to advance and facilitate other dimensions of it? Like Transactions, fault tolerance, etc. – Ramiz Uddin Aug 06 '14 at 08:57
  • ActiveMQ is a good way to get started. There are other more commercial grade products but ActiveMQ is the simplest IMHO. You might find ActiveMQ is enough, but if it is not and you use standard JMS, changing this later should be relatively easy. – Peter Lawrey Aug 06 '14 at 10:40
  • Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/58786/discussion-between-ramiz-uddin-and-peter-lawrey). – Ramiz Uddin Aug 06 '14 at 13:05

1 Answers1

0

I dont have a ready made solution for this but would encourage to do some reading on Thomas Erl's publications

BalajiK
  • 2,471
  • 2
  • 13
  • 12