Advertisment

The Company Components

author-image
DQI Bureau
New Update

‘Off-the-shelf components’ has been a slow market, but reusable code is a

big deal for software companies under pressure to develop reliable code quicker.

Here’s how they’re building up and leveraging their own component libraries

Advertisment

"Resolving the software crisis requires fundamental changes in systems

thinking, software processes, and technology use. The component revolution

contains key elements of the solution."

Thomas Mowbray



chairman, iCM

The software industry is in a mid-life crisis. Its traditional development

practices are out of step with the demands of new-economy business. The good old

structured and object oriented programming techniques remain the two dominant

approaches to development.

Advertisment

That domination has been challenged by a third significant paradigm:

components.

xComponent programming emphasizes the re-use of previously built software ‘parts’.

A component is a piece of reusable software that describes and delivers a set of

services. This model extends and fine-tunes object-oriented techniques, plugging

the gaps of a language-based approach.

Gartner has predicted the market for component-based development at $ 7

billion this year, and says that 60% of new applications developed will be

component based.

Advertisment

A

financial application needs a TDS calculator module with

updated tax rules. The team leader scans the components

repository on the intranet. Not finding what he wants, his

group develops and tests the module, and then uploads it to

the repository

So what took so long for component development to make its mark?

One factor was the lack of consensus between component developers and vendors

in evolving common standards. Another was the big, global-scale ‘unorganized-sector’

approach to the third-party components industry.

Advertisment

Thus, companies ask their developers to build components to spec, rather than

developing software from off-the-shelf components.

The concept took roots in the early 1990s, but remained a dream for the

majority. Yet, conventional software development was flawed. It suffered from

failure rates of over 50% over the 1980s, with programmers spending more time

rewriting the code and fixing bugs than on primary development. But the industry

got a boost in 1998, when Thomas J Mowbray, developer of the Common Object

Request Broker Architecture (CORBA), founded the Internet Component Management

Group (ICMG) to act as a nodal body for component-based development. This and

other vendor initiatives have led to some degree of standardization, with

frameworks and methods such as J2EE, Windows DNA, COM+, Borland J Builder, CORBA,

MasterCraft, Component Warehouse, etc. Says Vinay Kulkarni, chief architect,

MasterCraft-TCS, "There’s a global standardization drive in the business

community as IT systems reach maturity. The older manual processes are no longer

acceptable."

Handicraft to assembly line



With the components market about to take off, software companies are getting

ready to deliver component-based services. Internal ‘component centers’ are

coming up in companies, for instance. Says Dilip Ittyera, CTO of Zensar Tech,

"Today, the time available for re-engineering or building new business apps

is shrinking rapidly…companies need to focus on a strongly component-oriented

development approach." Zensar uses components actively. It uses

"solution blue prints"–platform-independent reusable solutions that

can almost automatically build applications. Thus, complex business apps

specific to a customer are generated quickly.

Advertisment

The repository stores components, modules, their description and interface specs. This is available to all development groups in that company, worldwide

Today, interest in component development has been rekindled, thanks largely

to competitive pressures in the IT market. Component development is part of the

CMM Level 5 process methodology of Chennai-based Cognizant Technology Solutions.

It has established a components center, Cognizant Compass, to facilitate

adoption of component-based architectures for quicker apps development. The

company has also created a component repository on its intranet, where all

project teams can upload and download components. CTS also works with the

Internet Component Management Group (ICMG) for training employees on component

technologies.

Says N S Swaminathan, director of projects at CTS, "The software

industry has traditionally been a craft industry, with apps built from scratch

using the skills of software developers. Thus projects were delayed, costs

escalated, quality dropped. Today’s economic realities have changed, for both

enterprises and software companies. Companies have to adopt a component-based

approach."

Advertisment

The early adopters



Yet, the going has been slow. Companies want to get there, but their

processes aren’t geared up, aligned as they are for conventional software

development. Hence, to put in place a project team for component development

involves a considerable degree of realignment in terms of knowledge and process

orientation.

Components and the Software Company
TCS, Infosys, CTS, Polaris, Zensar and others are building up repositories of re-usable components

