Search
 
     
   
   
   
  The need for 'Middleware' in e-Governance
 
 
By
Dr. R. Srinivasan,
CTO, iCMG, Bangalore

 

Component-based development works well for a system like e-Governance, believes Dr. R. Srinivasan, as these modules of code are created so that other developers can plug them into new applications.

I had mentioned in my last article that when developing the Applications for e-Governance, we should examine the possibility of adopting component-based software development, let us have a birds eye view of what it is all about.

What is a component? Dr. Thomas Mowbray, Chairman, iCMG defines the component as follows: "At its most general, a component is simply a, module. In this sense, applications are made up of components, or are themselves components in larger systems. A tighter definition is : A component is a software module that publishes or registers its interfaces. If you accept this definition, you cannot proceed to talk of components without also talking about some kind of component systems that specifies how the interfaces will be defined, handles the registration of interfaces and facilitates the communication of interface information between different components". This means that a component can only be understood within the context of some kind of system or environment like the e-Governance System. Component systems are clearly designed to facilitate reuse of code. Component-based development assumes that the developer will create an application by wiring together components that have already been created by someone else. It also assumes that the person who created the components in the first place might not know how the components would be used. Thus, components are modules of code that other developers will plug them into new applications. This ability to plug existing components into a new application assumes that the developer can determine what the component will do. It usually implies that the developer can tailor the component in some specific ways for interfacing/integrating it with other components to realize a specific application software.

One might argue that component systems are just object-based systems, systems that implement some, but not all, of the features of a full scale OO system. It might be true, but it would miss the growing importance being accorded to components, namely a growing consensus on a new combination of useful techniques to facilitate reuse. In 1996, a workgroup at ECOOP (the European Conference on Object-Oriented Programming) offered this definition: "A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties".

ECOOP's definition also emphasizes the three important attributes of components - interface to a specific/standard middleware, services it will provide and reuse. As mentioned in an earlier article, the three leading middleware that are in use today are COM+, EJB and CORBA. While the first two are of proprietary in nature, CORBA brought by the Object Management Group (OMG) is based on Open Standards.

Roy Schulte of Garner Group says, "Component-based interfaces can be used for some kinds of integration, and they will be. For example, SAP and its BAPI interfaces, and CORBA".

 

 
     
Copyright © 2006 iCMG. All rights reserved.
Site Index | Contact Us | Legal & Privacy Policy