SOA
&
Web services
PV207 – Business Process Management
Spring 2012 Jiří Kolář
Last lecture summary
● Processes
○ What is business
process?
○ What is BPM?
○ Why BPM ?
○ Roles in BPM
○ Process life-cycle
○ Phases of process
based development
● BPMS
○ BPMS components
○ Architecture
○ Human Tasks
○ Business Rules
○ BAM
○ Existing BPMS
Recap: BPM lifecycle
Lecture summary
● Motivation for SOA
● Role BPM in IT
management
● Core BPM
architecture
● BPM – SOA
relationship
○ SOA concept
○ SOA architecture
○ SOA Governance
○ SOMA
● TEAMBUILDING
● Web Services
○ What are WS?
○ Artifacts WS
■ WSDL
■ SOAP
○ WS - standards
● WS in Java
○ Client side
○ Server side
● REST
3 meanings of word "service"
● "Business" service
○ Restaurant owner can register his restaurant to
Google database and be shown in Google Maps
○ Defined by contract / service offering
● "Technical" service
○ Users can search for their favourite restaurant in
Google Maps
○ User interface for "Human task"
● Web Service
○ Google provide Web Service API for retrieving
location of certain address
○ WSDL interface definition
Motivation
Role of BPM in IT
Management
● Business requests defined from top level
● Use of IT services from bottom level
BPM and SOA Relationship
SOA in Practice, , Nicolai M. Josuttis
SOA Concept
● Reduction of costs on development and
integration
● Simpler maintenance and integration
● Component/service reusability
● Integration of Legacy applications
● Simplification of IS management
● Just-in-time management (real time
business)
SOA Architecture
● Process layer
● Service layer
● Application layer
● Technological layer
Web Service
● Service for message transport and remote
procedure calls
● Messages are transported in XML format
● Transport protocol is HTTP/HTTPS
(mostly)
● Web service define:
○ Operations (method) a and their parameters
○ Return types
ESB – Enterprise Service Bus
● Message routing
● Unique message protocol conversion
● Orchestration of communication
http://wso2.com/products/enterprise-service-bus/
SOA – Maturity Model
Sonic Software Corporation, AmberPoint Inc., 2005
SOA Maturity Model –
Dimension Matrix
Infosys Technologies Ltd. 2006
SOA Governance
● Service definition
● Service deployment life cycle
● Service versioning
● Service migration
● Service registries
● Service message model
● Service monitoring
● Service ownership
● Service testing
● Service security
IBM Software Group
SOA – Methodologies
● SOA methodologies
○ IBM SOAD (Proprietary)
○ IBM SOMA (Proprietary)
○ SOA RQ (Proprietary)
○ CBDI-SAE
○ SOAF
● SOMA
○ Service-oriented modeling and architecture
--Ali Arsanjani, Chief Architect,
SOA and Web servicesCenter of Excellence,
IBM, Software Group
SOMA - Phases
SOMA – Life-cycle flow
A. Arsanjani, IBM Systems Journal, Volume 47, Number 3, 2008
SOA Implementation
Sandy Carter, The New Language of Business SOA & Web 2.0, 2007
● BPM and SOA architecture needs to has
its reason in company business
● Investment needs to return (ROI)
● Enterprise environment analysis and
optimal SOA design is crucial
● SOA has maturity levels
● SOA implementation must correspond to
company strategy
● SOA IT architecture represents restriction
for BPM
SOA Recapitulation
Questions?
Break 10mins
Teambuilding
● Teams of 4 people
● Roles in the team
○ Teamleader
○ Business analyst
○ Process analyst
○ BPM/SOA developer
● Collective responsibility
○ Your success/fail in the course depends on
success/fail of your team!!
● Good mix of skills is required
● Organise your work according to your needs
● Team Leader
○ Management - organising the teamwork (1 person)
○ Communication with lecturers and tutors
○ Couching
○ Skills:
■ Soft-skills, authority, responsibility
● Business analyst
○ "Expert" in domain you are going to analyse
○ Accuracy in writing analytical documents
○ Understanding of basics of strategic planning and
business analysis
○ Skills:
■ Accuracy, responsibility, domain knowledge
Team roles
● Process analyst
○ Good knowledge of process modeling and BPMN
○ Good knowledge of process modeling style
○ Good understanding of the domain
○ Skills:
■ Accurate, communicative, solution oriented
● BPM/SOA developer
○ Good understanding of process modeling
○ Technical skills
■ Chosen BPMS
■ Web services
■ Java/.NET programming
○ Required skills:
Team roles
Web services part
● Web Services
○ What are WS?
○ Artifacts WS
■ WSDL
■ SOAP
○ WS - standards
● WS in Java
○ Client side
○ Server side
● REST
3 meanings of word "service"
● "Business" service
○ Restaurant owner can register his restaurant to
Google database and be shown in Google Maps
○ Defined by contract / service offering
● "Technical" service
○ Users can search for their favourite restaurant in
Google Maps
○ User interface for "Human task"
● Web Service
○ Google provide Web Service API for retrieving
location of certain address
○ WSDL interface definition
○ Request - response model
Web Service
● Service for message transport and remote
procedure calls
● Messages are transported in XML format
● Transport protocol is HTTP/HTTPS
(mostly)
● Web service define:
○ Operations (method) a and their parameters
○ Return types
Expected knowledge
● What is expected
○ Basic knowledge of XML
○ Basic knowledge of Java SE
○ Basic knowledge of Netbeans
● What is recommended for WS in Java
○ Knowledge of J2EE
○ Knowledge of application container in J2EE
○ XML processing in Java
■ (JAX-B Marshalling/Unmarshalling)
WSDL
● WSDL (Web Service Description
Language)
○ Describes basic interface of the service
○ Methods
○ Parameters and their types
○ Return values
○ Specify where is WS available
■ Protocol (HTTP/HTTPS/SMTP)
■ Port (:1666)
■ machine (kore.muni.cz)
■ URL (http://kore.muni.cz:1666/My Service)
WSDL example
Operace jePrvocislo()Sluzba pocitajici
prvocisla
SOAP
● Protocol for transfer of XML messages
● Used for communication between
service and its consumer (client)
● HTTP/HTTPS used as common transport
protocol used
● Classic request – response
communication model
SOAP example
POST / HTTP/1.1
Content-Type: text/xml; charset=utf-8
Content-Length: 423
Connection: close
SOAPAction: ""
1987
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: 468
Connection: close
true
WS - Standards
WS-Policy
WS-Security
family of
specifications
WS-Reliable
Messaging
UDDI
Quality
of Service
Messaging
and Encoding
Transport
Business
Processes
Other protocols
Other services
Business Process Execution Language, BPMN
Description
and Discovery
WSDL
SOAP, SOAP Attachments
XML, XML Infoset
Transports
WS-Coordination
WS-Transactions
Web Services in Java
WS in Java - Server
● JAX-WS
● JAXB
● WS-Metadata
● REST
WS in Java - Client
● JAX-WS
● JAXB
● WS-Metadata
● REST
RESTful Web Service
● Representational
State Transfer
○ Client-server
○ Stateless
○ Unified interface
○ Resource
identification
● RESTful WS:
● HTTP/HTTPS
● POST, GET, PUT &
DELETE
● XML, JSON, YAML
● WADL
Standards
● JAX-WS (JSR-224)
● JAX-RS (JSR-311)
● Apache Axis, Axis2
● Apache CXF
● Jersey
Web Services exercise
● Web Services
○ http://netbeans.org/kb/docs/websvc/jax-ws.html
● REST
○ http://netbeans.org/kb/docs/websvc/rest.html
● NetBeans Trail
○ http://netbeans.org/kb/trails/web.html
SOA - Information Resources
● SOA in Practice, Nicolai M. Josuttis,
2007, ISBN-13: 978-0596529550
● IBM Systems Journal, Volume 47,
Number 3, 2008
FIN
Questions?
PV207 – Business Process Management
Spring 2012 Jiří Kolář