Introduction

CA Gen enables application development on Windows workstations and supports application deployment to integrate multiple platforms on z/OS (CICS and IMS), UNIX, Linux, Windows, .NET and J2EE.

CA is Computer Associates. And CA Gen is one of their product.

37) What are some Performance Considerations while modeling in GEN, COOLGEN, CA-GEN ?



37) What are some Performance Considerations while modeling in GEN, COOLGEN, CA-GEN ?

Two tips.


· Use denormalization and extended READs (READ several entity views at a time) rather than collapsing entity types together to improve retrieval performance when entity types are joined by a relationship that allows denormalization.

· Try to stabilize your Data Model as much as possible before performing action diagramming.  This reduces the likelihood that an attribute has been or will need to be added which should have been a foreign key from a relationship.  It also reduces the likelihood of attribute movements or identifier changes.  This can cause integrity issues or require you to change your action diagrams.


36) How does GEN implements Maximum Number of Attributes



36 )  How does GEN implements Maximum Number of Attributes


· Each DBMS has limits on the number of columns, identifiers, and foreign key columns.  Your specific DBMS documentation lists the maximum values for numbers of columns, tables, joins of views, and other values.  GEN, COOLGEN checks the number of identifiers, attributes, and so forth against DBMS limits only during generation.

35) What are properties of entity type and attribute in GEN ? CoolGen, CA GEN



35) What are properties of entity type and attribute in GEN ? CoolGen, CA GEN


Every entity type and attribute in the Data Model has a Data Structure Definition (DSD) name, which is used for record, table, field and column names in the database structure as defined by the Data Structure List and Data Store List.  If you do not specify DSD names for your entity types and attributes, the entity type and attribute names from the Data Model are used by GEN as DSD names.

· Entity type names, attribute names, and DSD names may each be up to 32 characters in length.  However, table names and column names for generated DDL are limited to 18 characters.During Transformation, a table name or attribute name is derived from the DSD name and is referenced for records and fields in the Data Structure List.  To create the derived name from a DSD name, GEN will:

-Truncate the DSD name, if it is too long

-Add numbers as necessary to ensure uniqueness if the truncated name is not unique

-Add numbers to the name if it is reserved wordGEN does not allow special characters in entity names.  National language characters are supported in both entity names and DSD names.

· If no DSD name is specified for an entity type, the record and table are assigned the entity type's name.You can modify the record name, table name, or attribute name in the Data Structure List without affecting the DSD name in the Data Model.

· During database Transformation of an entity type, the record implementing the entity type is assigned the entity type's DSD name, if one exists, with length and reserved word checking.

· Avoid using Database Management System (DBMS) and target language reserved words for entity type or attribute names.  If you use a DBMS reserved word in the Data Model, GEN changes it during Transformation.  DBMS reserved words are checked again during Data Definition Language (DDL) generation and during code generation, since you may install on multiple platforms with the same database structure.  If the database structure is changed after Transformation, the change(s) are not used in Retransformation unless the Data Model is also changed.

· Other entity type properties describe the estimated number of entities and the anticipated increase in that number (growth rate).  GEN uses the volume and activity measurements to calculate dataset sizes during database Transformation.  Use anticipated sizes for production during data analysis.  Generated DDL may be adjusted to reduce space for testing.For related information, refer to the section on Transformation Calculations in the chapter Database Design.


34) What is difference between GEN conceptual and physical model



34) What is difference between GEN conceptual and physical model



Conceptual Versus Physical Model

One of the initial steps in application development is to build the Data Model, a conceptual model of your business from a data perspective.  When satisfied with the conceptual model, request Transformation (a selection in Design).  This creates a Data Structure List and Data Store List, a physical model of a database based on the Data Model.

· The detailed logic specifications for processes and procedures built with the GEN software refer to the Data Model (conceptual) rather than the Design specifications.

· GEN allows optimizations of the database structure (denormalization and adding of indexes) that do not change the meaning of the Data Model.  Use the Data Structure List to perform database optimization.

33) How to checkout a Cool Gen model, download a model



33) How to checkout a Cool Gen model, download a model

I. Steps Checkout a Model.

A. Preparation of Checkout
B. File Transfer
C. GEN  Model 

II.   Preparation of Checkout

A.  Online Process:  Using Host Encyclopedia 

Note:  Your subset definitions must be complete before continuing.

1.  Sign onto the host.
2.  Select "I" for GEN 
3.  Press "Enter" to continue
4.  Select "1" for Host Encyclopedia Functions
5.  Select "4" for Subset Management
6.  Select "13" for Download Subset
7.  Fill in the following screen (choosing the Model and Subset you want to download)
Note:  Software Version is 9.0.A2
Codepage is 1252 
8.  Press Enter to continue (If Online is selected the download will tie up your TSO session.  Select Batch to create JCL that can be submitted)
9.  If done online or batch it should take about 7 minutes for a 6 megabyte subset.  (Wait until complete.  This process creates the ief.tran file.)
 
 
 III.   File Transfer
