This site is dedicated to the Ubiquitous Component Developer...

 

Gopalan Suresh Raj's

Web Cornucopia©
An Oasis for the parched Enterprise Component Engineer/Developer




Site Index / Site Map / What's New

What's New The easiest way to get to most of the articles on this site. Retrace the links...



 

 The Productivity Environment for Java (PE:J)

Take a look at the product that we'd been working on since July 2001 - It's a Productivity Environment for Java (PE:J) ...

 

 

With Dr. James Gosling

Click Here to see yours truly with Dr. James Gosling the creator of The Java Programming Language ...

 

 

Java Data Objects (JDO)

Check out my Presentation for the Toronto Java User's Group on PE:J and JDO ...

 

 

The Advanced C#/.NET Tutorial

The Advanced COM/DNA TutorialThis section contains a tutorial to Advanced C#/.NET topics...

 




The Advanced Java/J2EE Tutorial

The Advanced Java Tutorial This section contains a tutorial to Advanced Java topics like Enterprise JavaBeans, Jini, Java/RMI, JMS, JTS/JTA, JavaBeans, Network programming, Concurrency issues, and a lot more...

 




The COM+/DNA Tutorial

The Advanced COM/DNA TutorialThis section contains a tutorial to Advanced COM topics like DCOM, MTS, MSMQ, COM+ and a lot more...







The CORBA Tutorial

The CORBA TutorialThis section contains a tutorial to CORBA covering topics like Stringification, Common Object Services (COS) like Naming, Event, Trader, Transaction, etc., and a lot more...




 

Viewpoint

Viewpoint Each man is entitled to his opinion. A case in point. This is what I feel about...

 

 

 Read about my latest book on The Java Message Service  ...

Enterprise Java Computing - Applications and Architecture Professional JMS ... 

Visit now and for FREE
 * Download entire code 
 * Read my Sample Chapter 

 

 

Read about my previous book here...

Enterprise Java Computing - Applications and Architecture Enterprise Java Computing- Applications and Architecture ...

 

 

Click to subscribe to The Web Cornucopia Mailing List

The Book Gallery Get FREE notification of any changes to this site.

 

 

 

Visit my DISTRIBUTED COMPUTING online discussion forum


Visit My Distributed Computing Discussion Board...

The Book Gallery Discuss COM+/DNA and all its related technologies, CORBA and all its related technologies, JAVA 2 Enterprise Edition (J2EE) and all its related technologies, Design Patterns, Enterprise Solutions, Message Oriented Middleware (MOM), Transaction Processing Monitors, and Parallel Architectures....

 




The Book Gallery

The Book Gallery In this section I have only included those books that I feel are actually worth the asking price...




 

Lean Manufacturing Machine Systems

The LMMS Project Read all about my latest tryst with Jini, EJB and Java Communications API and how to bring push technology to the plant floor...

If you are really interested in learning more about this project, please
send in a note to me or to Prof. Dr. Satish Bukkapatnam of USC.

 




Read about this at Microsoft's site

Universal Plug and Play Read all about Microsoft's 'Universal Plug and Play' here... This is Microsoft's answer to Sun's Jini Connection Technology.







Read about this at Sun's site

Java Spaces What JavaSpaces is all about.







Other Trivia

Read this article now How you convert your existing ActiveX control to a JavaBean and...






Other Links

Read this article nowGeneric Links...
Read this article nowJava Links...
Read this article nowCOM Links...
Read this article nowCORBA Links...




 

Emerging Technologies For eCommerce

Read this article nowAn Overview...





 

Welcome to the World of Distributed Components...

Microsoft is promoting its .NET Framework which will supplant its Distributed interNet Applications Architecture (DNA) as a platform for developing fully distributed enterprise 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.

JavaSoft is promoting its Java 2, Enterprise Edition (J2EE) as a core technology for developing multi-tier distributed applications.

