In-Depth

Pre-Built Components Spread Through IT

Long seen as an unfulfilled development panacea, packaged components have overcome key integration problems with the emergence of integrated frameworks built to support multiple EJB, Microsoft and CORBA components.

New application server platforms based on Java, Microsoft technology and CORBA are driving a major change in the way applications are developed today. These platforms are creating de facto standards that let developers build components that can be used to rapidly piece together new applications incor- porating many of the features required for reliable and scalable e-commerce solutions.

No longer will developers need to spend many person-years of effort to get new applications off the ground. By 2003, predicts Michael Blechar, vice president of application development at the Stamford, Conn.-based GartnerGroup, 70% of new applications will be built with pre-assembled software components and frameworks.

Pre-built components are the fastest way to develop customized solutions, agrees Anne Thomas Manes, a senior consultant/analyst at Patricia Seybold Group, Boston. Although it might be possible to deploy an e-commerce application with a fully integrated packaged application faster, it probably would not fit into the existing enterprise infrastructure or with the desired goals of the business. It would take longer to customize and integrate the packaged application, explained Thomas Manes, than it would to piece together pre-built components.

Today's massive demand for pre-built components was unexpected as recently as six months ago by industry observ- ers such as Charles Stack, CEO at Flashline.com, Cleveland, which runs a Web-based software component marketplace. This market, noted Stack, is being driven by the deployment of Enterprise JavaBean (EJB) platforms by major players like BEA Systems Inc., San Jose, Calif., and IBM Corp. "Everyone realizes that if you deploy app servers, you need to put components in place to take advantage of them," he said.

Pre-built components are typically built on top of Microsoft, Java or CORBA platforms, which provide the basic infrastructure to enable objects to interact with one another. Each category then contains a number of sub-classifications. On the Microsoft platform, for example, you can use the Internet Information Server (IIS) and Active Server Pages (ASP), or you can use these technologies in combination with Microsoft Transaction Server (MTS). In the Java world, you can use servlets, Java Server Pages (JSP) or EJBs.

Although it is possible to use CORBA as an infrastructure for component-based development, Patricia Seybold Group's Thomas Manes believes it is a more difficult environment because it lacks the full range of built-in, automatic services the others have. There are about 60 Java-based application server products, she said, but very few based on CORBA.

"What EJB does for you over CORBA is that it automates transactions and your data access management," Thomas Manes said. "It does database connection pooling and result caching, and that makes the database work a lot faster. Generally, it has automated security systems and automated state management, which are pretty difficult to do. If you are building based on CORBA, you have to do all of that writing yourself."

But as Andrew Watson, vice president and technical director at the Framingham, Mass.-based Object Management Group (OMG) noted, more than half the world's programmers still make their living writing COBOL. "If you commit to using Java, that is great for new apps, but it will not help you integrate with existing systems," he said. "We believe there is a demand for a component platform that is compatible with EJB, but not tied to the Java programming language. We feel there is a complementary relationship there."

In response, the OMG has developed the CORBA Component Model (CCM) specification. The CCM spec builds on EJB and envisions a system of cooperating containers, each of which specializes in components of some type. The real benefit of CCM is that it supports a variety of language types, including C++ and COBOL, said Watson. CCM is in the process of being implemented by companies such as Iona Technologies and Oracle Corp.

Patricia Seybold Group's Thomas Manes believes that choosing a component model is a personal decision that boils down to two primary criteria. First, are you willing to develop the system entirely on Windows NT or Windows 2000 (which means being completely dependent on one vendor), or do you want the flexibility to go to other platforms? Second, are you willing to do all of your development in Java and give up the option of writing in other languages?

"If you build to the Microsoft platform, you are forever tied to the Microsoft en- vironment, and you will have to wait for them to develop the new capabilities," said Thomas Manes. "If you go with Java, you have 42 vendors today, and more in the future. That gives you more deployment options."

Simplify with a framework

"Today, many applications and Web projects are using specially developed or tailored code to create applications. The problem is that you end up with a lot of proprietary code and the application does not have a foundation on which you can rest your components," said Philippe Brawerman, president, CEO and co-founder at Reef, a San Francisco supplier of a modular suite of Internet apps.

While it may be possible to find a bunch of components, customize them and write glue code to allow them to work together, it might be easier to start with an integrated component framework in which the pieces are designed to work together from the start. Among the frameworks available in the e-commerce sector are ECential from Evergreen Internet Inc., Chandler, Ariz., BEA Systems' WebLogic Commerce Server, IBM's WebSphere, Reef's Internetware and the CoreCommerce component framework from CoreCommerce, New York City.

Studeo Interactive, a Salt Lake City-based Internet developer, has been using Evergreen's ECential framework to create e-commerce applications. "In the past, we developed our own CGI apps and ran into scalability, content management and site administration problems," said Todd Shepherd, partner of Internet Services at Studeo. "With ECential, we have been able to streamline the process. It allows us to focus on organizing site assets, and provides an interface to do that easily and efficiently. It also provides our clients with a tangible asset for all of their site content." With standard code writing methodologies, a company may be left with unmanageable code and no documentation, support or consistency within the methodology. "They end up scrapping it and coming up with a new solution, or [they] 'band-aid' the old solution," said Shepherd.