Definition of Transfer facility:  TCP/IP (Transmission Control Protocol and Internet Protocol) is a communications protocol for exchanging information between computers and processes.  TCP/IP protocols are used on the Internet, Intranet, and many other private networks throughout the world. 

TCP/IP is an open standard intended to be hardware independent, supporting communications between any two computers, over any type of network.  For two computers to communicate they must each be running TCP/IP, each connected to a TCP/IP network (the same network, or networks that can communicate with each other), and with each computer authorized to accept communications from the other.


A.  Use FTP to copy ief.tran file to PC

Online:  

1. Open command prompt
2. Change directory to your subset directory.  Use the MD command to create the directory if it does not exist.  (i.e. MD SUBSET.IEF)    [note:  you can make this meaningful to what you are working on]

3. Type FTP SERVERNAME
4. Enter User ID
5. Enter Password
6. Type binary     
7. Note:  Important.  If not binary, when you make local the model you will receive a model scheme error. 
8. Type Get ief.tran  checkout.trn
9. Transfer statistics will be displayed upon completion.  
10.  Type quit, then exit.


IV.  GEN  Model 
 

 
1. In the GEN  Toolset select "Model"
2. Select "Encyclopedia"
3. Select "Check Out a Model"
4. Fillin in the Model Name, Subset and Local file name
5. Uncheck "Perform file transfers for encyclopedia options
6. Select OK





38) Explain GEN Subtype entity ? How it works?


38) Explain GEN Subtype entity ? How it works?

· When a parent entity type which includes subtypes is transformed, the parent entity type with its subtypes becomes one physical table.  All attributes defined within each subtype become optional columns on the table.   

· A subtype is sometimes promoted to an entity type in the Data Model for performance considerations.  An analysis of the impact of the subtype versus separate entity type should be done early in Analysis to avoid rework in action diagramming, database implementation, and data mapping from other systems.

· A promoted entity has a one-to-one relationship with the original entity with the following characteristics:

-The relationship is optional on the side of the original entity.

-The relationship is mandatory on the side of the promoted entity.

-The relationship is the identifier for the promoted entity.

-The relationship is mutually exclusive with any other relationships from the main (original) entity to other promoted subtypes from the same partitioning


Promoting Subtypes

· Involve your Database Administrator (DBA) in your discussions about whether to promote subtypes.  Your DBA should understand many of the factors to be considered in such a decision, which include such things as saving storage space, expending more processing time, impact on existing work, and the complexity of the proposed implementation.Use of subtypes can increase disk storage space with a consequent effect on I/O.  This is particularly true if the subtype represents a small portion of the occurrences of the parent entity type, as there will be wasted DASD for the empty columns.  The columns will contain either blanks or spaces.  This results in fewer occurrences of a single parent entity type on a data page, which increases I/O because more pages have to be READ to retrieve the data.  This effect may be minimized by the use of compression routines.

· You can use a third party vendor's compression routine (EDITPROC) to reduce the amount of disk space used.  There is some processing overhead associated with this.

· Promote subtypes to high-level entity types when faced with DBMS columns-per-table limitations, or concurrency or storage problems.

· Deciding to implement entity subtypes depends on how sensitive the installation is to wasted disk space versus increased I/O, additional INSERTs and DELETEs to create both parent and subtype rows in one table, and the access patterns for use of subtype predicates with or without parent predicates.  (Access patterns here means the answers to questions of access volume, required response times, and so forth.)Use of a subtype adds rows to a record.  This causes additional INSERTS and DELETEs in the database.  It also means additional INSERT and DELETE statements must be added to the action diagram.

· Not all subtype constraints are enforced by the code generator.  Relationships defined at the subtype level are always optional at the parent entity type level, and are only mandatory if they are against an occurrence of the subtype's type.

· Consider the effects of concurrency and reorganization and recovery administrative tasks when deciding to promote subtypes.



Subtype Views

· Attributes in the subtype can be referenced in views of the entity type or view of the subtype.  If you do not reference subtype attributes, you do not need a subtype view or the classifier.  If you do reference subtype attributes, you should reference the classifier.

· Subtype identifiers are defined to distinguish occurrences of the subtype from one another.  The indexes built for them in the Data Store List are defined as non-unique since the index will be on a table supporting all occurrences of the supertype (parent entity type).  Since identifying predicates must be static and classifying attributes do not have to be, using the classifier to make the subtype identifier unique is usually a poor choice.Put one identifier on the high level entity type (parent entity type).  Add indexes in the Data Store List as needed to enforce uniqueness constraints deemed important enough to warrant the additional index.

· An entity view cannot be matched to an entity subtype view.  View matching, and reuse of process and common action blocks, is more difficult if the same data is sometimes in an entity view and some times in an entity subtype.

· You should not have views of subtype attributes unless you also have views of the classifying value.  Test the classifier to see that the subtype attributes are valid.


· If you build a view of a subtype, the generated SQL SELECT for READs of that view automatically gets the classifying value added to the WHERE clause.

32) Gen Data Model Notation vs. UML Type Model notation



32)

What is the difference between Gen Data Model Notation vs. UML Type Model notation.

See pictures. First one is GEN model notation. Second is UML model notation.