About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science,...

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

    21-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    1

Transcript of About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science,...

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

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

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

Web process complexity

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

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

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.

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.

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

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

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>

Data ComplexityPrimitive data types

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

Data ComplexityDerived data types

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

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

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

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:

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>

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.

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.

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.

Interface Integration Complexity

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

Thank you...

Questions.