
This is a quick guide to the technical and user features of the JDesignerPro development system and the integrated middleware, JAGGServer. This document avoids lengthy explanations and general background about Web architecture. More feature details and architecture information can be obtained in BulletProofs user manual and Feature and Screen Shot areas on this website.
JDesignerPro, the Development and Deployment System for
Java
from BulletProof Corporation
JDesignerPro General Features
The optimal machine configuration to do JDesignerPro development includes:
- Windows Hardware (this or better): Pentium 166 CPU, with big cache. 32MB RAM.
- Software: Windows NT. ODBC 2.5 or later with MS-Access driver - available free from www.bulletproof.com. Latest Sun Microsystems JDK, available free from www.javasoft.com/products/jdk/.
- UNIX Hardware (this or better): Sun SPARC 5 or Creator 3D or equivalent. 32MB RAM.
- Software: Latest version of Solaris, Linux, AIX, HP/UX.
Deployment Server Requirements
In addition to the development system requirements, these things must be installed on the sever from which your JDesignerPro-built application(s) will be deployed:
- A webserver such as any of the Netscape line of servers, Microsoft IIS or other robust HTTP server.
- A database installed with the appropriate JDBC or ODBC drivers installed. Recommended databases include Oracle, Sybase, Informix, SQL Server, DB/2 or other enterprise database.
- Any computer connected to the network that runs the Netscape Navigator, Communicator, MS-Internet Explorer. Network Computers like the Sun JavaStation, IBM NC, Oracle NC that run the JavaOS or Java browser are also compatible. A good minimum for the Memory Cache is 4MB and the Disk Cache is 20MB.
The user of this computer simply enters a URL in the browser. That Web page needs an applet tag, explained below, which launches JDesignerPro and any modules like HelpDesk or your own applications.
![]()
JDesignerPro Builder Details
| Application Builder (App
Builder), 33 total built-in components. 1. BulletProof Data Aware Components
2. Standard AWT Components
3. BulletProof Extended Components
|
4. BulletProof
Non-Visual Components
5. Custom Components
6. JavaBeans, AFC and other Components
App Builder Property settings - These properties can also be set dynamically.
|
![]()
JDesignerPro Builder - Layout and Data Binding
- Component layout is not done with exact coordinate positioning. JDesignerPro uses only the Java Layout Manager methods to arrange components. This ensures WYSIWYG development and for final applications on all Java-compatible platforms.
- During development, components appear exactly as they will on the finished application.
- Data Aware components automatically call the Data Wizard. The Data Wizard allows access to any JDBC or ODBC-compatible data source driver. Multiple joins of various types may be done.
- A single form may display data from a single or multiple data sources, even databases. For example, some fields may display data from Oracle, others from MS-SQL Server, etc.
- Components and their source can be re-generated and edited by the developer. Data binding can be modified on the fly and the source will be regenerated automatically.
- The design environment supports drag and drop of components.
- The Layout View uses a tree hierarchy to clearly display the nesting of panels and components.
For database specifications, see JAGGServer, below.
Interaction Manager
This is a visual system for linking components and defining their action events.
- The possible action events for selected components are shown automatically in the Interaction Manager.
- The Interaction Manager also displays all the methods of all the other components currently on the form. The methods to call for an action event are chosen visually from a tree hierarchy.
- When a method is selected for an action event, the Interaction Manager then displays the parameters in another tree that match the method. Coding is done visually down to the parameter level.
- Pure Java source is generated through this set of mouse clicks. Source can be edited and saved by the developer.
Source Editor
The source window displays the source generated by JDesignerPro and allows editing, new method creation, compiling and error message trapping.
- Developers can view source at the component level by method and edit and save changes.
- The source is also available for the entire module and can be edited and saved.
- Source changed at the component level will be saved, compiled and retained as long as that component is not entirely regenerated.
- At the end of a compile, the completed screen module is automatically displayed and can be deployed to a menu in an application system or built directly into an HTML page, the HTML source for which is created by JDesignerPro.
JDesignerPro Screen Builder (Wizard)
In addition to the App Builder, which is used for custom screen modules, JDesignerPro includes the Screen builder which is a wizard-like method for creating field forms, master-details, charts and reports.
Developers need not understand Java programming to build screen modules. By choosing data in the Data Wizard then setting various properties, Search Panels, result lists and custom forms are built.
- Colors, Fonts and other GUI elements are controlled in the property settings.
- The forms wizards can be tied easily to any database or any set of joins.
- The charting and reporting are not static. They will generate on the fly based on the current data in the table.
- Any number of screens can be put together to form a complete application.
System Maintenance
JDesignerPros System Maintenance features allow the System Administrator to control all the deployment aspects of an application. These include Application Menu hierarchy, User information, user and group authorization, and system settings. A menu in JDesignerPro is a Tab with a title that loads a screen module when the tab is clicked. The settings include:
1. System
Maintenance
|
4. User Menu
Authorization
|
2. Menu Maintenance
|
5. User System
Authorization
|
3. User Maintenance
|
6. User Billing
Details
|
By keeping these System Maintenance items on separate screens, different System Administrators can have differing levels of access to user profiles, authorizations and billing information. The billing information is handy for online service businesses that use JDesignerPro systems on their website.
Tools
The Tools feature of JDesignerPro is a set of light weight database tools to facilitate remote management. These include:
- Database Maintenance. Use this Java front end to administer remote database tables. This area allows creation, modification and dropping of tables in any database viewable by JAGGServer. Proper login access to the databases is required before these actions can be done.
- Source Edit. This is a lightweight source editor for the developer to open the source to any of the modules in the Project manager, modify, save and compile them.
- View Module. This screen displays the compiled and loaded version of the project edited and compiled in the Source Edit screen.
![]()
JAGGServer, the Scalable Application Server and Middleware
JAGGServer is JDesignerPros middle tier. JAGG is the server portion of the JDesignerPro system that handles the transmission of data and requests to and from your JDesignerPro client applications. The messaging to JAGGServer from the Java client is automatically built into your JDesignerPro-built applications. When JDesignerPro creates the source for your front-ends, that source includes all the necessary calls to JAGGServer, including the SQL. The protocol used is based on the JAGGServer API. BulletProof plans to continue to open JDesignerPro to handle IIOP, CORBA and other vendors messaging between the JDesignerPro-built client and any middleware.
Today you can get to CORBA objects through standard products like the I-Kinetics OpenJDBC and Visigenic VisiBroker products.
JAGGServer is written in Java and uses the JDBC specification. It's features include:
- Application logic and Business Rules. You can program into JAGGServer to add logic and rules. The API will continually be extended to facilitate and manage this process.
- Executing database stored procedures. Results can be returned to the client or other server-side events can be triggered based on results.
- Calling other server-side applications and processes. Server executables, written in any language, can be called to run. The data returned from a server executable can be sent to the client in an array. For more information on how to execute stored procedures and server-side commands, see the Non-Visual Components section below under App Builder - Layout Manager.
- Scalability with connection management. JAGGServer automatically handles connection scalability. The number of end-users who may be logged into a system concurrently is over 10,000. When a user logs in, JAGGServer assigns a database connection. If that connection lays idle for a few seconds, JAGGServer will reassign that database connection to another request. Only the clients that are requesting access to the data at any one moment are given a connection to the database. These connections are opened and closed quickly. Depending on the level of activity and amount of data accessed, each actual connection to the database can handle one hundred or more clients.
- JDBC and ODBC connectivity. JAGGSever puts out JDBC calls. Compatible database drivers include Oracle 7, 8, Personal Oracle 7, Oracle Workgroup Server and Oracle Universal Server, Informix, Sybase 10, Sybase 11, MS-SQL Server, Access, FoxPro, IBM DB/2.
- Application delivery. When a user logs in to a JDesignerPro system, JAGGServer handles the delivery of the Java client screens to the user as the user requests each screen. The user is delivered only the applications screens to which that person is authorized.
- State Management. Both the Java client and JAGGServer maintain state information during a user session. Even if the user loses the network connection, the state is maintained and information can be saved once the connection is restored. There are no Cookies or other complicated mechanisms to worry about, state is handled automatically.
![]()