?
Solved

product catalog

Posted on 2010-09-06
3
Medium Priority
?
392 Views
Last Modified: 2012-05-10
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
Comment
Question by:cofactor
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 10

Expert Comment

by:Hegemon
ID: 33610837
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
 

Author Comment

by:cofactor
ID: 33624833
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
 
LVL 10

Accepted Solution

by:
Hegemon earned 600 total points
ID: 33628103
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

Tech or Treat!

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
Suggested Courses

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question