Join me in my quest to make this site THE ULTIMATE RESOURCE to learn everything about COM+ and all its related technologies, JAVA and all its related technologies, CORBA and all its related technologies, .NET and all its related technologies, Visual C#, Visual J#, Visual C++ & MFC, Visual J++ & WFC, Win32 Systems Programming, Design Patterns, Enterprise Solutions, Transaction Processing Monitors, Message Oriented Middleware, Transparent Persistence, Persistence by Reacheability, Object to Relational Mapping (O/R Mapping), and Parallel Architectures.

- Gopalan Suresh Raj


Middleware Component Models -
CCM, EJB, COM+/MTS

Middleware components run within a controlled runtime environment provided by the server vendor which manages their creation, management, and destruction. The middleware component developer no longer needs to write code that handles transactional behavior, security, database connection pooling or threading, because the architecture delegates this task to the server vendor...

Enterprise JavaBeans (EJB) provides a fully-scalable, distributed, and cross-platform architecture that makes the most of your business resources. Not only can these components run on any platform, but they are also completely portable across any vendor's EJB component execution system. The EJB environment automatically maps the component to the underlying vendor-specific execution services. Let me show you how to build EJB server-side business object components.

Microsoft Transaction Server (MTS) is built on DCOM and brings in mainframe-like transactional reliability to the PC world following a "write once, run many" strategy. Developers use MTS to deploy scalable server applications built from COM components, focusing on solving business problems instead of on the programming application infrastructure. MTS delivers the "plumbing" — including transactions, scalability services, database connection management, and point-and-click administration — providing developers with the easiest way to build and deploy scalable server applications for business and the Internet. Let me show you how to build Transaction Server business object components.

Component Object Model + (COM+) is the latest version of MTS. Collectively, the services that support COM and .NET component-based applications are known as COM+ Component Services, or simply as COM+. The most important services provided by COM+ deal with Administration, Just-in-Time Activation (JITA), Object Pooling, Transactions, Synchronization, Security, Queued Components, and Events. Let me show you how to build Transaction Server business object components.

CORBA Component Model (CCM) is a specification that focuses on the strength of CORBA as a server-side object model. It concentrates on issues that must be addressed to provide a complete Server side middleware component model. It can be described as a cross platform, cross language superset of EJB. The CCM gives developers the ability to quickly build web-enabled enterprise scale e-commerce applications while leveraging the industrial strength of CORBA. Tight integration with EJB leverages CORBA's cross-platform and multiple-language capabilities. Let me show you how to build CCM business object components.

 As the middleware war heats up between Microsoft, JavaSoft and the OMG, the providers of the three most popular distributed object technologies, let us look at a detailed comparison of the EJB and MTS models. Let us examine the differences between these models (with a concrete code example) from a programmer's standpoint and an architectural standpoint. At the end of this article, you will be able to better appreciate the merits and innards of each of these middleware component paradigms.

This comparison is based on the following criteria: Instance and Life cycle Management, Database Connection Pooling, Architecture, Distributed Transaction Support, Distributed Transaction Services, Support for Transactions, Component Types, Portability, Interoperability, State Management, Persistence Management, Resource Management, Security, and Deployment. It ends with a detailed source code comparison of a full-fledged MTS and EJB component.
(PS: I am still receiving excellent comments and suggestions on this article).

 

Middleware Remoting Technologies -
DCOM, Java/RMI and CORBA

Software Reuseablity is a major goal of software engineering. Good Object-Oriented systems ensure this through Inheritance and Encapsulation.

Microsoft tries to move reusability from the source code realm into the binary realm. COM, OLE, ActiveX, DCOM, COM+ -you can call it anything- are all Microsoft's solutions to smooth out the edges and ensure that data sharing at the binary level, takes place in a consistent manner. Explore this world with me as I rave and rant about these ActiveX/COM technologies...

Javasoft's Java/RMI ensures communication between distributed program-level Java objects residing in different address spaces by assuming a homogeneous Java Virtual Machine environment. It thus takes advantage of the Java Object Model whenever possible to support distributed objects in the Java environment. Let's uncover this wonderful world and experience first-hand how Java/RMI ensures seamless integration with other Java object systems...

