What JavaPlan Delivers
The Java language and Java applets have taken the Internet by storm, yielding interactivity on Web pages in ways previously never seen. To date, however, Java has not been applied to larger scale development problems, a result of a concentration of effort on Java front-ends, but little by way of back ends. A new acquisition from Sun Microsystems is setting out to change that.
With its flagship JavaPlan, Lighthouse Design has embarked upon convincing sophisticated developers that Java's ready for prime-time in large applications development.
Lighthouse Design's JavaPlan is the first software development tool devoted to enterprise Java, providing a graphical platform for the architecture and deconstruction of large programming tasks, along with code generation, reverse engineering of existing Java source code, automated documentation and project reporting - all within a multi-user environment. JavaPlan takes a graphical, highly iterative approach to software design -- the "strategic" component of applications development wherein business goals, processes and parameters must be expressed before coding begins.
In a larger sense, JavaPlan unites two points of view and molds them into a cohesive effort. It encourages "good" design by giving developers the tools and perspective to attain it. It also gives teams of traditional legacy system developers a suite of easy-to-use tools that encourage progressive involvement, as opposed to a "baptism by fire" normally associated with skills transfer. Procedural developers can begin by graphically decomposing an application with JavaPlan, and proceed in steps toward using the tools for actual implementation.
By simplifying and formalizing the strategic portion of software design, JavaPlan significantly cuts the time and expense of developing and deploying custom enterprise applications. Moreover, it enables companies to reuse software designs and components - a much-promised but rarely delivered capability that drastically reduces the long-term costs of application design.
Electronic "Whiteboard" Unites Designing and Programming
In traditional custom software development, application architects and designers spend day after day brainstorming, filling whiteboards with "strawman" designs and approaches. As time passes, they modify the scribbles on the whiteboard, adding and changing their designs. If they want to discuss or share changes with other developers, they must gather everyone together in front of the whiteboard. In most cases, the majority of the whiteboard material is lost forever. JavaPlan preserves the informality and free-form expression of the physical whiteboard. Developers can try out new ideas, erase what doesn't work, add to what is already there and brainstorm together about directions or details. And, JavaPlan also maintains a record of the process.
Significantly, managers can use JavaPlan to gain perspective into the application development process, rather than simply hope their developers are working on the right pieces of the application and with a common goal in mind. Just as developers can "check the whiteboard" from anywhere and at any time, managers can use JavaPlan to see what's been done, by whom and where the process is headed.
The Myth of Reuse, and How JavaPlan Helps Deliver on the Promise
Despite numerous promises, real component reuse is more the exception than the rule. The culprit is a combination of cultural inflexibility within many companies and a paucity of development tools that support reuse. Perhaps more significantly, however, component-based programming systems do not provide a way for companies to reuse or reconstruct the business processes that underlie the applications. At its highest level, application design encodes a company's business processes as well as its software architecture.
Rule number one of reuse then, is that you can't reuse what hasn't been designed for reuse.
Secondly, and of even greater importance in determining reuse, is component documentation. You can't reuse what you don't know to be reusable (because it isn't documented). With JavaPlan, documentation of code, as well as of business processes, is built into the development process. Documentation is automatic; no one needs to remember it, break it out into a separate task, or decipher the scribbles of individual developers. Therefore, standards-based (HTML, RTF, etc.) and/or customizable documentation is generated as a by-product of development.
Finally, while creating well designed and documented applications is a must, it is also necessary to create an easy to navigate repository - you can't reuse what you can't find. Through JavaPlan's Web-like browser, navigating existing and generated code repositories, as well as graphic models, is fast and simple. This is a key benefit for developers who want to leverage existing application components, as well as managers who want to facilitate reuse.
Coordinating Software Development
JavaPlan provides a tightly integrated approach to the design and generation of enterprise software. It enables "round trip" engineering - i.e., both forward engineering, which generates Java code from application designs, and reverse engineering, which works backwards from existing Java source code to generate and update design documents. This approach makes it easy to create a model for an application, generate code from that model and make changes to the code that are propagated back into the model.
Round-trip engineering is the backbone of iterative development, in which companies specify objectives for their information systems early on, build and deliver the system as a series of implementations or iterations, then put the iterations in front of managers and customers for review and testing.
This iterative approach enables developers, managers, and other company users to collaborate on the design of effective enterprise software. Round-trip engineering allows developers to test an application in pieces, catching design flaws early in the process. It also lets managers review the development progress and verify that the system under construction meets the needs it was intended to address.
Lighthouse Design is in the vanguard of pushing Java into enterprise developments. JavaPlan offers developers a significant advantage in creating the next generation of Internet/Intranet applications. For more information, see http://www.lighthouse.com/. Lighthouse Design Ltd. is a Sun Microsystems business.