📄 cb200005rs_f.asp.htm
字号:
<HTML>
<HEAD>
<TITLE>A CORBA Primer</TITLE>
</HEAD>
<BODY>
<TABLE border=0 width="100%" cellpadding=0 cellspacing=0>
<TR valign=top>
<TD width="100%">
<p class=ColumnTitle>Distributed
CBuilder </p>
<p class=ColumnSubtitle>CORBA
/ VisiBroker / ORB / C++Builder 4, 5</p>
<p class=BodyText> </p>
<p class=Byline>By Rabi
Satter</p>
<p class=BodyText> </p>
<p class=StoryTitle><b>A CORBA
Primer</b></p>
<p class=StorySubtitle>Building
Cross-platform Distributed Applications</p>
<p class=BodyText> </p>
<p class=BodyText> Common
Object Request Broker Architecture (CORBA) is a technology standard developed
by the Object Management Group (OMG), a non-profit group, to allow objects to
communicate with each other and develop the architecture to support remote
objects. This article shows how to use C++Builder 4/5 Enterprise and VisiBroker
to build distributed object applications. The article covers what CORBA is, how
it works, and the steps for building a CORBA-based application. </p>
<p class=BodyText> </p>
<p class=BodyText> CORBA
consists of standards for an Object Request Broker (ORB) and the services and
facilities for supporting a distributed application. The ORB defines a mechanism
for objects to communicate with each other. A common way for people to view ORB
is as an object bus that one can plug objects into to communicate, regardless
of the location and language in which the object was written. In addition, the
mechanism for communication is transparent to the programmer. The programmer
uses the remote object the same way one would use a regular object. The client
object views the remote object as local and the remote object views the client
object as local. </p>
<p class=BodyText> </p>
<p class=BodyText> The
CORBA services represent services that distributed object systems may need.
These services are used by the remote and local objects to work with the ORB
and other objects (see Figure 1). </p>
<p class=BodyText> </p>
<table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse;
border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> <b>Service</b></p>
</td>
<td width=247 valign=top style='width:185.0pt;border:solid windowtext .5pt;
border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> <b>Description</b></p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Naming</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Used
to locate other objects by a name. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Externalization
</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Standard
way for retrieving and saving information using streams. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Persistence</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Standard
way for storing objects. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Events</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Standard
way for registering and un-registering objects interested in an event. The
event object is responsible for notifying event recipients. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Life
Cycle</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Defines
the life cycle of objects on the object bus. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Transactions</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Defines
a two-phase commit mechanism for objects. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Properties</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Service
for associating properties with an object. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Query</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Standard
for querying objects using a scripting language. Similar to SQL and based on
SQL 3 specification and Object Database Management Group Object Query
Language. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Concurrency
Control</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Provides
a locking mechanism for objects. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Relationships</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Allows
for creating links between objects that have no direct knowledge of each
other. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Collection</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Standard
for creating and manipulating collections of objects. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Time</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Standard
for providing synchronizing time in a distributed environment. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Security</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Framework
for security on an object. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Startup</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Automatic
activation service to start objects not yet started. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Trader</p>
</td>
<td width=247 valign=top style='width:185.0pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Directory
of available objects as services. </p>
</td>
</tr>
<tr>
<td width=87 valign=top style='width:65.4pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=BodyText> Licensing</p>
</td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -