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

:

(DDE,
Cobra, OLE BD, ActiveX, COM/DCOM, OPC, RPC, D-Bus)


....3
Dynamic Data Exchange (DDE) ....6
CORBA, Common Object Request Broker Architecture...9
OLE DB - Object Linking and Embedding, Database...13
ActiveX..17
COM (Component Object Model), DCOM...29
OPC (OLE for Process Control)....32
RPC (Remote Procedure Call RPC)...37
D-Bus.....43
..45

,
.
.
:
;
;
(, );
;
.

( , USB),
(Byt Blaster, BitBlaster),
.
,
, .
, -
, .
,
.

, ANSI, VT10 , TCP/IP. ,
, ,
,

(),

, .
,
, .

, IEC1 31.
.
, .
OPC Foundation ,
, ,
3

,
.

,

:

(. . 1).
- . ,

,
. ,
.

- .

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

. ,
, (. . 3).
,
.

. 1.

. 2.

. 3.

Dynamic Data Exchange (DDE) - Windows


OS/2
Dynamic Data Exchange (DDE) -
Microsoft Windows OS/2.
Windows,
- OLE, COM Microsoft OLE Automation. , DDE
Windows, ,
.
, Microsoft Windows
.
.
DDE -
, Windows.
OLE, 32- API Windows
. , DDE, -
.
, DDE, -
( ).
(conversations) (topic),
(items). ,
, .
.
DDE -
Windows.
Windows 3.1 DDEML, DDE

DDE

Delphi,

VCL, -
.

TDDEServerConv

TDDEClientConv. -

.
- .
DDE :

- , DDE, , ,
: DDE (,
, ), DDE TCP ( ,
, ) ..
( DDE - ),
( DDE ). , - ( - *.exe-),
,
, DDE (
- Microsoft Excel).
- DDE ,
Windows
DDE. , DDE
. DDE Windows ,
"" . DDE Application.
DDE-
, Application- Microsoft Excel "EXCEL", DDE- Intouch "VIEW" .. ,
DDE- ,
( , , )
8 . DDE.

. TDDEServerItem
TDDEClientItem. ,
. , ,
8

. .
DDEMAN , DDE.
Win32 API DDEML
Dynamic Data Exchange Management Library - DDEML -
(DLL), , Windows,
. DDEML
(API), DDE Win32 .
DDE ,
DDEML , DDE.
Win32 API , ,
-
. , Win32
(wParam, lParam) .
Delphi, .
, .
DDE , wParam lParam
, . DDE
.

CORBA, Common Object Request Broker Architecture


CORBA, Common Object Request Broker Architecture

, ( ) OMG
.
CORBA
- .
CORBA
, ,

,
.
CORBA ,

. (
CORBA), .
CORBA (OMG IDL)
,
IDL , CORBA-.

, , C++, , Smalltalk, Java, ,


Object

Pascal,

/1

Python.

Perl, Visual

Basic,

Ruby

Tcl,

ORB,
.

10

CORBA

CORBA 3.0
. .
,
, .
, , , Code Base URL,
.
, ,
. ,
, , .
,
.
CORBA (CCM)
CORBA (CCM)
CORBA.
CCM CORBA 3.0
CORBA. CCM Enterprise
JavaBeans (EJB) . CCM
,
, .
CCM ,
. ,
. ( ) ,
, .
.

,
.

11

(GIOP)
GIOP

CORBA,

. , Object
Management Group (OMG).

GIOP

Internet InterORB Protocol (IIOP) ( )


,
OMG. IIOP GIOP ,
GIOP TCP/IP.

SSL InterORB Protocol (SSLIOP) IIOP SSL,


.

HyperText InterORB Protocol (HTIOP) IIOP HTTP.

(Corba Location)

CorbaLoc (. Corba Location)


CORBA, URL.
CORBA OMG URL:
corbaloc: corbaname:. ,
, CORBA.
corbaloc:
corbaloc::160.45.110.41:38693/StandardNS/NameServer-POA/_root
CORBA http:, ftp: file:.
, ,
CORBA.
(CORBA ORBs)
Borland Enterprise Server, VisiBroker Ed. CORBA 2.6- ORB
Borland, Java C++.
MICO (LGPL) ORB C++.
12

