soberit · business process management business process management is a systematic approach to...

23
1 SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY © 2008 Kari Hiekkanen Service-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 2.4.2008 © 2008 Kari Hiekkanen SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY Service Discovery Development Time Service Directory PrintDocument <Doc> Find Publish Application Printing Service Ok / Error

Upload: others

Post on 22-Sep-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

1

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY© 2008 Kari Hiekkanen

Service-Oriented Architecture and Software Engineering

T-86.5165Seminar on Enterprise

Information Systems (2008)

2.4.2008

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Service Discovery

Development Time

Service

Directory

PrintDocument <Doc>

Find Publish

Application PrintingService

Ok / Error

Page 2: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

2

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Service Discovery

Runtime By Name

Service

DirectoryFind <Printer123> Publish

Address <Printer123>

PrintDocument <Doc>

Application PrintingService

Ok / Error

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Service Discovery

Runtime By Properties

Service

DirectoryFind <Printer, loc=“2 floor”> Publish

PrintDocumen<Doc>

Application PrintingService

Ok / Error

Address <Printer123>

Page 3: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

3

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Service Discovery

Runtime based on reflection

Service

DirectoryFind <Printer> Publish

Query Properties <>

Application PrintingService

PrintDocumen<Doc>

Address <Printer123>

Negotiate Contract <>

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Service Discovery

Development Time

Service

Directory

Service

Consumer

Service

Provider

Bind

Find Publish

Page 4: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

4

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

LegacyERP

WebShop Warehouse

Enterprise Level

Orders

Customers

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

LegacyERP

WebShop

?

Warehouse

Enterprise Level

OrderManagement

CustomerManagement

Page 5: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

5

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

OrderManagement

LegacyERP

WebShop

Basic

?

Warehouse

CustomerManagement

Enterprise Level

OrderAndBill(Façade)

InventoryManagement

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

LegacyCRM

WebShop

Basic

Intermediate

?

Warehouse

Enterprise Level

OrderAndShip(Façade)

InventoryManagement

HandlePurchaceOrder

OrderManagement

CustomerManagement

Page 6: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

6

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

OrderManagement

LegacyCRM

WebShop

Basic

Intermediate

Process-centric

Warehouse

InventoryManagement

Enterprise Level

OrderAndShip(Façade)

CustomerManagement

HandlePurchaceOrder

CancelPurchaceOrder

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Page 7: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

7

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY© 2008 Kari Hiekkanen

Service-Oriented Architecture and Software Engineering

T-86.5165Seminar on Enterprise

Information Systems (2008)

2.4.2008

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

”The Bigger Picture”

SOA in context of the enterprise

Business Architecture

Strategy, Governance, Organization

Business Processes

”Business Fit”

Service-Oriented Management

Service Execution Management

Service Level Management

QoS

Business Architecture

Service-Oriented Management

SOA

Page 8: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

8

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Business Process Management

Business Process Management is a systematic approach to improving an organization's business processes

Process: a set of coordinated tasks and activities, conducted by both people and equipment, that will lead to accomplishing a specific goal.

Grew out of Business Process Re-engineering movement of ’90s(Hammer and Champy 1993).

BPM is a general management topic, which focuses on the strategic and operational aspects of process orientation on given area.

Increasing number of organizations are looking at BPM as a way to improve efficiency and productivity.

BPM tools (or BPMS – Business Process Management Systems) provides technical platform for modeling, analyzing, executing, monitoring and managing business processes.

1) Hammer, M. and Champy, J. (1993), Reengineering the Corporation: A Manifesto for Business Revolution, Allen & Unwin

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

BPM(S) Overview

Modeling and LanguagesA number of competing modeling styles and languages.

~ diagram to model the flow of events/data and activities

BPM ArchitectureTools for designing, modeling and analyzing processes

Process manager and execution engine

Process libraries (definitions and instances)

Connecting middleware (service realization layer)

Business Activity Monitoring and Management (runtime)

Page 9: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

9

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

BPM Vision and Promise

The Vision and Promise:

A successful BPM solution will take existing processes, streamline them to meet business goals and ultimately impact the bottom and top lines in a positive way.

Bridge ”the gap” between business and IT better IT – business alignment

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

BPM Vision and Promise

But be aware …One BPM or many BPM’s – who owns and controls all this ?

Single product / standard approaches have rarely worked in IT.

The nature of current BPM is ”production-oriented”

Decomposition is done from the point of view of particular chainof processes and on the flow of work (lacks commonality).

Process ownership vs. networked service economy

Emphasis on internal process efficiency

Input and Outputs are given

Processes are designed to be repeatable, but in service economy creativity, change, collaboration and exploration are in key roles

Some mismatch with the principles of “service-orientation”

Page 10: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

10

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

BPM and SOA

BPM and SOA visions are a good fitBPM: the context of process-control, execution and measurement.

SOA: the enabling infrastructure for process-orientation.

1 + 1 > 2

