How can BW*Wizard help with Java development?

A Java developer, writing reusable object-oriented code using a modern IDE, may think that they have reached the peak of productivity, so where does BW*Wizard fit in?

Building high-performance e-business database transaction applications using Java is very comparable to building high-performance mainframe transactions: you cannot afford to trade off performance for reuse. For example, you would not read all the columns in an SQL table when the application only needs values from two columns. Database transactions also implement edit valdation rules and display formatting rules that must be applied consistently across all transactions.

BW*Wizard builds applications from large-scale design patterns, such as "a Java servlet to display and update a database row using JDBC and an HTML form". These design patterns are instantiated at build time to create code that is optimized for the specific database columns chosen, including multi-table join predicated, error handling and edit checks.

The design patterns (templates) are fully customizable, allowing any version of Java to be supported. You can turn any good application design that you have created into a template for use with BW*Wizard

BW*Wizard is shipped with various examples of Java applications, including:

  • Java servlets that use HTML forms and JDBC or SQLJ for database I/O.
  • With BW*Wizard 2000 Enterprise, you can optionally build Cobol or VisualAge Generator programs that are called from the Java Servlets to perform database I/O on your mainframe.


BW*Wizard will support any standard of Java.

Unlike other code generators, you have control over the type and style of code generated. BW*Wizard Java templates are fully customizable Java programs. Site coding standards can be incorporated, existing routines can be invoked, etc.


BW*Wizard is a 'project-based' tool. Programs are defined within a project.

Example of BW*Wizard Desktop


What does it do?

BW*Wizard automates the process of building new Java programs from good examples of code (templates), a technique developers have been using since programming began. But BW*Wizard goes far beyond automating a manual process.


A Template and Primary Table are selected for each application.

Example of Application Definition Panel


How does BW*Wizard build Java programs?

Depending on the template chosen, BW*Wizard can build anything from one Java class to an application that includes multiple Java classes, HTML forms with Javascript, and even WML files for mobile access.

Sophisticated Java programs can be built in a matter of minutes by new and experienced developers alike. New developers will find the built programs a valuable learning aid. Experienced developers will be able to quickly modify the supplied templates or develop their own Java templates for use with BW*Wizard. Services to tailor templates and/or develop site customized templates are available.


Columns to be used by the application are selected.

Example of Select Columns Panel


Item Extension can then be specified.

Example of Item Extension List Panel

Item Extension are used to specify attributes about a database column, such as:Minimum and Maximum values, the type of GUI part to be used, etc. Item Extensions are extensible, allowing developers to add new extensions as required. The code associated with a Column's Item Extension is added to every application that references the column. Data Integrity benefits greatly from Item Extensions as all programs ensure that the entered data is correct. After the application is built in BW*Wizard it is ready to be compiled using the Sun JDK; or the sorce code can be imported into any Java IDE for testing or the addition of business logic.


Will it help to develop systems faster?

Our users are reporting tremendous productivity gains. Some users are reporting 40 - 50 times increased productivity in developing programs. Programs that would normally take 2 - 3 days to write by hand, can be built by BW*Wizard in minutes - without any coding errors!

Using Item Extensions developers can specify different types of GUI parts to use for each item e.g. Text, Combo Box, Radio Button, Multi-line Edit, Check-box, etc. A Help file is also built and all necessary connections made for GUI programs.


Will it help to develop better systems?

BW*Wizard does more than just reduce the development phase of a project, it can positively benefit all phases of a project's life cycle. Data and Process Modeling provide an essential foundation for building today's complex systems. But often the information gathering gets "bogged down" in the very details essential to understanding the system. Users find it difficult to understand complex Data and Process models and often 'sign off' on designs hoping the system will be OK. Weeks, even months may elapse before the users see any part of a working system. It is usually at this point the users and developers begin to discover how far apart their understanding of the new systems is!


RAD

Rapid Application Development (RAD) allows users to participate in the design and development of their system.