omniORB (LGPL) ORB C++ Python.


ORBit2 (LGPL) ORB C, C++ Python.
JacORB (LGPL) ORB, Java.
TAO The ACE ORB, ORB C++.
Orbacus ORB C++, Java IONA Technologies.
Orbix ORB IONA Technologies.
PolyORB ORB AdaCore Ada. ,
.

13

OLE DB - Object Linking and Embedding, Database


OLE DB, Object Linking and Embedding, Database - ,
COM, ,

.
OLE DB ( , ,
OLEDB OLE-DB) API Microsoft
, .
Component Object Model (COM);
OLE.
ODBC,
, ,
SQL.
OLE DB ,
, DataSource, ,
. ,
,
. OLE DB
. ,
,
, , . OLE
DB Microsoft Data Access Components (MDAC). MDAC
Microsoft, , ,

. OLE DB

, Oracle, SQL Server Sybase
ASE. ,
.
,
, OLE DB
. , ,
14

COM OLE DB

COM. Microsoft ,

. ,
, Microsoft.


OLE, Object Linking and Embedding -
, .
1996 Microsoft ActiveX.
OLE
. ,

, OLE.
OLE (
) , , ,
.
, .
OLE (. compound
documents),
(. drag-anddrop), .
- (
-), , , ,
HTML ( ) ,
(, XML SGML). , OLE
,
. , , ,
. , OLE
15

Microsoft Excel, Excel


.

OLE 1.0
OLE 1.0 1990 DDE (Dynamic Data
Exchange), Microsoft
Windows. DDE
, OLE

.
OLE
(. virtual function tables, VTBL).
,
. OLESVR.DLL ( )
OLECLI.DLL ( )
WM_DDE_EXECUTE,
.
OLE 1.1 COM (component object model)

COM

DCOM.
OLE ,
Windows ( bitmap metafile),
. OLE
, ,
.
OLE 2.0
OLE 2.0, ,
. OLE 2.0 COM
VTBL. drag-anddrop, in-place activation structured storage.
16

ActiveX (OLE 3.0)


1996 Microsoft
OLE ActiveX. ActiveX, ActiveX
Active Scripting. OLE

17

ActiveX
ActiveX - Microsoft,
. ,
.
OLE (OLE Automation, OLE Documents, OLE Controls,...),
(COM - Component Object Model),
OLE , ,
. ,
DCOM (Distributed Component Object Model) -
, ActiveX,
, OLE, - .
- OLE
ActiveX.
ActiveX, Microsoft
OLE COM , ,
.
, Java Sun Netscape Navigator,
ActiveX Microsoft.
. ActiveX
, .
ActiveX -
Microsoft Web.
OLE COM -
Windows. VBScript - ActiveX- Web Basic - Microsoft
. Web-
ActiveX Microsoft Visual Basic.
.
, Microsoft Web,
, ActiveX,
VBScript, Microsoft Internet Explorer, ;
,
ActiveX. , ,
.
ActiveX
18