BPM Process modeling, analysis, simulation

SOA Orchestrates business processes and mediates providers

Designed processes implemented with SOA infrastructure

Performance monitoring, improvementanalysis

Service changes do not impact processes

Process changes reuse services as needed

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Service Dependency Model

Service Information Model

BA, BPM and SOADomain Models

Business Process Models

Interface Dependencies

Page 11: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

11

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

BPM and Process-Enabled SOA

One goal of SOA is to develop an architecture that clearly separates core business layers and process control logic.

Core business logicData access, complex calculations and business rules

= Single Service; coarse-grained, loosely coupled, ACID

Process control logicDynamic, with complex coordination of activities and participants

= Stateful, long-lived transactions

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

BPM and Process-Enabled SOA

Process control logic

Core business logic

Page 12: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

12

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

BPM and Process-Enabled SOA

Process granularity ~ service granularityTo what level of detail the process is modeled ?

“Processes can be subdivided into smaller and smaller units …An activity is the smallest subprocess that a given process teamdecides to illustrate on their process diagrams” (Harmon, 2003)

Elementary Process: a process that is triggered by a single business event and that does not require further events to occur in order to complete an execution. The work of an elementary process is performed by one organization unit in one location, continuously until the work is done.

Business activity represent one candidate service but it is still critical to ensure whether the necessary logic and data can be encapsulated in a service-oriented way or if some service-oriented process redesign is needed.

1) Harmon, P. (2003), Business Process Change: A Managers Guide, Morgan Kaufman

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

BPM and Process-Enabled SOA

Business Process

Services

Page 13: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

13

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY© 2008 Kari Hiekkanen

Questions ?

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY© 2008 Kari Hiekkanen

Service-Oriented Architecture and Software Engineering

T-86.5165Seminar on Enterprise

Information Systems (2008)

2.4.2008

Page 14: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

14

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

SOA and Web Services

Web Services offers an open standards-based framework for implementing service-oriented architecture

Web Services are able to exchange structured documents that contain different amounts of information, as well as information about that information, known as metadata

In other words, Web Services can be coarse grained, which is one of the most important features of SOA’s

SOA is not limited to the usage of Web Services, they are still the most important technology for implementing it.

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

SOA and Web Services

Most current SOA implementations and ongoing projects are based on Web Services technology

1st. Generation Web Services:SOAP – Simple Object Access Protocol

WSDL – Web Service Description Language

UDDI – Universal Description Discovery and Integration

WSDL and SOAP are core technologies for building communication framework for SOA

Page 15: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

15

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

The Evolution of Web Services

World Wide Web• Open, Distributed, Addressable, Accessible

Publish Info• Web Sites, Web Content, Web Presence, ”eyeballs”, …

Process Transactions• Web-enablement, eCommerce, B2C, ”revenue”, …

Emerging Standards and Business Models• Universal markup and data presentation – XML, SOAP, …

Web Services• Business integration, B2B, B2E, ”bottom line”,

Transactional Business Web• Dynamic network of services, Transformation, …

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

The Evolution of Web Services

Subroutines

WebServices

DLLDCE / RPC

CORBA / ORBMOM

Java RMI

1970 1980 1990 2000

Page 16: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

16

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Web Services Evolution

“Standards” vs. “Specifications” vs. “Extensions”There are currently dozens of WS-* initiatives, driven by different vendors, organizations and interest groups

”Standard” = an accepted industry standard

”Specification” = a proposed or accepted standard

”Extension” = typically represents WS-* spec or feature

Key PlayersW3C (XML, SOAP, WSDL, WS-CDL, …)

OASIS (UDDI, WS-BPEL, ebXML, SAML, XACML, WSS, …)

WS-I (Web Services Interoperability; Basic Profile)

Vendors (Microsoft, IBM, BEA, Oracle, Sun, HP, …)

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Web Services Standards

Standards are being proposed at all levels of the stackVertical standards (how companies communicate within an industry)

Standards for RPC-like communications over the ‘net– message formats, interface descriptions, discovery of services

Standards for integrating the above into existing systems– security, transactions, routing etc

Standards are at different levels of maturity“Standard” is a short-hand for “proposed standard” in many cases

Real standards require industry consensusReal standards are in many cases “de facto”

Page 17: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

17

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Packaging,Transport

Description,Orchestration,Service

Web Services StackDiscovery

XML SOAP / XMLP SOAP Blocks

Inspection UDDI

CommunicationTCP/IPHTTP/SMTP

WSDL WSDL Extensions

ProcessAgreement

XML

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Packaging,Transport

Description,Orchestration,Service

Discovery

Other / Related

Some Web Services “Standards”

SOAP XMLPSOAP-SEC SOAP-RP DIMEXML XML-RPCXML-DIGSIGXML-ENC XSD

WSDL WSFL WSELWSCLXLANGBPEL4WS BPML

WS-TWS-C WSCISOAP-CP