The theory is that prototypes are written during the requirements gathering and refined as new information becomes available. Misunderstandings can be spotted early and minor course changes be made to ensure that the system stays on track. RAD for the most part has remained a theory, because it just takes too long to hand write good prototype programs.

BW*Wizard puts the 'Rapid' in RAD by generating Java programs in minutes. Using a Java IDE test facility, programs with fully functioning I/O can be tested to ensure that both users and developers understand the system. This approach can dramatically reduce the information gathering elapsed time and greatly increase the quality of the system. The generated code which on average accounts for 80% of the application is not "throw-away", but forms the foundation to which the business logic can be added.


Our systems are unique, templates wouldn't work, would they?

While your systems may be unique to your company, they will certainly contain common code for navigation, User Interface presentation, error handling, etc. In all our years in Data Processing we have yet to see an exception to this rule! BW*Wizard builds this common code, allowing developers to concentrate on the unique code of each application.


Testing

Testing is greatly reduced because a large percentage of the application was automatically built from pre-tested templates. The quality of testing increases as users and developers concentrate on the business logic of the system.

Users could now test the programs in the IDE test facility, or the Client and Server(s) could be generated for the target platform.

Business Logic can be added incrementally.


But will the code be maintainable?

The built code looks like the very best hand written code, incorporating all site standards. The built code does not contain any black-box run-time routines and may be treated as any other Java code. We ship full Java source code for all utility classes that we supply. Maintenance is also reduced as all the programs have the same 'look and feel' both externally to the users and internally to the developers.

The indentation, style of comments, spacing, etc. are all customizable to meet an installation's requirements. The error processing, cursor/ mouse pointer positioning, field highlighting/focus is handled in the same way by every application built from a template. Traditionally the task of enforcing 'coding' standards is largely performed after programs are written. This has a negative impact on productivity as code often has to be re-written. With BW*Wizard, a pro-active approach is possible. By incorporating a site's standards in the templates the built code is assured of meeting standards.


What are some of the major features/functions?

  • Web transactions include multi-User update checking using time stamps, counters or all columns is generated to ensure that one user's updates do not overwrite changes made by another user.
  • Application code to enforce Relational Integrity is optionally generated. This ensures that foreign key columns entered incorrectly, result in user-friendly error messages.
  • Allowed value, date and range validation code is generated automatically from values in the BW*Wizard repository.
  • "Hooks" are built into every template, to allow developers to add business logic to programs. If the application is rebuilt by BW*Wizard, the developer added business logic remains intact.
  • An open interface allows population of the BW*Wizard repository from external sources e.g.: CASE tools or other repositories.


What are some of the benefits of using BW*Wizard for Java development?

BW*Wizard will build complete functioning I/O programs in a matter of minutes. This can represent as much as 100% of the required code for table maintenance programs, and the BW*Wizard built code will typically account for 80% of the code required in an average business application. Developers are able to concentrate on the business requirements (the other 20%) of the system.

The templates are completely customizable allowing an site's standards to be incorporated in the templates.

All the programs have the same "look and feel", they only differ in what business function they are performing. This can greatly ease the maintenance effort, which can represent a large saving in support costs.

Because BW*Wizard builds complete functioning I/O programs in minutes, it is ideal for prototyping and Rapid Application Development (RAD).


Summary

By automating the large repetitive portion of application development, BW*Wizard frees Java developers from the task of "coding processing logic" and allows them to concentrate on supporting the business requirements of a system.

Tasks that took days and were very error prone are completed in minutes without error.

Built code can be run on any platform supported by Java, e.g. Win95/98, WinNt, Linux, AIX, OS/2, OS390, etc.

'Time to Market' is significantly reduced.

Development times are slashed.

For more information contact us.

 

About Bridgewater  BW*Wizard  Presentations  Services  Partner Page 

JAVA  COBOL  VAGen  Overview  How does it work?  White Papers 

Customer Quotes  Support  Contact Us

     Bridgewater Consultants Copyright © 2005 Bridgewater Consultants, Inc.  All rights reserved.