Integrating components has proven to be far faster for Studeo than the old approach of writing code, Shepherd added. "We have a specific client that had 72 products in their site, and they wanted to change the overall look and feel. In the past, that would have taken months; with ECential we were able to do it in three weeks," he noted.

Shepherd has used other monolithic e-commerce packages from Intershop and Open Market, but found they limited development of the user interface and provided less flexibility on the content management side. Furthermore, they were far more expensive than approaches based on a component framework.

"I truly believe that e-commerce sites are getting too complex and that the needs of organizations are getting too vertical for any one organization to create a package to support," said Shepherd. "A component framework approach gives us much more flexibility in trying to piece together best-of-breed components into an app." Thomas Manes at Patricia Seybold Group agrees. Frameworks, she said, are significantly more customizable than pre-packaged applications because they are built as components, rather than as a complete solution. It is relatively simple to plug in components, add new features and extend them out.

"The folks who offer e-commerce frameworks allow you to very rapidly deploy a customizable solution. You can usually get them deployed as quickly as or more quickly than integrated solutions. [For example,] SAP takes two years to deploy because you have to do a lot of customization for it," she explained.

"You have the same problem when you are trying to deploy an e-commerce solution," she added. "You can buy it, but if it does not match the way you are trying to do your business, you have to customize it. The component frameworks are designed to be customizable, which allows you to rapidly deploy a system that matches your business requirements. I think this is a much more valuable solution than trying to force fit someone else's vision of what to do."

Although vendors of pre-packaged applications may have a basic idea about how an e-commerce system should work, Thomas Manes points out that each company is different in terms of the way it does accounting, inventory, fulfillment and shipping. There are also issues concerning how to customize pricing and display information to different customers. Other variables might be the kind of loyalty programs and service policies that are presented to customers. Ideally, you want a system that allows you to modify policies in order to differentiate your online storefront from the competition.

In addition to the basic commerce component frameworks, there are a number of other frameworks for specific applications or vertical markets. For example, Seattle-based nPassage Inc. provides a Web-based solution to buyers and sellers of transportation services that facilitates the transport of heavy freight inventory between trading partners in a supply chain. The company has developed a component framework for logistics that allows customers from anywhere in the world to log on, book and track shipments. iMind Education Systems of Mill Valley, Calif., has a framework for the education market. The company used Persistence Software's PowerTier PowerSync to create a software infrastructure consisting of several re- plicated, geographically dispersed sites, rather than a centrally located server. iMind's intelligent portal provides teachers, students, parents and administrators with access to productivity tools, educational software, administrative data and library resources.

"We think this component approach is important both within and between enterprises," said Aubrey Chernick, president and CEO at Candle Corp., Santa Monica, Calif. "Within an enterprise, we see a lot of corporations with silo e-business-types of projects and they are developing a lot of spaghetti code. First mover advantage is important. If you want sustainable e-business speed, you need a sustainable e-business architecture."

For internal company applications, Candle has developed the Candle E-business Platform to act as a backbone for component integration. Candle is also in the process of creating an extended business-to-business component framework that will help simplify the creation of applications that span business partners. Several years, ago IBM began work on its component framework, called SanFrancisco. The latest implementation of the framework is EJB-based and targeted primarily at back-office applications, and a number of IBM business partners are extending it into the e-commerce arena. Delta Capital Technologies, for example, has created a component package called relBuilder to ride on top of SanFrancisco.

"The premise of relBuilder is that it provides the drag-and-drop functionality of e-business applications so that the business user, and not IT, can provide the daily management of e-business," said Kevin Wong, a vice president of technology at Delta Capital Technologies, Calgary, Alberta.

"The result is a lower total cost of ownership and a massively shortened time to market of e-business initiatives," he said. "For example, a complete portal can be built using relBuilder in days or weeks, not months, and at a cost of one-quarter to one-third that of competing solutions."

The development methodology consists of a requirements analysis, preliminary design and the assembly of building block, brick-like pieces into an application. It avoids much of the construction phase of coding and debugging, although developers have to create some glue code to integrate the SanFrancisco platform into financial and inventory systems. Despite the relative simplicity of this approach, Wong believes IT personnel will continue to be needed for requirements analysis, consulting, integration, training, maintenance and upgrades. This approach does free IT from the daily management of business rules and relationships, as these functions can now be done in a drag-and-drop environment by business management.

Creating the component marketplace

ObjectSpace Inc., a Dallas-based business-to-business integration company, sells OpenBusiness products that are said to enable organizations to streamline their collaborations, communications and integrations with trading partners on the Web. ObjectSpace has built a new component distribution model that allows components to be accessed on the fly instead of being run on the application server itself. This platform can be used to deploy services in a component wrapper. Galileo International, Rosemont, Ill., uses ObjectSpace's framework to offer access to travel information that can then be embedded into an application as a set of components.

