Top Banner
About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal
24

About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

About the Data-Flow Complexity of Web Processes

Jorge Cardoso

Department of Computer Science, University of Madeira

9000-390 Funchal

Portugal

Page 2: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Introduction

Challenges for organizations Process design and management

E-commerce applications E-business applications

Managing Web services and Web processes Inherent problems of processes

High complexity Low flexibility

Page 3: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Introduction

High complexity bad understandability more errors and defects exceptions more time to develop, test, and maintain

Flexibility Guiding principle in the design of business processes In most business processes, flexibility and complexity

are related inversely. high complexity -> less flexibility it is more difficult to make changes to the process

Page 4: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Web process complexity

The degree to which a process is difficult to Analyze, Understand, Explain

It is characterized by Intricacy of activities’ interfaces Transitions Conditional and parallel branches The existence of loops Roles The types of data structures other process characteristics

Page 5: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Web process complexity

Data-flow complexity Control-flow complexity Resources complexity Role complexity Etc…

Page 6: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Web Process Management

Data-flow complexity analysis Used during process construction or reengineering Guarantee complexity and flexibility levels Complexity increase during reengineering may be the

sign of a brittle, nonflexible or high-risk process. Give information concerning the cost and time to

make changes to a process in order to make it more flexible.

Processes evolve over time by modification A process can easily become fragile with age Use complexity analysis to assess the system’s

condition

Page 7: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Web process data-flow

Data-flow The flow of data between the Web services of a Web

process Web service

WSDL (Web Services Description Language) Major elements

Input and output messages, data types, port types, and bindings.

In our study of data-flow we are interested in messages and types.

Page 8: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Web processes

BPEL4WS (Process Execution Language for Web Services) Describes the logic to control and coordinate

Web services participating in a process flow Control flow (branch, loop, and parallel) Manipulation of data between Web services Faults and compensation.

Page 9: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Data-flow complexity

Data-flow complexity increases with Complexity of data structures Number of formal parameters of Web services Mappings between Web services’ data

Three individual metrics: Data complexity Interface complexity Interface integration complexity Dynamic

in nature

Static dataaspects

Page 10: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Data Complexity

WSDL Uses the XML Schema data type specification

Primitive data types

<xs:schema>… <simpleType name="Fahrenheit"> <xs:restriction base="xs:decimal"/> </simpleType></xs:schema>

Primitive data types

Page 11: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Data Complexity

Research question What are the values of the various ci?

a) All the data types are primitive That they all have the same complexity i.e. c1 = c2=…= c19

b) Some primitive data types are more complex than others The primitive type ‘dateTime’ (c7) is greater than the

complexity of a ‘Date’ type (c9), i.e. |c7|>|c9| Since the ‘Date’ type can be sought as the

aggregation of ‘Date’ and ‘Time

<xs:schema>… <simpleType name="Fahrenheit"> <xs:restriction base="xs:decimal"/> </simpleType></xs:schema>

Page 12: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Data ComplexityPrimitive data types

Page 13: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Data Complexity

Derived data types Defined in terms of other data types Derived by restriction, by list, and by union

The XML Schema has 25 derived types build-in normalizedString, token, language, Name, ID, integer,

unsignedByte, positiveInteger, etc Observation

Derived data type must have a greater complexity than its base type

Research Question How should we treat restrictions, lists, or unions? Is an extension more complex that a list or is the other way

around?

Derived data types

Page 14: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Data ComplexityDerived data types

Page 15: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Data Complexity

XML Schema Three compositor elements that allow

constructing complex data types from simpler ones

Sequence: A sequence defines a compound structure in which the data occur in order.

Choice: The data within a choice are mutually exclusive.

All: All defines an unordered group.

Complex data types

Page 16: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Data Complexity

<xs:schema>…<xs:element name="location"> <xs:complexType> <xs:sequence> <xs:element name="country" type="xs:string"/>… <xs:element name="zip" type="xs:decimal"/> …<xs:element name="temperature"> <xs:complexType> <xs:sequence> <xs:element ref="location"/> <xs:element name="date" type="xs:dateTime"/> <xs:element name="value" type="Fahrenheit"/> …

</xs:schema>

Complex data types

Page 17: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Data Complexity

Some research has already been carried out to study the complexity of data structures

XML Schema introduces new elements Sequence, choice, and all

Complex data types

Page 18: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Interface Complexity

Each operation of a Web service has an interface An interface defines the input and output

parameters of each operation Let us analyze the following WSDL

specification:

Page 19: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Interface Complexity

<xs:schema>…<xs:element name="location"> <xs:complexType> <xs:sequence> <xs:element name="country" type="xs:string"/> <xs:element name="state" type="xs:string"/> <xs:element name="zip" type="xs:decimal"/> </xs:schema>

<interface name="GetTemperature"> <operation name="ByLocation" safe="true" … <input messageLabel="In" element="s:location"/> <output messageLabel="Out” element="s:temperature"/> </operation></interface>

Page 20: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Interface Complexity

A possible metric IC (Interface Complexity) to describe the complexity

of Web service’s interface.IC = IE * PS

IE is the Interface Entropy

n is the distinct number of data types present in an interface

p(i) the probability of the data type i.

Page 21: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Interface Complexity

PS is the Parameters Structure The more parameters in an operation the more

difficult is for the designer to remember all of them

|oip| is the number of parameters of the input structure

|oop| is the number of parameters of output structure of operation o.

Page 22: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Interface Integration Complexity

Interface integration complexity (ICC) Addresses the concept of coupling. Measures the interdependence of Web services operations, i.e.

Web services operations connected with a transition to other Web services operations.

BPEL4WS Data is passed between the different Web services using

containers The messages held are those that have been received from

Web services or are to be sent to Web services.

Page 23: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Interface Integration Complexity

The higher the coupling between Web services, the more difficult it is for a designer to understand a given Web process

Page 24: About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science, University of Madeira 9000-390 Funchal Portugal.

Thank you...

Questions.