Βελτιστοποίηση της εκτέλεσης σύνθετων υπηρεσιών διαδικτύου μέσω παροχέτευσης ενδιαμέσων αποτελεσμάτων

needlebookkeeperΛογισμικό & κατασκευή λογ/κού

17 Νοε 2012 (πριν από 4 χρόνια και 11 μήνες)

355 εμφανίσεις

Π
ανεπιζηήμιο Πελοποννήζοσ

Τμήμα Δπιζηήμης & Τετνολογίας Υπολογιζηών

Ακαδημαϊκό

έηος
200
8
-
200
9






Πηστιακή εργαζία



Βειηηζηνπνίεζε
ηεο εθηέιεζεο ζύλζεησλ
ππεξεζηώλ δηαδηθηύνπ

κέζσ παξνρέηεπζεο
ελδηακέζσλ απνηειεζκάησλ


Optimizing

Composite Web Service E
xecution through Intermediate

Result

Streamlining




Οκάδα εξγαζίαο
=
Καξθαιάθνο Ισάλλεο
=
=
=
捳c
M
4〳぀
畯u
.

=
Γηαλλόπνπινο Δπζηξάηηνο
=
捳tM
4〳ㅀ
畯瀮ur
=

Δπηβιέπσλ θαζεγεηήο
=
Βαζηιάθεο
Κσλζηαληίλνο
=
捯ct慳
]
畯u
.

=


Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

2
-

Περιετόμενα

Περιετόμενα

................................
................................
................................
................................
................................
...........

-

2
-

Δσρεηήριο ζτημάηων

................................
................................
................................
................................
............................

-

5
-

Δσρεηήριο πινάκων

................................
................................
................................
................................
...............................

-

5
-

Δσρεηήριο γραθημάηων

................................
................................
................................
................................
........................

-

5
-

1

Σκοπός εργαζίας

................................
................................
................................
................................
...........................

-

6
-

2

Summary

................................
................................
................................
................................
................................
.......

-

9
-

3

Αρτιηεκηονική βαζιζμένη ζε σπηρεζίες

................................
..........................

΢θάικα! Γ
ελ έρεη νξηζηεί ζειηδνδείθηεο.

3
.1

Τι είναι η απσιηεκηονική βαζιζμένη ζε ςπηπεζίερ;

................................
......

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

3.2

Γιαθοπέρ μονηέλος ςπηπεζιών διαδικηύος και ανθπωποκενηπικού μονηέλος ςπηπεζιών
Σθάλμα! Δεν έχει οριζηεί
ζελιδοδείκηης.

3.3

Απσιηεκηονική και δομικά ζηοισεία ηων ςπηπεζιών διαδικηύος

..................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

3.4

Γιαθοπέρ μονηέλος ςπηπεζιών διαδικηύος και ςπόλοιπων καηανεμημένων ηεσνολογιών
Σθάλμα! Δεν έχει οριζηεί
ζελιδοδείκηης.

3.5

Βαζικέρ ηεσνολογίερ ςπηπεζιών διαδικηύος

................................
................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

3.5.1

Αληαιιαγή δεδνκέλσλ

................................
................................
........

Σθάλμα! Γεν έτει οριζηεί ζελιδο
δείκηης.

3.5.2

Πξσηόθνιιν επηθνηλσλίαο

................................
................................
..

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

3.5.3

Γιώζζα πεξηγξαθήο παξερόκελσλ ππεξεζηώλ

................................
...

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

3.5.4

Καηαρώξεζε θαη αλάθηεζ
ε πιεξνθνξηώλ ππεξεζίαο

........................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

3.6

Βήμαηα ανάπηςξηρ και σπήζηρ εθαπμογήρ διαδικηύος

................................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

3.7

Δθαπμογέρ ηων ςπηπεζιών διαδικηύο
ς

................................
.......................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

3.8

Θέμαηα αζθαλείαρ

................................
................................
......................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

4

XML

................................
................................
................................
....................

΢θάικα! Γελ έρ
εη νξηζηεί ζειηδνδείθηεο.

4.1

Τι είναι
X
ML;

................................
................................
.............................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

4.2

Μεγάλη εξάπλωζη ηηρ
XML.

................................
................................
......

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

4.3

Το ζςνηακηικό ηηρ
XML

................................
................................
..............

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

4.3.1

΢ηνηρεία ή εηηθέηεο

................................
................................
..............

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

4.3.2

Ιδηόηεηεο

................................
................................
..............................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

4.4

XML Schema

................................
................................
..............................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκη
ης.

4.4.1

΢πληαθηηθό ηνπ
XML SCHEMA

................................
.........................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

5

WSDL

................................
................................
................................
.................

΢θάικα! Γελ έρεη νξηζηεί ζειηδνδείθηεο.

5.1

Σςνηακηικό ηηρ
WSDL

................................
................................
................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

6

UDDI

................................
................................
................................
...................

΢θάικα! Γελ έρεη νξηζηεί ζειηδνδείθηεο.

7

SOAP

................................
................................
................................
..................

΢θάικα! Γελ έρεη νξηζηεί ζειηδνδείθηεο.

7.1

Τι είναι ηο
SOAP

................................
................................
........................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

7.2

Σςνηακηικό ηος
SOAP

................................
................................
................

