WebGain tool takes a smart approach to component-based Java development but hits a few sour notes Component-based Web and enterprise application development has been a dream of forward-looking managers and technology leaders for years. In this dream, developers assemble powerful applications from prebuilt, pretested components. Development happens faster, introduces fewer bugs, and produces better software.WebGain Application Composer, the development tool previously known as Spin, attempts to make this dream a reality. And it does a better job than you might expect for a 1.0 release. Application Composer’s support for EJBs and JavaBeans, and its approach to integrating Java Server Pages (JSPs), Servlets, applications, and applets, almost led us to give it a score of Very Good. However, its lack of Swing user interface support and failure to integrate with source-code control software limited it to a score of Good.The Bottom LineWebGain Application Composer 1.0Business CaseThe potential benefits of component-based software development include greater code reuse, fewer defects, and reduced maintenance cost and effort. Combined with proper up-front planning by senior members of the technical team, this tool can help developers realize these potential benefits. Technology CaseWebGain Application Composer provides a uniform approach to building component-based applications with Java, EJBs, JSPs, servlets, and JavaBeans. It presents programmers with a component paradigm that encompasses all of these Java technologies and allows them to graphically assemble applications. ProsIsn’t based on a proprietary framework and languageAssembles reusable components with minimal codingSupports JavaBeans and EJB component modelsSolid deployment supportConsLacks support for Swing user interfaceDoes not integrate with source-code control applicationsCost,992 per developer PlatformsWindows NT, Windows 2000 WebGain, Santa Clara, Calif.; (408) 517-3700, www.webgain.comA bundle of featuresRather than provide a proprietary toolkit and framework and ask developers to build applications with it, Application Composer starts with standards-based technologies such as Java, JavaBeans, servlets, JSPs, and EJBs. Application Composer solves the difficult problem of integrating components built with these technologies by introducing an assembly process based on the notions of behaviors and events. In Application Composer’s scheme, components, also known as agents, have behaviors; events generated internally or externally invoke those behaviors to carry out the business operations of the application. In other words, behaviors provide the procedural glue that ties together the components of an Application Composer application.It’s easy to import existing work into Application Composer. Existing HTML pages, images, and other static content can be added directly into a project via the Project|Add menu in the Project window. Once added, the content is accessible to other components in the project. EJBs also can be imported into your projects. Application Composer uses JavaBeans to construct a user interface to access imported EJBs, and the interface methods of imported EJBs remain accessible within the tool. But most other components must be created within Application Composer.Behavior here is an abstraction. Behaviors are reflected in the underlying technology through the appropriate mechanism. For example, in a Java application, behaviors are nothing more than methods. In JSPs, on the other hand, behaviors may consist of a combination of methods and Application Composer-specific tags. Application Composer also provides complex behaviors such as script and timeline-based behaviors. Application Composer supports EJBs and JavaBeans, the two most widely known and widely used component technologies for the Java platform. (Any component-based tool that failed to support them would be doomed to a very short life span.)Application Composer includes the free JBoss 2.0 EJB container for use in testing EJBs. It also integrates with popular commercial containers such as the one provided by the WebLogic 5.1 application server. JavaBeans require no special runtime support.Deployment with a clickMore than one development tool has stumbled in the deployment department. But in this regard, Application Composer shines. With one click, Application Composer packages all project files, along with a handful of support files, into a standard .war (Web archive) file. Developers are then free to use this .war file with any Web server or JSP container that supports the Java Servlet Specification 2.2. On the downside, round-trip development is not part of the offering. Although .war generation is smooth and automatic, it’s not quite so easy to take an existing application, developed with different tools or perhaps modified by hand, and turn it into an Application Composer project.Also, Application Composer doesn’t integrate with, or provide hooks to integrate with, popular source-code control applications. Modern development tools, especially those intended for use in enterprise development, typically provide some level of integration with the most popular source-code control applications. It’s one more way to make the lives of developers easier and keep development projects on track.A few practice swingsTo quickly put Application Composer through its paces, we installed the software on a Windows 2000 machine with the recommended configuration (128 MB of RAM). No problems there. Application Composer comes with JBoss and a database (Pointbase). These components can be activated and deactivated quickly and easily via the Preferences dialog. Once we had Application Composer running, we quickly tried each of the included examples. The suite of examples runs the gamut from the typical toys (a mortgage calculator, for instance) to the very impressive icDVD.com example, which demonstrates most of the functionality present in an online shopping site.Application Composer supports truly iterative development. Its iterative approach is clearly faster than manual coding for small changes and component assembly, and it’s ideal for tweaking an application’s interface. It’s not so good for making large-scale changes that affect many layers of an application or for making the same change to a large number of nearly identical components. A macro facility would help here.WebGain Application Composer supports an impressive number of technologies, including JSPs, servlets, and EJBs. You can use it to build Web applications, applets, and stand-alone Java applications, although it doesn’t yet support building applets and applications using Swing components. If you’d like a quick indication of the scale and scope of the Web applications it can support, we suggest downloading the time-limited trial version of the software from WebGain’s Website, then playing with the icDVD.com example.As with any tool in this category, if you want to get the most from WebGain Application Composer and realize the dream of faster, easier development through reusable components, you must also have a plan that will drive the development of robust, reusable components. No tool can guarantee good classes, components, and applications, but Application Composer can certainly help.If your shop is thinking seriously about reusable components, WebGain Application Composer is definitely worth a closer look. Development ToolsJava