Date post: | 30-Jun-2015 |
Category: |
Technology |
Upload: | javablend |
View: | 1,070 times |
Download: | 0 times |
Implementing SOA and BPM in your application
Wiesław Pilarczyk
Ljubljana, 9.10.2008
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Agenda
– Business requirements and software architectures
– SOA&BPM acronym soup
– Implementation using FOSS
– Example
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Business requirements
Support for all enterprise business areas ERP, CRM, ECM
Business process management BPM
Application integration EAI
Agile enterprises
Virtual projects
Globalization SAAS
Nonfunctional requirements
IT infrastructure management ITIL
Return on investment ROI
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Application Architecture today
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Do you know what is your process?
9.10.2008 JavaBlend 2008, http://www.javablend.net/
BPM Vision
Ideas are cheap, implementation is hardThink big, make small steps
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Ontology
Before you start talking to me, define your words
(Aristotle paraphrase)
Specification of conceptualization
• OWL Web Ontology Language Protégé• SBVR Semantics of Business Vocabulary and Rules• Repositories of ontologies
9.10.2008 JavaBlend 2008, http://www.javablend.net/
BPMN for business analysts
XPDL for model persistence (WfMC) BPDM Business Process Definition Metamodel (OMG) ActiveVOS from ActiveEndpoints, Intalio
9.10.2008 JavaBlend 2008, http://www.javablend.net/
BPEL for implementers
• BPMN-BPEL mapping needed (serious model descrepancies)• BPEL4People• WS-HumanTask• ActiveBPEL from ActiveEndpoints
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Inside BPEL
Variables
WSDL Message
Schema ElementSchema Type
Structured Activities
flow pick
sequence forEach
if-else
scoperepeatUntil
while
sequence forEach
Basic
Activities
receive
reply
rethrow
exit
throwwait
compensate compensateScope
extensionActivity
empty
validate
assign
invoke
Handlers
event
handler
fault
handler
compensation
handler
termination
handlerCorrelation Sets
property 1
property 2
Partner Links
partnerLink 1
partnerLink 2
9.10.2008 JavaBlend 2008, http://www.javablend.net/
ebXML (www.oasis-open.org)
9.10.2008 JavaBlend 2008, http://www.javablend.net/
JBI – JSR 208
ServiceMix from Apache
9.10.2008 JavaBlend 2008, http://www.javablend.net/
SCA
Tuscany from Apache, STP from Eclipse
9.10.2008 JavaBlend 2008, http://www.javablend.net/
SOA Governance
Implementing SOA without a solid governance model is the equivalent to having an airport without a control tower.
* Not enough process creates chaos
* Too much process stifles innovation and deters agility
* Evolve governance over time
(Mike Kavis, CIO Magazine)
ebxmlrrMule GalaxyWSO2 Registry
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Web Services Registry (UDDI)
Provider
9.10.2008 JavaBlend 2008, http://www.javablend.net/
SOA Reference Architecture
Presentation layer
Service coordination (orchestration, choreography)
Service virtualization and delivery
Standard services
Platform
Application
DesktopInternet
RIAMobile
Develo
pm
ent
Managem
entDedicated
services
Application Application
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Example Implementation
Presentation layer Seam/JBoss Portal
Service coordination layer (orchestration) jBPM
Service virtualization and delivery JBoss ESB
Standardservices
JBoss RulesReporting
MetamatrixPlatform JBoss AS
Application Application Application
DesktopInternet
RIAMobile
Develo
pm
ent
JB
oss D
evelo
per S
tudio
Managem
ent
JO
N
Dedicatedservices
RRichfaces/Ajax4jsf Mobicents
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Application using BPM and SOA
9.10.2008 JavaBlend 2008, http://www.javablend.net/
BPM and SOA
9.10.2008 JavaBlend 2008, http://www.javablend.net/
jPDL Process Editor
9.10.2008 JavaBlend 2008, http://www.javablend.net/
ESB
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Composite Services
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Enterprise Integration
Patterns
www.eaipatterns.com
9.10.2008 JavaBlend 2008, http://www.javablend.net/
ESB Services and Actions
9.10.2008 JavaBlend 2008, http://www.javablend.net/
ESB Content Based Routing
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Rules Language
rule "Customer Platinum Status"
when
customer: Customer(status > 50)
order: OrderHeader(orderPriority == 3)
then
order.setOrderDiscount(8.5);
end
rule "Customer Gold Status"
when
customer: Customer(status > 10, status <= 50)
order: OrderHeader(orderPriority == 2)
then
order.setOrderDiscount(3.4);
end
Externalize Business Rules
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Rule Editor
9.10.2008 JavaBlend 2008, http://www.javablend.net/
DSL
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Decision Tables Excel/OpenOffice)
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Aggregate applications - Portal
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Use what is available
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Control your infrastructure
RHQ http://www.rhq-project.org
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Management Console
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Management Console Dashboard
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Are you ready for it yet?
– BAM Business Activity Monitoring
– EDA, CEP Esper
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Business Process Maturity Model BPMM (OMG)
Level 1 Not coordinated just do it
applications
Level 2 Defined services increased effectivity
written instructions
Level 3 Defined processes automatization
Level 4 Process management better control
Level 5 Dynamic process full optimalization cycle:
optimalization define
implement
deploy
monitor
9.10.2008 JavaBlend 2008, http://www.javablend.net/
Roadmap
Level 1 Not coordinated Application Server
applications
Level 2 Defined services ESB
written instructions
Level 3 Defined processes BPM
Level 4 Process management Rules
Level 5 Dynamic process BPMS
optimalization