Σθάλμα! Δεν έχει ορ
ιζηεί ζελιδοδείκηης.

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

3
-

7.2.1

Soap envelope

................................
................................
......................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

7.2.2

Soap

Header

................................
................................
........................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

7.2.3

Soap

Faul
t

................................
................................
............................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

7.3

SOAP

μέζω
HTTP

................................
................................
.....................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

7.4

Αζςμβαηόηηηερ

SOAP

................................
................................
.................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

8

Άλλα πρωηόκολλα σπηρεζιών διαδικηύοσ

................................
......................

΢θάικα! Γελ έρεη νξηζηεί ζειηδνδείθηεο.

8.1

Διζαγωγή

................................
................................
................................
....

Σθ
άλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

8.2

ED
I
................................
................................
................................
.............

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

8.3

XML
-
RP
C

................................
................................
................................
..

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

8.4

Δπικοινωνούνηα ανηικείμενα

................................
................................
......

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

8.4.1

RM
I

................................
................................
................................
.....

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

8.4.2

COM
θαη
DCOM

................................
................................
.................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

8.4.3

CORB
A

................................
................................
...............................

Σθάλμα! Γεν έτει οριζηεί

ζελιδοδείκηης.

9

Υλοποίηζη

................................
................................
................................
..........

΢θάικα! Γελ έρεη νξηζηεί ζειηδνδείθηεο.

9.1

Διζαγωγή

................................
................................
................................
....

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

9.2

Ανάλςζη κώδικα

................................
................................
.........................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

9.2.1

Δπηθνηλσλία κέζσ κελπκάησλ
XML

................................
..................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

9.2.2

Streamliner

................................
................................
..........................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

9.2.2.1

Γεληθά

................................
................................
.........................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

9.2.2.2

Τινπνίεζε

................................
................................
..................

Σθάλμα!

Γεν έτει οριζηεί ζελιδοδείκηης.

9.2.3

Aggregator

................................
................................
...........................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

9.2.3.1

Γεληθά

................................
................................
.........................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

9.2.3.2

Τινπνίεζε

................................
................................
..................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

10

Μέηρηζη επιδόζεων

................................
................................
................................
................................
...................

-

10
-

10.1

Διζαγωγή

................................
................................
................................
................................
..............................

-

11
-

10.2

Μεηπήζειρ

................................
................................
................................
................................
.............................

-

11
-

11

Δπίλογος

................................
................................
................................
................................
................................
......

-

43
-

12

Βιβλιογραθία

................................
................................
................................
................................
...............................

-

44
-

13

Παράρηημα κώδικα

................................
................................
...........................

΢θάικα! Γελ έρεη νξηζηεί ζειηδνδείθηεο.

13.1

Πακέηο
streamline
r

................................
................................
....................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης
.

13.1
.1

Αξρείν CompletedVariable
.java

................................
.....................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.1.2

Αξρείν
OperationId.java

................................
................................
.

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.1.3

Αξρείν
Output
Variable
.java

................................
............................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.1.4

Αξρείν PendingVariable
.java

................................
..........................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.1.5

Αξρείν Request
.java

................................
................................
........

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.1.6

Αξρείν Request
s.java

................................
................................
......

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.1.7

Αξρείν UnknownIncomingVariable
.java

................................
........

Σθάλμα! Γεν έτει οριζ
ηεί ζελιδοδείκηης.

13.1.8

Αξρείν Optimize
.java

................................
................................
......

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.1.9

Αξρείν
Service.java

................................
................................
.........

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.1.10

Αξρείν
Parser.java

................................
................................
...........

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

1
3.1.11

Αξρείν parsedMessage2Send
.java

................................
..................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.2

Πακέηο
aggregator

................................
................................
....................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

13.2.1

Αξρείν PendingReturns

................................
................................
...

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

4
-

13.2.2

Αξρείν
Service.java

................................
................................
.........

Σθάλ
μα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.2.3

Αξρείν
XMLParser.java

................................
................................
..

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.2.4

Αξρε
ίν
sendMessage.java

................................
...............................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

13.3

Γοκιμαζηική ςπηπεζία

................................
................................
................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

13.4

Γοκιμαζηικόρ κώδικαρ σωπίρ βεληιζηοποίηζη

................................
............

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.

13.5

Γοκιμαζηικόρ κώδικαρ με βεληιζηοποίηζη

................................
..................

Σθάλμα! Δεν έχει οριζηεί ζελιδοδείκηης.


Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

5
-

Εσρεηήριο ζτημάηων

΢ρήκα 1


΢ύλζεζε ππεξεζηώλ
................................
................................
................................
..............................

-

6
-

΢ρήκα 2


Βειηηζηνπνηεκέλε ζύλζεζε ππεξεζηώλ

................................
................................
...............................

-

7
-

Schema 1


Web Service Synthesis

................................
................................
................................
.......................

-

9
-

Schema 2


Optimized web service synthesis

................................
................................
................................
.....

-

10
-

΢ρήκα 3


Ρόινη νληνηήησλ θαη αληαιιαγέο κελπκάησλ ζηα πιαίζηα ηνπ SOA
Σθάλμ
α! Γεν έτει οριζηεί
ζελιδοδείκηης.

΢ρήκα 4


