Google
Web dqindia.com
Search by issue  | Sitemap

• Visit pcquest.com to know all about the business benefits of IT infrastructure outsourcing • Ad : Play and Plug ERP by IBM

Home< > TOPVIEW > What’s New in SW Components?

Special Issues 

   - DQ Top 20
   - Customer Satisfaction Audit
   - Best Employer Survey (IT)
   - Best Employer Survey (BPO)
   - IT Person of the Year 
   - Best E-Governed States
   - CIO Handbook

Enterprise

   - CIO Series
   - IT Case Book 2009

Industry

eGovernance

Green IT

Online & Mobility


 
CSA
IT Salary Survey
BPO Salary Survey
IT Man of the Year
'We re-launched because we were being confused for a friendship portal'
R Sundar, President, Times Business Solutions


What’s New in SW Components?

The industry’s view of software could well undergo a change if component technology makes rapid strides. And maybe it’s time India took the hint too…



Wednesday, February 26, 2003

Advertisement

In the software industry, "com-ponent" is a heavily overloaded term. The world of components has many evolving threads.

Software components and associated technology currently manifest the long search for reusing software efficiently.

Component-based development processes and tools offer the opportunity to achieve higher efficiencies and enable software development to scale. And, at the enterprise level, architecture methodologies use component concepts to structure their IT strategy.

This writeup explores each of these threads with an example of the direction that technology is taking. It concludes with some speculation on the implications for the future of software development and the Indian IT industry.

"Component concepts and technologies could well change the way firms—and the Indian infotech
industry—view software"

S Ramadorai

Software components
Software components have ‘plug-and-play’ potential. They offer packaged functionality, exposed in some form, for reuse.

The application that uses these components must integrate them in order to manifest the business process that the software is designed to support. The technology for delivering software components has been evolving rapidly, with Web services being the latest in component delivery architecture.

A components’ model of an application defines its structure in terms of a set of interacting components. These can be developed or sourced, with each component performing a set of tasks that it publishes for use by the application. Components are deployed using appropriate technology so that network transparency, platform independence, programming language independence and, now, with Web services, organizational independence, are achieved.

Web services are another step in the evolution distributed computing. Data exchange using XML-based standards has enabled heterogeneous computing environments to share information over the Internet. XML itself has evolved from the structured representation of information to the structured representation of inter-application messaging. Web services take this evolution a step further with XML-based mechanisms for invoking services of software components using SOAP. These services can be deployed across any number of physical machines connected to the Net.

The components’ architecture view of application development, therefore, first defines components and their planned interaction and then builds individual components that are finally glued together into an application. The evolution of the application then becomes a question of changing the behavior of its components or replacing one or more of them. While this view is valuable, it begs the question of how these components are finally glued together and how changes in the components and their interactions are treated. Process-based architecture, another key emerging trend, addresses the issue through process model-based technologies that provide a framework into which components can be ‘plugged’ in.

A critical part of software specifications (apart from components and their functions) are business processes, which can be instantiated in the software architecture within user interface elements or in process components. Post-software implementation, it is the business process that is most subject to change. Formally modeling the process helps structuring the software so that it is easy to change.

Take this further—make the processes configurable within the architecture and change them—by merely configuring the software rather than change programs.

Business process modeling language and related languages such as xlang (used in Microsoft’s BizTalk framework) are examples of this trend. Messaging and workflow technologies are moving towards supporting a process model-based approach that uses Web services, where each component within or outside the organization merely provides functions strung together by the model-based framework. This is an emerging area—standardization is underway.

Tools
The effective use of software development tools is critical in industrializing the development. Tools can significantly accelerate the development process. They can automate programming tasks and help manage the process itself. Using tools such as error-trapping code, memory management calls, etc reduces the probability of defects in the software. Tools also have the potential to deliver software into a technical architecture. When the software platform or architecture needs to be changed, re-configuring the tools alone can usually allow the same application to be deployed on the new architecture without expending additional development effort.

Many software tools are in the market today although several of them are programming aids and not life-cycle development tools. Adding features such as multi-user support, configuration management, application modeling, component-based development support, application maintenance support and architectural independence results in a spectrum of capability. For large-scale or complex software development, components need to be integral to software development tools; specification, development and testing need to be component-based.

In practice, however, although very few truly component-based life-cycle development tools are available today, significant strides have been made in India, with TCS’s MasterCraft development environment. The evolution of components as a way of life for software development has thrown up the need for component repositories where components can be catalogued for search, discovery, and systematic management. For a number of years, TCS has been supporting research in this area at the University of Wisconsin, where an enterprise components repository is being developed.

Enterprise components
Beyond the evolution of component technology, and the emergence of component based automated software development and repositories, as outlined above, at the enterprise level, component concepts are acting as methodologies that enable organizations to articulate their information systems strategies.

Enterprise architecture must articulate the components an organization requires. For an information systems strategy, stakeholder needs should be analyzed. Processes that need software application support should be identified.

A component is a group based on functionality, e.g. business changes impact the functionality of business components; changes in application affect application components; and technical components are those that change depending on purely technical features of software (rather than of architecture).

So business components are purely logical entities; application components are logical but with manifestations also in software applications (a software application may have more than one application component); and technical components are those that are implemented directly in software as ‘infrastructure’ layers or as part of a software platform—they help run applications.

Application components correspond to one or more design-level components. Each design-level component is realized using component technology, tools and process models and maintained using a component repository.

Although the consulting world is just beginning to use enterprise-level components, TCS, with its iMpact methodology for architecture consulting, has already used them for strategic engagements. iMpact, one of the world’s few such methodologies to be published so far, uses a totally component-based approach from enterprise level down to design and development.

India must lead
Component concepts and technologies could well change the way organizations—and the Indian IT industry—view software.

The evolution of component technology could usher in scenarios where business chains—rather than mere organizations—become the ‘enterprise’ for which solutions should be designed. As software tools come of age, significant improvements in productivity, flexible IT strategies and higher RoI for IT departments will be a reality.

Partnering with academic and industry bodies, TCS has, for long, taken the route of developing its own products, methodologies and frameworks. But India, too, has been playing an increasingly important role in IT and it is high time that Indian industry, as a whole, should drive this change.

S Ramadorai
The author is chief executive officer of Tata Consultancy Services, Asia’s largest software and services company.





Page(s)   1   
End of the article

Product of the Week

A d v e r t i s e m e n t




Message boards

Discuss this and many other IT topics at the
CIOL message board

Previous Stories

Magazine Subscription | Sitemap | Contact Us | About Us | Advertising Print | Mediakit Print | jobs@cybermedia

Other CyberMedia web sites
  [Voice&Data]  [CIOL]  [PCQuest]  [Living Digital]  [IDC India]
  [CIOL Shop]  [DQ Channels]  [DQweek]  [CyberMedia Events]
  [Cybermedia Digital]  [CyberMedia India]   [Cyber Astro
  [Global Services Media ]  [BioSpectrum]  [BioSpectrum Asia]