Large software companies are able to cut down development time by building up libraries of tested modules, especially for vertical applications. The key is not in uploading the component, but in standardizing and documenting it, and publishing its interface specs. This means additional work for the authoring team… but across the organization, this is well worth it if it’s re-used even once. And the more the re-use, the more the benefits of the components approach. The repository of components is thus shared across different projects. TCS has developed a component framework called MasterCraft, that helps generate business components from client specs, using it to develop mission-critical apps. Here’s how it works: 

Companies that did invest in components early enough are in a strong position

today. Borland realised this many years ago and introduced Delphi. Subsequently,

using this experience in component architectures, it wrote specs for Java Beans

for distributed computing. Borland C++ is now the de facto standard in C++. The

company also brought Kylix, a toolkit to let developers build components for

Linux systems.

Advertisment

Borland’s country head in India, Ajay Mohan, says that its comprehensive

component architectures for Windows, Linux and Solaris platforms, and toolsets

like Bizsnap, Websnap, and Datasnap, change manual-intensive development and

give a new dimension to enterprise computing. "e also help component

developers promote their components online, at community.borland.com,"

Mohan says. This community website has references to over 600 components across

diverse environments.

South-based developer Polaris Software Lab uses a ‘component warehouse’ (CWH).

This component framework allows quick deployment of custom products and

projects. Polaris’ senior VP Nat Narayanasamy explains that the CWH is an

online store for prefab, multi-platform application services.

The next week, another group is working on an HR and payroll application and needs a TDS module. The project leader scans the database, finds the recently-uploaded module, downloads and plugs it in

Infosys has also been into component development for years now, having

successfully implemented many projects using component services. Says Pradeep

Sanyal, technical architect at Infosys, "We like to incorporate the best

practices across the industry, and component programming is one among

them."

Wipro has also incorporated reusable frameworks in its software services

portfolio, aimed at easing time-to-market pressures. It has a slew of

component-based solutions such as its WAP Gateway, Websecure, TransIT and

Analytical CRM.

The main agenda for all these companies is to create a component repository

form where developers and programmers can source components, rather that writing

code from scratch. The higher the re-use rate, the more successful the component

initiative.

Quickapps for the verticals



With components, software reuse is a reality. But success and effective reuse

depend on design and management processes behind the components. The benefits

are immense. But many Indian companies aren’t there yet. Says Dilip Ittyera of

Zensar, "Many companies focus more on executing projects through

brute-force methods using cheap manpower, rather than investing in long-term and

cutting edge development approaches like component programming."

Zensar has been actively working on code reuse, particularly for

industry-specific vertical solutions. As a result, it has achieved shorter

development periods and lower maintenance cost. CTS, too, has achieved 30%

percent reusability with pre-built components, and about 20% improvement in time

to market cycles.

Looking at the reuse patterns in the Indian context, the major driver has

been the vertical segments where there’s a high chance of success of getting

meaningful services from a pre-built component. Often, compliances and

regulations characterize the vertical segments like finance or healthcare.

Needed: Interface standards



It’s not all smooth sailing with components. Probably the

biggest hurdle is the interface–and the lack of standardization there. Thus,

components often can’t plug into different systems. Developers need to choose

the right tools that enable dynamic and flexible component development.

Pain or Gain?

“Company components cut down development costs—in theory. In practice, it’s rare. Too often, they can be a big pain. New developers need to spend a lot of time trying to figure out poorly-documented components and their use. Business components are complex, and based on complex hierarachies created by in-house staff who are often not the most experienced component developers. Poor implementation (of a company components process) can actually sap productivity”

–VK

Thakur
, US-based components developer

There are very capable tools and technologies available,

including CORBA, Borland J Builder, Kylix, BEA Weblogic, COM, J2ME and J2EE. The

component has exposed the benefits of a tool-based approach to computing by

pushing programming further toward an engineering domain. Despite the e-boom and

emergence of new technologies, many enterprises in India are still stuck with

legacy systems. Analysts believe that the legacy intensive geographies will be

the major target for component developers and vendors in the coming years.

For a shrink-wrapped and off-the-shelf product, the market

figure is estimated at $1 billion this year. If we include the emerging area of

Web services, then the figure could easily add up to $33 billion this year. The

progressive roadmap for component services and the demand drivers’ from

various enterprise segments clearly indicate that this technology will soon

become the most sought after software development paradigm.

G Shrikanth in Chennai

Advertisment