Search /
Advanced search  |  Help  |  Site map
Click for Layer 8! No, really, click NOW!
Networking for Small Business
How Apple's billion dollar sapphire bet will pay off
iPhone 6 rumor rollup for the week ending April 18
Arista co-founder may have switch maker by its jewels
Open source pitfalls – and how to avoid them
AT&T's expanded 1 Gbps fiber rollout could go head to head with Google
BlackBerry Releases BES 10 Security Update to Address 'Heartbleed' Flaw
Verizon: Web apps are the security punching bag of the Internet
Cisco announces security service linked with new operations centers
Dell launches virtual storage accelerator, aims to boost SAN performance
Free OS X Mavericks now powers half of all Macs
Even the most secure cloud storage may not be so secure, study finds  
3D printing will transform these five industries
Most but not all sites have fixed Heartbleed flaw
NEC launches face-recognition protection for PCs
Hundreds of medical professionals targeted in multi-state tax scam
Super-high frequencies could one day deliver your mobile video
Americans cool with lab-grown organs, but not designer babies
IT Departments Not Losing Ground to Managed Service Providers (Yet)
Where's my gigabit Internet, anyway?
IE6: Retired but not dead yet
Enterprise who? Google says little about Apps, business cloud services in Q1 report
DDoS Attackers Change Techniques To Wallop Sites
Can we talk? Internet of Things vendors face a communications 'mess'
AMD's profitability streak ends at two quarters
Michaels says breach at its stores affected nearly 3M payment cards

Reusable code quickens application development

Corporations looking to save money and time are turning to reusable software.

Related linksToday's breaking news
Send to a friendFeedback

Larry Singer has seen the ups and downs of software reuse. The CIO for the state of Georgia remembers when the federal government in the 1990s said it would pay for only five states to develop a particular software application needed for child welfare systems; the other 45 states would have to borrow the code. The intent was to save money by reducing software development efforts - but the states were ill-prepared to swap code, Singer says, and spent more money to integrate the code into their platforms than they would have to write it from scratch.

But times have changed. Singer is now on the managing side of an enormous software reuse initiative for the 50 states. As chairman of the component reuse subcommittee at National Association of State Chief Information Officers (NASCIO), Singer is working with a group of states and vendors to iron out the details of a national repository of software components. Component marketplace and infrastructure provider ComponentSource will host the repository, which Singer says will be up and running in October with a minimum of 13 and as many as 24 states participating from the start.

Already the project is saving money. During a trial run of the system, Georgia borrowed three software components from Arkansas for a vehicle registration application it was building. Integrating the components saved 424 hours of software development and $42,000 in development costs, Singer says.

Software reuse has drifted in and out of vogue for more than 30 years. Historically it has consisted of ad hoc efforts to save code in a repository that other developers could access. But this approach doesn't scale well beyond a handful of developers, experts say.

Lately there has been interest among corporations to adopt formal software reuse strategies in order to streamline development efforts - and save money in the process. Adding credit card authorization to an e-commerce application might take a developer six to eight months, including the time to set up contracts with vendors such as Visa and American Express. Alternatively, a marketplace could sell that component for a few hundred dollars and have it in place in days, says Sam Patterson, CEO of reusable software vendor ComponentSource.

Demand for reusable code is increasing. Gartner says that by 2003, 70% of new applications will be deployed as a combination of preassembled and newly created components to form complex business systems. Market research firm IDC predicts worldwide revenue in the software component market will increase from $516 million in 1999 to $2.7 billion in 2004.

The concept of component-based development (CBD) is the cornerstone of enterprise-level software reuse. The idea behind CBD is that developers work with preassembled building blocks of code developed for previous internal projects or purchased from third-party business application vendors. These blocks of code are stored in a central repository and tagged to identify their architectures and features.

In the case of NASCIO, the 50 states have software needs that are unique to state government but common to each other - making the states' components prime candidates for reuse. For example, rather than have all 50 states attempt to retool their Medicaid systems to comply with the Health Insurance Portability and Accountability Act's privacy regulations, states can share the development burden by swapping platform-independent components.

Charles Stack, CEO of component marketplace, says the time is ripe for CBD. Every other engineering discipline has moved to components, he says, citing automobile makers that buy preassembled car parts, architects who specify prefabricated building components and computer hardware makers that plug ready-made circuit boards into their shells. Now it's time for the software industry to follow suit.

Component brokers

A basic component marketplace brings together software buyers and sellers of software parts. Some vendors have added features such as enterprise management tools, outsourcing, software testing and user training to their component offerings.


Includes public marketplace, component management system, outsourcing and testing tools.

Includes public marketplace, component management system, outsourcing and testing tools.


Includes public marketplace ( and component management system.

Among the corporations embracing software reuse is CitiMortgage, which is employing Flashline's Component Manager2, Enterprise Edition as a repository for Java components to be reused across business units. Another early adopter is Electronic Data Systems' Europe, Middle East and Africa division; it is rolling out a Web services-based reuse platform from ComponentSource so its 10,000 developers in 12 countries can collaborate and share software component assets.

The current interest in enterprise software reuse can be attributed to a number of factors. One is a receptive market. Companies are trimming IT budgets and operating expenses, and software reuse fits nicely with these efforts.

Also speeding things along is that today's technology encourages CBD. Sun's Java 2 Platform Enterprise Edition (J2EE) environment is designed to support reusable components, as is Microsoft's forthcoming .Net architecture. The two differ in their approaches, but the results are comparable. With J2EE, a developer is tied to Java but can write components for multiple platforms. With .Net, a developer is bound to one platform but can use several programming languages to create components.

The buzz around Web services, too, is contributing to renewed interest in software reuse. Web services essentially are software components delivered over the Internet. Standards that will enable deployment of Web services are beginning to mature, including Simple Object Access Protocol for transporting XML-formatted messages between applications; Universal Description, Discovery and Integration for locating Web services; and Web Services Description Language for standardizing Web service descriptions.

Yet even as momentum picks up, corporations have a long way to go before they achieve large-scale reuse of 20% to 40% in their software development efforts, experts say.

Gary Barnett, principal analyst at Ovum, says reuse is one of the most elusive goals of software engineering. "It's nothing like the way we were promised when we were sold component-based development and object-oriented programming," he says.

One reason for the low reuse rate to date is that people haven't been trained to think in terms of reusable code, says Howard Modell, a systems administrator and reuse advocate. Making components that are reusable requires extra work on the part of the developer. Naming conventions and documentation need to comply with predefined standards so developers can search for code they need in a repository.

Cultural and political issues, too, are often cited as barriers to enterprise-scale software reuse. Getting developers to share their work and use the work of others requires a systematic reuse initiative on a corporate level, experts say. Modell compares software reuse to plastic or aluminum recycling efforts. While there are pockets of developers reusing software, it's still not automatic. For software reuse to reach its potential, Modell says "the rewards need to be so obvious that doing anything else would be unthinkable."

Related Links

NWFusion offers more than 40 FREE technology-specific email newsletters in key network technology areas such as NSM, VPNs, Convergence, Security and more.
Click here to sign up!
New Event - WANs: Optimizing Your Network Now.
Hear from the experts about the innovations that are already starting to shake up the WAN world. Free Network World Technology Tour and Expo in Dallas, San Francisco, Washington DC, and New York.
Attend FREE
Your FREE Network World subscription will also include breaking news and information on wireless, storage, infrastructure, carriers and SPs, enterprise applications, videoconferencing, plus product reviews, technology insiders, management surveys and technology updates - GET IT NOW.