Вы находитесь на странице: 1из 130

. .

" ".

ISBN 978-5-84907-304-0
ISBN 978-5-317-02113-9

: 566, -265
:
http://search.nbmgu.ru/resurs.jsp?f=1016

, , 2007

, . . . , 2007


1.
1.1.
1.2.
1.2.1.
1.2.2.
1.2.3.
1.3.
1.4.
1.5.
2.
2.1.
2.2.
2.3.
2.3.1.
2.3.2.
2.3.3.
2.3.3.1.
2.3.3.2.
2.3.3.3.
2.4. -

2.4.1.
2.4.1.1. ,

2.4.1.2.
2.4.1.3.
2.4.1.4.

2.4.1.5. RMI
2.4.2.
2.4.2.1. CORBA
2.4.2.2. CORBA
2.4.2.3.

2.4.3.
2.5.

2.5.1.
3

6
6
7
7
8
9
10
11
15
20
20
22
29
29
31
33
34
35
35
37
37
38
38
39
39
40
40
41
42
43
44
44
44

2.5.2.
45
2.5.3.
47
2.5.4.
47
2.6.
48
2.6.1. "/"
51
2.6.2.

52
3.
53
3.1. 53
3.2. -
53
3.3.
54
3.3.1.
54
3.3.2.
55
3.3.3.
56
3.3.4.

56
3.4.
57
3.4.1.
57
3.4.2.
59
3.5.
59
4.
63
4.1.
63
4.2.
63
4.3.
68
4.3.1.
68
4.3.2.
70
4.4.
71
4.4.1.
72
4.4.2.
74
4.5.
76
4.6.
88
4.7.
90
4.7.1.
94
4.7.2.
98
4.7.3.
99
4.8.
101
4.8.1.
102
4.8.2. -
105

5.
5.1.

5.2.
5.3.
5.3.1.
5.3.2.
5.3.3.
5.3.4.
5.3.5.
5.3.6.
5.4.
5.4.1.
5.4.2.

107
109
110
112
112
113
120
121
123
124
125
125
127
129

1. 1
1.1.
,
, ,
, ,

. ,
, ,
,
, .

,
,
.
,

( , ).

( , ,
, ,
).
, ,
. ,
,
,
,

.

,
.
(middleware).

,
.
, ,
, , .
1


" ".
6

1.2.

.
1.2.1.

.
.

, .
, .
URL,
, ,
.
,
(
). ,
,
( ICQ).

(
,
).

.

, , .
.
.

.
, .
, ()
,
.
,
,
7

.
.
,

.
, -
.
,
,
. ,
,
.
, .
,
( ) .

. .

. .
1.2.2.

, . ,
, . ,
, ,

IDL. IDL (
, , ,
). ,
.
,
,
, ,
.
( ),
.

, ,
. ,
, ,
8

,
, ,
, .

. ,
.
,
.
1.2.3.

,
, ,
.
, - (
), (
), ( -
).

, ,
( ).

, . ,

,
.
:
.
, ,
,
, .

:
,
.
, ,

.

1.3.
:
,
. ,
,
, ,
.
.
, -
.

, .
, ,
.
,
. , ,
, .

.
. ,
, ,
, HTML.
,
, HTML-.
, .
/, ,
.
.
,
. ,
,
.
. ,
.
,
, .
.
.
, , .
10

.
, ,
, .
, , ,
.
, .
,
, .
,
, .
,

.
.
, (). 4
,
: -, -, - .
1.4.

,

, .
,
(, )
( ),
,
.
,
, .
,
.
. -,
.

,
.
,
.
11

.
,
.

,
, . -
,
.
:
( ),
, .

/.

,
. ,
,
.
,
, ,
.
/
,
.
.
,
.
, ,
,
. ,
,
-
.

.
,
.
: .

12



.
.
,
.

/. (. 1.1).
,
.

(middleware).
,
.
, ,
(. 1.2).

. 1.1.

(middleware).


, , .

. .
,
13

.
,
.

(middleware)

. 1.2.
.


, . ,
,
,
.
,
.

.

14

,
: ,
,
, , .
,
,
,
.
,
.

,
,
.

:
.
:
.
-
.

.
.
,
, , ,
.
, ,
,
.
1.5.

.

.
, ,
, .
,

15

. , ,
, , ,

, .

.

.

. 1.3.
.

(. 1.3)
. , ,
.

.
.
, .
, , ,
.
.
.
.
(. 1.4),
, .
-
.
16

. 1.4. ,
.


,
.
,
.
,
.
,
, .

. ,
,
, .
.
,
.

. (. 1.5-)
.
.
(. 1.5-)
. ,
.
,
.
17

. 1.5.
.

(. 1.6-)
,
, .
,
,
.
,
.
.

. 1.6.
, .

.
,
18

(. 1.6-), ,
.
.
, (. 1.7-),
,
,
.
, (. 1.7-),

, / /.
,

.
.

. 1.7.
.

19

2.
2.1.
,
,
(Remote Procedure Call, RPC).
RPC
, ,
, ,
,
. ,
RPC,
,
(. 2.1).
:


:

,

TCP, UDP:

