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.

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.

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.

Item Extension can then be specified.

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.
|