Dynadot

Architecture/design approach for this ecommerce middleware problem?

Spaceship Spaceship
Watch

learnsoftware

New Member
Impact
0
i am working on architecture design problem. Here it is

Problem:
I need to design the backend system for ecommerce site.Lets call it EcomMiddleWareSystem(EMWS). This system can recieve
the request from various channels like webrequest(webservice/web request),messageQueue,File system. EMSW will reject the invalid(just consider some business validation)
request.This request will be the having details for orders like sender info, product id etc.Now this EMWS has mapping of productId and Supplier Id.
Now EMWS at End of day will process all the requests and send it to individual suppliers based on the mapping of productId and Supplier Id along with order id.
Supplier once receives it, send the acknowledgment.

My approach for high level architecture/design :-

As request can be be anything webrequest(webservice/web request),messageQueue,File System (but it will always be xml), we will have listeners corresponding
to each possible requests like jms consumer for jms queue, file listener for file, servlet for webrequest,rest servlet for restful webservices, soap handler
for soap request so that each has its own responsibility.Now these listener will send the acknowledgement as soon as they reciive the request.This way Sender
knows its request has been recieved and also will be asynchronous. Now all these listeners will call the central api say ProcessOrder.java so that we can reuse the code. More maintainable and reusable.
Now apis does business validation and send the acknowledgement for valid/invalid request in email.

Now For valid ones ProcessOrder will put the messages in java object form on JMS queue(we will have separate queue for each supplier) based on the mapping of productId
and Supplier Id.Now at the end of day consumer of this queue will make the xml request from java objects using xtreme api and send it to
to supplier as restful request (lightweight and simpler). Also important point is lets keep consumer on separate server it may be spring remote/or ejb server
so that we can distribute the load and saves cpu cycles. (I am assuming its big system where it gets millions of request in an hour)
Supplier will send the acknowledgement as soon as it recieves the request.

Folks let me know howz the design (be frank it would really help me to improve if you criticize for good reasons :))and where it can be improved.
 
0
•••
The views expressed on this page by users and staff are their own, not those of NamePros.
So your site never loaded for me.

What is the price, etc.?

Demo?
 
0
•••
So your site never loaded for me.

What is the price, etc.?

Demo?

i am working on software architecture of this. I need experts advice how i can go ahead with architecture
 
0
•••
  • The sidebar remains visible by scrolling at a speed relative to the page’s height.
Back