Γνκή ελόο κελύκαηνο
SOAP

................................
.................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.

΢ρήκα 5


Παξάδεηγκα f=(x+y)*(z
-
k)

................................
....................

Σθάλμα! Γεν έτει οριζηεί ζελιδοδείκηης.


Εσρεηήριο πινάκων

Πίλαθαο 1
-

Απνηειέζκαηα εθηέιεζεο δηαδηθαζίαο κε βειηηζηνπνηεκέλεο πεξίπησζεο

................................
....

-

40
-

Πίλαθαο 2
-

Απνηειέζκαηα εθηέιεζεο δηαδηθαζίαο βειηηζηνπνηεκέλεο πεξίπησζεο

................................
.........

-

40
-

Πίλαθαο 3
-

΢ύγθξηζε απνηειεζκάησλ

................................
................................
................................
................

-

41
-


Εσρεηήριο γραθημάηων

Γξάθεκα 1
-

΢ύγθξηζε ρξόλνπ εθηέιεζεο ησλ

δύν πεξηπηώζεσλ
................................
................................
.......

-

41
-

Γξάθεκα 2


Οθέιε ρξήζεο ηεο βειηηζηνπνηεκέλεο πεξίπησζεο

................................
................................
......

-

42
-


Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

6
-

1

Σκοπός εργαζίας

Ο ζθνπόο ηεο εξγαζίαο απηήο είλαη
λα
δεκηνπξγεζεί έλα
ο κεραληζκόο πνπ ζα επηηξέπεη ηελ πην απνηειεζκαηηθή
εθηέιεζε κηαο ζύλζεζεο ππεξεζηώλ. Ωο ζύλζεζε ππεξεζηώλ κπνξνύκε λα ζεσξήζνπκε ηελ δηαδνρηθή θιήζε
ππεξεζηώλ
S
1
,
S
2
,

,
S
n
, όπνπ ηα απνηειέζκαηα πνπ επηζηξέθνληαη από ηελ ππεξεζία
S
i

ρξεζηκνπνηνύληαη σο
π
αξάκεηξνη γηα ηελ ππεξεζία
S
j

(1


i

<
j



n
)
.

΢ην
ζρήκα 1

απεηθνλίδεηαη κία ζύλζεζε ππεξεζηώλ, όπνπ ν
ρξήζηεο ππεξεζηώλ επηζπκεί ην απνηέιεζκα ηεο ππεξεζίαο
3
, ε νπνία απαηηεί σο είζνδν ην απνηέιεζκα ηεο
ππεξεζίαο
2

θ.ν.θ
. Έηζη ν ρξήζηεο ησλ ππεξεζηώλ ζα
πξέπεη λα θαιέζεη πξώηα ηελ ππεξεζία 1 θαη λα ζπιιέμεη
ην απνηέιεζκά ηεο, ην νπνίν θαηόπηλ ζα παξαδώζεη
ζ
ηελ ππεξεζία 2 σο είζνδν θ.ν.θ. κέρξη λα ζπιιερζεί ην
απνηέιεζκα ηεο ππεξεζίαο
3
. Απηή ε κέζνδνο ζρεδηαζκνύ ππεξεζηώλ δηαδηθηύνπ αθνινπζείη
αη από ηνπο
πεξηζζόηεξνπο παξνρεί
ο ππεξεζηώλ κέρξη ζήκεξα.


Τπεξεζία
2

Τπεξεζία
3

Τπεξεζία
1

Υξήζηεο ππεξεζηώλ

Αξρηθά
δεδνκέλα

Απνηέιεζκα 1

Απνηέιεζκα 2

Σειηθό
απνηέιεζκα

1

2

3

4

5

6


Στήμα

1



Σύνθεζη σπηρεζιών

Σν απνηέιεζκα απηό είλαη ηθαλνπνηεηηθό ζαλ ηειηθή ηηκή γηαηί είλαη απηό πνπ δεηνύζακε, αιιά ε κέζνδνο πνπ
αθνινπζήζεθε δελ είλαη

θαζόινπ απνδνηηθή από δύν απόςεηο :



Από ηε πιεπξά ηνπ ρξήζηε ν νπνίνο αλ δελ έρεη ηε ηνπηθή εθαξκνγή (δελ ππάξρεη ή δελ ηνπ παξέρεηαη)
ζα πξέπεη, γηα λα
ζπιιέμεη

ην ηειηθό απνηέιεζκα, λα
ζπληνλίζεη ηηο θιήζεηο

αλάκεζα ζηηο ππεξεζίεο
δηαδηθηύνπ. Θα πξέπεη
ρξεζηκνπνηώληαο έλα εξγαιείν (π.ρ. θπιινκεηξεηήο ηζηνύ) λα ζηείιεη ηα αξρηθά
δεδνκέλα πξνο επεμεξγαζία ζηελ Τπεξεζία 1, από εθεί λα πεξηκέλεη (γηαηί κπνξεί λα ρξεηάδεηαη θαη
θάπνην ρξόλν επεμεξγαζίαο) γηα λα πάξεη ην απνηέιεζκα 1 θαη λα ην δώζεη ζηελ ππεξε
ζία 2. Απηή ε
δηαδηθαζία ζα πξέπεη λα γίλεη γηα όιεο ηηο ππεξεζίεο, θαη είλαη ε πην απιή πεξίπησζε θαζώο ζε κηα πην
ζύλζεηε δηαδηθαζία ζα κπνξνύζακε λα έρνπκε θαη επηζηξνθή ζε πξνεγνύκελε ππεξεζία.



Από ηελ άπνςε ηνπ ρξόλνπ, θαζώο απηή ε δηαδηθαζία εθηειεί
πνιιά ελδηάκεζα βήκαηα κε ηελ ηνπηθή
εθαξκνγή


ρξήζηε. Ξέξνπκε όηη απηά ηα βήκαηα είλαη ρξνλνβόξα θαζώο εκπιέθνληαη νη ρξόλνη
απνζηνιήο θαη ιήςεο ησλ δεδνκέλσλ κέζσ ηνπ δηθηύνπ.

Η πξόηαζή καο γηα βειηηζηνπνίεζε ηεο παξαπάλσ δηαδηθαζίαο, είλαη λα
δεκηνπξγε
ζεί έλα ελδηάκεζν ινγηζκηθό
ώζηε λα
αλαιακβάλεη ηελ επηθνηλσλία
κεηαμύ
ησλ ππεξεζηώλ
, θαη έηζη λα
αληαιιάζζνπλ

κεηαμύ ηνπο ηα
δεδνκέλα πνπ ρξεηάδνληαη γηα λα
ζπλζέζνπλ

ην ηειηθό απνηέιεζκα, όπσο θαίλεηαη ζην

ζρήκα 2
.

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

7
-


Σνπηθή εθαξκνγή
-
Υξήζηεο

Αξρηθά δεδνκέλα γηα θάζε ππεξεζία

Σειηθό

απνηέιεζκα

Aggregator

Τπεξεζία 1

Streamliner 1

Κιήζε
ππεξεζίαο

Απνηέιεζκα
ππεξεζίαο

Τπεξεζία 2

Streamliner
2

Κιήζε
ππεξεζίαο

Απνηέιεζκα
ππεξεζίαο

Τπεξεζία 3

Streamliner
3

Κιήζε
ππεξεζίαο

Απνηέιεζκα
ππεξεζίαο

Κιήζε

streamliner
κε
πιεξνθνξίεο γηα ηε
λ
παξαιαβή παξακέηξσλ
θαη παξάδνζε ησλ
απνηειεζκάησλ

Κιήζε
streamliner
κε
πιεξνθνξίεο γηα ηε
λ
παξάδνζε ησλ
απνηειεζκάησλ


Κιήζε
streamliner
κε
πιεξνθνξίεο γηα ηε
λ
παξαιαβή παξακέηξσλ
θαη παξάδνζε ησλ
απνηειεζκάησλ


Σειηθό

απνηέιεζκα

Δλδηάκεζν απνηέιεζκα

Δλδηάκεζν απνηέιεζκα


Στήμα
2



Βεληιζηοποιημένη ζύνθεζη σπηρεζιών

Η παξαπάλσ πξόηαζε δίλεη ην ίδην απνηέιεζκα ζαλ ηειηθή ηηκή απνηειέζκαηνο, αιιά βειηηώλεη ζε πνιύ
ζεκαληηθό βαζκό ηηο
αθόινπζεο

«πξνβιεκαηηθέο» απόςεηο:



΢ηε βειηηζηνπνηεκέλε πεξίπησζε, ν ρξήζηεο ην

κόλν πνπ έρεη λα θάλεη γηα λα πάξεη ην ηειηθό
απνηέιεζκα είλαη λ
α δώζεη ηα αξρηθά δεδνκέλα ζηνλ
aggregator
,

γηα λα παξαρζεί ην ηειηθό απνηέιεζκα.

Ο
aggregator

αλαιακβάλεη λα δώζεη ηηο πιεξνθνξίεο θαη ηα δεδνκέλα ηεο εθηέιεζεο ζηνπο
streamliner
.

Απηέο νη π
ιεξνθνξίεο είλαη ε αιιεινπρία ησλ ππεξεζηώλ πνπ πξέπεη λα εθηειεζηνύλ
.



Από ηελ άπνςε ηνπ ρξόλνπ, απηό γίλεηαη θαηά πνιύ γξεγνξόηεξα έρνπκε θαη κείσζε ηνπ ρξόλνπ
κεηαθνξάο ησλ δεδνκέλσλ
, θαζώο απνθεύγεηαη ε επηζηξνθή ησλ ελδηάκεζσλ απνηειεζκάησλ ζηνλ
ρξήζηε
, ε νπνία έρεη σο κνλαδηθό ζθνπό λα ηνπ επηηξέςεη λα ηα παξαδώζεη ζηηο επόκελεο ππεξεζίεο πνπ
ζα θιεζνύλ
.
Λακβάλνληαο παξάιιεια ππόςε όηη ε επηθνηλσλία ρξήζηε
-
ππεξεζηώλ γίλεηαη ζπλήζσο από
πην αξγά θαλάιηα ζε ζρέζε κε ηελ επηθνηλσλία
aggregator
-
ππεξεζηώλ,
ηα νθέιε είλαη ζεκαληηθόηεξα.



