The WebShipAnywhere company currently has a manual Order-to-Ship process. The company is
implementing Service-Oriented Integration architecture and, as part of that initiative, they are
automating the Order-to-Ship process.
Whenever an order ships, the Warehouse Management System (WMS) is manually updated to
reflect that the order has been shipped. If the Inventory for any product that was part of the order
drops below a threshold value, the WMS alerts the user via a pop-up screen indicating that the
product inventory is low. When this happens, the user logs in to the Purchasing System (PS) and
enters the need to order more of the product. Both the WMS and PS are thick-client, two-tier
applications that use an Oracle database. As part of automating the Order-to-Ship process, the
company would like to remove this manual step.
What integration pattern(s) should be used to automate this manual step?
A.
The WMS should be modified to create a “low-inventory” event and publish the event to a topic
queue following the publish-and-subscribe pattern. An event handler registered for the “lowinventory” event then receives the event and updates the PS.
B.
The polling integration pattern should be used to detect that the inventory for a product is low in
the WMS. If a product inventory is low, the polling component uses a reliable-one-way message to
call an SOA Service that updates the PS.
C.
It is not possible to integrate thick-client, two-tier applications (such as VMS and PS) by using a
SOI architecture. Only applications with service interfaces can be included in an SOI architecture
D.
The polling integration pattern should be used to detect that the inventory for a product is low in
the VMS. If a product inventory is low, a “low-inventory” event should be created and published to
a topic queue following the publish-and-subscribe pattern. An event handler registered for the “low
inventory” event then receives the event and updates the PS.
E.
Because both the WMS and the PS use Oracle database, the WMS should be modified to use
a trigger to update the PS database whenever a low inventory is detected.
Explanation:
Polling, using a reliable-one-way message, and using a SOA Service is a good
solution.
Reference: Oracle Reference Architecture, Service-Oriented Integration, Release 3.0