OMG's CORBA is a structural architecture designed to support heterogeneous object systems. CORBA achieves communication between different distributed objects while still allowing encapsulation and hiding of the internal object structure from external objects through Indirection. Let me show you how it uses Indirection efficiently to achieve encapsulation preventing systematic recompilation.

  As the middleware war heats up between Microsoft, OMG and JavaSoft, the providers of the three most popular distributed object technologies, let us look at a detailed comparison of CORBA, DCOM and Java/RMI. Let us examine the differences between these three models (with a concrete code example) from a programmer's standpoint and an architectural standpoint. At the end of this article, you will be able to better appreciate the merits and innards of each of these distributed object paradigms.
(PS: I am still receiving excellent comments and suggestions on this article).

Bridging DCOM and CORBA

 

Transparent Persistence, O/R Mapping -
Java Data Objects (JDO), and Microsoft ObjectSpaces

Solving the impedance mismatch between an Object Model that was developed independently from a Data Model is a matter of concern, and happens far too often in Enterprise Application projects. Transparent Persistence, Persistence By Reachability, Lazy Data Loading, and Object to Relational Mapping (O/R Mapping) are highly desirable features in every application which gets its data from some data source (be it from an RDBMS, or from an ODBMS, or even from XML/Text Files).

Java Data Objects (JDO) provides for interface-based definitions of data stores and transactions. It also provides for selection and transformation of persistent storage data into native Java programming language objects. It provides for a standard way to store Java objects persistently in transactional data stores. Furthermore, it standardizes on a way to treat relational database data as Java objects, and defines transactional semantics associated with those objects. You use the JDO Query Language (JDOQL) to write queries that uses conventional Java operators. Click here to see my latest forays into this wonderful technology from Sun...

Microsoft ObjectSpaces (MS OS) lets you expose database or XML data as persistent objects and lists of objects instead of tables, columns, and rows, or XML elements. MS ObjectSpaces provides a protective transactional business logic layer for your source data layered on top of ADO.NET. You use the Object Query Language (OPath) to write queries that use conventional C# operators. OPath also handles updates to the source database or XML document and supports transactions. The Microsoft XML Web Services Toolkit includes a Technology Preview of the ObjectSpaces library and ObjectSpace Mapping Tools for Microsoft's .NET Framework. Click here to see my latest forays into this wonderful technology from Microsoft...

 

Message Oriented Middleware (MOM)

The Java Message Service (JMS) API combines Java technology with enterprise messaging. Enterprise messaging provides a reliable, flexible service for the asynchronous exchange of critical business data and events throughout an enterprise. The JMS API adds to this a common API and provider framework that enables the development of portable, message based applications in the Java programming language. Let me show you how to build reliable messaging into your enterprise Java applications.

The Microsoft Message Queue Server (MSMQ) guarantees a simple, reliable and scalable means of asynchronous communication freeing up client apps to do other tasks without waiting for a response from the other end.It provides loosely-coupled and reliable network communications services based on a messaging queuing model. MSMQ makes it easy to integrate applications, implement a push-style business event delivery environment between applications, and build reliable applications that work over unreliable but cost-effective networks. Let me walk you through this technology from Microsoft which was code-named the Falcon

IBM's MQSeries has, over the years, earned an industry-leading reputation by providing highly reliable, asynchronous communications functions for application-to-application connection and has become essential to enterprise messaging. It provides an open, scalable, industrial-strength messaging and information infrastructure, enabling enterprises and beyond to integrate business processes. Let me show you how to build reliable messaging into your enterprise applications using IBM's MQSeries.

 

The .NET Framework,  C# and related technologies...

According to Microsoft, C# (pronounced C Sharp) provides programmers with rapid development, combined with the power to access all the functionality of the underlying platform without sacrificing the power and control that have been the hallmark of C and C++. It provides an environment that is completely in sync with emerging Web standards and one that provides easy integration with existing COM applications. Additionally, it allows the ability to code at a low level if and when the need arises. Click here to see my latest forays into this wonderful language from Microsoft... Also read about my Sixty (60) Tips to Effective C# Code Development ...

 

