18.04.2013 Views

B2B Integration : A Practical Guide to Collaborative E-commerce

B2B Integration : A Practical Guide to Collaborative E-commerce

B2B Integration : A Practical Guide to Collaborative E-commerce

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

242 <strong>B2B</strong> <strong>Integration</strong> — A <strong>Practical</strong> <strong>Guide</strong> <strong>to</strong> <strong>Collaborative</strong> E-<strong>commerce</strong><br />

COM components can be written in any language, though Microsoft<br />

makes it easier <strong>to</strong> create COM components using Microsoft development<br />

languages, such as Visual Basic and Visual C++.<br />

COM provides two types of servers <strong>to</strong> allow clients <strong>to</strong> invoke a<br />

component: in-process and out-of-process. These COM servers provide<br />

much of the same roles as an ORB.<br />

In-process Server — An in-process server is a component where the<br />

objects run inside the client's memory space. Essentially, the client has<br />

a copy of the component on the local machine. In-process servers are<br />

implemented using DLLs or EXEs. The components are invoked using<br />

a local procedure call (LPC) (see Figure 8.9). LPCs are a means of<br />

communication between different processes on the same machine. As<br />

might be expected, in-process server components experience little<br />

overhead and are very quick <strong>to</strong> execute.<br />

Out-of-process Server — An out-of-process server runs in a separate<br />

process or memory space, usually on a separate machine (see Figure 8.10).<br />

They serve up 'remote' objects which are usually independent applications<br />

in their own right. Out-of-process servers use RPC-like communication<br />

similar <strong>to</strong> HOP with CORBA and RMI with J2EE. The<br />

benefits of out-of-process servers include component reusability and<br />

Client<br />

Application<br />

Vv_<br />

Client<br />

Application<br />

DCE<br />

RPC<br />

Client Process<br />

-1 r<br />

Figure 8.9. — In-process server call<br />

_i<br />

CCM<br />

)<br />

!<br />

y<br />

HI \<br />

^ (<br />

RPC<br />

-Vi<br />

Remote Machine<br />

Remote Server Process'<br />

COM<br />

Stub<br />

Figure 8.10. — Out-of-process server call<br />

Pemote Server<br />

Remote<br />

Object<br />

vk

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!