(UDP)
- .
(TCP)

TCP, UDP

(IP):

(IP)

. 2.1. ,
.


,
. ,
,
. -
, ,
.
,

. ,
20

, (,
TCP,
T/TCP, ,
).
,
:
, ,
,
.
, .
:
.
. RPC
,
.

,
.
. ,
. RPC-
,
,
.
. RPC ,
. .
,
RPC , .
RPC
.
.
,
.
,
, - .
.
. RPC-
, .
21


.
.
(Message Oriented Middleware, ).
,

.

,
.

.
, ,
.
2.2.
RPC ,
.
"/":
, . ,
.
RPC ( )
(, ).
,
: , ,
, . .
RPC , ,
.
,
,
.


,
.
, , ,
,
:
( ),
,
22

. ,
,
,
.
.
,
.
RPC .
,
, (Remote Method Invocation,
RMI) (stored procedures) .
RPC
.

IDL

IDL

IDL

. 2.2. RPC.

:

.
.

.
.
.
23

:
,
, .
,

, ,
.
RPC
, , ,
.
,
(IDL).
,
.
IDL
, (. 2.2, 2.3).
[
object, uuid (E7CDODOO-1827-11CF-9946-444553540000)
]
interface ISpellChecker : Unknown
{ import "unknwn.idi"
HRESULT LookUpWord
( [in] OLECHAR word [31], [out] boolean * found);
HRESULT AddToDictionary
( [in] OLECHAR word [31]):
HRESULT RemoveFromDictionary ( [in] OLECHAR word [31]);
}

. 2.3. IDL DCE


RPC.


. RPC,
, RPC ,
.
:
.
IDL
(stub) (. 2.4). ,
.
,
, ,

.
: .
24


.
.

(
)

. 2.4. RPC.

,
. ,
, (
, ),
, ,
.

. ,
, ,
,
,

,
.
. IDL
,
. , RPC ,

IDL - (*.h).
, ,
, ,
.
25

,
,
.
, , ,
.
.
,
.
, (. 2.5).

RPC

RPC

,

. 2.5. .


,
.
.
,
. ,
(
),
, .
,
.
RPC ,
, .
,
, ,

. .
,
, . IP-
, Ethernet, .500 . .
.
26


. , ,
. ,
,
. ,
.
.

, .

.
,
.

(. 2.6).

2.
5.

0.

7.

3. ,

(
)

6.
1.
4.

(binder)

. 2.6. : ( 0 1),
, , ( 2 3),
( 4), ( 5, 6 7).

RPC
. , , ,
27

. ,
,
,
.
,
. ,
.
,
, ,
() ,
. -
,
.

.

,
,
.
, .
c ,
.
(
).
,
,
.


RPC


. 2.7. .


.
, .
28

RPC (. 2.7).
() (. 2.8),
. ,
,
.

RPC


. 2.8. .

2.3.
2.3.1.
,
, .
.
,
( ),
,
. " ".
,
" " ,
,
(,
).
,
, .


,
,
( ).
,
.
29

( ),
( , ,
),
, , .
,
:
(Atomic). ,
, ,

.
,
;
(Consistent).
.
, ,
.
( ) ;
(Isolated).
.
- ,
,
( ) ;
(Durable).
.
ACID.
,
.
ACID.
.
, ,
.


.
:
, ,
.
.
30

ACID.
,
(
, -
).
.
: .
, ,
, .

. 2.9. () ().

.
,
(. 2.9).
2.3.2.

,
( ).

.
, ,
.
(1PC). 1
31

:
,
.

. 2.10. : () ,
() , ()
( ).

(2PC) ,
.
1 2, ( )
3 4 (. 2.10):
1. .
2.
,
( ""),
( "").
3. .
,
32


.
,
.
4. , ,
,
( ).

.
,
.
,
.
, ,
.
-.

,

( "").
- 2
,
.
, ,
.
, .
2
.
,

.
2.3.3.

,
.
"/" .
CICS,
IBM 60- .
33

,


()
.
,
.
2.3.3.1.

.
,
.
(, ,
, ),

.
.

1. BOT
4.
10. EOT

9.

2.
5.
11.
14.

3.


8.

6.
7.
13. 2

12.
2

. 2.11.
( , BOT, EOT ).

(TRPC)
,
, , .
(-

34

- ), (
, ).

, ,
().

,
(. 2.11).
,

, .
2.3.3.2.
,
:
,
( IDL, ,
, ).
TRPC: RPC,
, (
,
).
, ,
. .
, ,
, , .
.
,
.

,

.
2.3.3.3.

,
.
, ,
35

,
.
, .

(API, ,
)

. 2.12. .

.
(, )

.
,
.

:
, .
( )
, ,
,
. ,
36

.

, 2PC
, .

.
,

,
,
. . (. 2.12).
2.4. -

2.4.1.

. 2.13.
.

,
(), ,
,
, ,
.
,
(. 2.13),
,
(proxy).

. ,
,
, ,
37

. .
,
(skeleton),
.

.
2.4.1.1. ,
-
(
, )
.
. ,
Java
, .
( ),
Java, .
Java.
, , ,
.
.
, ,
,
. , ,
.