UDDI DISCODSMLDAML-S WSIL

Liberty Alliance WS-I

XKMS SAMLX-KISS P3PWS-SXrML

ebXML CPP-CPA WSRP WSUIWSIABTP UBL WSCM

Page 18: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

18

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Web Services Evolution

SOAPDeveloped by Microsoft, submitted to W3C in 2000

Originally designed to unify and serialize proprietary RPC calls

SOAP vs. XML-RPC

WSDLSubmitted to W3C in 2001

UDDIOriginally developed by UDDI.org, submitted to OASIS

Still not widely accepted, optional extension to SOA

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

SOAP

“Simple Object Access Protocol”Specification for invoking methods, services, and objects

Designed to communicate via Internet

Platform and language independent

Can be used in a large variety of systems

Page 19: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

19

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

SOAP Messages

StructureA mandatory envelope

A set of encoding rules (opt)

An convention for RPC (opt)

How to model request/response interactions

An optional binding to HTTP

Features include

Reliability, Security, Correlation, Routing

Message exchange patterns

Envelope

HeaderBlockBlock…

BodyBlockBlock…

Unit of communication

Attributes of communication

Message (RPC / Document)

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

SOAP Message<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2002/06/soap-envelope/"

SOAP:encodingStyle="http://www.w3.org/2002/06/soap-encoding /"><SOAP:Header>

<s:security xmlns:s=“secure-URI" SOAP:mustUnderstand="1">Signature

</s:security></SOAP:Header><SOAP:Body>

<m:Deposit xmlns:m=“www.xmlbus.com/bankingService"><m:amount>200</m:amount>

</m:Deposit></SOAP:Body>

</SOAP:Envelope>

Page 20: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

20

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

WSDL

”Web Services Description Language”Describes the point of contact for service provider (Service Endpoint)

Provides a formal definition of the endpoint interface

Establishes the physical location (address) of the service

Service Description (or definition)Abstract description – portType (interface), operation, message

The interface characteristics of Web Service without any reference to the technology used in implementation

Concrete description – Binding, port ( endpoint), service

The physical connection and addressing

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

WSDL Structure<?xml version="1.0" encoding="UTF-8"?><definitions name="HelloService“ …<message name="SayHelloRequest"><part name="firstName" type="xsd:string"/></message> <message name="SayHelloResponse"><part name="greeting" type="xsd:string"/></message><portType name="Hello_PortType"><operation name="sayHello"><input message="tns:SayHelloRequest"/><output message="tns:SayHelloResponse"/></operation></portType><binding name="Hello_Binding" type="tns:Hello_PortType"> <soap:binding style="rpc“ …><operation name="sayHello"><soap:operation soapAction="sayHello"/><input> <soap:body …></input><output> <soap:body …> </output> </operation> </binding><service name="Hello_Service"><port binding="tns:Hello_Binding" name="Hello_Port"> <soap:address location="http://xxx/yyy"> </port></service></definitions>

<definition>

<types>

<message>

<portType>

<binding>

<service>

Page 21: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

21

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

UDDI

”Universal Description, Discovery & Integration””Phone book of Services” for fully automated A2A communication

A registry for managing information about Web services

Not yet fully implemented or used

<UDDI record>

<business entity>

business services

binding templates

tModels

Description of services

Technical information about service entrypoint

Descriptions of specifications

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Using Web Services

Message Exchange Patterns

Request-response

Solicit-response

Fire-and-Forget

Subscription Model

Note: WSDL 2.0 defines additional 4 MEP’s

Service

Page 22: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

22

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Using Web Services

DiscoveryQuerying the service repository

NegotiationCommunications format specified by a service contract (service “API”)

InvocationInvoke the service (send a message)

UDDI

WSDLWS-PolicyWS-SecurityPolicy

SOAPWS-TransactionWS-ReliableMessagingWS-SecurityWS-Addressing

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Complex Web Services

Atomic Transactions: WS-AtomicTransactionEnable cross-service ACID-transactions

Business Activity: WS-BusinessActivityEnable long-running, complex service activities

Coordination: WS-CProvides services that introduce controlled structure into activities

Orchestration: WS-BPEL (BPEL4WS)Establishes a formal business process definition

Choreography: WS-CDLGoverns complex activity with multiple participants

Page 23: SoberIT · Business Process Management Business Process Management is a systematic approach to improving an organization's business processes Process: a set of coordinated tasks and

23

© 2008 Kari Hiekkanen

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Complex Web Services

Addressing: WS-AddressingAdds a layer of messaging autonomy

Reliable Messaging: WS-ReliableMessagingDelivery assurances, acknowledgements, failure reporting, …

Policies: WS-PolicyRules, behaviors, requirements, preferences, QoS, …

Security:WS-S, XML-Signature, XML-Encryption, …Identification, authentication, authorization, integrity, …

And many more still to come …

SoberITSoftware Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY© 2008 Kari Hiekkanen

Questions ?