Post on 25-Dec-2015
Enterprise ApplicationEnterprise ApplicationEnterprise ApplicationEnterprise Application
-Lesegruppe WebServices-Lesegruppe WebServices
-Zusammenfassung von -Zusammenfassung von Tianxiang LUTianxiang LU
Content• From Middleware to Application
Integration• EAI Middleware: Message Brokers• Workflow Management Systems
From Middleware to Application Integration
• Mainframe → Set of Servers → Multitude of Services
• 3-tier architectures bridged islands of information created by client/server systems
• Enterprise Application Integration bridge 3-tier architectures.
An Example of AI
quotationsupplier andcustomer mgmt
order processing procurement shipment
management financial
EAI Middleware: Message Brokers
• Historical Background– RPC + MOM– ERP : Enterprise resource planning – CRM: Customer relationship
management– Message brokers:
transport, routing, filtering, processing message
EAI Middleware: Message Brokers
• Need for Message Brokers:
dispatcherinventory
managementERP shipping
message-oriented middleware
month-end closing
new PO new PO new PO new PO
EAI Middleware: Message Brokers
• Extending Basic MOM– MOM: sender defines receiver of a
message: point-to-point addressing scheme
– Message brokers: factoring the message routing logic out of the senders and placing it into the middleware
– Advantage: single place to make changes
message broker core
sender receiver
message broker
with message brokers, custom message routing logic can be defined at the message broker level or at the queue level
in basic MOM it is the sender who specifies the identity of the receivers
EAI Middleware: Message Brokers
• Extending Basic MOM– Decoupling : messages can be delivered to
several queues, depending on the routing logic– Load balancing: multiple threads or
applications can then share the load of retrieving and processing messages from a queue
– Using content transformation rules
– Difficult to debug and maintain
dispatcher(publisher)
inventory management(subscriber)
ERP(subscriber)
shipping(subscriber)
message broker
month-end closing
(subscriber)
new PO new PO new PO new PO new PO
EAI Middleware: Message Brokers
• The Publish/Subscribe Interaction Model– two ways to subscribe:
• Specify a message type (type.subtype.subsubtype...)• Specify parameters
– In JMS: topic• Distributed Administration of a Message
Broker– Administrator– Different administrative domains
admin
message broker MB-A
message broker MB-B
client client …
admin
client client …
admin
message broker MB-C
client client …
administrative domain A
administrative domain B
administrative domain C
EAI Middleware: Message Brokers
• EAI with a Message Broker– Fundamental components:
• Adapters• Message broker
– Intergration steps:• Developing an application that
implements the integration logic.• Configuing the adapters
DBMS applications
message broker
SmartQuotationadapter
e-mailadapter
databaseadapter
SmartQuotation
SmartForecastingadapter
SmartForecasting
XYZadapter
XYZ
integrating application (contains the composition
logic)
message broker
SmartQuotationadapter
SmartQuotation
SmartForecastingadapter
SmartForecasting
RFQ processing
1A 6
B C 72 4
3
5
8
at systems startup time (can occur in any order, but all must occur before RFQs are executed)
A: subscription to message quoteB: subscription to message quoteRequestC: subscription to message newQuote
at run time: processing of a request for quote.
1: publication of a quoteRequest message
2: delivery of message quoteRequest
3: synchronous invocation of the getQuote function
4: publication of a quote message
5: delivery of message quote6: publication of a newQuote message
7: delivery of message newQuote8: invocation of the createForecastEntry procedure
EAI Middleware: Message Brokers
• A Critical View of Message Brokers as EAI Platforms– Lower development cost.– Lower opportunity costs.– Lower maintenance efforts.
• For small and medium enterprises more problems
Workflow Management Systems
• WfMSs facilitate the definition and maintenance of the integration logic
• Historical Backgroud– Origins: office automation– Administrative workflows -> production
workflows (Business process reengineering)– Combine WfMS with EAI– WfMC: Workflow Management Coalition
Workflow Management Systems
• Workflow Definition– Business process– Workflow(workflow process,process)– Workflow management system
• Representation– Directed gragh(typically)
• Work node, Routing node, Start and completion nodes• Workflow instance
– Petri nets– State– Activity charts– Hierarchical activity decomposition
check if offered product
check if worth proceeding
get quote from quotation system
get quote from supplier
enter quotein forecasting system
send quote to customer
ContractExists=true
ContractExists=false
Offered=true
Offered=false
GoAhead=true
update quotation system
variables: QuoteReferenceNumber: int Customer: String Item: String Quantity: int RequestedDeliveryDate: Date DeliveryAddress: String GoAhead: Bool ContractExists: Bool Offered: Bool
else
Copyright Springer Verlag Berlin Heidelberg 2004
Workflow Management Systems
• Workflow Execution
workflow engine
resource broker
completed work items
inbound queue
resource 1
resource 2
resource n
1
2
4 53
workflow definitionsoutbound queues
workflow designer
Workflow Management Systems
• Workflow as Programming in the Large– Scale– Granularity at which composition takes place– Failure-handling techniques
• Forward recovery• Backward recovery(sagas: compensating activeity)• Exception-handling languages• Deadlines (Deadline expiration)
– Resource• Microprocessor vs. Any kind of resource inkl. Human• Need „resource rules“• Resource broker
Workflow Management Systems
• Integration of WfMSs with Other Middleware Technologies– TP Monitors– ORB-style brokers– MOMs– Publish/Subscribe systems
• EAI platform + WfMSs
DBMS applications
message broker
SmartQuotationadapter
e-mailadapter
databaseadapter
SmartQuotation
SmartForecastingadapter
SmartForecasting
XYZadapter
XYZ
WfMS adapter
WfMS
Workflow Management Systems
• Drawback– Same as EAI
• Expensive software licenses• Complex installation and operation • Long development cycles
– Useful with repetitive, well-defined processes• Conventional middleware already in use• Cannot do: Integration across wide area
networks……