. ,
, .
,
. ,
,
, .
2.4.1.2.
.
, ,
,
. , ,
,
. , ,
38

,
. ,
, ,
.
2.4.1.3.
RPC
, , ,

.
, , ,
.
,
RPC.
,
.
,

, .
.
, ,
.
,
.

.
.
2.4.1.4.
, ,
.
RMI RPC , RMI
. RMI

( RPC).
. ,
.
,
.

39


.
. ,
, ,
.
2.4.1.5. RMI
RMI
, RPC,
. , ,
, ,

.
.
, ,
, .

, ,
( , ).
, ,
,
.
-.

, .
,
, .
2.4.2.
RMI ,

-
.
,
.

.
Common Object Request Broker Architecture (CORBA)
,
. CORBA,
40

,
.
2.4.2.1. CORBA
CORBA
:

(object request broker ORB)


CORBA

. 2.14. CORBA.

, CORBA,
(. 2.14):
,
.
CORBA,
.

, ,
.
CORBA
, , .
CORBA ,
, , ,
.
41

2.4.2.2. CORBA
,
,
, . IDL.
interface Purchasing {
float getQuote (in long productId);
IDL
float purchaseGoods (in long productId,

in long quantity)
}
IDL
IDL
( )
( )

()


()


( )


(object request broker ORB)


. 2.15. IDL
.

. 2.15 IDL-
, .
, RPC,
IDL CORBA , , .
RPC, , IDL,
,
. ,
,
, .
, .
,
.
, ,
.
, ,
42

IDL (,
CORBA 3 IDL , ++,
Java, Smalltalk, , , , PL/1, Python IDLScript).
CORBA
: , CORBA 3
Java
IDL. Java
, ,
() .
Java
, IDL, , (
Java ) CORBA,
.
2.4.2.3.
CORBA,
, ,
. RMI

,
.
:
. ,
.
, IDL-.
,
. ,
CORBA, ,
.
,

, .


. ,
.
, CORBA
.
,
, ,
43

.
. ,
, ,
, .
2.4.3.

.
, ,
, CORBA, ,
, , ,

. CORBA
. CORBA
, ,
.
,

,
, ,
.

, ( CORBA).

.
2.5.

2.5.1.
" ",
,
,
.
,
XML.

,
.

.
44

.
,
,
, .
,
,
, .
2.5.2.
""
"", ,
, . ""
"" (" ") ,
,
. ,
, , ,
, ,
.
,
,
,
,
.
" ".
, ,
,
.
, .
,
, , ,
.
,
MOM (. 2.16).
,
.
,

, .
- ,
, .
45

, ,
, , .

(MOM)


MOM
. 2.16. .


.
,
.
,

.

,
.
( )
, ,
.

.
.
,
. ,
,
.
,
,
.
46


.
, .
.
, ,
,
.
,
.
2.5.3.
, ,
.
,

.
,
, Java,
Java Message Service (JMS): ()
, ,
( ) ,
, () .
JMS ,
. -
JMS,
.
2.5.4.

,
,

.
, , ,
.

.
.
, "-": ,
. ,
,
47

,
,
, - .
, ,
,
,
.
,
.
2.6.

,
.
, , ,
.

. 2.17. ,
, , ,
.

ERP


. 2.18. , "/",
,
().


. ,
:

.
48

,
, .
,
(. 2.17).
RPC
"-" (. 2.18).
,

.
,
, , ,
.
,
.
,
.
.


.
(. 2.19).
,
,
, .
, .
, , ,
,
.


, ,
.
,
,
, .
, .
, ,
.

49

, ,
.




. 2.19.
.

,
.
,
, , ,
.
,
() ,
,
, .

. ,
(
).
. ,
, :
,
(),
50


( ).
(
)
,
, .
,
" ".
, ,
(, ,
).
,
,
. ,
,
.
2.6.1. "/"
,
,
.
"/": ,
, ,
.
,
. ,
, "".
,
"/", .
,
, ,
(. 2.20).

()


. 2.20. "/"
.
51

"/"
. -,
(, " ").

.
/
. ,
,
, ,
, .
:
, ,
, .
2.6.2.

, ,
:
(1)
(2)

, ,
, /
.


, -
, , , ,
, .
"/", ,
,
.


,
. .
.
, ,
, , ,
.
, .

52

3.


3.1.

(enterprise appplication integration


i
n, EAI)

,



.




(
)

3.1.


,

,

, ,

.
3.2.