T
έινο, βειηίσζε ππάξρεη θαη ζε έλα ζέκα πνπ ζρεηίδεηαη κε ηελ αζθάιεηα. ΢ηα παξαπάλσ ζρήκαηα, αλ ν
πάξνρνο ηεο ππεξεζίαο 2 εκπηζηεύεηαη ηνλ πάξνρν ηεο ππεξεζίαο 1 αιιά όρη θαη ηνλ ηειηθό ρξήζηε
ππεξεζηώλ, ηόηε αλ δελ ππάξρεη ε

κεζνιάβεζε ηνπ
streamliner

ζα πξέπεη λα ιεθζνύλ πξόζζεηα κέηξα
γηα λα εμαζθαιηζηεί όηη ν ηειηθόο ρξήζηεο δελ ζα αιινηώζεη, παξαπνηήζεη ή πιαζηνγξαθήζεη ηα
Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

8
-

ελδηάκεζα απνηειέζκαηα
, ελώ ζηελ εθδνρή κε ρξήζε ηνπ
aggregator

θαη παξνρέηεπζεο ησλ ελδηάκεζσλ
απνη
ειεζκάησλ, ηέηνην δήηεκα δελ πθίζηαηαη.

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

9
-

2

Summary

The p
urpose

of

this

project

is

to

create

a

mechanism

that

allows

a more

effective

execution

of

a

web

service

composition
.

The term


web

service

composition”

refers to
call

the

consecutive
call

of

services
S
1
,
S
2
, …,
S
n
,
where the results returned from the web service
S
i
,

are used as parameters for the web service
S
j

(1


i

<
j



n
).
In

Figure

1
we

represent

the execution of
a

web

service

composition
,
where

the

user

desires

the

result

of

service

3
,
which

requi
res

as

input

the

result

of

service

2
,
etc
.

So
,
the

user has to call firstly
web

service

1
and

collect

its

result,
then

has
to pass the result to service 2 as input
and so on
,
until
collecting

the
result of
service
3
.

This

web

service

design

method

is

used

by

most

web

services

providers
.



Service

2

Service

3

Service

1

Web service user

Initial data

Result

1

Result

2

F
inal

r
esult

1

2

3

4

5

6


Figure

3



Web

Service

Synthesis

This

arrangement is satisfying in respect of the final value obtained

since it is the one that the user has asked for
-

but the method

th
at

used

is

not

efficient

from

two

reasons
:



From

the

user

point of view
,
that

if

s/
he

has

not

a

local
ly executed

application

available
(
is

does
not

exist

or

is

not

provided
),
s/he
has

to

orchastrate

the

calls

to

web services.
The user should employ an
appro
priate tool
(
e
.
g
.
browser
)
, and

send

the

initial

data

to

service

1,
wait

for

the

result

(
because

service

1
may

need

some
time

for processing and return the result
)
and pass it to service 2. This

process

has

to

be

done

for

all

services
,
and

it

is

the

simple
st

case of web service
composition
.



Regarding
the

process

execution
time
,
this

process

makes a lot of intermediate
steps
requiring the
intervenstion of the
local application (user). These

steps

are

time consuming
,
and the time required to
sending

and

recei
ving

intermediate results may be
too
large,
because of user upload and download rate.

Our

solution

for

the

optimization

of

this

process

is

to

create

a

middleware
,

wh
ose
purpose

is

to

orchestrate the
web services compri
sing a composite service, and arrange
for transferring the intermediate results as appropriate.
This approach is depicted in Figure 2.

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

10
-


Local application
-
User

Initial data for service
invocation

Final result

Aggregator

Service
1

Streamliner 1

Service
call

Service result

Service

2

Streamliner
2

Service
call


Service result

Service

3

Streamliner
3

Service
call


Service result

S
treamliner

call

with
information about the
process


S
treamliner

call

with
information about the
process


S
treamliner

call

with
information about the
process


Final result

Intermediate result

Intermediate result



Figure

4



Optimized

execution of a
web

service

composition

This

solution

concludes to

the

same

result

wit
h the previous one

regarding the
final

value
,
but

considerably
improves

the following aspects
:



In

optimized

case
,
user has only to
present

the initial data to
the
aggregator and wait to
receive

the final
result.
The a
ggregator
under
takes

the task of passi
ng all
info
rmation

and

data

about
the process to
streamliners and collect
s

and pass
es

the result
back

to user.



Execution time is improved,
because

less intermediare result transfers are performed
.

This

case

avoids

unnecessary
intermediate

results

to

user
,
which

the

only

purpose

of

these

is

to

pass

them

to

next

services
.

Intermediate results are transferred directly from the producer to the consumer.



Finally
,
there

is

improvement

to

security
.

I
f

the provider of
service

2
trusts

the provider of
service

1
but

not

the

final

user
,
in the non streamliner
-
mediated approach
provider 2 would have to employ additional
security mechanisms (e.g. digital signatures) to ensure that the intermediate results
are not forged or
modified by the user; when direct transfer is em
ployed, the introduction of such mechanisms is not
required.


Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

11
-

10

Μέηρηζη

επιδόζεων

10.1

Εισαγω
γή

Απηό

πνπ

πεξηκέλνπκε

από

ηε

ρξήζε

ησλ

παθέησλ

streamliner

θαη

aggregator

είλαη

ην

ηειηθό

απνηέιεζκα

