About the Data-Flow Complexity of Web Processes Jorge Cardoso Department of Computer Science,...
-
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 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 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