The interesting thing about ObjectSpace's approach, observers say, is that its OpenBusiness Gateway enables the component to be written in CORBA and accessed via an ActiveX call.

"If you are going to publish a component, the gateway does the translation between the back end and whatever technology the subscriber would like to use on the fly," said David Norris, president and CEO at ObjectSpace. "We support most of the major standards, such as CORBA, DMI and Java. The end result is that you can do your business development that much faster."

One of the difficulties with using components lies in finding the right one to fit your needs. A number of online component marketplaces, such as Flashline.com and Marietta, Ga.-based ComponentSource, have sprung up to meet developers' demands for enterprise-class components. Flashline.com maintains an XML database of all existing components, regardless of whether they are sold on Flashline.com or not. If a desired component cannot be found, Flashline.com has a developer outsourcing service that enables a company to contract out to one of 2,000 developers. ComponentSource has a repository of more than 2,200 components available on its site, and that number is growing at the rate of about 40 components per week.

To speed and simplify a developer's search for components, the Component- Source Repository Integration Kit lets corporate customers view its repository from within an intranet. Siemens has deployed this application on an intranet to enable its 4,000 developers to find components as required. "A company might not want its employees to travel the Internet," said Sam Patterson, CEO at ComponentSource. "We can give them access to that on the intranet via XML."

One of the fears associated with developing an application through the use of outside components is the potential for problems. Both Flashline.com and ComponentSource maintain support and return policies. If a developer is having trouble with a component, they can call these marketplaces for support. If the bugs cannot be worked out, or the use of the component is unacceptable, it can then be returned for a full refund.

Concern that a component vendor might cease to support a component or even go out of business is another user worry. Such a situation could cause problems because many components are black boxes that are compiled, which prevents users from seeing the source code. ComponentSource allows a company to buy source code escrow at the same time they purchase a component. If a problem then emerges with the component creator, the company can get the source code to maintain the component on their own. "It's like an insurance policy if something goes wrong," said Patterson.

Testing components for assembly

Whether a component is written in-house or acquired, there is no guarantee that it will be completely bug-free, or that it will behave properly when it is integrated with other components. "Imagine if you got on an airplane and the pilot announced that every component had been hand-crafted and had never been used together before," said Flashline.com's Stack. "[Could you] enjoy your flight?"

To allay such fears, Flashline.com recently announced a three-phase testing service for components. The first phase examines the quality of the code to determine if it meets standards for good coding practices and runs as intended. The second phase looks at class-level performance testing to determine if there are any bottlenecks or memory leaks that need to be addressed. The third phase looks at server-side load testing to see how many users it will support for a real-world application. Flashline.com performs this kind of testing not only for the components it sells, but also as a service for companies that want to make sure that the components they have developed in-house are reliable enough for real-world applications.

"What is evolving is the necessity to build tests for components in which you drive the component as part of a subsystem in order to verify the signature and interface," said Ed Humphrey, senior product manager in the automated testing business unit at Rational Software Corp., Cupertino, Calif. "In particular, components will be updated with new versions and repairs, and you need to do a bit of regression testing as you integrate them. You need to make sure they support the expected behavior."

By way of analogy, an auto assembler might want to first test a fuel injector on its own, and then test the engine with the fuel injector integrated into it. Once that worked, the entire engine would be assembled and placed into the car. "The majority of testing on the fuel injector was done long before there was a hood and a shiny new car put together," noted Humphrey.

Predicting the future

Leading IT vendors are already pondering the days when better integration tools will make the need to write glue code a thing of the past. "Any standard leaves enough room for interpretation, so you can create incompatibility problems," said Steve Rosenberg, vice president of WebSphere business components at IBM. "We think EJB is a great standard and solves a lot of this. We are working on an interpretation of that standard that gives a more plug-and-play type of environment between components."

For his part, Patterson at ComponentSource predicts a time when users will be able to use an online component wizard to build an e-business application. The wizard will ask about the language skills of the developers and the target platform, and then provide a checklist of desired features. Users will then be presented with a list of components and frameworks, along with a Unified Modeling Language (UML) model that will allow them to automatically generate 85% to 90% of an application with the help of some glue code to integrate the pieces. And Flashline.com's Stack believes that in the near future we will see a broad framework of available components emerge for application servers on a horizontal plane. After that, there will be a huge boom in vertical components. These vertical components will be far more expensive, however, because there will be a higher level of specialty flowing into a smaller market.

"Customers are going to be a lot happier with these framework solutions than with closed solutions," said Thomas Manes at Patricia Seybold Group, who sees a future in which there are fewer monolithic applications and a lot more component-based solutions. "I cannot ever imagine making a decision in this century to spend the next 20 years trying to install SAP, for example. You are so much more nimble if you work with these small adaptable environments, rather than with centralized systems. If you cannot customize and deploy the application system in less than six months, you have a problem. Time to market does not support that approach anymore."