Java and related technologies

Javasoft describes Java as "A Simple, Object Oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded and dynamic language". JavaBeans is the specification for building reusable software components using Java. Javasoft has also released the InfoBus specification for Beans. Click here to see how I use these technologies in my projects...

While both JavaBeans and Enterprise JavaBeans are software component models, the purpose for which they are designed is different. However, a common misconception is that an Enterprise JavaBean is an extension of ‘plain vanilla’ JavaBeans with enterprise functionality. JavaBeans is a general-purpose component model whereas EJB, as the name suggests, is a middleware component model. We'll use these principles and the basic characteristics of software components to compare JavaBeans and Enterprise JavaBeans. (Published in the August 1999 issue of the Java Developers' Journal - JDJ Feature pp.22-30.)

Visual J++ is a pretty cool development system from Microsoft. Microsoft's Visual J++ ver 6.0 is now 100 percent JDK 1.1 compliant (even supports JNI). It provides amazingly superior support for Enterprise Application development and it ships with excellent COM programming support, WFC, ActiveX-Bean integration tools, J/Direct and a whole slew of cool interesting tools. I will do my best to give you an insight into how you can program using these libraries and tools.

 

Java Server Pages (JSP), the Servlets API and the JavaMail API

The Java Server Pages (JSP) Technology and the Java Servlet API, along with the Java Mail API provide an excellent framework for developing Web Based Email Applications. The Model 2 JSP Architecture lends a good Model-View-Controller Based design to architect your next Web-Based project. Click here and I will explain how to build a Web Based Email Service using the Java Mail API, Java Server Pages Technology and the Servlet API...

 

Jini Technology

Sun Microsystems' Jini Connection Technology enables the building and deployment of distributed systems that are organized as "federations of services." A federation is a set of services that can work together to perform a task. A service, the fundamental unit of a federation, is an entity that sits on the network ready to perform some kind of useful function. A service can be anything -- a hardware device, a piece of software or a communications channel. Once a service becomes part of a federation, it then can be used by all its client programs, other services, or users. Click here and I will explain how to build Jini services & clients and why I am so excited about this wonderful technology from Sun...

 

Design Patterns

One of the most important tasks in any project life-cycle is the Design. A good design contributes a lot to the success of every project. Good Design Patterns have the potential to permanently alter the software engineering field, catapulting it into the realm of true elegant design. Join me as I walk you through my view of this world of Creational Patterns, Structural Patterns and Behavorial Patterns

 

Win32 Systems Programming, Visual C++ and MFC

Visual C++ is Microsoft's flagship product for C++. It's class library MFC provides an Object-Oriented interface to the Windows OS. Windows 98 and NT are their flagship Operating Systems. In this section you can find my Win32 articles on developing NT Services, Named pipes, memory mapped I/O, Winsock Multithreading issues, thunking and a whole bunch of stuff useful for the systems programmer...


Best viewed with

Get Microsoft Internet Explorer


This site was developed and is maintained by Gopalan Suresh Raj

You are visitor number since January 1,1999.

Last Updated: Dec 21,2001

.

If you have any questions, comments, or problems regarding this site, please write to me I would love to hear from you.


 
Search WWW Search
Web Cornucopia
Visit Web Cornucopia's Distributed Computing Discussion Forum
Visit My Distributed Computing Discussion Board...
Discuss COM+ and all its related technologies, .NET and all its related technologies, CORBA and all its related technologies, JAVA 2 Enterprise Edition (J2EE) and all its related technologies, Design Patterns, Enterprise Solutions, Message Oriented Middleware (MOM), Transaction Processing Monitors, and Parallel Architectures.

 


Click to subscribe to The Web Cornucopia Mailing List

 


Copyright (c) 1997-2002, Gopalan Suresh Raj - All rights reserved. Terms of use.

All products and companies mentioned at this site are trademarks of their respective owners.


Please sponsor a child. Visit ChildReach.

Please help find a missing child. Visit this site