Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Include Page
Search
Search

Contents

Primary Presentation

Element Catalog

Context Diagram

Variability Guide

Rationale

Related Views

Anchor
primary
primary
Primary Presentation


Image Modified

Visio file

Anchor
element
element
Element Catalog

For a description of elements not listed below, see OPC Module Uses View - Element Catalog.

PoEndPointBean

This class is a stateless session bean. It provides the implementation for the OpcPurchaseOrderService web service. When it receives a purchase order, it checks that all arguments are valid and if ok dispatches the order to the workflowmanager sending a message to a JMS queue.

WorkFlowManagerBean

This class is a message-driven bean. It is activated when there is a message in the queue. It processes two kinds of messages:

...

WorkFlowManagerBean also sets a timer with the EJB container so that it is activated periodically to check the status of all pending orders.

PoHandler

The PoHandler class is not visible outside the workflowmanager package. It acts as a delegate of the WorkFlowManagerBean class to handle any purchase order request. When processing a request, it first uses POReceiver and processmanager to insert the order in the database in the Pending state. Then it calls CreditCardVerifier synchronously to charge the customer's credit card. If the credit card is OK, it sends a message to a JMS queue to be processed by OrderFillerBean. Finally, it sends another JMS message to CrmBean, which will create and send an email to the customer informing about the status of his order.

InvoiceHandler

The InvoiceHandler is not visible outside the workflowmanager package. It acts as a delegate of the WorkflowManagerBean class to handle any invoice it receives from any of the suppliers. When an invoice is received, InvoiceHandler basically uses processmanager to update the status of the corresponding order.
A given adventure package order may consist of:

...

When InvoiceHandler receives the last invoice confirming completion of the reservation, it sends a JMS message to CrmBean to notify the customer via email.

CrmBean

This class is a message-driven bean. It is responsible for handling the communication with customers via email.

CreditCardVerifier

This class is used to verify the credit information for a user. It contacts an external web service to get the banking related information for the credit card number specified.

OrderFillerBean

This class is a message-driven bean. It is responsible for sending out all the booking requests to the airline, lodging and activity suppliers involved in a given purchase order.

POReceiver

The purchase order receiver's responsibility is to create a purchase order entity bean and persist it in a relational database. The POReceiver is implemented as a Java class and it creates a PurchaseOrder entity bean.

Invoice

This "value object" class holds the data for an invoice that arrives from any of the external suppliers. It has a method to provide an XML representation of the invoice.

...

Sequence diagram - order filling

Anchor
context
context
Context Diagram

N/A

Anchor
variability
variability
Variability Guide

SMTP host, message body contents, subject, sender address and reply-to address for all email messages sent by CrmBean are configurable via text files that can be changed at run time, but require reinitialization of the application to take effect. These files are implemented using standard Java i18n support.
See also OPC Runtime Refinement View - Variability Guide

Rationale

...

Anchor
rationale
rationale
Rationale

N/A

Anchor
related
related
Related Views

Parent view: OPC Module Uses View