App Builder Deploying Applications

Embed Size (px)

Citation preview

  • 8/14/2019 App Builder Deploying Applications

    1/150

    BluePhoenix AppBuilder 2.1 .0.

    Deploying Applications Guide

    http://www.bluephoenixsolutions.com/
  • 8/14/2019 App Builder Deploying Applications

    2/150

    BluePhoenix AppBuilder 2.1.0.Document TitleApril, 2003

    Corporate Headquarters

    BluePhoenix Solutions

    Vlierwerf 7B4704 SB RoosendaalThe Netherlands+31 (0) 165 399 401+31 (0) 165 396 308 fax

    USA Headquarters

    BluePhoenix Solutions USA, Inc.8000 Regency ParkwayCary, NC 27511United 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 namesmentioned herein are for identification purposes only and are the property of, and may be trademarksof, 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 furnishedunder a license agreement. Neither the software nor this document may be copied or transferred by anymeans, electronic or mechanical, except as provided in the licensing agreement.

    BluePhoenix Solutions has made every effort to ensure that the information contained in this documentis accurate; however, there are no representations or warranties regarding this information, includingwarranties of merchantability or fitness for a particular purpose. BluePhoenix Solutions assumes noresponsibi li ty for errors or omissions that may occur in this document. The information in thisdocument is subject to change without prior notice and does not represent a commitment byBluePhoenix Solutions or its representatives.

    http://www.bluephoenixsolutions.com/http://www.bluephoenixsolutions.com/
  • 8/14/2019 App Builder Deploying Applications

    3/150

    AppBuilder 2.1.0 Deploying Applications Guide 1

    TABLE OF

    CONTENTS

    Table of Contents

    AppBuilder 2.1.0 Deploying Applications Guide

    1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

    Related Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

    Deployment Terminology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2What is a Standalone Application?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2What is a Distributed Application?.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3What is a Configuration?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

    What is Preparation?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

    2 Conf iguring the Applicat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1

    Sett ing Project Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Selecting Standalone Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3Selecting Distributed Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

    Using the Configuration Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5

    Adding Objects to the Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6Using the Hierarchy Objects Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6Understanding Hierarchy Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6

    Using the Insert Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Adding an Application Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7

    Adding a Partition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8

    Building a Partit ion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9Sett ing Part it ion Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10Associating Physical Machines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11Configuring for Remote Mainframe Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12Adding a Process Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14Adding Rules to a Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15Adding a Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16

    Using the Project Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17

  • 8/14/2019 App Builder Deploying Applications

    4/150

    2 Table of Contents AppBuilder 2.1.0 Deploying Applications Guide

    3 Preparing the Applicat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

    Understanding Preparation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2Knowing Ways to Prepare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2Meeting Java Preparation Prerequisites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3Avoiding Common Mistakes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3Preparable Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4Generated Output Language. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6

    Preparing an Application (in theHierarchy Window) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7From the Configuration Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7From the Project Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8From the Repository Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

    Preparing Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9

    Using Advanced Preparation Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11

    4 Workgroup Repository Rebui ld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1

    Rebuild Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1Enabling a Group Repository for Rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1Rebuild Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2Rebuild Functionality Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

    Using Rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12Rebuilding from a Partition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12Rebuilding from an Application Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13Sorting the Rebuild Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14Saving the Rebuild Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15Running a Rebuild or Rebuild Report Using the Active Configuration. . . . . . . . . . . . . . . . . . . . . 4-15Mark All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15

    5 Preparing to the M a inf rame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1Using Supported Enti ties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

    Installing and Configuring the Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

    Configuring the Partit ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

    Sett ing the Workbench Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

    Preparing the Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4

    Seeing the Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5

    6 Packaging the Applicat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1

    Handling a Standalone Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2

    Handling a Thin Client (HTML) Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2Finding the Generated Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3Finding the Archive File and Deployment Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5Creating Database Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6Assembling and Deploying the Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6

    Handling a Java Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7

  • 8/14/2019 App Builder Deploying Applications

    5/150

    Table of Contents 3

    Handling a Windows Client/Server Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-7Finding the Generated Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8Deploying the Client Side of an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-9Deploying the Server Side of an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-9

    Migrating Modules to the Mainframe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10

    7 Deploying Java on WebSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1

    Configuring the Ini tialization Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2

    Configuring the Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4Configuring for WebSphere 3.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4Configuring for WebSphere 4.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5

    Deploying the EJB Partition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6Deploying EJB on WebSphere 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6Deploying EJB on WebSphere 4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6

    Updating the Thin Client Archive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7

    Deploying the Partit ion for Thin Client and WebServices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7Deploying Partition on WebSphere 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8Deploying the Partition on WebSphere 4.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-9

    Testing the Deployed Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9Testing Thin Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9Testing EJBs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10Testing Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10

    8 Deploying Java on WebLogic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1

    Configuring the Ini tialization Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2

    Configuring the Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4

    Deploying the EJB Partition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4Configuring for EJB Deployment in WebLogic 5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4Configuring for EJB Deployment in WebLogic 6.0 or Higher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-4Deploying EJB in WebLogic 5.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4Deploying EJB in WebLogic 6.0 or Higher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6

    Updating the Thin-Client Archive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7

    Deploying the Partition for Thin-Client and Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7Deploying the Servlet Part it ion for WebLogic 5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8Deploying the Servlet Part it ion in WebLogic 6.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8

    Testing the Deployed Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9

    9 Execut ing the Applicat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1

    Extracting the Web Archive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2

    Customizing the Initialization Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2Setting Thin-Client Execution Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2Setting Web Service Execution Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3

  • 8/14/2019 App Builder Deploying Applications

    6/150

    4 Table of Contents AppBuilder 2.1.0 Deploying Applications Guide

    Configuring for Thin Client Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3Creating an Alias (or Context) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3Creating a Start Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4Configuring the Web Client Session Cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4Setting Client Authentication with HTTP Cookies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5Using Remote Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5Specifying Character Encoding for MLS Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5

    Recreating the Archive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6

    Executing an Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6Executing from the Construction Workbench. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6Executing from the Start Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6Executing from the Command Line.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7Executing a Java Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7

    Setting up RMI Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12

    Invoking an AppBuilder Web Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13AppBuilder Web Service XML Schema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13Sample Schemas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14

    AppBuilder Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17Third-Party Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18Running the Sample Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18Invoking an AppBuilder RMI Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19

    Understanding Execution Differences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19ObjectSpeak Event Differences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-20ObjectSpeak Property Differences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21ObjectSpeak Method Differences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-22Differences Between Java and C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-22

    Using Date Completion Shortcuts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23Date Completion Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23Sample Date Completions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23

    10 Deploying Java on Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1

    Configuring the Init ialization Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1

    Updating the Thin-Client Archive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3

    Configuring Tomcat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3

    Testing the Deployed Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4Testing Thin Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4Testing Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5

    11 Troubleshooting Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1Resolving Part it ioning Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1

    Resolving Packaging Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2

    Resolving Communication Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3

    Resolving Execution Problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3

  • 8/14/2019 App Builder Deploying Applications

    7/150

    Table of Contents 5

    Using System Rule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5

    A Supported Conf igurat ions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-1

    Thin-Client (HTML Client with Servlet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-1

    Java Client on a Departmental Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-2

    Windows Client/Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-3

    Traditional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-4

    B Sample Distributed Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B-1

    Migrating Sample Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B-2

    Building Distr ibuted Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B-2

    Deploying Application Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B-4

    Running Sample Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .B-5

    C Command Line Rules Execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-1

  • 8/14/2019 App Builder Deploying Applications

    8/150

    6 Table of Contents AppBuilder 2.1.0 Deploying Applications Guide

  • 8/14/2019 App Builder Deploying Applications

    9/150

    AppBuilder 2.1.0 Deploying Applications Guide 1-1

    CHAPTER

    1

    INTRODUCTION

    AppBuilder 2.1.0 Deploying Applications Guide

    After you have designed and developed an application, you are ready to discover the real power ofAppBuilder to generate and deploy the application that may execute on a number of differentenvironments. This guide explains how to configure, partition, prepare, verify, and deploy yourapplication in a multi-tier environment using AppBuilder. With the integrated tool suite of theConstruction Workbench, you can prepare files for a distributed application on remote clients andservers, from Windows machines to UNIX servers to mainframe hosts. This includes support forCOBOL, C Language, or Java, support for Web archive deployment and remote rule execution, and

    support for different execution modes (converse or event-driven). Your applications can use any of avariety of end-user interfaces: program group, pull-down menu option, or command l ine.

    This guide explains how to use the AppBuilder product to handle:

    Configuring the Application( including part itioning)

    Preparing the Application(including verification)

    Packaging the Application(for deployment on various machines)

    Deploying Java on WebSphereor Deploying Java on WebLogicor other application servers

    Executing the Application

    To help you get started with the deploying process, we have pointers to Related Material. Next, we beginby introducing some Deployment Terminology. For information on deploying parts of the applicationon a mainframe, refer to the enterprise documentation for migrating and preparing files.

    Prerequisites to using these procedures include basic application development experience and familiaritywith Microsoft Windows (either NT or 2000). We assume you understand distributed environments andare familiar with the concepts of distr ibuted applications, but may not know how to implement thesetypes of applications with the AppBuilder product. We assume that you are already familiar withdeveloping applications with AppBuilder using the Construction Workbench. If you are not famil iarwith these topics, refer to the Product Concepts Guideand theDeveloping Applications Guidebeforereading this one. For information on debugging the application, whether in C or in Java, refer to theDebugging Applicati onsGuide.

  • 8/14/2019 App Builder Deploying Applications

    10/150

    1-2 Introduction

    Related Material

    Related M aterial

    One of the key strengths of using AppBuilder is the ability to develop and deploy distributedapplications from a single workstation. With the Construction Workbench tool in cooperation with therepositor ies and mainframe tools, you can take an application and deploy it to remote clients and serversat several levels throughout your enterprise.

    For other basic concepts of distributed application development, refer to the Product Concepts Guide.

    For information about mainframe migration and preparation, refer to these documents:

    Enterprise Administration Guide

    Enterprise Development Guide

    Enterprise M igrati on Guide

    If you would l ike detailed information about the capabil ities of AppBuilder, you can also refer to theseother documents:

    Informat ion Model Reference Guide

    Rules Language Reference Gui de

    Workgroup Repository Admini stration Guide

    Personal Repository Admin istrati on Guide

    There is some setup required that is covered in the Install ation Guide for Windows(or platform you areusing). On desktop and workstation machines, you configure preparation and run-time hosts during apart of the installation procedure. There is also some setup described in the ConfiguringCommunications Guideto handle remote preparation at development time and to execute remoteprocedure calls (RPCs) and eventing applications at run time.

    Deployment Terminology

    There are many terms that are unique to AppBuilder and to enterprise-wide deployment. Before youcontinue with deploying an application make sure you can answer these questions:

    What is a Standalone Application?

    What is a Distributed Application?

    What is a Configuration?

    What is Preparation?

    What is a Standalone Application?

    When you begin to develop an application, you can work in standalone mode in the ConstructionWorkbench so that the generated files are put locally on your development workstation. This is theeasiest way to test the execution of the application or parts of the application. Applications developed asstandalone only run on the local workstation.

  • 8/14/2019 App Builder Deploying Applications

    11/150

    Deployment Terminology

    AppBuilder 2.1.0 Deploying Applications Guide 1-3

    What is a Distributed A pplication?

    A distributed application can be executed on multiple platforms on multiple machines at any of severaltiers throughout the enterprise while created on a single development workstation with AppBuilder.This can be done when you work in distributed mode in the Construction Workbench.

    The rules drive the application, and the windows they display to the end user function as vehicles forend-user input and output. A rule can take different actions based on input of an end user by means ofthe window controls. In a distr ibuted application, different rules can run on di fferent machines withdifferent platforms. Most of the objects and controls appearing in the windows are data linked to fieldsin the AppBuilder repository. That repository may be a local (personal) repository or one shared byothers on the network (group repository) or it may reside on the mainframe. The overall supportingorganization of repository objects is called an application hierarchy and is defined using the Hierarchywindow in the Construction Workbench. The application hierarchy is comprised of the applicationsfunction, processes, rules, windows, data views and fields, and so forth.

    What is a Configuration?

    Before an application can be deployed and executed, you must define within AppBuilder theconfiguration of the application. For a distributed application, configuration involves definingpartitions, the assignments of parts of the application to various clients and servers on various machinesin the network. A configuration is the way you specify how the application is to be deployed on specificmachines. The settings for a Project include whether the function is standalone or distributed, and ifdistributed, which configuration or set of configurations apply.

    What is Preparation?

    When you are done developing your application and defining the configuration, you can prepare your

    application for the execution environment wi th AppBuilder. Preparation is the collection of steps thattransform a humanly readable representation of actions and data into a machine-executable form. Youcan prepare client or server components for execution on diverse operating systems and machinesagainst diverse database management tools. As long as you have specified a valid applicationconfiguration and installed the necessary preparation software on target machines, the ConstructionWorkbench sends the generated code to the correct machine and compiles and links that code for theresident operating system of that machine.

  • 8/14/2019 App Builder Deploying Applications

    12/150

    1-4 Introduction

    Deployment Terminology

    Figure 1-1 Deployment scheme in a development environment

    In the Construction Workbench, you can prepare application objects from either the Project tab or theRepository tab of the Hierarchy window or, i f a distr ibuted application configuration is selected, you canalso prepare from the Configuration tab of the Hierarchy window. Remote preparation allows theobjects you have selected to be prepared on the machine or machines on which they are executed, thusallowing you to develop on one machine and deploy on all the machines in the configuration.

    For Java applications, you can develop downloadable, thin-client Java applications that run on anyplatform that supports the Java vir tual machine (JVM). This guide provides the information to deployapplications on the Java Virtual Machine. For information on developing these applications or onconverting existing applications to generate Java client programs, refer to theDeveloping Applicati onsGuide.

  • 8/14/2019 App Builder Deploying Applications

    13/150

    AppBuilder 2.1.0 Deploying Applications Guide 2-1

    CHAPTER

    2

    CONFIGURING THE APPLICATION

    AppBuilder 2.1.0 Deploying Applications Guide

    In an AppBuilder application, the projectis the highest level of the application hierarchy; it contains thebusiness function and associated configuration(s) of the application. A functionrepresents the highestlevel business processthe purpose of the application. Functions contain groups of processes that sub-divide the application. A configurationis how the application is to be deployed on specific machines. Thesett ings for a Project include whether the application is standalone or distributed, and i f distributed,which configuration or set of configurations apply. Before deploying the application, you must definethe configuration of that application. Configuration involves defining parti tions, the assignments of

    parts of the application to various clients and servers on various machines in the network. Use partitionsto specify how the parts of the project are prepared (compiled). This section explains the procedures forconfiguring the application in the Construction Workbench and defining part itions using theConfigurationtab of the Hierarchy window. Configuration involves:

    Sett ing Project Options

    Using the Configuration Hierarchy

    Adding Objects to the Hierarchy

    Adding an Application Configuration

    Adding a Partition

    Building a Part it ion

    Using the Project Toolbar

  • 8/14/2019 App Builder Deploying Applications

    14/150

  • 8/14/2019 App Builder Deploying Applications

    15/150

    Setting Project Options

    AppBuilder 2.1.0 Deploying Applications Guide 2-3

    Selecting Standalone A pplications

    For standalone applications (those prepared and executed on a single workstation), select theStandalone applicationradio button in the By default, prepare assection of the Project Options dialog.A standalone application is any application that is intended to run only on one machine, independent ofthe rest of the network. This option also can be used for testing and debugging on your localworkstation.

    Figure 2-2 Standalone application options

    In that same dialog, select the application type (Java or Windows).Select the type and name of the database and i f there is security, enter the logon information.

    Include Mainfram e Rules

    When using an existing application that contains rules that execute on a mainframe and you want to

    prepare the entire application locally to test the business logic, select the Include Mainframe Rules.Thisallows you to prepare the application including those rules that usually get prepared on themainframe; however, certain rules, including mainframe database rules, cannot be prepared locally.If you deselect this choice, the system only checks the syntax of the mainframe rules (and provideswarnings) but does not prepare them.

    Click OKto accept any changes.

    For more information about standalone application development, refer to the Developing Appli cati onsGuide.

    Select the typeof application.

    Identify database,if used, and, if needed,the logon information.

    Select if you want to prepare

    the rules locally that would

    go to the mainframe or justcheck syntax.

  • 8/14/2019 App Builder Deploying Applications

    16/150

    2-4 Configuring the Application

    Setting Project Options

    Selecting Distributed A pplications

    For distributed applications, configure the logical servers and clients on which the application executesby part it ioning the application.

    Figure 2-3 Distributed appl icat ion opt ions

    Within the Construction Workbench the project must have a configuration that designates the clientsand servers of the system by defining them in partitions. Use the Configurationtab in the Hierarchywindow to define the application's configuration. You build the configuration hierarchy by addingobjects and defining the properties of these objects. A project may have several configurations.

    Select the Application Configurationfrom the drop-down list

    then select the partition from theavailable partitions of thatconfiguration.

  • 8/14/2019 App Builder Deploying Applications

    17/150

  • 8/14/2019 App Builder Deploying Applications

    18/150

    2-6 Configuring the Application

    Adding Objects to the Hierarchy

    This involves creating a configuration from scratch. To create a configuration from rules that alreadyexist in the repository, when you insert a rule, choose the rule from the Insert (Query) window by itsname in the repository. Click Insert.

    As you build the configuration and add objects, commit the changes to the repository. While you workon the configuration, the changes are not saved to the repository until you click File > Commit(or selectthe Commit button on the toolbar). When you commit, the entire set of changes are made to therepository, both for object properties and relationships between objects.

    Adding Objects to t he Hierarchy

    To add objects to the hierarchy in the Configurationtab, use one of these methods:

    Using the Hierarchy Objects Toolbar

    Using the Insert Menu(from r ight-click or f rom pull-down)

    Be sure you follow some basic instructions about the placement of objects in the hierarchy. Understanding Hierarchy Order

    Using the Hierarchy Object s Toolbar

    The Hierarchy Objects toolbar provides a method for quickly adding objects to your configuration.Within a project, you must first add a configuration.

    1. To display the toolbar, select View > Toolbarsfrom the Construction Workbenchmenu.

    2. In the Toolbars window, select theHierarchy - Objects toolbar and click Done.

    Figure 2-6 Hierarchy Objects toolbar (used with Configuration tab)

    Understanding Hierarchy Order

    An application configuration, as a collection of partitions, contains the information (and other objects)needed to prepare a distr ibuted application, to migrate it to a production environment, and toadminister the application at run-time on a part icular machine or machines. The applicationconfiguration defines where and how the application is deployed.

    Partition

    Application

    Configuration

    Machine File

    Database

    Process

    Server Rule

  • 8/14/2019 App Builder Deploying Applications

    19/150

    Adding an Application Configuration

    AppBuilder 2.1.0 Deploying Applications Guide 2-7

    Using the Insert M enu

    You can add objects to the configuration hierarchy by using one of the following methods:

    Right-click on an object type in the configuration hierarchy and select Insert.

    Select an object type in the configuration hierarchy and select Insertfrom the Construction

    Workbench.

    The contents of Insertmenu differs depending on the object in the configuration hierarchy selected.If the new object can only be inserted as a child of the selected object, then the command works as anInsert Child. I f the new object can only be inserted as a sibling of the selected object, the commandworks as an Insert Sibling. If the new object can be inserted as a child or a sibling, the operationspecified on theHierarchytab of theWorkbench Optionsdialog is tried first. and if it fails, then theother operation is tried. If the object can be created but cannot be linked as a child or as a sibling(perhaps because you do not have permissions to modify these objects), then the new object is insertedinto theRepositorytab.

    After you select an object type, an Insert (Query) window is displayed to allow you to select a specificobject from the repository. From the Insert window, query the repository or type in the name of an

    object. Click Insertwhen you have selected the specifi c object you want to place in the configurationhierarchy.

    Figu re 2-7 In ser t Men us

    Adding an Application Configuration

    Use the hierarchy objects toolbar or the insert menu to begin to create your configuration by insertingan application configuration object in the Configuration tab. This is the highest level object in theconfiguration hierarchy that can be inserted. There can be several application configuration objects andeach appears directly under the Project node in the hierarchy. You can define several differentapplication configurations to allow the application to be configured for deployment on several di fferent

    sets of machines in di fferent environments. These different configurations can be managed from oneproject in the configuration hierarchy.

    Menu for

    Application ConfigurationMenu for

    PartitionMenu for Process orServer or Machine

  • 8/14/2019 App Builder Deploying Applications

    20/150

    2-8 Configuring the Application

    Adding a Partition

    Adding a Part ition

    Partitions allow you to specify the information about the platform on which your application runs.Partitions define the associations between a clientor server (orgateway) and its associated machines ordatabases. Each partition must be associated with an application configuration. For more informationon building a partition by adding machine, process, and server objects, refer to Building a Part it ion .

    Client part it ionsClient partitions contain the projects processes to execute on the client-side.When you add a process from the project s hierarchy to the configuration, AppBuilderautomatically includes all the necessary child objects (for example, rules, views, etc.). In addition,the client part it ion includes a machine object that indicates the clients execution environment.

    Server partitions Server partitions include a serverobject. This partition defines the type of server(for example, an EJB server) . In the server partition, insert the rules that execute on the server-side.

    Gateway part itions - Gateway parti tions forward client requests to a server part it ion running in thesame or remote server. The Gateway partition should include an AppBuilder server object with allthe associated rules. This server object should be the same as the one defined for the remote serveras the gateway partition is forwarding requests for the same frontier rules.

    For preparation, select the specific configuration or partition to prepare. You can do this in several ways: directly from the Configuration tab by highlighting the partitions or configuration to prepare

    from the Project Options dialog box (as in Figure 2-3) by selecting the part itions or configuration toprepare

    from the drop-down lists of partitions and configurations in the Project toolbar

    For a gateway partition, the icon in the hierarchy distinguishes it from server partitions as shown inFigure 2-8.

    Figure 2-8 Gateway parti t ion in hierarchy

    A gateway partition has a

    small i over the symbol.

    For a gateway, only frontier rules are

    listed and are shown with a different

    Rule icon, one with an Iover it.

  • 8/14/2019 App Builder Deploying Applications

    21/150

    Building a Partition

    AppBuilder 2.1.0 Deploying Applications Guide 2-9

    Building a Partit ion

    A parti tion contains the information about the machine on which the business logic is prepared andabout which rules run on that machine. So a client partition has a machine object (to specify themachine that the client runs on) and a process object (to specify which part of the client application runson that machine). There may be more than one process object for a partition. The machine object

    identifies the specific physical machine in the network, while the process object contains the rules thatrun on that client. Similarly, aserver (or gateway) part ition has a machine object and a server object.The server object contains the rules that run on that server. (For a gateway, only the frontier rules arespecified.) These rules are excluded from the rules on the clients. The rules designated as belonging tothe server are then subtracted from the rules in the process in the client application configuration.A database object (no more than one) can be attached to a partition to specify the database type andthedatabase name.

    Building a partition consists of these tasks:

    Sett ing Parti tion Properties

    Associating Physical Machines

    Configuring for Remote Mainframe Preparation(for preparation to the mainframe) Adding a Process Container

    Adding Rules to a Process

    Adding a Database

  • 8/14/2019 App Builder Deploying Applications

    22/150

    2-10 Configuring the Application

    Building a Partition

    Sett ing Partit ion Properties

    After creating partitions, set the types of generated language and server interface (for servers) or clienttype (for clients) for each part it ion. With the part ition selected, select View > Properties(or right-clickPropertiesor double-click the part it ion) to view the part it ion propert ies.

    Figure 2-9 Par ti tion p roper ties

    Select the following properties based on the type of platform on which the application executes.

    Caution If the Server Interface is EJB, the package name (in the Package field) may be mandatory. Thisdepends on which application server you are using. Some application servers (like WebSphere

    3.5) require a package name for preparing EJBs, and if the package name is not supplied, an erroroccurs at deployment time. Check the application server documentation to find out whether a

    package name is required.

    Table 2-1 Configuration summary

    Platform Partition Type Client Type Server Interface Language

    Java client Client EventDriven N/A Java

    Web (HTML) client Client HTML N/A Java

    Windows client Client Converse N/A Default

    EJB server Server N/A EJB Java

    (Windows) C server Server N/A NetEssential Default

    RMI server Server N/A RMI Java

    Web service Server N/A Web service Java

    EJB gateway Gateway N/A EJB Java

    Web service gateway Gateway N/A Web service Java

    Select whether this partition

    is for client or server.

    If client, select type.

    If server, select interface for

    communication.

    Select the language of the

    generated code.

    A package name may berequired if the server

    interface is EJB.

  • 8/14/2019 App Builder Deploying Applications

    23/150

    Building a Partition

    AppBuilder 2.1.0 Deploying Applications Guide 2-11

    Associating Physical Machines

    Part of the task of building a partition is the assignment of the physical machine on which thatpartitions software is intended to execute. To associate a physical machine with a partition, add amachine object to the hierarchy. This applies whether the partition type is a client or server or gateway.This includes specifying the type of machine on which the prepared item is executed and the operatingsystem of that machine.

    Select the machine icon in theConfigurationtab and right-click to select Properties. In the Propertieswindow, choose the operating system from the list and type in the implementation name. Theseproperties are stored in the repository and associate the partition with a physical machine.

    When the client partition is being prepared on the users machine, the implementation name must be setto Local. "Local" is a keyword that can only be used for a client part ition. When the implementationname is not set to Local, the client partition is prepared remotely to the machine that is listed.

    Figure 2-10 Setting machine properties

    Select the

    operatingsystem.

    Enter Localto

    prepare this

    partition on this

    workstation.

  • 8/14/2019 App Builder Deploying Applications

    24/150

    2-12 Configuring the Application

    Building a Partition

    Configuring for Remot e M ainframe Preparation

    To allow entities from a local or group repository to be prepared on a remote mainframe, a mainframepartition must be defined in the hierarchy. The partition should contain at least one server, a machine,and a database (if using DB2, for example) as shown in the hierarchy in Figure 2-11. The hierarchyunder the server should contain all of the objects that are to be prepared to the mainframe.

    Figure 2-11 Example remote preparation hierarchy

    For each of these parts of the hierarchy, properties must be set. The fol lowing sett ings are the requiredconfiguration on the workstation for the application. Addit ional sett ings are required in the workbenchoption settings. Refer to Setting the Workbench Options in Chapter 5, Preparing to the Mainframe .The only configuration necessary on the mainframe side is the installation of the Enterprise RemotePreparation Server, described in the Enterpr ise Install ation Guide. For more information on performinga remote prepare to the mainframe, refer to Chapter 5, Preparing to the Mainframe .

    Sett ing Partit ion Properties

    In the Parti tion properties, set the Part ition Type to Server, the Server Interface to NetEssential, and theLanguage to Default.

    Figure 2-12 Partit ion settings

    Note Partitions (Configuration Units) are used differently for preparation when using the mainframe workbench.On the mainframe the preparable entity is added directly to the Partition. To use partitions on themainframe, refer to the Enterprise Development Guide.

  • 8/14/2019 App Builder Deploying Applications

    25/150

    Building a Partition

    AppBuilder 2.1.0 Deploying Applications Guide 2-13

    The following fields can also be used to override the default version settings.

    Collection ID

    Server owner

    Server qualifier

    Minimum trans ID

    Maximum trans ID

    The order of precedence is similar to the mainframe, but the relationship between the partition and thepreparable object is not supported on the workstation.

    Sett ing Database Properties

    If you are using a database (and DB2 is the one supported for the mainframe), in the Databaseproperties, set the Type to DB2.

    Figure 2-13 Database settings

    Set the Database directory path to the path where the database (DBRM)s are stored following asuccessful prepare. If nothing is entered, the system defaults to the library specified in the system versionINI fi le. Set the Implementation name to theDB2 Subsystem ID.

    Sett ing Machine Properties

    The Machine properties must point to the Region that the object rule is running against (CICS orBatch). Each Region must have a mainframe INI file in the mainframe repository libraries that theremote preparation is running against.

    Figure 2-14 Machine settings

    Set the Operating system to either MVSor CICS/MVS. The CICS/MVS option is only used for preparingCICS rules. You cannot currently prepare MVS rules when the objects are set to this environment. Setthe Machine group to the name of the region on the mainframe, for example a CICS region. Set theImplementation name to the TCP/IP host name of the mainframe.

    AB20.USER.APPLDBRM

  • 8/14/2019 App Builder Deploying Applications

    26/150

    2-14 Configuring the Application

    Building a Partition

    Rules use the Machine properties Operating system as the execution environment. If a CICS rule needsto be prepared, the Machine must specify an operating system of CICS/MVS and a Region name as CICSRegion. The DB2 information contained in the Database object is used not the information in the Rule.

    Adding a Process Container

    For client Partitions, in the Configurationtab hierarchy, insert a Process object. For server and gatewayPartitions, insert a Server object. Edit the properties of the Process or Server objects in the hierarchy toconfigure this container for that part it ion. (View > Properties, or double-click on the Process or Server.)In this container you add the business rules and parts of your application that are to be deployed on thatmachine. Refer to Adding Rules to a Process .

    For Clients, Add a Process

    For Java Client

    Use the Configurationtab of the Hierarchy window to configure how to prepare applications with aJavaclient. The configuration must contain a partition for the client application. To the partition, addthe process(es) containing the client-side rules to this partition.

    For Thin HTML Client

    Use the Configurationtab of the Hierarchy window to configure how to prepare applications with athin HTML client. The configuration must contain a part it ion for the thin-client application. To the

    part ition, add the process(es) containing the client-side rules to this part ition.

    For Windows Client

    Use the Configurationtab of the Hierarchy window to configure how to prepare applications with aWindows client. The configuration must contain a partition for the client application. To the partition,add the process(es) containing the client-side rules to this partition.

    Note Use the Machine group name to create a remote preparation machine entry in the workbench options.Refer to Setting the Workbench Optionsin Chapter 5, Preparing to the Mainframe.

  • 8/14/2019 App Builder Deploying Applications

    27/150

    Building a Partition

    AppBuilder 2.1.0 Deploying Applications Guide 2-15

    For Server or Gateway, Add a Server(s)

    For EJB Server or Gateway

    Use the Configurationtab of the Hierarchy window to configure how to prepare applications with anEJB server or gateway. The configuration must contain a partition for the server or gateway application.

    Add the server(s) or gateway(s) containing the server-side rules to this partition.

    For Web Services Server or Gateway

    An application that has a Web services server or gateway on one machine can be prepared using theConfigurationtab in the Hierarchy window of the Construction Workbench. The configuration mustcontain a partition for the server application. Add the server(s) containing the server-side rules to thispartition.

    For RMI Server

    Use the Configurationtab of the Hierarchy window to configure how to prepare applications with anRMI server. The configuration must contain a part it ion for the server application. Add the server(s)containing the server-side rules to this part ition.

    For (Windows) C Server

    Use the Configurationtab of the Hierarchy window to configure how to prepare applications with aC server (Departmental Server). The configuration must contain a parti tion for the server application.Add the server(s) containing the server-side rules to this partition.

    Adding Rules to a Process

    After you have created an application configuration and added partitions, you can add the business logicto the partitions. Typically, add rules to a process using the Project tab as you develop the applicationand then use the Configuration tab to add rules to the processes or servers.

    In the Hierarchy diagram, the rules in a process that are logically part of that process but physically runon part of another partit ion (located on another machine) are displayed with an icon that distinguishesthem from rules that are on that machine, as shown in Figure 2-15.

    Figure 2-15 Rules icons

    Note Application preparation fails if the leaf-level view does not include at least one field. That is, though a viewcan refer to any number of subordinate views, eventually the hierarchy must end in at least one field for allsuperior views to be valid.

    A rule on another machine is

    shown with this type of icon.

  • 8/14/2019 App Builder Deploying Applications

    28/150

    2-16 Configuring the Application

    Building a Partition

    Adding a Database

    To add access to a database, add a database object to a partition object i n the Configuration tab of theHierarchy Diagram in the Construction Workbench and set the following properties in the databaseobject.

    Implementation name - this is the JDBC or ODBC connection name.

    Type - this determines the exact SQL that is output when the object is prepared.

    For database type, refer to Table2-2. These table entries are valid when the Language setting for thepartition is set to Default, that is, the native language (C or COBOL). For Java (Language set to Java), theonly valid database settings are DB2/UDB and Oracle.

    Under the database object in the hierarchy, you may put the file objects to make clear to you which tablesin the database are needed, but the files should also be under the rule in the partition. The file object inthe hierarchy corresponds to the table of the database; the view object in the hierarchy corresponds tothe column in the table. For more information about setting up access to a database, refer to theDeveloping Applications Guide.

    For client applications that use an EJB to access a database, you must create a database connection forthe application server.

    Table 2-2 Database types

    Type Description

    DB2/2 for IBM UDB platform

    DB2/400 for IBM OS/400 platform (AS/400, iSeries)

    DB2/600 for IBM AIX platform (RISC 6000)

    DB2/UDB for IBM UDB platform

    MS-SQLServer for Microsoft SQLServer database

    Oracle for Oracle database

  • 8/14/2019 App Builder Deploying Applications

    29/150

    Using the Project Toolbar

    AppBuilder 2.1.0 Deploying Applications Guide 2-17

    Using the Project Toolbar

    The Project toolbar, part of the interface that is displayed by default, provides some shortcuts to accessdifferent projects and configurations.

    From the Project toolbar, you can:

    Select a project from a list of recent projects.

    Select the currently active configuration from a list of the configurations in a project.

    Select the currently active partition within a configuration from a list of all for a givenconfiguration.

    Figure 2-16 Project toolbar with drop-down l ists

    To turn off the Project toolbar, go to View> Toolbarsand deselect the Project toolbarcheck box.

    Select from a list ofrecent projects.

    Select the activeconfiguration from a list of

    configurations in a project.

    Select the activepartition from a list of

    partitions in aconfiguration.

    Open theProject Options

    window to set the

    project options.

  • 8/14/2019 App Builder Deploying Applications

    30/150

    2-18 Configuring the Application

    Using the Project Toolbar

  • 8/14/2019 App Builder Deploying Applications

    31/150

    AppBuilder 2.1.0 Deploying Applications Guide 3-1

    CHAPTER

    3

    PREPARING THE APPLICATION

    AppBuilder 2.1.0 Deploying Applications Guide

    This topic explains the procedures for preparing the application objects after the partitions are definedand the servers and clients are configured. In the Construction Workbench, you can prepare applicationobjects from either the Projecttab or the Repositorytab of the Hierarchy window or, if a distributedapplication configuration is selected, you can also prepare from the Configurationtab of the Hierarchywindow. This section explains how the preparation is done; the results are discussed in a separatesection. This process involves:

    Understanding Preparation

    Preparing an Application (in the HierarchyWindow)

    Preparing Objects

    Re-Preparing Items with aPreparation List

    Considering Background Processing

    Interpreting the Results (Output)

    Using Advanced Preparation Options

    You can prepare from any of the hierarchy tabs and from most of the tools that manipulate preparableobjects. The objects are prepared using the Application Configuration and the Partition specified in the

    Project opt ions, unless you prepare them from the hierarchy diagram and an object has both anApplication Configuration and a Partition as parents. This is true for the Configuration tab, but if youcopy the Application Configuration from the Configuration tab to the Repository tab you get the sameresults. In a sense, the application hierarchy and configuration hierarchy are maps used by the system tounderstand how to prepare the objects.

    When an AppBuilder application is prepared, the following items are located and extracted from therepository, compiled, and otherwise made ready for execution:

    Functions and processes (application structure)

    Supporting rules (code)

    Objects defined within windows (including the windows themselves)

    Views and f ields (data structures)

  • 8/14/2019 App Builder Deploying Applications

    32/150

  • 8/14/2019 App Builder Deploying Applications

    33/150

    Understanding Preparation

    AppBuilder 2.1.0 Deploying Applications Guide 3-3

    M eeting Java Preparation Prerequisites

    There are third-party components that are required for preparation of Java rules and applications. If youare going to create a server rule (a rule that runs on the server) in Java, then you are creating anEnterprise Java Bean (EJB). You need to install Java version 2 Enterprise Edition (J2EE) to prepare theEJB. To prepare server rules (EJBs), ensure that you have the following in your class path:

    j2ee_home\lib\j2ee.jarj2ee_home\lib\jhall.jar

    If you are using a database (such as Oracle or DB2), you need to install SQLJ to prepare database rules.For SQLJ rules, ensure that you have the following in your class path:

    db2java.zip

    runtime.zip

    sqlj.zip

    You also need the classes included in the 111.zip if you prepare for an Oracle database.

    Refer to the Installati on Guide for Windowsfor general prerequisites for third-party support for Java

    development.

    Avoiding Common Mistakes

    Application preparation can fail for any number of reasons. Here is a list of common mistakes that canbe avoided.

    Make sure that the leaf (bottom of hierarchy) view object includes at least one field object. Though aview can refer to any number of subordinate views, eventually the hierarchy must end in at least one fieldfor all superior views to be valid. If the leaf view does not have a field, the view fails to prepare.

    Make sure that sets have symbols. If the set has no symbol, the set fails to prepare.

    Make sure that files have views. Similarly, a fi le cannot have more than one data view. If the fi le does nothave a view or has more than one data view, the file fails to prepare.

    Make sure that each window has at least one view and that the view has at least one field. The windowdoes not prepare if there is no view with a field attached to that view.

    Make sure that rules, user components, and windows do not have more than one input or output view.Also, rules and user components must not be empty of source code.

    Make sure each bitmap object has an attached image.

    For configuration, make sure that each partition has one and only one machine. Make sure that eachclient partition has at least one process. Make sure that each server partition has at least one server.

  • 8/14/2019 App Builder Deploying Applications

    34/150

    3-4 Preparing the Application

    Understanding Preparation

    Preparable Objects

    In an AppBuilder application, objects must be prepared to make them executable. Different preparationoptions are available depending on the type of object in the application hierarchy. For each type ofobject, whether they can be prepared or super prepared or both, the result of preparation, and what tabsyou can prepare from are summarized in Table 3-1. ThePreparechoice prepares only the selected object;SuperPrepareprepares the selected object and all of its children (at a lower level in the hierarchy). Someobjects, like partition have other preparation actions available.

    Table 3-1 Object preparation summary

    Object Prepare

    Super

    Prepare Results of Preparation Action Available From

    Other

    Acti on

    Application

    ConfigurationNo Yes

    Serves as a container of partitions and isshown in the Configurationtab, not theProject tab. Can only super prepare.

    Configuration,Repository, andInverted tabs.

    Partition No Yes

    Prepares all children (clients and servers)

    and creates package. If you only Create

    Package, then it packages previouslyprepared items. Deploy Package calls a

    user defined Deploy.bif script in order to

    deploy prepared package

    Configuration,

    Repository, andInverted tabs.

    Create

    PackageDeploy

    Package

    Function Yes Yes

    Generates the pull-down menu structure in

    the execution client or the desktop object

    (Start > Programs > folder name).

    Project, Repository,

    and Inverted tabs.

    Process No Yes

    Serves as a container for rules and other

    objects on the client (so nothing to Prepare,only Super Prepare). Generates the

    command in the pull-down menu in theexecution client.

    All hierarchy tabs.

    Server No Yes

    Serves as a container for rules and other

    objects to be prepared on the server

    (so nothing to Prepare, only Super Prepare).

    Configuration,

    Repository, and

    Inverted tabs.

    Rule Yes Yes

    Compiles the rule (or transforms it into an

    executable program) in the run-time directoryon the designated machine.

    Al l h ierarchy tabs;

    open window inRule Painter.

    Window Yes No

    Creates the window (panel file) for C. In Java,

    nothing happens; the HTML and JavaScript

    are generated when the rule that owns thewindow is prepared.

    Projectand

    Repositorytabs;

    open window inWindow Painter.

    File Yes No

    Generates DDL (data definition language)

    statement. The DDL can be used to createa table in the database.

    Al l h ierarchy tabs.

    Create/

    DeleteTable

    Set Yes No Generates the sets. Al l h ierarchy tabs.

    Bitmap Yes No

    Extracts and transfers the bitmap. Bitmaps

    and icons are converted to JPGs when you

    prepare for Java. JPGs are converted to

    Windows bitmaps when you prepare for C.

    Al l h ierarchy tabs.

    Component Yes No

    Compiles the user-defined component (or

    transforms into an executable program) in

    the run-time directory on the designatedmachine. Do not prepare a Java component

    in a C partition.

    Al l h ierarchy tabs.

    Report Yes NoReports can only be directly prepared fromthe mainframe. To prepare a report in Java,

    prepare the rule that has the report.

    N/A

  • 8/14/2019 App Builder Deploying Applications

    35/150

  • 8/14/2019 App Builder Deploying Applications

    36/150

    3-6 Preparing the Application

    Understanding Preparation

    Generated Output Language

    AppBuilder determines the generated output language when preparing from the ConstructionWorkbench by following these guidelines:

    For Standalone applications, and the project is open, you can specify the language in the Project Optionsdialog accessible viaFile > Project Options. You can select eitherJavaor Windows(which is C) to be

    generated on your local desktop.

    For Standalone applications, if no project is open, you can specify it in the Preparation tab in theWorkbench Options (Tools > Workbench). Java is generated ifJava applicationis checked and C will begenerated if Windows applicationis checked.

    For Distributed applications, whether or not the project is open, the language in which the object wi ll beprepared is determined in the Propert ies of that Part ition object.

    The Application typecombo box under Function preparelets you specify different parameters forFunction prepare. For example you may want to create desktop objects for C and Append functions onthe menu for Java.

    For remote preparation to the mainframe, you can prepare to COBOL by preparing to the mainframe.

  • 8/14/2019 App Builder Deploying Applications

    37/150

    Preparing an Application (in theHierarchy Window)

    AppBuilder 2.1.0 Deploying Applications Guide 3-7

    Preparing an Applicat ion

    (in the Hierarchy Window )

    Although you prepare primarily From the Configuration Tab, you can prepare some objects From theProject Tabor From the Repository Tabwith certain restrictions. In addition, you can also use the

    Preparation Query and Preparation List functions of the Output window.

    There are some restrictions on preparing an application; the order of preparation is important in someapplications. For example, if you tr y to prepare a fi le for C and rules prior to creating the table that thisfile generates and the rules use, all your SQL rules fail.

    From t he Configurat ion Tab

    Within a configuration, you can select one or more partitions to prepare at one time.

    Figure 3-1 Super preparing two parti t ions in a configuration

    Process and Server objects are only containers for rules and other objects on the client and serverrespectively, so there is nothing to prepare except the objects it contains. These have only theSuperPrepare option. Other objects, like Window, Set, and Bitmap, do not contain objects that arepreparable, so no SuperPrepare option is available. Some objects, like Symbols, Fields, and Views, arenot preparable.

    When you prepare a remote client or server rule, the generated code for the rule is copied to a

    preparation server machine, then compiled and linked for the operating system residing on the machine.Other objects in the rule hierarchy are prepared in similar fashion.

    Be sure to commit changes before preparing the application. You can also prepare some objectsFrom theProject Tabor From the Repository Tab.

    Selecting the two partitions in

    one configuration by clickingand holding down Ctrl key.

    Right-click and select Super

    Prepare (or choose Build >Super Prepare) to performpreparation of both partitions and

    all their child objects.

  • 8/14/2019 App Builder Deploying Applications

    38/150

    3-8 Preparing the Application

    Preparing an Application (in theHierarchyWindow)

    From t he Project Tab

    If you are preparing from the Projecttab of the Hierarchy window, you can specify which configurationand which part it ion within that configuration is active. Then all the objects selected in the Projecttabthat are also in that particular partition will be prepared. Before preparing all or part of an applicationconfiguration, select the part ition in a configuration in the Project Options dialog. Select File > ProjectOptions(or use the short-cut Ctrl+Alt+P).

    Figure 3-2 Distr ibuted application with parti t ion selected

    The Distributed Application radio button must be selected in order for the Configuration and partitionselection to work in theProjecttab.

    The selection of a parti tion applies only to the preparations performed from the Projecttab. From theProject Options dialog, if only one part ition is selected, then only objects in that partition can beprepared in the Projecttab. A Super Prepareonly prepares up to that part ition and aPreparecan only

    be done for objects in that parti tion. From theProjecttab, if you select a rule in another part ition, amessage appears in the Output window. That partitions selection applies only to theProjecttab.(I f you want to prepare more than one parti tion or entire configuration, then you should perform apreparation from selecting those from the Configurationtab. Refer to From the Configuration Tab .)

    From the Repository Tab

    From the Repositorytab, you can prepare only standalone applications. Any prepare done from theRepositorytab is considered done in Standalone mode. Files are put on your local machine if youprepare objects from that Hierarchy window.

    Any prepare done from theConfigurationtab is implicitly considered a distributed preparation. Refer toFrom the Configuration Tab .

  • 8/14/2019 App Builder Deploying Applications

    39/150

    Preparing Objects

    AppBuilder 2.1.0 Deploying Applications Guide 3-9

    Preparing Objects

    Preparing Individual Objects w ith a Preparation Query

    There are several ways to select the parts of the application to be prepared. In the Configurationtab ofthe Hierarchy window, you can select the objects in the configuration and do either a Prepare orSuperPrepare. Another way is to bring up a Preparation Query window and select the objects from a listthat is created by querying the repository of objects.

    With the function selected, from the right-click menu, you can bring up a preparation query for anobject. Which objects appear in the menu depend on which tab you are in and which object you haveselected.Figure 3-3shows how to select a preparation query for an object from the menu. Figure 3-4shows the Preparation Query window.

    Figure 3-3 Menu selection of Preparation Query

    Figure 3-4 Example Rule Preparation Query window

    1. Select the type of object type

    when you select Preparation Query.

    3. Select which of the

    objects in the repositoryfor a given configurationand partition to prepare,

    and click Query.

    4. Click Prepare(to do

    only the rule) orSuperPrepare(to doeverything underneath it

    in the hierarchy).

    2. Select whether to prepare

    the objects locally(standalone) or distributed.

    If standalone, select only

    those in this Project or in the

    entire repository.

  • 8/14/2019 App Builder Deploying Applications

    40/150

    3-10 Preparing the Application

    Preparing Objects

    Re-Preparing Items w ith a Preparation List

    After you have prepared an object or collection of objects, the system adds that preparation job to thePreparation List (or Prep List) tab of the Output window in the Construction Workbench. Refer toPrep List Tab in Chapter 10, Output Window of the Development Tools Reference Guidefor anexplanation of the Prep List tab.

    Considering Background Processing

    AppBuilder prepares objects in the background -- allowing you to continue working within theConstruction Workbench. Use the Output window to monitor the preparation status. You may even exitthe Construction Workbench while a preparation is running, though this is not recommended. Formore information about the Output window, refer to the Development Tools Reference Guide.

    Validating Sets Option

    There is a sett ing in the system initialization file (hps.ini) in the AP Global section that determineswhether a value set of "small integer", "decimal" and "character" types are validated during preparation.To have the validation occur, set the value of VALIDATE_SET to Y for yes. To have AppBuilder avoid thevalidation, select N for no.

    Interpreting t he Results (Output)

    Use the tabs of the Output window to monitor the preparation process. If the Output window is notshowing, use the View > Output menu choice. For more information about the Output window, refer totheDevelopment Tools Reference Guide.

  • 8/14/2019 App Builder Deploying Applications

    41/150

    Using Advanced Preparation Options

    AppBuilder 2.1.0 Deploying Applications Guide 3-11

    Using Advanced Preparation Options

    In the Construction Workbench, you can modify the options for preparation. To view or modify theoptions, from the Toolsmenu in the Construction Workbench, select Workbench Options.Theseinclude:

    Local Preparation Options

    Remote Preparation Options

    For a complete description of all the Workbench Options, refer to the Development Tools ReferenceGuide.

    In the system initiali zation fi le (hps.ini), you can modify other options for preparation. These include:

    Global Character Support Option

    Database Preparation Option

    Editing t he Configuration File

    From the Management Console, you can modify the configuration sett ings in the INI fi le for thatresource (such as a computer). To edit the configuration file, select the icon of the resource to configure(for example, the particular computer icon), right click on the object and select Edit HPS.INI. Each tabis a section of the file and you can modify values as needed. This is the recommended way to edit the file.

    Figu re 3-5 Exam ple INI fi le

    Each section of the file isavailable on a tab.

    Each variable of that section is

    available in this list.

    You can modify the value and

    click Set.

    If there is help available for that

    value, it is displayed here.

  • 8/14/2019 App Builder Deploying Applications

    42/150

    3-12 Preparing the Application

    Using Advanced Preparation Options

    Global Character Support Option

    In the AP GLOBAL section of the system initialization file, hps.ini, there is a place to enable thefunctionality for a double-byte character set (DBCS). The setting is DBCSEnable, which by default isset toNfor no. (In previous versions of the product, this was in the AP.INI fi le.) This string is used by thecode generator to determine whether this is a DBCS environment or not. Development in a non-DBCSenvironment does not use this string. To enable DBCS support, set it to Yfor yes. For example,

    [AP GLOBAL]

    DBCSEnable=Y

    Dat abase Preparation Option

    In the AP GLOBAL section of the system initialization file, hps.ini, there is a place to set the databasepreparation options. The setting is PREP_DB_OPTIONS. What settings you choose to set depends onthe database you are using. This setting simply sends the options you set to the database in a singlecommand. This allows you to use some value other thanDATETIME ISO(which is previously set byAppBuilder) and specify other options. To specify more than one option, separate the options by a space.For example,

    [AP GLOBAL]

    PREP_DB_OPTION=GRANT BLOCKING

    Local Preparation Options

    AppBuilder allows you to specify the following options for local preparation:

    Extent of debugging

    Type of function object

    Local database

    Default settings for standalone application

    To view or modify the options, from theToolsmenu in AppBuilder, select Workbench Options >Preparation. For a complete description of all the Workbench Options, refer to the Development ToolsReference Guide.

    Remot e Preparation Options

    AppBuilder allows you to specify the following options for remote preparation:

    Local machine name

    Results server name

    Remote preparation server name

    To view or modify the remote preparation options, from theToolsmenu in AppBuilder,select Workbench Options > Remote Preparation. For a complete description of all the WorkbenchOptions, refer to theDevelopment Tools Reference Guide.

  • 8/14/2019 App Builder Deploying Applications

    43/150

    AppBuilder 2.1.0 Deploying Applications Guide 4-1

    CHAPTER

    4

    WORKGROUP REPOSITORY REBUILD

    AppBuilder 2.1.0 Deploying Applications Guide

    The Rebuild facil ity i s available from within Construction Workbench when connecting to a Rebuild-enabled Workgroup Repository. Rebuild is only supported for Workgroup Repositories on Windows2000 platforms and Microsoft SQL Server 2000. Rebuild allows you to perform a rebuild of anapplication, in conjunction with an Application Configuration or Partition, that selectively updates andrebuilds only those objects impacted by a particular change. The rebuild facility updates a record eachtime an object is prepared for a particular Application Configuration or Partition.

    Rebuild Overview

    Workgroup Rebuild is designed to assist with change management in a development environment.During development you need to manage all of your source code and t rack your changes. In addition tomanaging your source, you will need to manage change in the executable application i tself . With rebuild,you can know what executables are effected by your changes and only build what is required wi thouthaving to do extensive analysis on your changes. The analysis normally required is done automaticallywhen you are connected to a Rebuild enabled Workgroup Repository. By properly part itioningapplications, you can rely on AppBuilder to tell you what needs to be Prepared.

    For instance, if an application is deployed in Java on the client, and COBOL on the server using CICS,you can set up an Application Configuration (APPCFG) to partition the application into two logicalpieces. You can create one partition for the client and configure it to prepare Java locally, and onepartition for the server and configure it to prepare remotely to the target CICS region. Once thisconfiguration is in place, you can build the application for the first time and start tracking the rebuildstatus of the objects.

    Enabling a Group Repository f or Rebuild

    Set REBUILD_ENABLED=TRUE in the FREEWAY_SERVER section of the hps.ini file in the appbuilderdirectory. The Freeway Service must be stopped an re-started for this change to take effect.

  • 8/14/2019 App Builder Deploying Applications

    44/150

    4-2 Workgroup Repository Rebuild

    Rebuild Overview

    Figure 4-1 Rebui ld Process Overview

    Rebuild AnalysisRebuild Analysis happens in a 3 phase process as shown in Figure 4-2. Part of the processing happenswhen you commit your changes to the repository. The remaining processing occurs when the userrequests a rebuild action.

    1. During development, the changed objects are identif ied and stored in a change list.

    2. During rebuild analyze, impact analysis is performed to determine which addit ional objects need tobe prepared. Each object that requires prepare causes an update in the Impact list to the impacttime.

    3. During the part it ion analysis, every object in the selected Application Configuration or Part it ion ischecked against the Impact list to see if it has been prepared since the last impact.

    Java Client Partition

    CICS Server Partition

    Application

    Partition

    applications

    Local Prepare

    Remote Prepare

    Java/PC

    Mainframe CICS

  • 8/14/2019 App Builder Deploying Applications

    45/150

    Rebuild Overview

    AppBuilder 2.1.0 Deploying Applications Guide 4-3

    Figure 4-2 Rebui ld Overview

    Significant Change Analysis

    During development, the changed objects are identified and stored in a change li st. When you Commitchanges to objects in the repository, the Change List table is updated. The impact type is used to handle

    special circumstances other than the typical signif icant change.

  • 8/14/2019 App Builder Deploying Applications

    46/150

    4-4 Workgroup Repository Rebuild

    Rebuild Overview

    Changed List

    Impact A nalysis

    During rebuild analyze, a full impact analysis is performed to determine which additional objects needto be prepared. Each object that requires preparation is added or updated in the Impact List table withthe impact time.

    Impact List

    After the analysis is complete at Phase I, the objects are ready for rebuild.

    When an object is rebuilt, the rebuild time of the object is compared to the impact time of the changedobject in the Impact List, and is prepared only if the rebuild time is different than the impact time. Theimpact t ime is then updated if the object is prepared successfully. However, the location of the rebuild inthe hierarchy when it was selected effects which objects are eventually prepared.

    Impact Analysis Examples

    Impact analysis determines which objects are effected by a specific change or set of changes. Forexample, a rule might be effected by changing a field in a view of a child rule. However, a source changeto a child rule does not effect a parent rule. Every impacted object is added to the impact table.

    *** = changed

    @ = impacted

    Figure 4-3illustrates how a change to a field impacts the rules associated with it.

    Figur e 4-3 Fiel d Ch ang e

    Table 4-1 Changed L ist

    Field Purpose

    Object ID To relate this back to the effected object

    Version ID To scope this to a specific version

    Impact type Whether this is Source only change or other specialcircumstances.

    Table 4-2 Impact L ist

    Field Purpose

    Object ID To relate this back to the effected object

    Version ID To scope this to a specific version

    Impact time To track the time that the object was last impacted.

  • 8/14/2019 App Builder Deploying Applications

    47/150

    Rebuild Overview

    AppBuilder 2.1.0 Deploying Applications Guide 4-5

    Figure 4-4 Ru le Source Change

    Partition A nalysis

    When the impact analysis is complete, the results represented in the impact table are used to determinewhich objects within a part it ion will be rebuilt.

  • 8/14/2019 App Builder Deploying Applications

    48/150

    4-6 Workgroup Repository Rebuild

    Rebuild Overview

    Rebuild Stat us Table

    Partition Analysis Example

    In the following example, Part ition 1 and Part ition 2 are server parti tions that contain different sets ofobjects. If a single change is made to Field 1, both Rule 1 and Rule 2 are added to the impact table.However, if only partition 2 is rebuilt, then only Rule 2 will be built, as Rule 1 is not in Partition 2.

    If Partition 1 is then built after Partition 2, not only will Rule 1 be built, but Rule 2 will be built againbecause it has not yet been bui lt for that specifi c part ition.

    Table 4-3 Rebuild Status Table

    Field Purpose

    Object ID To relate this back to the affected object

    AppCfg ID To scope this to a specific Application Configuration

    Partition ID To scope this to a specific partition

    Version ID To scope this to a specific version

    Rebuild time To compare to the last impacted time on the impact list.

  • 8/14/2019 App Builder Deploying Applications

    49/150

    Rebuild Overview

    AppBuilder 2.1.0 Deploying Applications Guide 4-7

    Figure 4-5 Par ti tion Example

    Rebuild Functionality Notes

    What happens w hen you change a partit ion?