(.
(
3.1):

,
,

.


53

3.3.
3.3.1.

.
(WfMS)
:
.

. 3.2. ,
.


:
.
54

,
,
, .
, WfMS
( ),
.
. 3.2 ,
, , ,
, .

(Unified Modeling Language,


UML). ,
.

.
, , -,
(. 3.3): ,
,
(). ,
.
, .
1

. 3.3. .



.
3.3.2.

.
, .
55


, .
:
, ,
.

. -

,
.

, .
.

,
.
3.3.3.

. ,

,
,

.

, , ,
"/".
3.3.4.



, ,
.
,
, .

, ,

56

,
, .

3.4.

,
,
.
,
,
. ,
,
.


. , ,
, .
, ,
,
, (WebLogic, WebSphere).
3.4.1.

, CORBA,
, . ,
,
(
, ).
,
,
(, ,
) .

,
.

,
(
).
, .
57


,
.

.
.

, ,
. ,
.
,
.

. ,
,
J2EE JDBC J2CA.
,
,
, ,
,
.
,
,

,
.
: ,
,
. ,
, .
( )
, , CORBA.

,
.
,
(
), ,
.
58

3.4.2.
,
,

, .
.
.
.
HTTP HTTPS
HTML.
, ,
( HTTP).
,
.
, , , HTTP
WAP, WML.
,
,

.
, ,
(SMTP) .

SMTP.

, .
SOAP,
.
,
, ,
XML, ,
SOAP.
3.5.

.

(
) .

.
59

,
.
CORBA,
, ,
.
.

GIOP,
,
.
IIOP, ,
GIOP TCP/IP.

, .
,
,
, .
.

, ,
,
.
GIOP/IIOP
(RPC) (RMI) .

, ,
, (.
3.4).
. ,
, . ,
(SMTP), ,

, .
. , ,
,
. -, -
,
, ,
, ,
60

middleware

( )

()

.
HTTP
HTML XML,
HTTP,
,
, ,
(. 3.5).

HTTP

. 3.4. c
, .

-
.
(,
GIOP/IIOP HTTP),
(
SOAP HTTP). HTTP
, ,
.
FTP, SMTP HTTP

,
.
61

()

HTTP

( )

( )

. 3.5.
.


IDL, :

,
.
XML (Extended Markup Language),

, .

62

4.
4.1.
,
.
:
,
, .
,
, ,
, .
( , ?).
World Wide Web (W3C) :

,
,

XML.

,
XML- -.
,
(, , ),
. ,
"" ,
.
,
.
. W3C
, XML.
,
HTTP, .
4.2.

,
. -, ,
,



, "
" (. 4.1).
63


(WfMS)

WfMS

""

. 4.1. ,
. ,
-
.

,
.

"-",
.
. ,

,
( ).
,
, .

,
.
(. 4.2).
64


. 4.2.
"-",
()
.


,
.
,
,
(
).
2PC,
,
.

, (HTTP), (XML).
.

, "",

.
65

,
,
(
).

, ,
.
,
,
. ,
,
.
, ,
. ,

.
(, 2)
, .

,
. 2
,
.

,
, , .

, ,
.
, .
, ,
, ,
, ,
.


() ,

.
66


, ,
.

(. 4.3).



(
)

. 4.3. , ,
() .

,

.
( )
.
,
,
.

.
,
.
67


. ,
. ,
,
.
4.3.
4.3.1.

(IDL).
IDL
.
, , ,
( )
. ,

. ,

,
. ,
.
,
, ,
,
.
. ,
, ,
,
.
XML,
, ,
.
.
, .
IDL
CORBA, , ,
XML. ,
(,
HTTP), .
68


WSDL.
.
,
.
. , ,
, ,
.
, .

. WSCL
BPEL.
.
,
,
, ,
.

,
.
(, . .).
, ,
.

, UDDI (Universal Description,
Discovery, and Integration), ,

.
. , ,
.
, (
). ,
, , ,
,
. , RosettaNet
.
,
,
.
69

,
,
.
, ,
, .
.
, .
.

( ), ,
.

.
UDDI
.
4.3.2.
,
.
,
,
.
, ,
CORBA,
.
.
.
HTTP.
.
.
(Simple Object Access
Protocol, SOAP). .
SOAP
. , WS-Security
, SOAP
.
().
,

70

. , ,
,
,
, ,
,
. ,
,
.
, WSDL
SOAP WS-Coordination.
()

, ,

.
,
. ,
(,
2). ,
.
, :
,
.
WS-Transaction.
( )
( ),
.
: ,
.
,
.
,
BPEL.
4.4.
(. 4.4).
-, ,
.
.
71

.
.

,
.
( )


()

middleware


(
)

( )

. 4.4. ,
.

,
,
- . ,
,
.
4.4.1.

.

.
,
, .


. ,
72

,
.

.
. ,
,
.
, ,
, ,
. ,
,
() ,

(. 4.5). ,
, ,
.

()


( )

(
,

, ...).

. 4.5. ,
.


,
, ,
73

. ,
HTML .

,
, .
4.4.2.
:

,
(, ,
, ).

.
,
,
,

( ), ,
-
.

,
.

,
.

. ,
, , ,
,
.
, ,
, .
.
,
.
, ,
,
.
74

, .
, , .
,
, ( )
.
,
( ): . . 4.6

.
( )

( )


()

3.


()




1.
2.
,

(
,


)

. 4.6. .

,
,

.

.
, , ,
, .
, ,
.

.
.
,
75

,
.
4.5.

: ,
, "/"
().
,
: (SOAP),
(WSDL) (UDDI).
,
.
XML. XML,
XML-.
-, ,
.
: ,
,
(
)
.
. TCP/IP,
HTTP,
SMTP.
,
, ,
.
.
RPC (
,
RPC), .
SOAP.
SOAP ,
.
(. 4.7). ,
. ,
. ,
,
, .
76

,

( , . .).
SOAP .
.
, .
( ).

RPC
(,

) .

<?xml version='1.0' ?>


<env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope" >
<env:Header>
<t:transactionID
xmlns:t="http://intermediary.example.com/procurement"
env:role="http://www.w3.rg/2002/06/soap-envelope/role/next"
env:mustUnderstand="true" >
57539
</t:transactionID>
</env:Header>

<env:Body>
<m:orderGoods
env:encodingStyle="http://www.w3.org/2002/06/soap-encoding"
xmlns:m="http://example.com/procurement">
<m:productItem>
<name>ACME Softener</name>
</m:productItem>
<m:quantity>
35
</m:quantity>
</m:orderGoods>
</env:Body>

</env:Envelope>

. 4.7. XML- SOAP, ,


.

, SOAP,
, ,
XML.
(
)
(. 4.8).
, SOAP ,
77

.
,
,
. "",
(
). " ",
.
"", ,
( ).
,
.
<ProductItem>
<make> </make>
<name> </name>
<type> </type>
</ProductItem>

<ProductItem
name=""
type=""
make=""
/>

<ProductItem name=""
<type></type>
<make></make>
</ProductItem>

. 4.8. XML.

( ,
. .). ,
.
, , ,

. ,
.
, SOAP
(. 4.9),
, .
, , ,

(. 4.10).
SOAP
.
SOAP. ,
HTTP
SMTP.
(URL "to").
. SOAP
, SOAP
.
78

SOAP

SOAP

SOAP

SOAP HTTP
HTTP


SOAP

HTTP

HTTP

. 4.9. SOAP.

SOAP ,
.
.

, .
. (
)
, ,
.
SMTP.
-,

( ) . ,
IDL,
XML WSDL.
, ,

. RPC
. WSDL ,
IDL.
,
, .
WSDL SOAP

79

,
, .

HTTP POST
SOAP
SOAP

SOAP

SOAP

HTTP

(
)

1
2

HTTP POST
SOAP

HTTP

SOAP

(
)

SOAP

SOAP

. 4.10. SOAP HTTP.

WSDL ,
IDL. -, ,
,
.
.
,
. ,
,
80

.
, WSDL.

<?ml version= "1.0"?>


<definitions name="Procurement"
targetNamespace="http://example.com/procurement/definitions"
xmlns:tns="http://example.com/procurement/definitions"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/" >
<message name="OrderMsg">
<part name="productName" type="xs:string"/>
<part name="quantity" type="xs:integer"/>
</message>

<portType name="procurementPortType">
<operation name="orderGoods">
<input message = "OrderMsg"/>
</operation>
</portType>

<binding name="ProcurementSoapBinding" type="tns:procurementPortType">


<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="orderGoods">
<soap:operation soapAction="http://example.com/orderGoods"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>

</binding>
<service name="ProcurementService">
<port name="ProcurementPort" binding="tns:ProcurementSoapBinding">
<soap:address location="http://example.com/procurement"/>
</port>
</service>

</definitions>

. 4.11. WSDL.

,
, ,
.
, ,
, .

.
,
, WSDL (. 4.11)
81

( IDL)
(
).
,
IDL.
.
,
,
.
, .
XML.
WSDL ,
,
, ,
XML. , ,
, ,
, , , , .
XML,
,
.
WSDL : ,
, / /.
, ,
.
/ ,
.
WSDL
.
.
, ,
.
( ,
) ,
, ,
, .
,

. ,

82

,
.

WSDL ,
, . ,

.
SOAP, WSDL

, .
WSDL
:
,
,
.
,
SOAP HTTP.
,
XML.

, URI.
,
.
, . ,
, , WSDL-
.
,
,
. ,
.
, WSDL,
"" " ".
WSDL
, :
.

,
WSDL
83

, ,
.

,
, , .
WSDL
. .
4.12 ,
CORBA
.
-, ,
, .
,

.
, ( URI,
).
.
WSDL

WSDL
WSDL
( )

WSDL
( )


()


( )

,
SOAP

SOAP

,
SOAP

. 4.12. WSDL
. .

,
(UDDI) .
84

: .
( ) ,
. ,
, .
UDDI (. 4.13) ,
, ,
.


()


( )

,
SOAP

,
SOAP

SOAP-

SOAP-

SOAP-

,
SOAP
UDDI

. 4.13. UDDI. (
) , .

: , , ,
, -, ,
,
. UDDI
,

,
. , UDDI,
,
,
85

,
, .

:
,
.
,
. ,
.
,
: ,
,
( ),
.
,
.
:
WSDL- , , ,
.
(, , ),
.

, ,
, .
,
, , ,

.
(. 4.14).
,
.
.
, , ,
, ,
, .
,
, .

86


, .

(, ).
,
,
.
,
(, , 211
"").
<tModel tModelKey="uddi:uddi.org:v3_publication">
<name>uddi-org:publication_v3</name>
<description>UDDI Publication API_V3.0</description>


(
WSDL API)

<overviewDoc>
<overviewURL useType="wsdlInterface">
http://uddi.org/wsdl/uddi_api_v3_binding.wsdl#UDDI_Publication_SoapBinding
</overviewURL>
</overviewDo>
<overviewDoc>
<overviewURL useType="text">
http://uddi.org/pubs/uddi_v.3.htm#PubV3
</overviewURL>
</overviewDoc>
<categoryBag>
<keyedReference keyName="uddi-org:types:wsdl"
keyedValue="wsdlSpec"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:soap"
keyValue="soapSpec"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:xml"
keyValue="xmlSpec"
tModelKey="uddi:uddi.org:categorization:types"/>
<keyedReference keyName="uddi-org:types:specification"
keyValue="specification"
tModelKey="uddi:uddi.org:categorization:types"/>
</categoryBag>
</tModel>

(,
XML, WSDL SOAP)
. 4.14. UDDI,
UDDI.

, ,
. , ,
,
,
.

87



SOAP/HTTP

SOAP/HTTPS

(SOAP/HTTPS)

. 4.15. UDDI .

UDDI
: , , ,
, ,
(. 4.15).
,
SOAP
XML-.

,
, ,
.
,
.

, WSDL
. WSDL- (
, )
. ,
,
WSDL.
4.6.
, ,
, , .
, ,
,
88

( 1 . 4.16).

SOAP ,
.

WSDL-

SOAP-HTTP

SOAP-HTTPS


tModel

UDDI


businessEntity
businessService

businessTemplate

. 4.16. .

WSDL .
WSDL (
) SOAP.
,
( 2 . 4.16).
(
).
. ,
, UDDI
( 3 . 4.16), .
,
WSDL.
,
.
89

, ,
, .
,
.
,
WSDL,
WSDL-, .

( ),
.
,
.
SOAP,
WSDL ,

, ,
.

.
, WSDL UDDI.

.
WSDL ,
. Java ,
SOAP, Java,
.
SOAP, .
UDDI ,
,
.
4.7.

,
. ,
,
, , ,
.
( ),
, .
90

"",

.

"". "" ,
.
, .
"",
( ),
, " "
()
.
,

, , WSCL
,
.
:
. . 4.17
.
1:
2:
4:
5:

7:
6:
3:

8:

9:
. 4.17.
.
91

(. 4.18)
, ,
, .
,
(
, )
,
, . ,
(
TCP),
,
.
(. 4.19),
.

. ,
, .

. 4.18. , ,
. 4.17.


, .

, ,
,
, .
92


, , ,
, .

. 4.19. , . 4.17.

( )
,
( ,
).
,
, ,
.

.
( ).
,
, ,
93

.
,
. 4.17-4.19, .
(
) ,
,
. , ,
,
.
, ,
. , -
2
,
. (
WS-Coordination, WS-Transaction).
4.7.1.
, ,
.
:
.
SOAP.
: ,
.
,
, ,
. ,

.
,
,
(, EJB J2EE),
.

,
. ,
,
, .
WSDL
, .
94


,
.
,

.
.

, .
,
,
, ,
,
.
.
:
1. ,
.
.
,
,
.
2.
. , 2PC
/ ,
.
,
(, ""),
,
.

,
, . ,
,
.
.

.
95


, ,
.
. (,
UDDI). ,
,
.
.

.
, ,
.
( ,
)
. ,
, ,
SOAP
. -,

( ),
. -,
,
,
. ,
,
,
.
SOAP, WSDL UDDI.
,

, .
, IBM, Microsoft
BEA 2002 , WS-Coordination,
:
,
. ,
,
SOAP.
96


.
.
,
.
.
WS-Coordination
"" "".
WS-Coordination
:

(, 2).

.
,

,
,
2.
,
, (
WS-Coordination " ").
WS-Coordination
:
.
. ,

(), ,
.
.
. ,

.
, .
,
.
,
, ().
97

,
WS-Coordination.
, ,
,
WS-Coordination.
4.7.2.

( )
(. 4.20):
.
.
WS-Coordination.

.
.
.
WS-Coordination
.
,
. ,
, .

. 4.20.
( 7 ,
, ).
98


WS-Coordination . -,
, ,
, . WSCoordination

.
,

. -,
,

. WS-Coordination

,
. -,
.

( ).
4.7.3.
WS-Coordination
,
, (.
4.21).

,
,
,
,
.

. (proxy)
.
.
,
. -, ,
- , .
-,
99

. 4.21.
( 11 , ,
).


: ,
.

, ,
.

. -
. ,

,
.

,
.
WS-Coordination
, , ,
. ,

100

4.8.
WS-Coordination
, ,
. 2002
IBM, Microsoft BEA WSCoordination , WSTransaction.

.
,
.
,
.
, ,
, , ,

.

.
, "",
"", "" "".
, ,
.
. WSDL ,
.
, ,
. ,
,
.
, ,
. ,
, ,

( ) ,
,
. .
- ,
101

,
() .
,

.
,
,
,
, ,
. WSTransaction ,
.
,
WS-Transaction .
WS-Transaction ,
, ,
WS-Coordination. , WSTransaction ,
,
. WS-Transaction
WSDL,
.
WS-Coordination WS-Transaction,
.
4.8.1.
, WSTransaction, .
,
,
,
.
: , ,
, .
,
.
,

.
102

,
.

.
,
.

, ,
.
,
.

,
. ,

,
, , ,
,
.
(
, WS-Coordination)
, .

, (

).
,
.
.
,
.

,
.
,
, .
(
)

,
103

. ,
( 2,

)
. ,
, . . 4.22

.

. 4.22. 2PC .
ReadOnly , ,
.
Aborted ,
.

, WS-Transaction
.
.
SOAP ,
.

, ,

,
.
, WS-Transaction
. "" "
" ,

104

,
.
4.8.2.

, ,

WS-Transaction

, .
:

.


, , ,
: , , . ,
,
, ,
, .

, ,
,
,
.

. . 4.23 . 4.24
.

( ,
).

, ( ,
,
).
,
.

. ,

. ,
105


,
.

. 4.23.
.

. 4.24.
.

106

5.

,

(. 5.1). ,
,
,
. , ,
,
, ,
.

. 5.1.
.


,
. ,
,
,
.
(
, )
.
,
107

. ,
, ,
.
, ,
, ,

()

,
. -
.
. 5.2. ,
.


. ,

, , Java.

,

. ,
.

,
, (. 5.2).
108

,
(XL,
WSFL, BPML, BPEL).
5.1.

. ,
,
. ,
,
,
, .
(. 5.3):

(
)


,

( SOAP HTTP)


(, SOAP )

. 5.3. , ,
() .

,
, ,
.
, ,
.
109

, ,
, .
,
,
,
, ,
.
( ).
,
.
, , .

.

()


(middleware)

( )



.
. 5.4. ,
.


,
(. 5.4).
5.2.

.
110

.
, ,
,
(. 5.5).
""


,

,

1:
2:

3:
4:


()

.

,
,



.

. 5.5.
: .

,
. , ,

.
,
.

.
,
. ,

,
, ,
111

, . ,
, .
,
.
5.3.

,
. ,
,
. (
) ,
, .

, ,
.

:
.
,
.
. ,
, .
: ,
, -, , ,
.
.
.
.
, ,
.
. ,
.
. ,
,
, .
5.3.1.
, ,
, ,
112

. ,
,
, , HTTP, SOAP, WSDL WS-Transaction.
.
. ,
, ,
XML- ( RPC),
. ,
.


, .
,
.
BPEL
, , WSDL.
, XPath WS-Addressing.
WS-Transaction.
5.3.2.

. ,
, ,
.
,
. ,
,
, . , ,
. . 5.6
,
UML.
,
, .
,
.
, ,
: ,
,
, .
.
113

,
,
.
. ,
,
.

. 5.6. .
()
() .

. 5.6 ,
( ),
( ) :
(
, )
send (), , send
.
.
(/) ,
, invoke
(), - invoke .
,
.
114

, ,

,
,
receive (), , receive .
,
.
,
reply (),
.

/start "invoke "

()
[=true]/start "send
"

()
[=false]/start "invoke
"


()
[=false]/start
"send "


()
[=true]/start
"send "

. 5.7. .

,
,
. URL
, ,
,
,
. ,

, .
115

.
.
, ,
,
.
, , , ,
, ,
.
. ,
,
(. 5.7).
(

)
invoke

invoke

=false

=true

send
=false

=true

()

send

()
. 5.8. .

. , ,

.
116

.
.

. .
5.8 , .

.
.
- ,
, , BPEL. -

, ,
.

,
.
-
,
. . ,
, | ,
, + , ,
( ), [=] ,
,
. . 5.9
.
A=receive, invoke
B=[=false]send+
[=true]send
C=invoke.
=.( ([=false]C) +
([=true]send)
)
. 5.9. -.

(. 5.10)
.

. ( )
,
.
117


sequence
receive

invoke


choice

=false


sequence

invoke

=true

send


choice

=true

send

=false

send

. 5.10. .


, -
"" , -
(

" "). .

:
,
.
,
.

, ,

, .
, .
<>. ,
,
. ,
118

. ,
--.

, ,
()
( ) , ,
(). . 5.11
, .
,
.
,
,
.
,
, , ,
.
ON receive
IF true
THEN invoke ;
ON complete()
IF (==true)
THEN send ;
ON complete()
IF (==false)
THEN invoke ;
ON complete()
IF ( ==true)
THEN send ;
ON complete()
IF (==false)
THEN send ;
. 5.11. .

,
, ,

, .

, .

119

5.3.3.
,
, ,
, .
, .
,
,
( ).
, ,
, .
,
.
.

, .
,
(, URL)
.
, .
. ,

.

XML, .
XML , ,
.
XML .
SOAP.
, XML
, .
. ,
:
.
: , ,
. ,
( ) ,
.
"",
.
120

(/ ).
,
.
, (
) .
,
,
, .
.
, :
, ,

, . , ,

,
. ,
.
5.3.4.

, , .

, (, URL )
.
(
, , ,
).

, , .
.
:

,
,
,
.


(URL) ,
.
.
121

URI (
), ,

, "" .
,
.
.

, ,
,
.
, .
(
, ,
),
, .


.
, .
, WSFL ( BPEL)

UDDI,
UDDI.
, , ,
. ,
.
CORBA,
,
,
. .
, " "
( ),
, , ,
.
,
, .
, ,
.
122

.
, .
, ,
.
5.3.5.

.
,
--.
,
WS-Transaction.
,
.
,
,

. 2
.
,
.
,


.
,
, WSTransaction ( , ),

.

,
.

.

, ,
.
,
123

.
, ,
. ,
, ,
, (
) .
5.3.6.


.
, ,
, , ,
.
,
.
, .
.
, ,
:
, , ,
.
,
,
.

.
, ,
.
"--".
, ++ Java try,
catch throw, .
, ,
.
, , .
,
.
.
,
, .
124

,
.
,
.

"--"

. -,
. ,
. -,
,
. -,
, ,
"" ,
.
, .
event-condition-action,
(, ),
,
, .
, ,
,
(, ,
). ,
.

,
.
, ,
. ,
,

.
5.4.
5.4.1.

,
,
.
,
, ,
, .
125

,
, .
,
, .

,
, , ,
.

,
,
.
, , ,
.

,
. ,
.
,
, ,
.
, ,
.
,
, ,
, .

.
, ,
, , , ,
.

.
, ,
- ,
. (BPEL, ebXML)
( )
( ).

126

5.4.2.

(.
5.12). ,
, ,
.
, .
,
, , ,
.
, ,
, .
SOAP

.
,
.
,
,
.


,
.

BPEL
(Business Process Execution Language for Web Services, BPEL4WS).
,
. BPEL
,
() .
BPEL ,
,
( ,
). BPEL
. BPEL
XML, ,
127

,
.


receive

invoke

=false

=true

invoke

=false

=true

send

)
,
,

