Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 394
  • Last Modified:

product catalog

This is from  SCEA study guide  . I don't understand the problem clearly. Here is the question:

You are architecting an online ordering application with these requirements:

Users access the system over the Internet using HTML.
An email message is sent to the user confirming the order.
Users must log in and are validated using LDAP.
The product catalog is stored in a relational database.
All orders are logged to the internal fulfillment system.
Orders must not be lost.

Which Java EE technology should be used to send orders to the fulfillment system?
A. JNDI
B. JMS
C. JAX-WS
D. RMI-IIOP

My Question:

I don't understand the meaning of this text ..
" ..All orders are logged to the internal fulfillment system..."

what is " internal fulfillment system"  ??  Could you please clarify this line.
0
cofactor
Asked:
cofactor
  • 2
1 Solution
 
HegemonCommented:
I think it means the "order execution / processing" system. The question is about the "order entry" part where the entered orders are stored in the system to be later processed by the fulfillment /execution module.
0
 
cofactorAuthor Commented:
Answer is (B)JMS.
I'm not happy with the answer (B).
it said "All orders are logged to the internal fulfillment system"
a database could be used to log the order.  That statement does not induce to take JMS into account.
comments please.

 
0
 
HegemonCommented:
Yes it is not very clear but JMS looks the correct answer because:

1. "An email message is sent to the user confirming the order." - this probably implies that order processing resulting in an email being sent has to be done asynchronously due to all possible email-related delays. Even not considering emails, it is probably still desirable to uncouple these two processes - order entry and order processing. The former is likely to finish quickly as the order is entered/logged, the latter can be invoked later and take some time.

2. "Orders must not be lost" - of the offered choices, nothing else offers any persistence solution, while with durable JMS subscription the orders can be persisted. One can argue that it is also possible to persist order at the "other" end of the JAX-WS or RMI communication, but the question is probably about "this" end.

- a database could be used to log the order.
Yes but it is not mentioned as a valid answer.

3. The answer (A) is clearly not a valid choice, the answers (C) and (D) will result in the order entry system (the online ordering application) and the "internal fullfillment system" to be aware of each either or coupled tighter than in case of JMS. At least the online application will need to know something about the internal system's API, WS or RMI. Also I don't know if asynchronous RMI exists, in case of WS, asynchronous calls do not guarantee that the order is persisted/logged.

Just thoughts :)
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now