? - , ,
: " ActiveX" -
" OLE" ( "
OCX"). OLE -
ActiveX-
. OLE-
ActiveX Web.
OLE- -
. OLE-
, ,
Microsoft , , ,
, . -
, Internet, ,
Web- .
OLE- .
Microsoft .
: ActiveX- ,
. ActiveX- -
COM-, OLE- , IUnknown,
.
OLE-,
, . :
"" , ActiveX-.
, ActiveX, . . OLE,
, , , , .
ActiveX-
,
. ( )
, ""
, ActiveX-. (
Windows
/++, Basic, Pascal .) ActiveX-
- .
.
19

- ,
ActiveX.
VBScript
VBScript (Script Visual Basic) Microsoft - ,
Microsoft Internet Explorer,
Web ActiveX-.
Web VBA (Visual Basic for Applications)
Microsoft .
- ( ), ,
, ,
. ,
, VBScript.
VBA, Option Explicit VBScript
. VBA VBScript
, - , , -
Variant. , - integer, long, single,
double, string, numeric, date financial, -
. , ,
(, VarType, IsNumeric),
Web ,
.
VBScript -
. , Java JavaScript,

. , VBScript Debug.
,
.
VBScript- HTML
<SCRIPT> , , <HEAD>.
LANGUAGE="VBScript"
, ( Internet Explorer
JavaScript).
<!-- - - >, ,
VBScript, .
20

- Web-
ActiveX-, , VBScript
(form objects) HTML .

.
VBScript FORM NAME NAME
, .
ActiveX- - , HTML .
<OBJECT>.
ID
CLSID - 128- (GUID)
OLE . ActiveX VBScript
Windows, , . ,
CODEBASE ( <OBJECT>),
. ,
, .
Internet Explorer
Internet Explorer Microsoft - ,
,
FireFox Opera.
Internet Explorer:
ActiveX-, VBScript JavaScript,
HTML ,
(VM) Java Java-.
. - VM
Java ActiveX-. , ,
Java . - Internet Explorer
Java ActiveX ,
VBScript ,
. , Internet Explorer
Microsoft Authenticode.
, ,
,
.
21

ActiveX Control Pad


Web
VBScript ActiveX- ,
,
. "ActiveX
Control Pad" Microsoft, V1.0 .
Visual Basic "ActiveX
Control Pad" , ,
- . ,
, , ,
, , . ,
, , .
"ActiveX Control Pad"
, HTML- ,
. ,
- , HTML .
,
HTML . (
,
HTML , HTML , ,
.)
Edit () "ActiveX Control Pad" Insert ActiveX
Control ( ActiveX-)
, ActiveX-.
,
.
,
, - , Visual Basic.
, , "ActiveX
Control Pad" <OBJECT>
<PARAM>, , HTML .
, 128-
Object Class ID ( !). ,
HTML , .
22

ActiveX-, VBScript
,
. , -, ,
HTML . , "ActiveX
Control Pad" ,
Script Wizard - ,
.
, ,
.
Script Wizard .

. -
, .
,
, .
: ,

. Script Wizard ,
- (
Basic). ,
,
Basic.
ActiveX-
, ActiveX
Control Pad . ActiveX-,
, ActiveX- (ActiveX Layout
Control). Visual
Basic, ,
HTML. ,
,
.
Windows- .
ActiveX Control Pad Insert Layout
( ).
23

Toolbox, , .
Toolbox : , ,
, , ,
" ". Toolbox
ActiveX-.
Internet Explorer,
.
ALX.
<DIV>,
- <OBJECT>.
(, VBScript.)
HTML
<OBJECT>.
, .
- , , HTML,

.
ActiveX-
ActiveX,
Web ;
, OLE,
.
.
- OLE-,
, . ,
ActiveX. , Microsoft ActiveX ,
OLE-. ActiveX
OLE, :
" ActiveX, OLE...".
,
ActiveX- .

ActiveX-, - ,
(, Internet Explorer),
24

. ActiveX-
, - ,
.
,
, ,
. , ,
,
.
, -, !
ActiveX ,
- .

OLE- - ActiveX- (
). , Microsoft
Foundation Classes (MFC) Control Developer's Kit (CDK),
, ActiveX- .
MFC OCX- ,
DLL- MFC-,
.
Web , ActiveX-,
- , . . . ,
, ,
5 , , DLL- 1
28,8-/ . , Web
,
. , ActiveX, CDK .
CDK - ActiveX Template Library (ATL),
Microsoft, Visual
C++ (. URL- ). ATL MFC,
,
. , MFC,
, , ATL.
25


MFC C. Web- Microsoft
ActiveX Controls
Framework, , .
; ,
.
ActiveX Development Kit.
, . (
, , "//
""!".) ,
OLE.
ActiveX- (Control Wizard),
. OLE
ActiveX, .
,
- ,
BaseCtl. Microsoft,
Internet Explorer. ActiveX Development Kit.
, BaseCtl .
:
COM, OLE ActiveX. ,
-
BaseCtl .
Java? Microsoft,
ActiveX VM Java, Internet
Explorer. : Java-,
VM Java Microsoft, ActiveX ActiveX. ,
Borland, Microsoft, Powersoft Symantec,
Java
ActiveX-. , , Java-
ActiveX-, , Java-
, . . ActiveX-.
, ActiveX ;
26

32- Windows. ActiveX-


, ,
- C++ Java.
ActiveX Development Kit
,
ActiveX Development Kit, .
Microsoft, , ,
ActiveX Development Kit, SDK
. , ISAPI
(Internet Server API) , Win32 SDK.
, - ActiveX Development Kit
.
.
ActiveX- - ActiveX Development
Kit, .
, ,
IMAGEHELP,
ActiveX-, Internet Component Download
" " , (.
,
). " "
, " "
. , Internet Component Download
ActiveX-,
.

,
.
ActiveX- Web ,
.
.

. - ,
27

, ,
.
ActiveX Development Kit
VBScript CryptoAPI. VBScript, Microsoft Visual Basic Scripting
Edition, - , Visual Basic,
HTML-.
- JavaScript Sun. Microsoft
VBScript Windows Macintosh, Digital, HP, IBM
Sun.
Web ,
Internet .
CryptoAPI ,
. ,
. ,

, , ,
. ActiveX-,
CryptoAPI,
. CryptoAPI Windows.
? , ,
ActiveX-.
, Microsoft Internet Explorer (, ,
ActiveX- Netscape Navigator, NCompass Labs,
www.ncompasslabs.com/). , Netscape,
,
. ActiveX Development Kit , , ,
Internet Explorer. Windows DCOM
(Distributed Component Object Model).
, ActiveX-
.
ActiveX Development Kit
. ActiveX-,
"" Web-, -
.
, Web .
28

ActivX
ActiveX ,
Web.
Internet Explorer, , ,
Windows - . ( Microsoft,
ActiveX Macintosh UNIX.)
ActiveX, ,
, ,
Netscape, Navigator .
,
ActiveX Internet .
,
ActiveX . ActiveX
VBScript
, Java. ,
Java , ActiveX
.
Java Web,
,
. ActiveX
.
, Microsoft
ActiveX , ,
, ,
.
-
.

COM (Component Object Model), DCOM



Internet, ,
, .
29

1990-
.

-
IBM, Sun

Object

Microsystems

Management

Group (OMG)

1991 OMG ,
Common Object Request Broker Architecture (CORBA).

Unix- .

Microsoft,

Distributed Component
Object

Model

(DCOM),

Windows.
DCOM -
,
Microsoft


.


DCOM
(

)
. DCOM ,
.
COM

DCOM


30

Windows. COM ,
, DCOM -
"", ,

DCOM

,
,
.

,
, .
" ".

, .
DCOM .
Windows- ActiveX (
Microsoft ),

, ,
.
DCOM Microsoft Windows
, , Microsoft
Transaction Server, Internet.
COM+
, , , ,
.
DCOM .
Microsoft. DCOM Windows.
, Microsoft Software AG,
- DCOM .
,
Microsoft Active
31

Directory, Windows 2000.


Microsoft
.
DCOM CORBA
DCOM Microsoft CORBA Object Management
Group

.
Microsoft DCOM, ,
Unix
.
OMG ,
, , , ,
, , .

32

OPC (OLE for Process Control)


OPC (OLE for Process Control)
. OPC
( -
). OPC . ,
WIN32, ,
, ,
, , QNX. , OPC ,
,
, .
OPC :

- , ,
.
. - ,
.
. 4. ,
.
OPC COM (Component Object Model). OPC OPC- COM-. Win32 -
COM-
. 3 OPC-:
DataAccess- ;
Alarm&Event - ;
HistoricalData-
.

33

. 4. OPC- OPC-
OPC- , , DataAccess , , 2
DataAcess-. OPC
, .
. COM
. ,
, , .
, DataAccess
.
.
(, ..).
, ,
MD846.DIN3, MD846.OUT2, MA444.AIN8. ,
, , .
OPC-,
.
OPC- OPC- IAdviceSink.
.
, , .
, ,

34

, ,
..
OPC- ,
COM.
, MS Word, Basic for Applications
VBScript. OPC- ,
. ,
, Excel,
, Excel.
OPC .
.
OPC
OPC
,
.
, OPC .
OPC
, COM.
,
, , IPC
, .
.
.
OPC , ,
.
OPC , ,
. ,
OPC ,
.
,
.
,
. ,
35

12 , - 7 . ,
,
.
, ,
, . OPC

, . ,
, . OPC
. ,
,
, OPC, .

OPC
OPC:

COM-;

OPC.
COM,

OPC. OPC ,
OPC- OPC-, ,
. , ,
.
OPC - . ,
OPC OPC- , ,

OPC.
.
, , , , OPC,
- , .
,
OPC, . , ,
VARIANT, OPC-
, ..
, ,
36

OPC, .
500-1000 $,
2000-3000 $. OPC, OPC- OPC-
- , ,
OPC-.
OPC modbus OPC- OPC-.
. 5. MCN 3.0
/ ModBus. OPC
WTORC WinTech Software Design,
OPC 30
. , . ,

(MS Windows 2000, Windows 98).

. 5. modbus-.

37

RPC (Remote Procedure Call - RPC)



(Remote Procedure Call - RPC)

, ,
.
.
RPC ,

RPC-

.
:

,

.


. ,
, ,
,
. RPC , ,
RPC
.
RPC ,
,
, . .

. RPC
- . ,
, :
38

"",
" " ,
.
, ,
:
,

.
RPC,
.
RPC
RPC,
, . , ,

count=read (fd,buf,nbytes);
fd - ,
buf - ,
nbytes - .
,
( 6). , read ,
,
, ,
. , (by name),
(by value). -
.
,
.
,

. RPC.
39

,
. call-by-copy/restore
,
.
, ,
. . ,
, , .

. 6. ) read;
) ;
)
, RPC, ,
, .
- RPC : ,
, .
RPC .
,
, (stub - ).
,
( 6),
.
,
.
40