( ,


)

send

,

,

. 5.12.
, .

BPEL ,
, ,
WSDL.
BPEL
. BPEL ,
,
.
,
.
2003 BPEL,
IBM, BEA Microsoft,
(SAP, Siebel systems).
2.0
BPEL.
128


1. . . . "
", ., , 2007. : 566,
-265.
2. Andrew S. Tanenbaum, Maarten van Steen. "Distributed Systems. Principles
and paradigms". Prentice Hall, Inc., 2002 (. , . .
" . ". .: , 2003)
3. Gustavo Alonso, Fabio Casati, Harumi Kuno, Vijay Machiraju. "Web
Services. Concepts, Architectures and Applications". Springer-Verlag, 2004.
4. http://www-128.ibm.com/developerworks/webservices/standards/

5. John Barkley. "Comparing Remote Procedure Calls", Oct 1993
(http://hissa.nist.gov/rbac/5277/titlerpc.html).
6. Philip A. Bernstein. "Middleware - A model for Distributed System Services".
Communications of the ACM, v. 39, No 2, February, 1996. (. .
"Middleware: ".
, , 2, 1997,
http://www.osp.ru/dbms/1997/02/41.htm).
7. Robert Orfali, Dan Harkey, Jeri Edwards. "Instant CORBA". Wiley Computer
Publishing, John Wiley & Sons, Inc., 1997 (. , . , .
, " CORBA", ., , 1999).
8. Natanya Pitts. "XML In Record Time", Sybex Inc., 1999 ( .
"XML ", .: "", 2000).
9. . . " ( TCP/IP)".
. ,
2001.

http://athena.vvsu.ru/net/book/index.html.
10. . . , . . . "
. ". .: , 2003.
11. Eric Newcomer. "Understanding Web Services: XML, WSDL, SOAP and
UDDI", Addison-Wesley, 2002 ( . "-.
", .: , 2003).
12. W. Richard Stevens. "UNIX Network Programming. Networking APIs",
Prentice Hall PTR, 2nd edition, 1998 (. "
", .: , 2004).

129


13. http://www.corba.org
14. http://www128.ibm.com/developerworks/webservices/library/specification/ws-tx/
15. http://www-128.ibm.com/developerworks/library/specification/ws-bpel/
16. http://www.sei.cmu.edu/str/descriptions
17. . . , . . , " OMG:
IDL CORBA",

2,
.
115-129,
1996

(http://www.tts.tomsk.su/personal/~sas/DBMS/96_2/source/115.htm).
18. "OSF DCE 1.2.2 Application Development Guide Core Components", The
Open Group, 1997.
19. B. Viveney. "DCE and Object Programming". In W. Rosenberry (ed.) "DCE
Today", pp. 251 264. Upper Saddle River, NJ, Prentice Hall Inc., 1998.
20. . . " middleware ". PCWeek, 19
(193), 1999.
21. . . . " CORBA ". .: ,
2001.
22. Oracle Message Broker Administration Guide. Release 2.0.1.0. Part Number
A65435-01 (for SPARC Solaris & Windows NT).
23. Jon Siegel. "Quick CORBA 3". Wiley Computer Publishing, John Wiley &
Sons, Inc., 2001 ( , "CORBA 3", ., , 2002).
24. . . . " Java 2".
.: -, 2002.

130

Вам также может понравиться