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ář