SOA
&
Web services
PV207 – Business Process Management
Spring 2016 Jiří Kolář
Last lecture recap
● Processes
○ What is business
process?
Last lecture recap
● Processes
○ What is business
process?
○ What is BPM?
Is a Management discipline, focused on
systematic definition and execution
measurement of processes in organizations
● An effort to describe processes in
organisation measure results and manage
process changes towards higher efficiency
● "Evolution not Revolution"
Business Process Management
4
Last lecture recap
● Processes
○ What is business process?
○ What is BPM?
○ What is BPM adoption?
Last lecture recap
● Processes
○ What is business
process?
○ What is BPM?
○ What is BPM adoption?
○ Why BPM ?
○ Roles in BPM
○ Process life-cycle
○ Phases of process
based development
● BPMS
○ BPMS components
Last lecture recap
● Processes
○ What is business
process?
○ What is BPM?
○ What is BPM adoption?
○ Why BPM ?
○ Roles in BPM
○ Process life-cycle
○ Phases of process
based development
● BPMS
○ BPMS components
○ Architecture
○ Human Tasks
○ Business Rules
○ BAM
○ Existing BPMS
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 the word "service"
● "Business" service
○ Google offers paid advertising to restaurants
○ Defined by contract / service offering
3 meanings of the word "service"
● "Business" service
○ Google offers paid advertising to restaurants
○ Defined by contract / service offering
● "Technical" service
○ Google provides a search for addresses of
restaurants in neighbourhood
○ Defined by a User Interface / Programming interface
3 meanings of the word "service"
● "Business" service
○ Google offers paid advertising to restaurants
○ Defined by contract / service offering
● "Technical" service
○ Google provides a search for addresses of
restaurants in neighbourhood
○ Defined by a User Interface / Programming interface
● Web Service
○ Google provides Web Service API for retrieving GPS
coordinates of particular address
○ Defined by a WSDL/REST methods definition
○ Request - response model
Business & IT alignment
SOA motivation
● Reduction of costs on development and
integration
● Efficient maintenance and integration
across various systems
● Component/service reusability
● Integration of Legacy applications
● Efficient management and monitoring
● Just-in-time management (real time
business)
SOA definition
Service-Oriented Architecture (SOA) is an
architectural style that supports service-orientation.
Service-orientation is a way of thinking in terms of
services and service-based development and the
outcomes of services.
-- The Open Group
● BPM stands between IT and business
○ BPM reflects business needs
○ BPM orchestrates IT services
○ SOA is about these services
How is BPM and SOA related?
SOA Architecture
BPM and SOA Relationship
SOA in Practice, , Nicolai M. Josuttis
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 services Center of Excellence,
IBM, Software Group
SOMA – Life-cycle flow
A. Arsanjani, IBM Systems Journal, Volume 47, Number 3, 2008
SOMA - Phases
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 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:
■ Patience, accuracy, technically skilled
Team roles
SOA in practice:
ESB – Enterprise Service Bus
● Message routing
● Protocol conversion
● Security, reliability
http://wso2.com/products/enterprise-service-bus/
SOA in practice:
ESB – Enterprise Service Bus
http://www.exadelfs.com/soaigniter.jsp
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
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)
● Common use of HTTP/HTTPS as a
transport protocol
● 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
WS Standards
● JAX-WS (JSR-224)
● JAX-RS (JSR-311)
● Apache Axis, Axis2
● Apache CXF
● Jersey
Web Service tutorials
● 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 2015 Jiří Kolář