This VisualAge Generator Developer 4.5 Readme file contains information
about installing VisualAge Generator Developer 4.5. There are two versions
available. You can install VisualAge Generator Developer on Smalltalk,
and you can also install VisualAge Generator Developer on Java. This Readme
highlights the latest enhancements to VisualAge Generator Developer.
| Note: |
The most up-to-date version of the Readme
for this product is the one available on the CD |
A redbook SG24-5467 called "VisualAge Generator Developer Version 4,
A New World of Java Integration" is included on the VisualAge Generator
Developer CD. The book is in Adobe Acrobat format and is located in the
root directory on the CD. The file name for the book is sg245467.pdf.
For the most up to date versions please see:
VisualAge Generator Developer 4.5 contains the following product enhancements:
INTEGRATED SUPPORT FOR MQ SERIES - Provides an easy interface to develop programs that use message queues for asynchronous communications.
GENERATION OF JAVA FOR SERVER PROGRAMS ON WINDOWS NT AND WINDOWS 2000
ENHANCEMENTS TO THE WEBSPHERE RAPID APPLICATION DEVELOPMENT (RAD) CAPABILITIES - support for multilingual browser interfaces, improved debugging support, closer integration with WebSphere Studio, and support for S/390 as a gateway platform.
INCREASED AS/400 Support - AS/400 systems can now be used as a web transaction gateway and server platform, and as a client/server middle-tier platform.
SUPPORT FOR SOLARIS AS A CLIENT/SERVER MIDDLE-TIER PLATFORM
IMPROVED ACCESS TO REMOTE DATA DURING TEST - VisualAge Generator now provides integrated support for accessing DL/I Database on MVS and VSE. Remote access is also provided for files on VSE and and AS/400.
SUPPORT FOR SCO OPENSERVER AS A RUNTIME PLATFORM - text- based client programs are now supported for this environment.
NEW FUNCTIONS FOR JAVA DEVELOPER ONLY - New dialog added to configure the VAGen Required Projects for a given project. Java APIs have been added which allow the creation of "User Groups" to allow the Java Workspace owner to be changed without providing a user password. User Groups can only be configured by the Administrator.
VisualAge Generator 4.5 enables you to run Java programs under VisualAge
Generator Server. With Java Server support, users can generate main batch,
called batch, and Web transaction program parts into Java source code.
The Java code is deployed to the target machine and compiled and executed
in an e-business environment where it can interact with other Java program
parts.
When you generate a main batch or a called batch program as a Java Server,
you can also generate a session Enterprise Java Bean (EJB). The session
bean enables the program to participate in Enterprise Java Server (EJS)
transactions.
Integrated MQSeries Support
The integration of MQ Support into VisualAge Generator allows message queues to be accessed as files by using the ADD and SCAN I/O options instead of MQSeries API calls. Support includes:
- Automatic connection to the queue manager
- Automatic opening and closing of queues and disconnection at end of main program
- Optional termination on hard errors
- Automatic return code checking
- Transaction control using EZECOMIT and EZEROLLB functions
- Automatic data conversion of messages based on the message record structure
Optional access to MQ control blocks for specifying MQ options that are not selectable using the record level interface
Note: Please see "Other Restrictions, Considerations & Miscellaneous Notes" section for limitations.
Web Transaction Enhancements
Web transaction development has been enhanced in the following ways:
Web transaction generation and the GatewayServlet now enable Web transactions for multiple languages. A resource bundle can be generated for a UI record that contains all titles, labels, and help text required by the UI record. Additional resource bundles can be created for other languages that may be used. The GatewayServlet will load the resource bundle for the language of the client if that resource bundle is installed at the gateway.
The ability to run a mixture of completed (deployed) Web transactions and Web transactions under development is now supported. The completed Web transactions are run in an application server environment while the Web transactions being developed are run in ITF.
Web transaction JSP generation is enhanced to, as an option, add default values for fields displayed for a UI record. JSP designers can display modifications made to the generated JSPs without running the Web transaction that would normally provide data formatted by the JSP.
UI records are enhanced to allow developers to specify a general UI Record edit function that is run whenever any UI record field is changed in response to the display of the UI record. This makes it easier to perform cross-field edits.
Remote DL/I Access during test
When you are testing a program that includes a call to DL/I, a new, built-in feature provides remote DL/I access on MVS, where VisualAge brings up an IMS batch environment. You can access DL/I from either Windows NT, Windows 2000 or OS/2, even if your organization lacks an IMS Transaction Manager on MVS.
VisualAge Generator now provides:
- Generation of Web transactions for the OS/400 platform
- Ability to call COBOL server programs from generated Java programs.
Solaris Client/Server Support
Solaris is now supported as the 2nd-tier in a 3-tier configuration with TCP/IP, CICS Client, IPC, and Direct as supported protocols. Solaris can also now act as a client using C++ TUIs or Java programs.
New Functions for JAVA Developer only
Configure VAGen Required Projects dialog
A new dialog has been added to configure the VAGen Required Projects for a given project. This provides an easier alternative to manually editing the Project List Part (PLP). To configure the required projects of a project, select the project in the VAJava Workbench and choose "Manage->Configure VAGen Required Projects" from its context menu. On the Configure dialog select the required projects and editions. Choosing Ok will cause the Project List Part (PLP) to be created or updated. A default package for the project will be created if necessary to contain the PLP.
New VAGen Java APIs Java APIs have been added which allow the creation of "User Groups" to allow the Java Workspace owner to be changed without providing a user password. User Groups can only be configured by the Administrator. Several other APIs have also been added. These APIs are part of the VAGenUtilityInterface class.
addPartsMenuItem(String itemName, String listenerClassName, String enablerClassName)
Add a menu item to the VAGen Parts menu of the VAGen Parts Browser. enablerClassName is the name of a class implementing the VAGenActionEnabler interface which determines if the menu item is enabled
addToolsMenuItem(String itemName, String listenerClassName, String enablerClassName)
Add a menu item to the Tools menu of the VAGen Parts Browser. enablerClassName is the name of a class implementing the VAGenActionEnabler interface which determines if the menu item is enabled
addUserGroupMember(String groupName, String uniqueName)
Add a user to the given User Group. Only the Administrator can perform this action, and the Administrator cannot be added to a User Group.
changeWorkspaceOwner(String uniqueName)
Change the Workspace owner. The current owner and the new owner must belong to the same User Group. revertWorkspaceOwner must be called in between calls to this method.
compareDifferences(VAGenModelDifferences diffs)
Open a Comparison Browser on the differences returned by the computeDifferences method.
computeDifferences(Model first, Model second)
Compare the two models and return a VAGenModelDifferences instance representing the differences. If no differences are found, null is returned. The models can be projects, packages, or types.
getGroupMembers(Package pkg)
Return the Package group members.
getRequiredProjects(Model project)
Return the VAGen Required Projects for the given project.
getUserGroupMembers(String groupName)
Return the members of the given User Group.
getUserGroups()
Return the list of currently defined User Groups.
previousEdition(Model model)
Return the previous edition of the given project, package, or type.
removeUserGroupMember(String groupName, String uniqueName)
Remove a user from the given User Group. Only the Administrator can perform this action.
revertWorkspaceOwner()
Revert to the previous owner of the Workspace before the changeWorkspaceOwner method was called.
setRequiredProjects(Project project, VAGenProject[] reqProjects)
Set the VAGen RequiredProjects for the given project.
Remote VSAM Support for OS400 and VSE
An Overview of this enhancement can be found at this website:
http://www.ibm.com/software/ad/visgen/library/#newsletters
Limitations:
Access to VSAM Files on VSE
One of the new features added in this release allows access to VSAM files residing on VSE when testing your VisualAge Generator program using ITF. If you plan to use this feature, you need to download three dynamic link libraries (dlls) from the VisualAge Generator ftp site and replace them with the ones that were shipped. The ftp site is: ftp://ps.software.ibm.com/ps/products/visualagegen/fixes/v4.5/windows and the file names are: iesddm.dll, iesvca.dll, and iesvva.dll.
VisualAge Generator Templates 4.5 contains the following product enhancements on all platforms:
EASE OF USE IN THE SPECIFICATION - Some changes in the information model, such as a long target identifier parameter, an easier to specify concurrency management.
MORE ACTIONS ON THE VAGT INSTANCES - Top down approach is facilitated. Instance parameters can be reset. Relational Table's keys can be modified.
WIZARDS - Instance creation for bottom-up approach: you can create a default Business Object from a Relational Table and a default Interface Unit from a Business Object. A wizard in the Business Object editors can create a defaut join condition from the Foreign Key links. In the Workspace editor, SQL High and Low Values can be retrieved from the Database.
ENHANCEMENT OF THE BROWSERS - Performance. New Reference Browser. New Duplicate checking on parameters. Graphical enhancements on existing browsers.
VisualAge Generator Templates 4.5 on Java contains the following product enhancements:
IMPROVEMENT OF GENERATED JAVA GUIs - Provides an improved architecture, support for JDK 1.2.2 and new functions such as edit menu, windows list, online help generation and bidi support.
IMPROVEMENT OF GENERATED SERVERS - High and Low values are generated by the workspace only.
IMPROVEMENT OF GENERATED WEB APPLICATIONS - new naming convention for items in UI-Record. Concurrency management is available.
ENHANCEMENT OF THE GENERATION PROCESS - More controls are performed on the generated entities. The generation window settings can be saved. Error Messages are more user friendly.
ENHANCEMENT OF THE RE-GENERATION - Traceability information is visible in Java code.
Ease Of Use in the Specification
VisualAge Generator Templates 4.5 contains new function in the Information Model which make specification easier to describe:
- Long target identifier parameter
Generation parameters are enriched by a long target identifier, which makes it possible to benefit from the possibilities of naming offered by the object languages
- Specifying Concurrency Management
Changes in the values and associated meanings of the concurrency management parameter, so that "it always works":
- 'column' = default value, equivalent to 'none' if there is no concurrency management column in the definition ; if there is one, equivalent to the old values ' timestamp' or ' counter', according to the type of the column
- 'read' = unchanged, applies independently from the existence or not of a concurrency management column
- 'none' = unchanged, makes it possible to inhibit the taking into account of the definition of a concurrency management column.
More Actions on the VAGT Instances
-
Instance creation in top-down approach
The ' Add' window is supplemented with a function of creation (moreover, a check-box allows the inhibition of the general filter, which remains positioned by default).
This new function makes it possible to minimize the constraint on the order of specifications. Typically, one can define the main InterfaceUnit of an application, including its children and BusinessObjects which it uses, while remaining in the edition of the same instance.
- Reset of instance parameters
In the 'Instance' menu, a new item - 'Set Generation Parameter to Default' - makes it possible to restore the initial state of the parameters of the selected instances (general alignment on the entity parameter setting).
- Update of RelationalTables
Addition of primary or secondary keys, update of fields and mappings.
Wizards
- Instance creation in bottom-up approach
New functions of the 'Instance' menu allow to create one BusinessObject from (only) one selected RelationalTable, or one InterfaceUnit from (only) one selected BusinessObject. The action window allows the acquisition of creation data, the
identifier being filled by default with the identifier of the source instance.
Note: the created InterfaceUnit (from BusinessObject) is 'List+Detail'.
- Specification of the join condition
The Workbench proposes a default initialization:
- On explicit request (new action: 'Compute')
- When closing the BusinessObject definition, if there are at least two mapped tables and no defined join condition.
- Specification of SQL high & low values
A dedicated function of the workbench allows, on request, to recover the SQL high & low values corresponding to the current configuration of the data base.
Enhancements of the Browsers
- Performance improvement
Response time to access the VAGT instances is improved
- Reference Browser
A new browser makes it possible to visualize the instances refering to a given instance.
- Duplicate checking on parameters
A new function makes it possible to list in a dedicated browser the duplicates on target identifier, long target identifier and "fastpath " (external identification of the IntefaceUnits in generated TUI).
- Enhancement of the Duplicate Browser
The Duplicate Browser displays the packages/applications of the listed instances.
- Workbench: saving of the graphic characteristics
- Editors: enlarging of the lists when resizing
Improvements of Generated Java GUIs
VisualAge Generator Templates 4.5 generated GUIs offer functionalities that were available previously only in the Smalltalk version:
- Improvement of the generated architecture
Compliance with the Java writing rules. Better readability of the code.
The architecture is improved to allow a better management of exceptions.
- Online Help
A new set of generators allows the production of on line help files (HTML) for GUI Java applications.
The generated GUI Java applications integrate the launching of this help.
- Edit functions
'Edit' menu (Cut/copy/paste) and corresponding functions are integrated into generated Java GUIs.
- Management of the window list: Windows menu
'Windows' menu and corresponding functions (display the list of opened windows in the application) are integrated into generated Java GUIs.
- Ask for confirmation on closing a window
If updates are "pending" on window closing that displays a detail, a confirmation message box is displayed.
- Updateable lists ergonomy
Updating a cell requires a single click of the mouse.
Improvement of the Generated Servers
- Factorized processing of the high/low values
The high and low values, specified at the worskpace level, are generated only from the Workspace, by initializing a Record. A new Hook is called at the end of this function.
Improvement of the Generated Web Applications
- New Naming Policy of the items in the UI-Record
The generated item names are more easy to read and take into account muliple displays in one single interface unit.
- New Hooks
Several new hooks are available in the web transaction to customize the initialization of the program, the server calls and the display.
Enhancement of the Generation Process
These improvements relate to the technology of generation and its user interface.
- Reinforcement of controls
The level of control of the Java ' builders' is reinforced.
- Java generation window: 'Save as Default'
The generation window settings can be saved. This option is identical to its counterpart in the Smalltalk generation window.
- Generation messages
Error Messages are more user friendly: the 'builder' classes are named in accordance with the 'target' terminology.
Enhancement of the Re-Generation
- Traceability information in generated Java code
The traceability information is integrated in directly readable form - comments - into the generated Java code.
Limitation and known problems
- GUI Generators:
- The '4GL' Client Logic Style (Workspace generation parameter) is not implemented.
- Relational Table: The 'read' concurrency management is not fully supported by the client. It does not work for instances read through a list.
- Web Generators
- You may have to write some customization in the available hooks if you display more than one business object in one interface unit.
- The updatable lists are not available.
SQL User ID and Password Changes
With VAGen Developer V4.5, the SQL user ID and password are no longer saved to and restored from the hpt.ini file. The user ID and password are still defined and changed using the SQL preferences but these values are good only for the current session. If VAGen Developer is closed down, the user ID and password values are not saved across sessions.
In addition to entering the user ID and password in the SQL preferences, a prompt is available to enter these values. A new SQL preference, Prompt for user ID and password, lets the user control whether prompting is done or not. By default, prompting is done whenever VAGen Developer needs a SQL user ID and password, and both of these values are not defined in the SQL preferences. If the user wants to change the user ID and password values, after entering these values on the prompt, he must go to the SQL preferences to change them.
Note: The SQL user ID and password prompt is not used for calls to EZECONCT. The user ID and password must still be passed on the call to EZECONCT.
Database Binding in DB2 applications
VisualAge Generator 4.5 requires the developer to rebind to the database to develop, test and generate DB2 applications. VisualAge Generator prompts the developer when a rebind is required. If the developer selects YES to the prompt, VisualAge Generator rebinds as required. If NO is selected to the prompt, the developer can rebind using the DB2 BIND command. The physical file name for the bind file for VisualAge Generator 4.5 is hptdb245.bnd. The new package name associated with hptdb245.bnd is DEVELOP.HPT2O450 for OS/2 and DEVELOP.HPT2W450 for Windows NT or Windows 2000.
Oracle 8i support
Oracle 8i support is currently available for VisualAge Generator Server for NT only. Please refer to the VisualAge Generator Server Guide for Workstation Platforms
for more information on Oracle support on Workstation platforms.
VisualAge Generator Remote DL/I for VSE/ESA
Late in the development of VisualAge Generator Version 4.5, support was added for Remote DL/I using VSE/ESA. There are several differences between the MVS and VSE/ESA implementations of this function:
- Communications with MVS is APPC, while the VSE/ESA implementation uses TCP/IP
- Remote DL/I for VSE/ESA is not supported in the OS/2 environment
- For ITF, you must set the Target Environment for DL/I Preferences to either VSE CICS or VSE BATCH.
- The VSE/ESA versions of DLILogin and DLICheck are called VSEDLILO and VSEDLICH respectively. VSEDLICH also fulfills the role of DLICHKP (test schedule of PSB)
- The logon dialog for VSE/ESA allows you to specify the TCP/IP address and the Default CICS of the host. Environmental variables RMTDLI_PARTNER_LU and RMTDLI_PARTNER_TP don't apply to the VSE/ESA implementation.
- No message boxes appear during the 'host connect' and 'schedule PSB' phases of communications with the host.
Most of the documentation for VisualAge Generator Version 4.5 refers to two options on the DL/I Preferences dialog:
- Micro Focus Mainframe Express
- VisualAge
With the introduction of VSE/ESA support for Remote DL/I, this dialog was changed to contain three possible selections:
- Micro Focus Mainframe Express
- VisualAge Remote MVS
- VisualAge Remote VSE
VisualAge Remote MVS is the new name for what was previously referred to as "VisualAge" in the documentation. Note that you will only see the three selections on the Windows version of the VisualAge Generator developer. On OS/2, the following selections are possible:
- Micro Focus
- VisualAge Remote MVS
Overview
The VSE Remote DL/I implementation use TCP/IP to communicate with the back end on VSE/ESA. The underlying architecture is completely different from the implementation of the MVS implementation.
The architecture consists of two parts:
- the server part running on VSE/ESA
- The client part running on a Windows.
On VSE/ESA the server part is an extension to the VSE/ESA Connector Server which is part of VSE/ESA 2.5. The client part is included with VisualAge Generator Version 4.5.
Restrictions
The following restrictions apply to the VSE/ESA implementation:
- There can be a maximum of 31 clients that uses DL/I on the same system at one time. This is because a sub task is attached for each DL/I client. The DL/I service runs in a single partition on the VSE/ESA system, and there are up to 31 sub tasks allowed per partition (main task plus 31 subtasks = 32 tasks per partition).
- All DL/I requests are routed to CICS and executed under control of CICS.
- The maximum number of CICS/DLI tasks is defined during creation of the DL/I online nucleus DLZNUCxx via parameter MAXTASK and CMAXTSK (1-255). Each Remote DL/I client uses one CICS/DLI mirror task. If the maximum number of CICS/DLI tasks is reached the schedule call will wait until a task becomes available.
- For ITF, you must set the Target Environment for DL/I Preferences to either VSE CICS or VSE BATCH
- On SSAs, you can not use the character version of the relational operators (ie. EQ, NE, GT, LT, GE, LE); you must use the symbol versions instead (i.e. =, >, <, etc.). This is a known restriction for DL/I on VSE.
- OS/2 is not supported.
Host side setup
- Have TCP/IP for VSE/ESA installed and running (Note: TCP/IP for VSE/ESA is part of the base and must be key enabled and configured)
- For further information about configuring TCP/IP for VSE/ESA see "TCP/IP for VSE/ESA User's Guide" SC33-6601.
- Have the VSE Connector Server installed and running (Note: The VSE Connector Server is part of the base for VSE/ESA 2.5 and is pre configured).
- For further documentation about configuring the VSE Connector Server see "VSE/ESA e-business Connectors User's Guide" SC33-6719.
- Have DL/1 Version 1.11 installed.
- Have PTF UQ45007 Installed
- Have all databases (DBDs) you want to access in the CICS FCT defined
- Have all PSBs defined in the CICS nucleus DLZNUCxx for program DLZBPC00
- Have an active DL/I MPS system (Multiple Partition Support)
- Have the phase DLZBSEOT loaded into the SVA.
- Have the server side plugin IESDLIPL installed and defined in the plugin configuration member. (Note: the plugin is part of the VSE Connector Server and is already defined in the plugin configuration member for VSE/ESA 2.5)
To enable tracing specify the name of the trace destination file as parameter at the PARM stat