RPC

7. ,
-,
.
,
.
,
. , ,
,
.

. ,
.

. 7 Remote Procedure Call


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

, ,
, - .
, .

, .
, .
, .
, ,
. , .
, ,
, , ,
receive.
.
. , .
.
, .
8 ,
RPC-, 9 - RPC
14 .
DEC Firefly, ,
,
RPC.

42

. 8. RPC

. 9. 14 RPC

43

D-Bus
D-Bus ,
.
D-Bus freedesktop.org. ,
, POSIX- ,
Windows ( ).
: API.
Qt, Java, GLib, C#, Python, Ruby C++.


. KDE DCOP,
(, GNOME) .
CORBA, SOAP XML-RPC,
CORBA ,
(KDE GNOME ),
SOAP XML-RPC -.
GNOME Bonobo, CORBA, -
GObject, Bonobo ,
CORBA .
.
D-Bus.
KDE 4 D-Bus.

D-Bus :
. D-Bus.
, UPower,
.
. , .
,
, .
D-Bus, , .
, ,
. ,
44

D-Bus , ,
, .
,

Glib, Qt Java. D-Bus .
.
,
, , ,
, .
.
, D-Bus , .

. ,
D-Bus .
,
, (matchers).
, .
, .
D-Bus : ,
, ( ) .
D-Bus , ,
. , /org/kde/kspread/sheets/3/cells/4/5.
, - , ,
/com/mycompany/c5yo817y0c1y1c5b,
.
,
. ,
, /org/kde.

45


1. http://bourabai.ru/
2. http://www.introligator.org/articles/3/43
3. http://saukpgp.ru/sauk/Base_UMM/pgp/dis7/GL9/gl9.html
4. http://www.4stud.info/networking/lecture6.html
5. https://ru.wikipedia.org/wiki/_

46

Оценить