Viewpoints-The Battle for the Enterprise continues
17 May 1998Viewpoints
Microsoft is promoting its Distributed interNet Applications Architecture (DNA) as a platform for developing fully distributed enterprise applications. There are six core fundamental technologies which are part of Microsoft Component Services without which DNA would not be possible. They are,
- COM - the ability to define components,
- DCOM - the ability to take these components and move them onto another machine,
- MTS - the component runtime environment in which components live, which watches requests coming into components and participates in processing them, providing security, automatic transaction management and a scaleable environment.
- MS DTC - Distributed Transaction Coordinator which is very similar to CORBA’s Object Transaction Service which automatically handles distributed two-phase commits in enterprise applications.
- MSMQ - code-named The Falcon, which is the asynchronous messaging capability and is somewhat similar to CORBA’s dynamic invocation interface.
- MSCS - Microsoft’s Clustering Technology code-named The Wolf Pack - which allows bringing together very small little server machines in a bunch with Wolfpack as a good glue that holds them together for creating highly robust and very scaleable applications
While Microsoft today is a one-stop shop for a viable set of distributed object application tools, Sun’s JavaSoft has created an environment where an industry of third-party distributed tools-and-platforms have started to flourish.
Sun is promoting its Java Platform for the Enterprise (JPE) as a core technology for developing multi-tier distributed applications. There are six fundamental technologies that are part of this.
- EJB - the ability to develop and deploy scalable, transactional, multi-user secure, distributed enterprise-level server application components.
- Java/RMI - the ability to remotely invoke Java objects and their methods on different virtual machines
- JNDI - which provides Java applications with a unified interface to multiple naming and directory services on the enterprise.
- JDBC - the Java version of ODBC for database connectivity
- JTS - the ability to provide the transaction system infrastructure required to support an application run time environment.
- JMS - Java’s messaging capability.
Update: Sun has since renamed Java Platform for the Enterprise (JPE) to Java 2, Enterprise Edition (J2EE) and has come out with a Reference Implementation for it.
OMG | SUN | MICROSOFT | Remarks |
CORBA | |||
(Common Object Request Broker Architecture) | JavaBeans | COM (Component Object Model) | the ability to define components, |
JavaBeans | ActiveX controls | Client side components, | |
CORBA | Java/RMI (Java/ Remote Method Invocation) | DCOM(Distributed Component Object Model) | the ability to take these components and move them onto another machine. It provides the ability to remotely invoke objects and their methods on different machines |
OTS (Object Transaction Service) | JTS (Java Transaction Service) | MSDTC (Microsoft Distributed Transaction Coordinator) | the ability to provide the transaction system infrastructure required to support an application run time environment |
COS Transactions (CORBA Object Services Transactions) | JTA (Java Transaction API) | OLE Transactions | the ability to programmatically code transactions in the application. |
COS Naming (CORBA Object Services Naming) | JNDI (Java Naming and Directory Interface) | ADSI (Active Directory Services Interface) | provides applications with a unified interface to multiple naming and directory services on the enterprise. |
Dynamic Invocation Interface (DII) | JMS (Java Message Service) | MSMQ (Microsoft Message Queue) | the asynchronous messaging capability |
CCM (CORBA Component Model) | EJB (Enterprise JavaBeans) | MTS (Microsoft Transaction Server) | the ability to develop and deploy scalable, transactional, multi-user, secure, distributed enterprise-level server application components. It’s also the component runtime environment in which components live, which watches requests coming into components and participates in processing them, providing security, automatic transaction management and a scaleable environment. |
Servlets | ISAPI (Internet Server API) | Improvement over CGI/Perl scripts. Ability to programmatically (using Java or Visual C++ etc.) process Web Server requests. | |
JSP (Java Server Pages) | ASP (Active Server Pages) | Ability to develop scripts layered on top of Servlets in the case of JSP and ISAPI in the case of ASP | |
JDBC (Java Database Connectivity) | ADO (Active Data Objects), OLE/DB, ODBC (Open Database Connectivity) | For database connectivity |