However, this paper just concerns to Round-Trip
Delay Time (RTT), consequently, we used just one
proxy placed in a computer close to a client. The
RTT is the total time used in a complete Web
service operation call, starting from the moment that
the client sends the request until the client receives
the response.
When proxies are inserted into a Web service
application, every message passes through them.
Each proxy gathers the information from SOAP and
HTTP with some relevance to graphical
representation. This information is stored in a log. In
the log we have the fields:
"SOURCE" – it is the message origin, it is taken
from optional SOAP element “From”. If it is
omitted in SOAP, the machine name or IP
comes from communication socket and
stored in log;
"DESTINATION" – it is the address and name
of the Web service to invoke, optional SOAP
element “To” provides this value. If it is
omitted, the destination is taken from HTTP
header start-line and field “Host”;
"ACTION" – it is operation name, it is taken
from mandatory SOAP element “Action”. If
the SOAP does not use WS-A extension, the
operation is taken from HTTP header field
“SOAPAction”;
"MSG_UUID" and "RELATES_TO_UUID"
they are message identifications, from SOAP
“MessageID” and “RelatesTo”, respectively;
"T1", "T2" – they are the measured times to
execute the Web service. This identifies the
start and the end times of the service. RTT
can be calculated from the difference
between "T1" and "T2".
4 EXPERIMENTAL RESULTS
As a proof of concept, we insert our architecture in
the FoodShop Company prototype connections. We
deploy the food shop in four virtual machines: one
Shop, one Warehouse, and one Supplier. Another
virtual machine was also used in the test
environment to host the proxy. In order to keep
things as simple as possible, we decided to use only
one centralized proxy. Thereby, all the connections
pass through this proxy, which can take information
from the messages
4.1 Food Shop
The food shop prototype used has become the
standard test bed in the frame of Ws-Diamond
Project (IST-516933) and it involves characteristics,
as asynchronous and synchronous invocations,
compositions using BPEL, and simple Web services.
The FoodShopping example is concerned with a
FoodShop Company that sells and delivers food.
The company has an online SHOP and several
WAREHOUSEs and SUPPLIERs located in
different areas.
Figure 1 shows our graphical representation of
the food shop execution.
4.2 Graphical Representation
Our graphical representation of the Web service
application represents the execution times of every
operation. Thereby the execution time start at the top
of representation and ends at the bottom. The arrows
represent message exchanges observed inside the
Web service application and the rectangles are the
Web service operation executions. Arrows with dark
heads are the synchronous invocations, dashed
arrows represents the return from synchronous
invocations. Arrows with open heads mean
asynchronous messages. To simplify the diagram,
operation names are not directly represented, but the
user can choose an operation execution to see its
informations.
In a general sense, Web services are black boxes.
We do not know what they do internally. Since, our
representation use just messages, some internal
behaviour is not possible to be represented. We
represent the Web service executions as follow:
• Each big rounded white rectangle, which we
call swim lane, represents a computer in the
network.
• Each column with vertical names represents
a Web service;
• Each small rectangle is an operation
execution into a Web service column. Every
operations are represented inside a swim
lane;
• Gray small rectangles represent synchronous
operations;
• White small rectangles represent
asynchronous operations
Horizontal size of each operation rectangle
represents the time of the operation execution.
We use all available information inside the
SOAP/HTTP messages. However, if the origin is not
specified (in “From” SOAP field), it is not possible
to state exactly the Web service source of the
message, then the only available information is the
network IP of Web service source machine.
Thereby, the arrow starts from the swim lane border
GRAPHICAL REPRESENTATIONS OF MESSAGE EXCHANGES INTO WEB SERVICE-BASED APPLICATIONS
369