|
March 15, 2002 -- Frightening stories of slashed IT budgets litter the corporate landscape. The pressure to stay flexible and responsive, to adapt to change cost-effectively is intense. But there's light at the end of the tunnel, and it's coming from the Java 2 Platform, Enterprise Edition (J2EE) and component-based development (CBD). J2EE technology promises to help developers shift from large, inflexible monolithic applications and adopt supportive open component-based IT architectures where flexibility and replaceability become quick and inexpensive. In short, the J2EE architecture can help you revise your overall application development strategy to meet the demands of the times through the use of CBD techniques. The J2EE platform helps simplify and speed component-based development for multi-tier enterprise applications and Web services by providing a complete set of services to those components and by handling many details of application behavior automatically, without complex programming. Answering the Call of Component-Based DevelopmentOne of the authorities on component-based development is Sam Patterson, CEO of ComponentSource, a pioneer in the "off-the-shelf" reusable software component market since 1995. Today with the onset of Web services and the plethora of tools and application servers available to support component-based development, the company finds itself at the hub of urgent industry demand for reusable components and plays a proactive role in driving standards and recruiting expert component authors to boost supply. "Companies have been using Java technology to build monolithic, large-scale applications without taking advantage of its features," says Patterson. "But this has been changing as J2EE technology gains wide adoption in corporates." Patterson explains: "First, you can reuse pieces built in-house. Second, the development environments for component-based development are easier to use and, there is a huge market for pre-built components that you can buy 'off the shelf'. Depending on the type of application you are writing, you can fulfill from 10-75 percent of your application's functionality. Purchasing these little building blocks for several hundred to several thousands of dollars makes much more economic sense than having dozens of programmers developing them from scratch." As an added incentive, Patterson mentions: "If you can cut your development time by using components, and thus your time to market, you can beat your competitors. At the same time, you can quickly add new technologies and services to your existing applications with 'plug-and-play' components." What About Web Services?Today's hot topic, Web services, is, at its heart, component-based development. "At ComponentSource we equate the word 'component' with 'web services' in functionality," says Patterson. "Whereas in the past, components have been client/server based, the value of components has been extended so that today they can also be web-service based and live on the Internet on servers," he says. "Web service components function like local components and present themselves to a developer in the same way but are called over the Internet. As internal Web service development inside of organizations increases, we will see increased demand for reusable components and Web services on the open market - enriching the component landscape in general."
Build and Reuse or Buy and FlyNow that multiple integrated development environment (IDE) tools support the J2EE architecture, it is easier to build components for reuse throughout the enterprise. "Being able to reuse components of applications across departments and divisions of the organization is just good economic sense," says Patterson. Further, pre-built components, developed and tested by experts in their field, are now available on the open market, making it easier for corporate developers to build applications component-by-component. "If you wanted to add 'credit card processing' to your application, for example, you can access a wide range of available components which provide that functionality within several of the IDEs available," says Patterson. "Why would a developer today write an application component outside of their core competency, such as 'credit card authorization'? As a developer, you don't have to know how the process of credit card authorization works. Instead, you just download a pre-built component that asks for the credit card number, expiration date, and amount, and processes the approval." Suddenly, a significant development effort requiring outside expertise is done, faster and cheaper. That's why the ComponentSource mantra is: "Reuse before you buy, and buy before you build." Patterson advises: "When faced with need for some bit of functionality in developing an application, the first thing a developer should do is see if that functionality exists within the organization. Many companies have created repositories - and even component markets - internally for this purpose. If there is nothing available internally, then check the open market for components - an active and rapidly growing marketplace. You may pay from two hundred to a couple of thousand dollars for the component, but it is still cheaper than building it." Sam takes the idea a step further. "If the component isn't available, you have to build it. But you should build it in a way that makes it reusable by yourself and others in the future. Whenever you have to build, you should be building components for reuse." Market Forces for ReuseThe industry is seeing a real convergence of factors that enable the component reuse marketplace. From Patterson's point of view, there are several reasons: "First, the architecture. The J2EE architecture is a very mature and widely used, growing in adoption. It is an architecture that's great for building applications using components. Two, you have tools that have matured to handle components. With these tools, you basically drag-and-drop components and only write the code needed to glue them together. And third is the availability of 'off-the-shelf components. There are around 100 Independent Software Vendors (ISVs) serving as expert J2EE component authors today. Then, of course, the Internet and other technologies make it much easier to access and integrate components into applications that run across architectures and platforms, for example XML and SOAP, which help drive the exchange of data between components and applications." These pieces, put together, represent an incredible initiative composed of thousands of vendors serving the Java technology market. The idea of being tied to a single vendor, or even a single platform goes away. With all of these resources in place, Patterson believes that component-based development will be the only way to develop applications. "You can't continue to write code for everything you want to create. It just isn't cost-efficient. Second, with the increasing complexity of technology, the amount of information you have to absorb as a developer can be overwhelming. The ease of component-based development eases that burden and is just too real for corporations to ignore." Widespread Adoption"We've already seen the financial industry adopt Java technology, largely because of its potential for component-based development," says Patterson. "Now the telecom industry is catching up quickly and others are following those adoption curves. The large systems integrators, like EDS and Accenture, who are often the last to adopt new technologies are quickly seeing a lot of benefits from building a single component that can be reused for many different clients." Even the government is moving ahead with component-based development. "Across U.S. state governments, the National Component Software Exchange is underway," says Patterson. "It will allow each state to cooperatively share components with other, and ComponentSource has been selected as the backbone technology for the initiative with our enterprise reuse solution." Many corporations too, are finding that there is a lucrative market for internally developed components that aren't proprietary to their business. "We have helped traditional IT consultants and corporate customers market with their own internally developed components. By offering their components on the open market they are creating a revenue stream that feeds back into their reuse initiatives," says Patterson. He concludes, "Last year, this year, and next year are really 'the years of the component' in development."
Migration Has Never Been EasierOne thing to watch for this year is a new level of cooperation and functionality sharing between Microsoft .NET developers and Java platform developers. "It doesn't take much effort to cross over from Microsoft's C# to the Java language," says Patterson. "Developers who have learned C# will be in a good position to also create Java technology-based components." Resources from ComponentSourceComponentSource has a dedicated area of its marketplace for Java technology developers engaged in component-based development. In addition to the vast array of technical resources and evaluation and procurement services offered, a key feature includes the ComponentRequest Center. It's an area where developers in need of specific types of components can post their requests for component authors to see. It helps ComponentSource to fulfill a conduit role in ensuring that the right types of 'in-demand' components are represented on the open market. To encourage more expert component authors to enter the open market, ComponentSource also provides ongoing training for component authors, occasionally in combined training sessions with Sun instructors. "Our new ComponentBuilder Program for the J2EE Architecture is designed to teach Java technology developers everything they need to know to bring a component to market - from licensing to pricing and marketing," says Patterson. "The program also gives authors a plethora of benefits, such as full technical support and early access to beta releases from Sun and other vendors." Furthermore, the ComponentSource Enterprise Reuse Solution launched last May fully automates the practice of "Reuse before you buy, buy before you build" for organizations looking to fulfill the return on investment for their component-based development efforts. The solution, which is composed of a reuse process and Web service based infrastructure, is driving J2EE component-based development inside of Fortune 500 organizations by enabling them to supply, manage and consume software component assets internally. "It enables organizations to create their own private component communities and marketplaces internally and provides them with commercial off-the-shelf components within their own development environment," says Patterson. "Our solution is behavioral-based and helps organizations realize the value of their software component assets, as they represent the intellectual property of their organization. Our web-service based infrastructure then helps them to reap the benefits of reuse and dollar savings through sharing and collaboration."
Resources
Visit ComponentSource at
http://www.componentsource.com/java
to learn more about component-based development, join their community, and see their
expanding catalog of reusable components and tools provided by component
authors, including Infragistics.
J2EE platform-compatible application servers and tool products | |||||||
|
| ||||||||||||