κηαο
δηαδηθαζίαο λα ππνινγίδεηαη ζε ζπληνκόηεξν ρξνληθό δηάζηεκα. Ο ρξόλνο πνπ αλακέλνπκε λα θεξδίζνπκε είλαη ν
ρξόλνο πνπ ράλεηαη κέζσ ηεο απνζηνιήο ησλ

ελδηάκεζσλ απνηειεζκάησλ ζην ρξήζηε θαη ζηε ζπλέρεηα ζηελ
επόκελε ππεξεζία.
Ο ειάρηζηνο ρξόλνο θέξδνπο είλαη λα κεησζεί ζην κηζό ν ρξόλνο κεηαθνξώλ

γηα ηα ελδηάκεζα
απνηειέζκαηα. Ωζηόζν ν ρξόλνο απηόο κπνξεί λα
κεησζεί

θαηά

πνιύ κεγάιν πνζνζηό αλάινγα κε
ηε ζύλζεζε
ησλ ππεξεζηώλ. Πξέπεη λα αλαθεξζεί

επίζεο,

όηη
έρνπκε κεγάιν θέξδνο ρξόλνπ από ηελ απνθπγή ησλ πεξηηηώλ
κεηαθνξώλ από ηε κεξηά ηνπ ρξήζηε (
upload
)
,

ζπλήζσο ν ρξήζηεο έρεη εμαηξεηηθά κηθξή ηαρύηεηα κεηάδνζεο ζε
αληίζεζε κε έλα
server
.

Παξάιιεια π
πάξρνπλ θαη θέξδε ζε πνηνηηθά ραξαθηεξηζηηθά, όπσο απηό ηεο αζθάιεηαο
θαη ηνπ γεγνλόηνο όηη ν ρξήζηεο δελ είλαη απαξαίηεην λα ζπλζέηεη ν ίδηνο η
η
ο ππεξεζίεο, ηα νπνία θέξδε δελ
κπνξνύλ λα πνζνηηθνπνηεζνύλ.

10.2

Μετρήσεις

Γηα ηε κέηξεζε επηδόζεσλ ηνπ ζπζηήκαηνο
streamliner

θαη
aggregator

εθηειέζακε ηε παξαθάησ δηαδηθαζία
ζύλζεζεο ππεξεζηώλ. Η πξώηε κέηξεζε έγηλε ρσξίο ηε βειηηζηνπνίεζε θαη ε δεύηεξε κε ηε
βειηηζηνπνίεζε
. Η
δηαδηθαζία ήηαλ απιή, ν ρξήζηεο θαιεί κία ππεξεζία
,

ε νπνία ππνινγίδεη κηα ηηκή, ηνπ επηζηξ
έθεηαη ην
απνηέιεζ
κα θαη ν ρξήζηεο ην κεηαθέξεη ζηε

δεύηεξε ππεξεζία
,

από
ηελ νπνία θαη ιακβάλεη
ην ηειηθό
απνηέιεζκα. ΢ηε βειηηζηνπνηεκέλε πεξίπησζε, ν ρξήζηεο θαιεί ηνλ
aggregator

κε ην όξηζκα ηεο πξώηεο
ππεξεζίαο θαη
ιακβάλεη
ην ηειηθό απνηέιεζκα από απ
ηόλ.

Σα ζπζηήκαηα πνπ ρξεζηκνπνηήζακε είραλ ηζνδύλακεο ηαρύηεηεο ζύλδεζεο ζην δηαδίθηπν, θαη
γηα ηελ
εμνκάιπλζε δηαθπκάλζεσλ πνπ νθείινληαη ζηνλ θόξην ηνπ δηθηύνπ θαη ησλ εμππεξεηώλ,

ε θάζε κέηξεζε γηλόηαλ
3 θνξέο ζε
δηαθνξεηηθά ρξνληθά δηαζηήκαηα. Οη κεηξ
ήζεηο έγηλαλ γηα πιήζνο δηαθνξεηηθνύ κεγέζνπο δεδνκέλσλ
μεθηλώληαο από 2
kb

κέρξη
2
mb
.

Σα απνηειέζκαηα ησλ κεηξήζεσλ
παξαηίζεληαη ζηνπο παξαθάησ πίλαθεο.

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

12
-

Simple

ΜΕΓΕΘΟΣ
ΕΝΔΙΑΜΕΣΩΝ
ΔΕΟΜΕΝΩΝ (
KB
)


ΜΕΤΡΗΣΗ
(
sec)


ΜΕΤΡΗΣΗ

(
sec)


ΜΕΤΡΗΣΗ
(
sec)

ΜΕΣΟΣ
ΟΡΟ
Σ
(
sec)

2

3

2

4

3

4

3

3

4

3

8

3

3

6

4

16

4

4

4

4

32

6

5

4

5

64

6

10

8

8

128

16

17

17

17

256

33

31

28

31

384

47

44

45

45

512

60

66

67

64

640

84

83

81

83

768

100

91

94

95

1024

138

141

141

140

1280

187

181

183

184

1536

233

227

229

230

1792

272

275

276

274

2048

330

328

335

331

Πίνακας
1

-

Αποηελέζμαηα εκηέλεζης διαδικαζίας μη βεληιζηοποιημένης περίπηωζης

