Documente Academic
Documente Profesional
Documente Cultură
BluePhoenix AppBuilder 2.1.0. Personal Repository Administration Guide April, 2003 Corporate Headquarters BluePhoenix Solutions Vlierwerf 7B 4704 SB Roosendaal The Netherlands +31 (0) 165 399 401 +31 (0) 165 396 308 fax USA Headquarters BluePhoenix Solutions USA, Inc. 8000 Regency Parkway Cary, NC 27511 United States +1 919.380.5100 +1 919.380.5111 fax www.bluephoenixsolutions.com
1992-2003 BluePhoenix Solutions All rights reserved. BluePhoenix is a trademark of BluePhoenix Solutions. All other product and company names mentioned herein are for identification purposes only and are the property of, and may be trademarks of, their respective owners. Portions of this product may be covered by U.S. Patent Numbers 5,495,222 and 5,495,610 and various other non-U.S. patents. The software supplied with this document is the property of BluePhoenix Solutions, and is furnished under a license agreement. Neither the software nor this document may be copied or transferred by any means, electronic or mechanical, except as provided in the licensing agreement. BluePhoenix Solutions has made every effort to ensure that the information contained in this document is accurate; however, there are no representations or warranties regarding this information, including warranties of merchantability or fitness for a particular purpose. BluePhoenix Solutions assumes no responsibility for errors or omissions that may occur in this document. The information in this document is subject to change without prior notice and does not represent a commitment by BluePhoenix Solutions or its representatives.
TABLE OF CONTENTS
Table of Contents
iii
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Table of Contents
iv
CHAPTER
This guide describes the use and administration of a local repository containing objects for the development of applications using AppBuilder. It includes information on how to create and manage access to the repository and migration between repositories, including: AppBuilder Repository Family Development Security Model Repository Administration Personal Repository Functionality
Note
For more information on repository technology and the benefits and features of object-based repositories, refer to the Product Concepts Guide and Workgroup Repository Administration Guide.
1-1
Personal Repository
Figure 1-1
Workgroup Repository A controlled, secure development environment for client/server environments with the repository accessible on a network server from remote workstations. Personal Repository Enterprise Repository Repository functionality on a local client workstation that is configured to be easily uploaded and merged with a larger development effort. A mainframe repository for enterprise application development teams. The mainframe is designated as the central archive and site for the team to conduct application development.
Personal Repository
A Personal Repository is a database repository where the client, server, and database all reside on the same local machine. The AppBuilder personal repository is also referred to as a local repository or LRE. The filename extension .lre is used to identify a personal repository file.
1-2
Figure 1-2
A personal repository supports only one user at a time on a local machine. Other repository servers, such as Workgroup and enterprise repositories, support multiple users simultaneously. Multiple personal repositories can be created on a single machine, each one defined to allow the same or different users access to the repository. The objective of the personal repository is to establish a repository locally where you can work independently, without a continuous network connection to a remote server. Only during an upload, download, or query of remote objects is a connection required to the remote server. For detailed instructions for uploading and downloading objects, see Download and Upload Between Repositories on page 3-14.
Warning
Do not install a Workgroup and personal repository on the same machine. If personal repositories are installed and then a Workgroup is installed, all personal repository files in the directory are written over by the Workgroup repository files.
1-3
Repository Administration
Project
Group
A User is a Workgroup repository user who is defined to native security. Typically, a group is defined and created, then users are added to the group. Added users then have access to the objects in the project associated with that group. To create a Workgroup repository, see the procedure outlined in Creating a Personal Repository on page 2-3. For detailed instructions on setting the security properties for projects and groups, see Setting Personal Repository Security Properties on page 2-5. The Workgroup Repository Administration Guide also contains a detailed explanation of Freeway Explorer and repository management and security.
Repository Administration
The AppBuilder administrator assigns userIDs and passwords with specific permissions assigned to a client using the repository. The user is then associated with at least one user group. The group is associated with one or more projects, and so on. The scalability and flexibility of the repository allow a large or expanding number of users to have limited or full access to groups and projects, read-only access, the ability to create, relate to, update, or delete objects, or a combination of all these and other security parameters. Using AppBuilder, the repository administrator can keep tight control on software versions, modifications, releases, databases, and libraries. Objects can be shared among the group members, but
1-4
the source object is only modifiable by the assigned owner, unless and until that security option is changed by an administrator. The Workgroup administrator accesses and manages the Workgroup network using the Freeway Manager interface. Freeway Manager is not included in the Personal Repository. Access Freeway Manager by selecting Start > Programs > AppBuilder > Freeway > Freeway Manager. For more information about Freeway Manager and Freeway Explorer, see the Workgroup Repository Administration Guide.
Connect
1-5
Repository (Continued) Actions Description Closes a connection to the Workgroup server Saves all changes to the repository Changes reverse the unit of work to its state prior to the last commit Removes the connection alias Parameters Required
Creating a Connection Alias 1. To create a connection alias, select Session > New from the Freeway Explorer main window (Figure 1-6).
Freeway Explorer Main Window
Figure 1-5
2.
In the New Freeway Group Server Connection Alias window (Figure 1-6), type in the configuration settings for the repository you are connecting to. See Table 1-2 for an explanation of the settings.
New Freeway Group Server Connection Alias Window
Figure 1-6
3.
1-6
4.
Figure 1-7
Tools Use the tools to migrate from one repository to another Export or import data Migrate using Application Folder settings Upload and Download objects Check security settings Select add-ins for migration
Selected (with objects selected) Open the hierarchy browser for an object View the properties of an object Remove the object from the repository Purge the object from the repository Clear the browser Print the hierarchy browser
1-7
To use Freeway Client Configuration: 1. Select Start > Programs > AppBuilder > Repository > Freeway Client Configuration. The window opens (Figure 1-8).
Freeway Client Configuration Window
Figure 1-8
2. 3.
Select an existing alias from the list and click Delete to delete the connection alias. Click New to create a new connection alias, the New Freeway Alias dialog opens (Figure 1-9).
Freeway Alias Dialog
Figure 1-9
4. 5.
Select the Workgroup server options that match your configuration. Name the new connection alias and click OK (Figure 1-10).
Freeway Alias Window
Figure 1-10
1-8
CHAPTER
AppBuilder uses the Personal Repository Manager interface to manage a personal repository. Repository management tasks are equivalent to the administration tasks required by a Workgroup or mainframe repository, including: Setting Up Your Personal Repository Using Personal Repository Manager Creating a Personal Repository Setting Personal Repository Security Properties Configuring the Codepage Archiving the Personal Repository Deleting a Personal Repository Restoring a Personal Repository Copying a Personal Repository Configuring Host Repository Properties Setting Up FTP Directories Reviewing the Log File Performing Unit of Work (UOW) Migrations
Note
Refer to the installation instructions for your AppBuilder software for current installation system requirements.
2-1
a second processes a download job at the same time on the same machine. There are many possible configurations for setting up personal repositories.
Note
Because only one session of the Workgroup browser can connect to a repository at a time, to connect to the same or a different repository for a second session, you must establish two completely different sessions of the Workgroup browser.
The number of personal repositories that can be defined is limited by three factors: the number permitted by the database manager the number of databases DB2/UDB can handle at one time the amount of space on your system The restrictions defined by your repository administrator for your particular environment and the size of your local disk space are variables that can be controlled locally. You can increase the number of DB2/ UDB databases available for personal repositories using the following procedure: Procedure - Increasing Available Databases To increase the number of databases DB2/UDB can manage: 1. 2. 3. 4. 5. 6. Open the DB2 Control Center. Right-click on DB2 Instance under the Instances icon. Select the Configure option. Select the Environment tab. Select the maximum number of concurrently active databases. Change this value and click OK. When DB2 restarts, the value increases.
2-2
View
Show or hide the toolbar and the status bar Display the log file of activity.
Selected
Archive a personal repository. Pack and Reindex Delete a personal repository. Viewing the host properties
Figure 2-2
2-3
2.
Enter data in the Create Personal Repository dialog fields from Table 2-2 to configure the personal repository..
Personal Repository Data
Table 2-2
userID and Password Fields User ID of a current Windows NT or Windows 2000 Administrator using 8 or fewer characters The user ID supplied is used to create a database in DB2/UDB, so the user ID must have administrative authority or be a part of a group with administrative authority in DB2/UDB. Any Windows NT/ 2000 user ID that is part of the administrators group has sufficient privileges to create a personal repository. The user ID supplied in this field is the only repository user for this personal repository. The user ID is added to the AppBuilder security model.a Password Password for the userID Use the same password the user ID logs into Windows with. This password is verified by the Windows system and is used when connecting to the personal repository. The password is case sensitive.
userID
Create Repository Section New Name Name of the personal repository to be created This name must contain eight (8) characters or less. Some names are restricted from use because they are reserved names. This is only for the DB2/UDB files pertaining to the database. This is not the AppBuilder home or personal repository supporting files directory. Ensure the drive is a local hard drive. If the drive selected does not already have a DB2/UDB database created on it, the directory DB2 will be created in the root partition and the DB2/UDB files for the personal repository will be placed under that directory.
Database created on
Create Using Section The default repositories contain the internal objects that a personal repository needs to perform correctly. Default repositories are provided for two reasons: to hold the default objects that are needed to create a personal repository to provide a preconfigured area for created objects to be placed in after the repository is defined and objects are added to it. Two default repositories are shipped with the personal repository installation: DEFAULT.LRE EMPTY.LRE. The DEFAULT.LRE repository contains the default AppBuilder repository objects. The EMPTY.LRE repository contains only the internal objects needed for personal repository functionality. No default objects are included. The two default personal repository files are located in: <AppBuilder>\AD\DBF\DBBACKUP A previously-archived personal repository may be used to create a new personal repository. If the personal repository is created from a previous archive, then all of the objects in the previous repository archive are available to the new repository. Working Directory Directory that Create uses to store temporary files The log file is also created here.
a. DB2/UDB 7.1 and later allow you to create a user ID with more than 8 characters.
3.
2-4
While the Personal Repository Manager generates the personal repository, a status bar on the bottom of the window indicates its progress. A log file is automatically displayed to indicate an (E) error, (W) warnings, and (I) information. If an error is encountered and the personal repository fails to be created, the error message indicates the problem encountered. You can use this information to correct the error and recreate the personal repository.
Note
Personal repositories have an eight (8) character limitation for userIDs. However, DB2/UDB 7.1 and later allow you to create a userID with more than eight characters.
Figure 2-3
4.
Select Tools > Security. The Security-User Group Maintenance window opens (Figure 2-4).
2-5
Figure 2-4
5.
In the Security - User Group Maintenance window, select Action > Project Hierarchy or click on the Projects & Groups button. The Project Hierarchy window opens (Figure 2-5).
Relationship Between Projects and Groups
Figure 2-5
Project
Group
6. 7. 8.
In the Security - Project Hierarchy window, double-click on the group icon. The Group Securities Properties dialog is displayed. In the Security - User Group Maintenance window, double-click on the <user_name> to view the groups associated with the user (in the Security - User Security dialog). In the Security - User Group Maintenance window, double-click on a <group_name> to display the users who belong to the group (in the Security - Group Security dialog).
Procedure - Setting group security in the Project Hierarchy window 1. 2. 3. Open a Freeway Explorer session, connect to a repository, and open the Security -User Group Maintenance window as described in Procedure - Accessing the security properties of a project. In the Security - Project Hierarchy window, select the project and click on the + sign to its left to reveal the groups associated with it. Double-click on the group name. The Group Security Properties dialog opens (Figure 2-6).
2-6
Figure 2-6
4. 5. 6.
Drag-down the Scope menu to select a setting. (See Selecting Scope on page 3-15 for scope setting definitions.) Click on the box or boxes to set permissions. Click OK.
Note
For clients using the same codepages on host and client machines, it is not necessary to use the SBADATACONN setting, because the host and client are always set to the appropriate codepage.
Procedure - Codepage Settings for SBADATACONN 1. Set the SEND_SBDATACONN_VALUE to TRUE (or YES). Tells the personal repository to send the FTP quote site command to the host migration server during an FTP session. This allows the client personal repository to dictate codepage conversions for the host migration server. If this is not set, the default setting is used.
2-7
2.
Set the USER_REMOVEABLE_UOW to TRUE. The [PERSONAL_REPOSITORY] section of the HPS.INI file enables the menu item to remove selected item(s) in the Upload window. If this setting has been added previously, remove it from the HPS.INI (or set it to FALSE) and the Selected > Remove menu item is removed.
3.
Set the LVLEXP_AS_HIERARCHY to FALSE. This setting, located in the [FREEWAY] section of the HPS.INI file, is used to define the LEVEL MIGRATION EXPORT functionality of the Windows-based personal repository and Workgroup repository. It dictates how a LEVEL MIGRATION EXPORT from the personal or Workgroup Repository acts on import. If set to FALSE, the objects are exported independently (Entity Only) and merged on import into a target repository, therefore, no deletes can occur. If set to TRUE, the objects are exported as a hierarchy, therefore, implied deletes can occur. This mimics the behavior of a Full Hierarchy Migration Export in a Workgroup repository migration. Refer to the Workgroup Repository Administration Guide for more information about migration export.
2-8
Figure 2-7
3.
Fill in the Archive Personal Repository dialog with your specific data. Table 2-3 describes each of the fields in this window.
Archive Data Descriptions
Table 2-3
User Section The userID supplied is used to log into a database in DB2/UDB, therefore the user ID must have administrative authority or be a part of a group with administrative authority in DB2/UDB. userID UserID of a current Windows NT or 2000 Administrator (limit of eight (8) or fewer charactersa) Any Windows NT/2000 userID that is part of the Administrators group has sufficient privileges to create a personal repository. The user ID supplied in this field is the only repository user authorized for this personal repository and is added to the AppBuilder security model. Use the userIDs Windows password. The Windows system verifies this password and uses it to connect to the personal repository. The password is case sensitive. Drive Paths Section Working Directory Directory that the archive uses to store temporary files The log file is also created in this directory. The name of the personal repository archive is the name of the personal repository with an .LRE extension. For example, if the personal repository named PANEL1 was archived, the resulting archive would be named PANEL1.LRE. This archive can be moved anywhere, and created or restored from any system containing a personal repository. However, the file cannot be renamed. It can be used to create a new personal repository or replace an existing PANEL1 personal repository.
Password
Store Archive in
2-9
a. if you are using DB2 7.1 or later, it no longer restricts the userID to eight characters.
4.
As the Personal Repository Manager is working to archive the personal repository, a status bar will be shown at the bottom of the window. Upon success or failure, the log file will automatically be displayed. In the log file an (E) indicates an error, (W) are warnings, and (I) is for information. If an error is encountered and the personal repository archive fails to be created, the error message will indicate the problem. Correct the problem and repeat the archive procedure. See Reviewing the Log File for detailed information about the Log File.
Note
The Create command will be unable to locate the appropriate files to unzip if you change the personal repository filename. If the name of the archive file has been changed, change it back to the original name before creating or restoring it.
2-10
Figure 2-8
3.
Fill in the data in the Host Repository Settings dialog. Table 2-4 describes the guidelines for each of the fields. Consult your local host administrator for these settings.
2-11
4.
Click OK. The system stores the values in the file: <AppBuilder>\<LRE_NAME>.INI.
Host Repository Settings
Table 2-4
Host TCP/IP Parameters Section Host Name Port Number Codepage Name of the mainframe host machine where the consolidation repository resides Number of the port that the server daemon is listening on Codepage used on the host system Number of seconds that the personal repository attempts to connect to the host mainframe. If the personal repository does not have a response from the host within the amount of time specified in the timeout, it generates a timeout error and quits attempting to connect. How the personal repository determines which codepage conversions need to be done Host code page is the codepage that the host is running PC Codepage is the codepage on the local machine where the personal repository is located
Timeout
Host Repository Parameters Section Repository Name Version Project Name of the repository on the host machine Version of the repository setup on the host machine Project space that personal repository will be using
2-12
Figure 2-9
3.
Fill in the data in the Upload/Download Directories dialog, using Table 2-5 as a guideline.
Upload/Download Directories Data Function The directory where files associated with the upload to the host will be kept. The directory where files associated with the download from the host will be kept. Description A temporary directory; information stored in this directory is deleted often. Select this field by querying in the directory using the Query button. A temporary directory; information stored in this directory is deleted often. Select this field by querying in the directory using the Query button.
Upload Directory
Download Directory
4.
Caution
2-13
Figure 2-10
Standard Migration
Standard migrations add objects to a repositorys UOW, if an active UOW is available, during import. Downloads to the personal repository from the host migration server use the same process, however, it is an automated process conducted during the migration from a host migration server, with no intervention possible by the user. The personal repository UOW is created automatically during repository creation and cannot be removed. Only one active UOW per repository is available during a personal repository session. The filename PERSONAL identifies the UOW. The personal repositorys UOW is associated with the repository group PUBLIC. Changes submitted to the repository from any member of this group are added to the PERSONAL UOW.
2-14
Automated Migration
A download is the automated migration from the host repository to the local repository. An upload is the automated migration in the opposite direction, from the local repository to the host repository. Freeway Explorer provides a user interface to manage the Upload and Download functions to AppBuilder repositories. For detailed instructions on Upload and Download procedures, see Upload and Download Operations on page 3-4.
2-15
2-16
CHAPTER
This section covers the following migration topics: Migration Server Overview Managing the Migration Server Upload and Download Operations Download and Upload Between Repositories Performing UOW Migrations Setting Server Security Requirements Understanding Performance Implications Checking Regression Handling Results of Migration Controlling Concurrency Debugging a Migration Understanding Migration Restrictions
3-1
The Migration Server services Windows NT or Windows 2000 personal repository migration requests. The server initiates the request to start an Analyze and Import, start an Export, or Query a repository for certain types of objects based on the long name of the object. The Migration Server listens on a specific pre-configured port for the personal repository service requests. The request may contain the length of data, the actual service request and any needed parameters that the service request needs for fulfillment.
Figure 3-2 Migration Server Overview
To fully utilize the OS/390 capabilities and make use of existing repository services, most of the communications between the client and server spawn batch jobs for processing. This allows the mainframe to control the resource load.
3-2
3-3
TCP/IP Services
The TCP/IP server provides the following services:
Table 3-1 Service TCP/IP Services Description 1. The first step of the Analyze/Import process is an Export process on the Windows NT or Windows 2000 Personal Repository. Once completed, the migration files are transferred to the host via FTP. 2. The system then performs an Analyze followed by an Import. The results are written to the log file. 3. The client workstation retrieves the log files from a predefined location and displays the status of the process back to the user for review. 4. Upload consists of a series of migration files, followed by a request to import those objects into the target repository. This service triggers the submission of a batch analyze and import job. The Export process requires a migration object and settings in order to perform the request. 1. Specify a series of objects on the workstation to download by querying and selecting objects and scopes. 2. The workstation runs a daemon to check on the status of the Export process. Once a complete status is determined by the workstation, the workstation initiates an FTP of the migration files and begins an import into the Windows NT/2000 personal repository. 3. The Export service creates a migration object with settings as specified by the Windows NT/2000 personal repository requests. Once the server creates the objects on the host repository, the Export process is initiated. 4. The Export writes out the migration files to complete the download. The Query Repository function allows you to query the desired repository by long name. 1. Specify a starting long name value and type (for example, Rule). 2. The long name values are passed back to the requesting client forty rows at a time until complete. 3. The repository query facility uses the DB2 CAF to make all database requests. 4. The DBRM for the repository query function must be bound into the repositories DB2 plan via the CRSRVJCL method. The Status Query service is a dedicated service for reporting the status of any given Analyze/Import or Export process. This service reports the current status of any given task. The Shutdown service is used to bring down the TCP/IP migration server in an orderly manner, closing the socket, DB2 connection, etc. This service is only accessed by the mainframe TCP/IP Client. This service returns the FTP address location the migration files are to be transferred to This location is also used to access the result files generated by the migration process.
Analyze/Import (Upload)
Export (Download)
Query Repository
Status Query
Shutdown
FTP Address
3-4
Procedures include: Connecting to a Personal Repository Using the Upload Window Using the Download Window Using the Query Dialog Box Using the Status Dialog Box
Note
3-5
Upload and Download Menu Items Selection Action Description and Settings During the upload window initialization, the personal repository's INI file (<AppBuilder>\<lrename.ini>) is read for the host properties and current job status. If the current job status is inactive, the window opens and displays the UOW (Figure 3-16).
If a previous upload job is in progress, the status dialog is opened to monitor the host's progress. If a previous download job is in progress, the user is prompted with a message to either close the window and automatically open the download window with the status dialog present. During the download window initialization, the personal repository's INI file (<AppBuilder>\<lrename.ini>) is read for the host properties and current job status. If the current job status (Figure 3-16) is inactive, the window opens and displays the unit-of-work.
If a previous download job is in progress, the status dialog is opened to monitor the host's status on operation. If a previous upload job is in progress, the user is prompted with a message to either close the window or close the window and automatically open the upload window with the status dialog present.
Note
These menu items are disabled if a download or upload window is already open or if you are connected to a Freeway session.
The message box shown in Figure 3-5 displays if the Upload window is opened while the personal repository has an active download job in progress.
Figure 3-5 Download Processing Dialog
Note
An opened Upload or Download window appears, by name, at the bottom of the Freeway Explorer's tools menu and can be activated from that point.
3-6
Figure 3-6
Menus
Toolbar
Status
Figure 3-7
3-7
Table 3-3 lists the menu item tools and selections available to configure the upload.
Table 3-3 Menu Item File Upload Menu Items Selection Name Upload Description Initiates an upload. When this option is invoked, a series of events take place: A migration of all the object(s) listed in the upload window is performed and the output files are placed in the upload directory administered by the Personal Repository Manager's FTP Directory menu option. The personal repository sends an upload request to the host. The migration files are sent (FTP) to the host migration server. The host migration server submits the job. Once the batch job is submitted, the migration server can accept other client requests. The status dialog is displayed showing the status of the job until complete. Closure of the status dialog does not effect the progress of the job once it is submitted, the host is simply not queried for a status until the status dialog is opened again. While the status dialog is open, the host is queried for job status every <#> seconds (specified in the status dialog). Once complete, the migration log files are got (FTP) from the host migration server. The personal repository parses the detail file from the host migration to determine which objects need to be removed (successfully updated on the host) from the UOW. The object change number is updated. Migrates out the UOW objects. This is not an upload and will not contact the host or clear the UOW. This process creates a set of migration files that can be imported into other repositories. If you want to clear the objects after doing a migration, use the "remove" option. Makes Freeway Explorer the active window. Analyzes Unit Of Work to create a Rebuild WorkList. Prints the data in the browser window. Closes the upload window. Closing the download or upload window doesnt affect the status of any submitted download or upload jobs. Displays (read only) the host properties, codepages, and TCP/IP information of the personal repository that the user is logged into. (Administered by the Personal Repository Manager.) Opens migration window for setting export configuration options. Allows the user to change the userID and/or the password used for the upload session. Invokes the same dialog that is presented to the user when opening an upload or download window for the first time. Refreshes the UOW list. Re-queries the object in the repository's UOW, picking up updated objects (if any) since the last Commit. Displays the current host log files that exist in the upload directory on the workstation. Displays the properties dialog for the selected object. If multiple objects are selected, the properties for the first selected item are displayed and the menu items are disabled. Removes selected items from the personal repository's UOW. This command removes them from the window, a Commit must be performed from Freeway Explorer for this action to be permanent.
Migrate
Remove
3-8
Upload Menu Items (Continued) All or Nothing Select this to inform the host migration server to abort the process if any failures happen during the migration import. Will not import any objects if a failure occurs. Select this to inform the host migration server to import as many objects into the repository as possible, and ignore errors on independent objects. Will import and commit those that were successful. (Note: All or Nothing is recommended.) Refreshes the repository directory with updates. Sets the workstation ( \<AppBuilder>\<lrename.ini> ) job status to inactive. The personal repository status of the submitted job is reset, and no status checks are invoked until another upload or download is submitted and the status dialog is reopened for the new job.
As Many as Possible
3-9
Table 3-4 outlines the menu items and tools available to manage the download.
Table 3-4 Download Menu Items Selection Names Download Descriptions and Settings Initiates a download. Invoking this option causes a several events to take place: The personal repository sends a download request to the host migration server with the object names, object types, and export types (i.e. Full Hierarchy, Entity Only, etc.). The host migration server submits a migration batch job with the download list of objects to seed the host migration export. Once the batch job is submitted, the migration server can accept other requests. The status dialog is displayed showing the status of the job until it is complete. Closure of the status dialog box does not affect the progress of the job once it is submitted, the host is simply not queried for a status until the status dialog box is opened again. While the status dialog box is open, the host is queried for job status every <n> seconds as specified in the entry field of the status dialog box. Once complete, the host migration files and log files are retrieved from the host migration server to the download directory. This option is administered in the Personal Repository Manager using the FTP Directories menu option. The objects are then migrated into the Personal Repository with the UOW disabled. Imported objects are compared against objects that reside in the UOW. Matching objects are removed (refreshed) from the UOW. Opens or loads a host migration *.DETAIL file as a reference to automatically query and load entities into the download window. A host migration DETAIL file is a member of the log files retrieved from the host after upload/download operations. It can be found in the temporary FTP directories used for these operations. Makes Freeway Explorer the active window. Closes the download window. Closing the download or upload window does not affect the status of any submitted download or upload jobs. Displays the host properties, codepages, and TCP/IP information of the Personal Repository that the user is logged into in read-only format. (Administered by the Personal Repository Manager.) Changes the userID and/or the password for the download session. Invokes the same dialog box that is presented when opening an upload or download window for the first time. Displays the current host log files that exist in the download directory on the workstation. Removes the selected objects in the personal repository download list. Changes the scope of the selected object in the download list. All queried objects, when loaded into the download window, have a default scope type of Full Hierarchy. This option allows the scope to be changed on the selected object. It can be used on multiple objects as well. Opens the Query dialog box. The Query dialog box is used to load objects into the download window. The download window does not maintain a list of these objects after it is closed. Menu Items File
Load Detail
Repository Security
Query
Query host...
3-10
Table 3-4
Download Menu Items (Continued) Selection Names All or Nothing Descriptions and Settings Informs the Personal Repository to abort the process if any failures happen during the migration import. Prohibits import of any objects if a failure occurs. Informs the Personal Repository to import as many objects into the repository as possible and ignore errors on independent objects. Successfully imports are committed.
As Many as Possible
Replace on Import
Always - the migration import of a download always replaces objects. Never - the migration import always merges without replacing objects. Prompt - prompts user to select the desired operation after the
download and just prior to the migration import.
Refresh Unit(s)
Always - the UOW always refreshes after the migration import of a download. Never - bypasses the refresh of the UOW after the migration import. Prompt - prompts user to choose the desired operation after the download and just prior to the migration import.
Refreshes contents of repository session with updates. Sets the PC (<AppBuilder>\<lrename.ini>) job status to inactive. The personal repository status of the submitted job is reset. No status checks are invoked until another upload or download is submitted and the status dialog is reopened for the new job. Allows you to do downloads of hierarchies with no source (rule source, text, keyword) updates. Refreshes a hierarchy (entities and relationships) without overwriting any source files that you are currently working on.
Import Source
Figure 3-10
2.
Select one of the DETAIL files from the list that displays (Figure 3-11).
3-11
Figure 3-11
3.
The Load Detail File window opens and asks you to confirm that you want to begin a query (Figure 3-12). Click Yes to start the query, or No to cancel the operation.
Message Dialog
Figure 3-12
4.
An automatic query begins and the entities contained in the selected DETAIL file are loaded. All AppBuilder entities logged as updated or created in the host import IMPORT.DETAIL file are included. The *.DOWNLOAD.DETAIL host export file lists all the entities as exported in the list. You can edit the DETAIL file with any standard text editor. To reduce the number of entities that automatically load, select and delete the unwanted entities from the list. Save the file after you have modified it for later use. The resulting edited and saved DETAIL file can be reused for batch purposes.
Removing your modified DETAIL file from the FTP directory ensures that future upload/download operations will not overwrite the file. You can also rename the file, however, the extension must use the .DETAIL filename extension; for example, MYGROUP.DETAIL.
5. 6.
Note
3-12
operation therefore the host connection remains established until the query is complete. A maximum of forty (40) objects is returned per host query. If the desired object is not in the returned list, the user must further qualify the name of the object. The More button queries and displays the next forty objects. Figure 3-13 shows the Remote Query dialog.
Figure 3-13 Remote Query Dialog
Procedure - Populating the Download window To move desired objects to the Download window: 1. Select one or more entries in the Object instances.
Multiple objects can be selected by holding the CTRL key while clicking on objects in the list.
Tip
2.
Click Load. This populates the Download window with the selected items. Each time the Query dialog is opened, the object type will be set to the last queried type.
3-13
2. 3.
Enter the userID and password. Click Ok. Select View > Host Properties. Verify that the host-connection parameters are correct. If any are incorrect, use the Personal Repository Manager to change them.
4.
Select Query > Query host to open the Remote Query dialog. Fill in the object type and query value (optional) in the Remote Query dialog.
5. 6. 7.
Click the Query button to query the host repository. Select the desired objects from the Object Instances list box and click Load. Remove objects from the download list by selecting them in the download window and choosing the Selected > Remove items menu item.
3-14
8.
Set the download scope for each object in the migration import into the local repository in the same manner: Select Options > All or Nothing to specify that all objects must be imported successfully and failure aborts the import. Select Options > As Many As Possible to require that the personal repository attempt to import all objects and failures do not abort the import. Select Options > Import Source to do downloads of hierarchies with no source (rule source, text, keyword) updates and refresh the hierarchy (entities and relationships) without overwriting any source files. For an explanation of these options, see Controlling Concurrency on page 3-20.
9.
Once the download scope and download mode are specified for all entities, select File > Download to initiate the download. After a short pause, the Job Status dialog, (Figure 3-16), appears.
10. Change the time interval used to query the host server for the status of your job or click Cancel and close the Download window. The Download window (Figure 3-14), displays the objects selected in the Query dialog box. You can perform several actions after the objects are loaded: Remove objects from the download list Select the download scope for each object Select the download mode Perform additional queries
Selecting Scope
Scope defines the set of objects developers have access to in the repository. To configure the download scope, select an object and choose Selected> Change Scope. Figure 3-15 shows the dialog that contains the options used to define the scope.
Figure 3-15 Download Entity Scope Types Dialog
3-15
Prepare entity
One level
Drawing
For more information on object scopes, see the Workgroup Repository Reference Guide.
3-16
Figure 3-16
Note
To cancel the download job, select Options > Clear job status. This clears the job on the local machine. When the download is completed, the host Log files are displayed. View these logs by selecting View > Log files.
Uploading Objects
Use the following procedure to upload objects from the Personal Repository: Procedure - Uploading Objects 1. 2. 3. Open the Upload Window. A prompt for a host userID and password is displayed. This userID and password are used for authentication on the host. Enter the host userID and password. Click Ok. Select View > Host Properties Verify that the host-connection parameters are correct. If any are not correct, use the Personal Repository Manager to change them. 4. 5. 6. 7. The Upload window opens and displays all the changed objects. To refresh the object list, select View > Refresh from the menu. To view or modify the properties of an object in the window, highlight the object and select the Selected > Properties, or double-click on the object. Select an upload mode prior to starting the upload. The upload mode specifies the criteria for the migration import into the host repository. Select one of the following: Options > All or Nothing to request that all objects be imported successfully and a failure aborts the import. Options > As Many As Possible to specify that the host repository attempt to import all objects and failures do not abort the import.
3-17
8.
To initiate the upload, select File > Upload or click on the Up arrow icon. After a short pause, the Job Status dialog box appears. See Figure 3-16 on page 3-17 for an example of the Job Status dialog box. Change the time interval used to query the host server for the status of your job, or simply cancel out of the dialog box and close the Download window.
9.
3-18
FTP Authorization
FTP security must be setup in RACF for each user with access to the TCP/IP server because FTP is used to send all migration files. All users of the TCP/IP migration server must have access to FTP. To check security validation on the client, first ensure that the user can connect to the intended server via FTP. If this access check fails, all services are denied, including services that do not use migration files.
Repository Authorization
For access to a repository, permissions must be set to at least one project within the version of the repository being accessed. If the user does not have permissions set in advance, all service requests are denied. Security is checked upon each service request. This is necessary because you can change the target repository with each call. The security check is based on two criteria, the repository and the command.
Surrogate Authority
Surrogate Authority is granted to a user who starts a migration job and wants to submit other migration jobs using a different userID. The system administrator grants the user surrogate permissions. The authority can later be disabled by using an INI variable [USEPASS] in the @server INI. If the USEPASS is set to n, the password can be viewed in the log file.
Warning
Surrogate authority in RACF must be setup so that the administrator ID can submit jobs on behalf of the userID and password sent by the Windows NT or Windows 2000 client machine.
DB2 Authorization
The query facilities DBRM are bound with the plan for each repository activated for the TCP/IP migration server.
3-19
Checking Regression
IBM TCP/IP: Performance Tuning Guide Document Number: SC31-7188-01 Or find it at the IBM web site at http://www.s390.ibm.com.
Checking Regression
Regression checking is performed by evaluating the change number of a given object in the repository compared to the change number present in the migration files. If a repository objects change number is equal to or greater than an updated object in a migration file, it indicates that the object has been updated since download.
Controlling Concurrency
It is advantageous in most development environments to have the capability to perform concurrent imports and exports by different users in a repository. Setting the UOW to the parameters All or nothing or As many as possible can be used to control concurrency based on the number of users accessing a given repository and version. This option also sets limits using DB2 resource locking limits and the implementation of row locking at a given site. The All or nothing setting is the same as an Analyze/Import running with a commit count of zero. The entire UOW must be successful or all changes are rolled back. The As many as possible setting is the equivalent of running an Analyze/Import job with a commit count of one.
Debugging a Migration
Notification of errors and bugs is sent to the client via TCP/IP or FTP in the Informational, Warning and Error messages. These messages are displayed and exist for all repository services. Tracing and logging are performed by both the method handler and migration jobs. This information is available via the JES output of the job in question.
3-20
LRE_FTP.trace
LRE_FTP.trace details the application logic flow of FTP commands used during upload and download and provides the return codes for the FTP calls. It also contains the information of the codepages, filenames, and the retrieval/placement location of those files used for the FTP process.
LRE_SOCKET.trace
LRE_SOCKET.trace details the messages being passed back and forth between host and client before and after the FTP process is initiated. In the LRE_SOCKET.trace file, entire messages are displayed, however, passwords are kept secure using a "*" naming convention. Each file is appended to, not overwritten, when an upload or download is initiated. The files need to be manually deleted.
3-21
The host repository can only accept a four(4) character project name from the Windows NT/2000 personal repository.
3-22
CHAPTER
PERFORMANCE TUNING
This section provides specific directions for improving the performance of the AppBuilder Personal Repository. Topics include: Understanding Repository Performance Tuning for Optimal Performance
4-1
Note
4-2
Performance Tuning
To change the interval time during the download: 1. 2. Change the interval value in the dialog window that is displayed during the download process. Press the new value during the download.
Note
4-3
Figure 4-1
Note
4-4
Performance Tuning
Figure 4-2
Upgrading Performance to 800Mhz processor with 512Mb RAM in the Configure Database Window
Warning
Once a personal repository has been performance-tuned on a specific machine, it may encounter problems if restored to a machine with lower hardware settings. For example, Machine A is a system with 800Mhz and 512M RAM that has tuned the personal repository and archived it. If Machine B, with only 450Mhz and 256M RAM is given that archive, it may not be able to restore the personal repository.
4-5
Note
For empty personal repositories where it is not necessary to track the UOW, it is recommended that the value be set to Never.
Prompt causes a dialog box to be displayed when the files have been moved via FTP from the host and prior to the import, therefore it requires user intervention and will not run from request to import unattended.
4-6
Performance Tuning
Index
INDEX
AppBuilder 2.1.0 Personal Repository Administration Guide
Symbols
(E) error 2-5 (I) information 2-5 (W) warning 2-5
Copying a Personal Repository 2-10 code sample 2-10 Create Using 2-4 Personal Repository File 2-4 Working Directory 2-4 CRSRVJCL Create server JCL 3-3
A
All or nothing setting in concurrency 3-20 Always download/refresh option 4-6 Analyze/Import migration services 3-4 performance 3-19 results handling 3-20 Analyze/Import service 3-3 AppBuilder Restrictions 3-21 archiving personal repository 2-8 As many as possible setting in concurrency 3-20
D
DB2 Authorization 3-19 DB2/UDB increasing number of databases 2-2 DEFAULT.LRE 2-4 Definition of scope choices 3-16 development security 1-3 DOWNLOAD methods use outside migration server 3-21 Download definition 2-15 Download and Upload definitions 2-15 Download Directory 2-13 Download Entity Scope Types sample 3-15 Download Menu Item File 3-10 Load Detail 3-11 Options 3-11 Query 3-10 View 3-10 Download Time factors affecting 3-16 Download Window 3-9 menu items 3-10 sample 3-9 Download/Refresh table of value options 4-6 use in selecting object tracking 4-6 downloading entities from a mainframe 3-11 Drive Paths Section 2-9
C
check box for ignoring up/download 2-12 client tools check box 2-12 codepage configuring 2-7 conversion between repository and host 2-7 ICU support 2-7 settings 2-7 Concurrency in imports and exports 3-20 configuration settings improving performance 4-1 configurations 2-7 Configure option 4-3, 4-4 Configure Performance 4-2 Connect via 1-5 Connection alias 1-5
E
EMPTY.LRE 2-4 Enterprise Repository 1-2 Entity Only migration setting 3-16 Error Handling and Debugging 3-20 Export migration services 3-4 performance 3-19 results handling 3-20
Host Name 2-12 Port Number 2-12 Timeout 2-12 HPS.INI 4-2 setting for FTP transmissions 2-7
I
iconv support 2-7 ICU International Components for Unicode 2-7 International Components for Unicode 2-7
F
Freeway Client Configuration 1-7 Freeway Explorer 3-4 user interface 2-15 Freeway Manager 1-5 Freeway Repository 1-2 FTP application logic flow trace files 3-21 Authorization 3-19 codepage transmissions during 2-7 controlling host migrations using trace files 3-21 Directories 2-12 File Transfer Protocol 2-12 migration file transfer 3-4 migration return codes using trace files 3-21 preventing unnecessary traffic 4-2 server access requirements 3-19 trace file to manage messaging 3-21 using default directories 2-13 FTP Address migration services 3-4
J
Job Status Dialog Window 3-17
L
Level Migration Export functionality 2-8 Load Detail option 3-11 local repository 1-5 Log file definition 2-13 error messages 2-10 log file display during Create 2-5 logging of errors 3-20
M
mainframe repository 1-2 Mainframe Repository Properties 2-11 example 2-11 Messages Error 3-20 Informational 3-20 Warning 3-20 Method Handler functionality 3-3 migration automated 2-15 Migration Server 3-2 Analyze/Import (Upload) service 3-4 Export (Download) services 3-4 FTP address service 3-4 migration process 3-2 purpose 3-1 Query Repository services 3-4 role in service requests 3-2 services list 3-4 Shutdown services 3-4 Status Query services 3-4
G
Geneva Repository Options 1-2 Group 1-4
H
host migration server codepage requirements 2-7 Host Properties TCP/IP Parameters 2-12 Host Repository Parameters 2-12 Project 2-12 Repository Name 2-12 Version 2-12 Host TCP/IP Settings Codepage 2-12 Codepage Host 2-12 Codepage PC 2-12 Codepages Section 2-12
ii
migration times improving 4-1 Multiple Personal Repositories 1-3 MVS Server Security Requirements 3-18 MVS TCP/IP Migration Server 3-2
N
Never download/refresh option 4-6 NT/UDB-based development environment 4-1
Configuring UDB Using an 800MHz processor with 512 Mbyte RAM 4-4 copying a Personal Repository 2-10 Evaluating Disk Utilization 4-2 restoring a Personal Repository 2-10 procedure increasing available databases 2-2 populating the Download window 3-13 Project 1-4 Prompt download/refresh option 4-6
O
Options menu download functionality 4-6
Q
Query Dialog Box 3-12 Query Repository migration services 3-4
P
Parameters for connection alias 1-5 Password 2-9 Performance Implications 3-19 Performance tab 4-3, 4-4 Performance Tuning Recommendations 4-2 Personal Repository 1-2 archiving 2-8 as a local repository 1-2 asynchronous downloads 4-1 Codepage Configurations 2-7 copying 2-10 definition 1-5 deleting 2-10 filename extension 1-2 Freeway Explorer Interface 3-4 functionality 1-5 improvements 4-1 limitations 1-3 multiple 1-3 purpose 1-3 restoring 2-10 set-up 2-1 storage function 1-2 user access to the repository 1-3 Procedure Changing the Interval time during the download 4-3 Configuring NT Pagefile Size 4-5 Configuring the Download/Refresh Option for Download Processing 4-6 Configuring the Host Query Interval for Downloads 4-2 Configuring UDB Database for Memory Usage 4-2 Configuring UDB Using a 450 MHz processor with 128 Mbyte RAM 4-3
R
RACF 3-19 effect on debugging 3-21 relative to surrogate authority 3-19 Regression Checking 3-20 Relationship between projects, groups, and users Project Hierarchy window 2-6 Remote Query Dialog Box sample 3-13 Repository Actions 1-5 Commit session 1-6 Connect 1-5 Delete 1-6 Disconnect 1-6 New 1-5 Rollback session 1-6 Repository Administration 1-4 Repository Authorization 3-19 repository set up 2-3 Restoring a Personal Repository 2-10 Results Handling 3-20
S
Scope types definition 3-15 Security 1-3, 3-19 Security Model components 1-4 description 1-3 security restrictions 1-3 Server name 1-5 Service name 1-5 setting trace files 3-21 setting up a Personal Repository 2-3
Index
iii
Shut Down migration services 3-4 Sockets (Winsock) controlling messaging using trace files 3-21 Status Dialog Box 3-13 Status Query migration services 3-4 Store Archive in drive paths 2-9 Surrogate Authorization 3-19
USEPASS surrogate authority command 3-19 User 1-4 User ID 2-9 User Section archiving 2-9
W
Working Directory drive paths 2-9
T
TCP/IP how services work 3-4 TCP/IP communication protocol in the migration process 3-2 TCP/IP Migration Server administration 3-3 role in service requests 3-2 TCP/IP tuning 3-19 trace files to track upload and download operations 3-21 Tracing JES output 3-20
U
UDB control center 4-4 restarting after changes 4-4 Unit Of Work migrations 2-14 Unit of Work (UOW) Migrations 3-18 UOW 2-14 automating a migration 2-14 client-side settings 3-20 purpose of migration process 2-14 tracking objects 4-6 UOW Migrations 3-18 UPLOAD methods use outside migration server 3-21 Upload definition 2-15 Upload Directory 2-13 Upload Menu Item File 3-8 Options 3-9 Selected 3-8 View 3-8 Upload Window 3-6 menu items 3-8 Uploading migration files 3-4 Uploading Objects 3-17
iv