|
| MIDAS: Which Connection Type Should I Use? | 
|
|---|
| from Distribucon | Product: Delphi 5.x (or higher) | Category: MIDAS | Skill Level:
 | Scoring:  | Last Update: 10/17/2000 | Search Keys: delphi delphi3000 article borland vcl code-snippet MIDAS DispatchConnection DCOMConnection SocketConnection Socket DCOM WebConnection OleEnterprise IDL2PAS Corba | Times Scored: 15 | Visits: 9718 | Uploader: PEPS ^^ Company: bluestep.com IT Consulting | Reference: Distribucon | | | Question/Problem/Abstract:
One of the key-features of MIDAS is its protocol-independence ! Here are the differences: | Answer:
Sockets is the easiest to configure. In addition, it only uses one port for traffic, so your firewall administrator will be happier than if they had to make DCOM work through the firewall. With D4 or D5, you must be running
SCKTSRVR.EXE to make this connection work, so there is one extra file to deploy
and run on the server. The downside is that early-binding is not supported.
COM/DCOM provides core NTLM secuirty and authentication. This is especially
useful if you are using this applicaiton in an Intranet/Extranet setup (i.e.
where the people using your application are "known" from the domain's
perspective). You can use early-binding when using DCOM, and you can use
callbacks and ConnectionPoints easily. The downside is configuration of DCOM
on client machines and using DCOM through firewalls.
MTS is used to host COM objects and provides (among other things)
transactional capabilities, database connection pooling, easier deployment
to clients, role-based security, and limited declarative attribute
programming (e.g. declaring transaction suport). The upcoming COM+ is
basically a combination of COM and MTS. The downsides are the same as those
for DCOM, plus the lack of support for using the BDE in transactions with
multi-user applications.
CORBA is an open-standard and quite useful for cross-platform projects.
(CORBA is quite popular in Java circles). See www.omg.org for more
information. With VisiBroker, configuration is much easier than DCOM. The
recent release of IDL2PAS makes writing Delphi clients to access CORBA
servers quite nice. The downside is that not all features are supported on
the server side with early-binding, more files to install on the client
machine to support the CORBA implementation, and not all features of
VisiBroker work with the Delphi implementation (e.g. OAD as a service and
GateKeeper).
OLEnterprise offers no advantage over the other connection types at this point.
It was useful for running COM servers on Win9x machines (see my DCOM Configuration
page for instructions on how to do this with straight COM) and load balancing (replaced by
TSimpleObjectBroker in D4 and above). In addition, it has a very complex and large client-side installation requirement.
TWebConnection is a new connection type in Delphi 5. This component basically tunnels MIDAS traffic through HTTP/HTTPS. It requires WININET.DLL on the client and a web server such as
IIS to host HTTPSRVR.DLL. The downside to this component is that callbacks are not possible with this connection, and you cannot use early-binding. The upside is almost priceless: the ability to get MIDAS traffic through a firewall with no interaction of a system administrator.
|
|