Optimize
d

ΜΕΓΕΘΟΣ
ΕΝΔΙΑΜΕΣΩΝ
ΔΕΟΜΕΝΩΝ (
KB
)


ΜΕΤΡΗΣΗ
(
sec)


ΜΕΤΡΗΣΗ

(
sec)


ΜΕΤΡΗΣΗ
(
sec)

ΜΕΣΟΣ
ΟΡΟΣ
(
sec)

2

2

2

2

2

4

2

2

2

2

8

2

2

2

2

16

2

2

3

2

32

2

3

3

3

64

4

4

4

4

128

7

7

8

7

256

13

13

13

13

384

21

20

20

20

512

29

28

28

28

640

34

35

34

34

768

45

45

46

45

1024

71

66

70

69

1280

82

81

80

81

1536

123

116

118

119

1792

156

153

155

155

2048

195

19
7

194

195

Πίνακας
2

-

Αποηε
λέζμαηα εκηέλεζης διαδικαζίας

βεληιζηοποιημένης περίπηωζης

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

13
-

ΜΕΓΕΘΟΣ
ΕΝΔΙΑΜΕΣΩΝ
ΔΕΟΜΕΝΩΝ
(
KB
)

Simple

(
sec)

Optimized
(
sec)

ΚΕΡΔΟΣ
(
sec)

Κέρδος
(%)

2

3

2

1

-
33,33%

4

3

2

1

-
33,33%

8

4

2

2

-
50,00%

16

4

2

2

-
50,00%

32

5

3

2

-
40,00%

64

8

4

4

-
50,00%

128

17

7

9

-
58,82%

256

31

13

18

-
58,06%

384

45

20

25

-
55,56%

512

64

28

36

-
56,25%

640

83

34

48

-
59,04%

768

95

45

50

-
52,63%

1024

140

69

71

-
50,71%

1280

184

81

103

-
55,98%

1536

230

119

111

-
48,26%

1792

274

155

120

-
43,43%

2048

331

195

136

-
41,09%

Πίνακας
3

-

Σύγκριζη αποηελεζμάηων

΢ηα αθόινπζα γξαθήκαηα παξνπζηάδνληαη επνπηηθά ηα ζηνηρεία ησλ αλσηέξσ πηλάθσλ.


Γράθημα
1

-

Σύγκριζη τρόνοσ εκηέλεζης ηων δύο περιπηώζεων

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

14
-


Γράθημα
2



Οθέλη

τρήζης ηης βεληιζηοποιημένης περίπηωζης

Από ηηο παξαπάλσ κεηξήζεηο παξαηεξνύκε, όπσο αλακέλακε, όηη ην θέξδνο καο απμάλεηαη θαζώο απμάλεηαη ην
κέγεζνο ησλ δεδνκέλσλ πξνο επεμεξγαζία
, θάηη πνπ είλαη αλακελόκελν θαζώο ε βειηηζηνπνίεζε εζηηάδ
εηαη
θπξίσο ζηελ κείσζε ηεο επηβάξπλζεο ιόγσ άζθνπσλ κεηαθνξώλ δεδνκέλσλ.

Από ηελ άιιε πιεπξά, θαίλεηαη όηη
ε επηβάξπλζε πνπ εηζάγεηαη από ηηο πξόζζεηεο ιεηηνπξγίεο (π.ρ. επηπξόζζεηεο αλαιύζεηο κελπκάησλ
XML
)

είλαη
ηδηαίηεξα κηθξή θαη δελ δεκηνπξγεί θάπνην

πξόβιεκα.

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

15
-

11

Επίλογος


Ο αξρηθόο ζηόρνο ηεο πηπρηαθήο εξγαζίαο, ήηαλ ε πινπνίεζε κηαο ππεξεζίαο δηαδηθηύνπ. Η ππεξεζία ζα
βειηηζηνπνηνύζε ηηο ππάξρνπζεο δηαδηθαζίεο πνπ είλαη απνηέιεζκα ζύλζεζεο επηκέξνπο ππεξεζηώλ. Απηό ζα
πξαγκαηνπνηνύληαλ κε ηελ νξγάλσζε

ησλ κελπκάησλ αλάκεζα ζηηο ππεξεζίεο γηα ηελ απνθπγή άζθνπσλ
κεηαδόζεσλ [΢ρήκα 2].

Ο ζηόρνο απηόο νινθιεξώζεθε κε ηελ πινπνίεζε ηνπ παθέηνπ
streamliner
.

Σν παθέην εγθαζίζηαληαη ζηνπο
server

πνπ παξέρνπλ ππεξεζίεο ώζηε λα αλαιακβάλεη ηε δηαρείξηζε ησλ κελπ
κάησλ. Δίλαη αλεμάξηεην
ππεξεζίαο. Δπίζεο πινπνηήζεθε θαη έλα παθέην
aggregator

ην νπνίν αλαιακβάλεη λα δηαρεηξηζηεί ηελ αξρηθή
αίηεζε θαη λα νξγαλώζεη

ηνπο
streamliner
.

Ο
aggregator

δελ είλαη γεληθόο θαη γηα θάζε δηαθνξεηηθή δηαδηθαζία
ζα πξέπεη λα ηξνπνπ
νηνύκε ηε ζπλάξηεζε δεκηνπξγίαο κελπκάησλ.

Ωο κειινληηθή επέθηαζε ηεο παξνύζαο εξγαζίαο ζα κπνξνύζε λα εμεηαζζεί ν ζπλδπαζκόο ηεο παξνρέηεπζεο
ελδηάκεζσλ απνηειεζκάησλ κε πξνζεγγίζεηο όπνπ γίλεηαη απηόκαηε ζύλζεζε ππεξεζηώλ κε βάζε ζεκαζηνινγηθά
ραξαθηεξηζ
ηηθά ή εμαξηήζεηο δεδνκέλσλ. Πεξαηηέξσ έξεπλα κπνξεί επίζεο λα γίλεη ζην πσο κπνξεί λα
ιεηηνπξγήζεη ην ζρήκα ζε πεξηβάιινληα πνπ ρξεζηκνπνηνύλ κεραληζκνύο θξππηνγξάθεζεο ή άιινπο
κεραληζκνύο αζθάιεηαο.

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

16
-

12

Βιβλιογραθία


1.

Βαζηιάθεο Κώζηαο, Λέπνπξαο Γηώξγνο,

Καη
εθόξε Αθξηβή,
Web

Service

Execution

Streamlining
,

http
://
ieeexplore
.
ieee
.
org
/
xpl
/
freeabs
_
all
.
jsp
?
arnumber
=4114724

2.

Web Services

Essentials
,
Distributed Applications

with

XML
-
RPC
,

SOAP
,
UDDI

&
WSDL

By

Ethan
Cerami
,
Publisher
:
O'Reilly
,
February

2002,
ISBN

: 0
-
596
-
00224
-
6

3.

Service
-
Oriented

Architecture

and Web Services

by

Mark

Endrei
,
Jenny Ang,

Ali Arsanjani,

Sook

Chua
,
Philippe

Comte,

P
ål

Krogdahl
,
Min Luo,

Tony

Newling,

Publishe
r
:
IBM Redbook,

April
2004,
ISBN

:
073845317X

4.

http
://
www.w3c.gr
/

http
://
www.w3c.gr
/
office
/
docs
/
XML1
0
points
.
el
.
ht
m

5.

htt
p
://
en
.
wikipedia.org/

http
://
en
.
wikipedia.org/wiki
/
XM
L

http
://
en
.
wikipedia.org/wiki
/
Web_Services
_
Description_Language

http
://
en
.
wikipedia.org/wiki
/
SOAP

6.

http
://
eos.uom.gr
/

http
://
eos.uom.gr
/~
kaklaman
/
book
/
Chapters
/
C8
/
What
%20
is
%20
XML%
202.
ht
m

7.

http
://
www.beepcore
.
org/docs
/
rfc3
288.
html

http
://
www.beepcore
.
org/docs
/

8.

http
://
ww
w.aleksey.com/XMLsec
/

http
://
www.aleksey.com/

9.

http
://
www.nesc
.
ac
.
uk
/

http
://
www.nesc
.
ac
.
uk
/
action
/
esi/download
.
cfm?index=
846

10.

http
://
www.XML.dvint.com/docs
/

11.

http
://
www.XMLrpc
.
com/

12.

http
://
www.w3
.
or
g

http
://
www
.
w
3
.
org
/
TR
/
wsdl

http
://
www
.
w
3
.
org
/
TR
/2001/
WD
-
soap
12
-
20010709/

http
://
www
.
w
3
.
org
/
TR
/
soap
12
-
part
1/

13.

http
://
www.w3schools.co
m

http
://
www
.
w
3
schools
.
com
/
wsdl
/
default
.
as
p

Βει
ηηζηνπνίεζε ππεξεζηώλ δηαδηθηύνπ

πξνζαλαηνιηζκέλσλ ζηελ εθαξκνγή


-

17
-

14.

http
://
www.XML.com/

http
://
www
.
XML
.
com
/
pub
/
a
/
98/10/
guide
0
.
html

http
://
www
.
XML
.
com
/
pub
/
a
/
2000/11/29/
schemas
/
part
1.
html

15.

http
://
java
.
sun.com/

http
://
java
.
sun
.
com
/
ja
vase
/6/
docs
/
api
/

http
://
java
.
sun
.
com
/
j
2
ee
/1.3/
docs
/
tutorial
/
doc
/
JAXM
2.
html

16.

http
://
tomcat
.
apache
.
org/

http
://
tomcat
.
apache
.
org
/
download
-
60.
cg
i

17.

http
://
ws
.
apache
.
org
/
axis
2/

http
://
ws
.
apache
.
org
/
axis
2/
download
.
cg
i

http
://
ws
.
apache
.
org
/
axis
2/1_1_1/
installationguide
.
html

http
://
ws
.
apache
.
org
/
axis
2/1_0/
OMTutorial
.
html

18.

http
://
ww
w.sun.com/

http
://
www
.
sun
.
com
/
software
/
products
/
appsrvr
/

19.

http
://
www.netbeans
.
org/

http
:
//
www
.
netbeans
.
org
/
kb
/61/
websvc
/
gs
-
axis
.
html

20.

https
:
//
metro
.
dev
.
java
.
net
/

https
:
//
metro
.
dev
.
java
.
net
/
1.4/