Your company has grown beyond anyone's expectations. Internet orders have skyrocketed and management is ecstatic. Everyone is as happy as a bug in a rug. Everyone, that is, except the system administrator. This unexpected explosive growth has caused many new headaches. The server can no longer handle the huge number of hits every day. Raw materials must now be purchased, assembled into products and shipped out faster than the current system can keep track of inventory and purchases. New departments have been added, and new employees in these departments need various levels of access to various areas of the system. All in all, it's a nightmare!
The system administrator can't undertake a project like this on his own. A large development team must be created to tackle such a job. Because of its Web-friendly architecture, Java will be the cornerstone of the new system. What's needed now is a tool that will permit the organization and planning of such a large-scale project. This tool needs to be able to reuse old components, blending them with new ones. The team isn't worried, however, because they know...HOW.
HOW Professional Edition 2.0 for Java is an integrated set of tools that supports object-oriented development of business applications. It works with your favorite tools to enable quick and efficient design and development. It does this by utilizing reusable business objects and technology components. HOW helps you design and build the objects your applications need. These reusable components are then snapped together into applications that can be scaled to meet your needs.
Riverton Software Corporation, the creators of HOW, have boiled down every business application into three elements.
- Database: where all the information is stored
- Presentation, or the "front end": how clients and staff gain access to the information (e.g., clients placing orders, staff retrieving sales figures)
- Business logic: the set of "rules" that govern the flow of data (e.g., minimum orders for clients, employee access to certain records)
In many cases, logic is embedded too deeply into the presentation code. Although this type of scenario is fine for small organizations, it causes problems in larger ones. Difficulty in maintenance and reuse of components, and limitations in both performance and scalability, are but a few of the challenges posed by such a system. Any change in the business rules may result in the need to rewrite the front-end code, which would keep the system down.
HOW presents a better alternative by keeping these logical layers separate. In this "partitioned" architecture, the code for each layer is independent of the other. This presents several advantages:
- Flexibility of applications: Change of a business rule shouldn't require a change in any of the other tiers.
- Reuse of application components: The same set of business rules can be applied to several tiers.
- Enhancement of team development efforts: The code for a user interface, for example, can be changed without affecting the database or other tiers.
HOW enables you to build a foundation of business objects and technology components while completing projects on time and within budget. With HOW you define projects and establish shared libraries to contain new or existing components. HOW brings together a number of tools (see below) to help you achieve this goal. You can then define the additional pieces you need, "snapping" them together as you go.
- The repository and its explorer views enable the storing and retrieving of information about objects and projects.
- The Use Case Builder and Use Case View Builder define and summarize how systems are used.
- The Business Rule Builder defines and classifies business rules.
- The Workflow Builder provides for modeling business workflows and relating them to the applications that execute portions of the workflow.
- The Domain Builder enables the creation of class objects and their interrelationships.
- The Interaction Builder defines how object instances interrelate.
There are basically three types of environments in which HOW can operate:
1. HOW Client
HOW Client can be used by application developers to model, generate and run Java applications on a local system. To install HOW on a client machine, the following system requirements apply:
In the client environment, HOW is designed to accompany other development tools. The following third-party software is necessary:
- Pentium 100 MHz processor
- 32 MB of RAM
- VGA 800x600 or better color display
- Two-button mouse or equivalent pointing device
- CD-ROM drive
- 80 MB or more disk space
- Windows 95, version B or higher, or Windows NT, version 4.0 or higher with Service Pack 3
- JDK 1.1
- Any Java IDE or tool
- One of the following data modeling tools: Logic Works' ER win /ERX version 3.0 or 3.5, or Sybase's PowerDesigner version 6.0 or 6.1
- Microsoft Access version 7 (Windows 95) or 8 (Windows 97), for producing reports based on the information in the HOW repository
- Microsoft Word 7.0 (Microsoft Office 95) or 97 (Microsoft Office 97), for producing documents that include objects from the HOW repository
- Microsoft Visual Source Safe, version 5.0, for use with HOW's configuration management features (optional)
2. HOW Team Repository
HOW can be installed on a network-accessible machine. This will allow multiple developers to access a common repository without affecting each other's work. The hardware requirements for installing HOW Team Development Server software are the same as those for the client, except that only 10 MB of free drive space is required. The only software requirement is that the machine be equipped with Windows NT 4.0 or higher with Service Pack 3.
3. HOW Application Server
These are machines that run HOW-generated applications; they require NT 4.0 with Service Pack 3 and any third-party software that the application requires. Windows 95 machines cannot act as application servers, but NT 4.0 machines can be both client and server.
Choose the environment that best suits your needs and desires. Make sure your machine meets the necessary requirements and you'll find installation no more difficult than any other CD-ROM application.
HOW and Java
HOW is used to generate Java classes that are the basis for business applications or applets. These components are 100% Pure Java and can be executed on remote servers by using either DCOM or CORBA. They can then be loaded into your favorite Java development environment for further enhancement.
HOW's Java support comes in the form of a "Java Cartridge." It allows for the following functions:
Using HOW: A Brief Example
- Generation of design objects into Java classes, including JavaBeans
- Generation of queries into classes that implement JDBC-embedded SQL statements
- Generation of class methods that allow convenient traversal of associations
When HOW is first opened, it displays the Repository explorer. This contains all the objects you define with HOW.
By clicking on File New Project you do just that: create a new project. This will display the Projects Properties dialog box, including two tab pages (see Figure 1). One is Object Info, which provides general information about the project, and the other is Libraries, which is a list of all the libraries used in the project.
In the Name field, type the name of your new project, then choose OK. It's now necessary to create a library that will hold the objects you create as part of the project. To create a new library, perform the following steps:
HOW represents a major breakthrough for developing and organizing business development projects, both large and small. It's relatively easy to use, and works well with your favorite IDE. If you find yourself in the market for such a tool, by all means, give it a try.
- Click on the Libraries tab of the Repository; in the Library pane of the Repository window right-click on the Library1 name.
- Select Properties from the popup menu; HOW displays the Library Properties dialog box, which displays general information about a library.
- Click on the name of the library to make it current, then click "Set as Default." When a library is the default, newly created objects will be stored there. Selecting File Import will allow you to import objects into the library.
About the Author
Edward Zebrowski is a technical writer based in the Orlando, Florida, area. Ed runs his own Web development company, ZebraWeb, and can be reached by e-mail at