+ All Categories
Home > Documents > App Builder Product Concepts

App Builder Product Concepts

Date post: 04-Jun-2018
Category:
Upload: sadot-enrique-castillo-galan
View: 232 times
Download: 0 times
Share this document with a friend

of 51

Transcript
  • 8/14/2019 App Builder Product Concepts

    1/51

    BluePhoenix AppBuilder 2.1 .0.

    Product Concepts Guide

    http://www.bluephoenixsolutions.com/
  • 8/14/2019 App Builder Product Concepts

    2/51

    BluePhoenix AppBuilder 2.1.0.Product Concepts GuideApril, 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 Product Concepts

    3/51

    AppBuilder 2.1.0 Product Concepts Guide i

    TABLE OF

    CONTENTS

    AppBuilder 2.1.0 Product Concepts Guide

    1 AppBuilder - The Complete D evelopment Solution . . . . . . . . . . . . . . . . . 1-1

    System Requirements for AppBuilder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1Platforms and Operating Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2Environment Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2Programming Language Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2Network Protocols Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

    AppBuilder 2.1.0 Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

    Enterprise-Scale Internet Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Challenges in Internet Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Java Development Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4AppBuilder Java Development Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

    Extended Connectivity Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6MQSeries Remote Procedure Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7XML SOAP Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7NetEssential Improvements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8

    Development Enhancements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8Support for Multi lingual User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9

    Workgroup Repository Rebuild Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9Host Remote Preparation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9Rules Language Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10OpenCOBOL Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11

    2 Repository Development Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13

    Understanding Repository-Based Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13Repository Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14

    Types of Repositor ies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15Personal Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15Workgroup Repository. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15

    Enterprise Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16

    Workgroup Repository Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16Using the Workgroup Server Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17Using the Freeway Explorer Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17Workgroup Repository Actions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18

    Repository Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18Using the Object-Based Information Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18Setting Project Securi ty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19

  • 8/14/2019 App Builder Product Concepts

    4/51

    ii AppBuilder 2.1.0 Product Concepts Guide

    Setting Workgroup Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19Analyzing Impact and Rebuilding the Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20Repository Installation and Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20Migration Facility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21Import and Export Uti lity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21

    3 Application D esign Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23

    Open Architecture Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23Integrated Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23Application Specification Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25User Interface Design Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26Scripting Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27

    4 M ultiple Platform Development Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29

    Web Application Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29Supported Platforms and Protocols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29

    AppBuilder Development Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31Hierarchy, Configuration, and Partitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31Preparation and Rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32Debugging and Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32Java Client Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32Server Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33

    Generation for Traditional Technologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34Run-time Host Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35

    OpenCOBOL Generation Facility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35

    5 J2EE Technology Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-37

    Java Features in AppBuilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-37

    HTML Thin-Client Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-38

    Full Java Client Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-39

    Enterprise Java Bean Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-40Application Server Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-41

    J2EE Integration.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-42EJB Container. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-42Component Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43

    Java Enhancements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43Java Report Writer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43CLEAR_WINDOW_CHANGES Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43C User Components in Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-44Thread-Safe Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-44

    Java Development Limitations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-44

    Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

  • 8/14/2019 App Builder Product Concepts

    5/51

    1-1

    CHAPTER

    1

    APPBUILDER - THE COM PLETE

    DEVELOPM ENT SOLUTION

    AppBuilder 2.1.0 Product Concepts Guide

    AppBuilder contains everything a development environment needs to create any type of simple orcomplex business application with platform-independent functionali ty, including:

    An easy-to-use and manage user interface, object toolset, and repository infrastructure

    System administration security controls for scope and permissions

    Migration, testing, and deployment functions

    AppBuilder supplies a comprehensive development environment for your applications, including thefollowing:

    Object modules

    Rules Language

    Java language support

    Standard COBOL code generation

    OpenCOBOL generation

    Packaging

    Debugging

    Deployment functionality

    The following topics are discussed in this section:

    System Requirements for AppBuilder

    Enterprise-Scale Internet Development

    Extended Connectivi ty Options

    Development Enhancements

    OpenCOBOL Generation

    System Requirements for AppBuilder

    AppBuilder provides a heterogeneous application development environment. The fol lowing are systemrequirements organized under the following sections:

  • 8/14/2019 App Builder Product Concepts

    6/51

    1-2 AppBuilder - The Complete Development Solution

    System Requirements for AppBuilder

    Platforms and Operating Systems

    Environment Support

    Programming Language Support

    Network Protocols Support

    Support for Multilingual User Interface

    Workgroup Repository Rebuild Facility

    Platform s and Operating System s

    For information on the supported platforms and operating systems, refer to Meeting SystemRequirements in the Installati on Guide for Windows.

    Environment Support

    Java 2 Platform, Standard and Enterpr ise Editions

    IBM WebSphere 4.0 application server

    BEA WebLogic 6.0 (wi th SP6) application server

    Apache with Tomcat Web Server

    Any HTML editor and Microsoft Internet Explorer (IE) 6.0 browser

    PCs operating Windows 2000

    Servers operating AIX, HP-UX, or OS/400

    Mainframe systems running CICS

    Programm ing Language Support

    C for Windows

    Java (using J2EE)

    COBOL

    Net w ork Protocols Support

    AppBuilder operates over Local Area Networks(LAN) or Wide Area Networks(WAN) using thefollowing network protocols:

    TCP/IP

    Named Pipes

    LU6.2

    LU2

  • 8/14/2019 App Builder Product Concepts

    7/51

    AppBuilder 2.1.0 Features

    AppBuilder 2.1.0 Product Concepts Guide 1-3

    Table 1-1lists the network protocols supported by AppBuilder for different operating systems:

    AppBuilder 2.1.0 Features

    AppBuilder 2.1.0 adds improved workbench tools, Java enhancements, multiple language development,rebuild enhancements, and dynamic set support.

    AppBuilder 2.1.0 features include:

    Architecture-independent development

    An integrated toolset for designing, developing, and deploying applications

    Object-based components managed from host, server, or client repositor ies

    Support for C, standard COBOL, and Java programming languages

    Ready-to-use business logic and libraries

    Centralized administration with permission and scope controls

    Preparation, testing, and debugging functionality

    A remote prepare facil it y for mainframe development

    Support for IBM MQSeries middleware

    NetEssential installation and configuration enhancements for WindowsNT/2000

    Open connectivity using HTTP Simple Object Access Protocol (SOAP) XM L Web Services

    DBCS Support

    Ability to develop multi lingual user interface objects and build an application for a specifi clanguage.

    Enhanced repository rebuild functions

    Table 1-1 Supported Network Communication Protocols

    Operating System Protocol Product

    AIX

    LU6.2 IBM Communications Server for AIX

    TCP/IP IBM (bundled with OS)

    TCP/IP IBM TCP/IPIBM Lan Server

    Windows 2000

    LU2

    Attachmate Extra! Personal Client

    IBM PCOMM

    Wall Data Rumba for Mainframe

    LU6.2Microsoft SNA Server

    IBM Communications Server

    Named Pipes Microsoft (bundled with OS)

    TCP/IP Microsoft (bundled with OS)

  • 8/14/2019 App Builder Product Concepts

    8/51

    1-4 AppBuilder - The Complete Development Solution

    Enterprise-Scale Internet Development

    Enterprise-Scale Internet Development

    Large enterprises using legacy business models and systems are incorporating Internet technology toexpand their business opportunities. An integration solut ion that provides flexible, robust performance,and a scalable development environment capable of integrating old and new business infrastructures isessential. AppBuilder provides the complete business Internet development solution.

    Challenges in Internet Development

    The challenges of enterprise-wide Internet development include:

    Development for mixed-technology environments

    While no single solution fits all development requirements, Java language development is a flexibleoption many organizations are choosing to create portal entries into enterprise systems. To incorpo-rate existing databases and infrastructure, organizations need mechanisms that communicate reli-ably within mixed systems, such as Java combined with C or COBOL.

    Providing a solution that integrates new technology with existing systems

    Many organizations are introducing systems into their organization that do not integrate well withprevious systems or each other. These organizations need a complete integration solut ion for their-systems.

    Maximizing performance across platforms

    Organizations need to deploy large-scale, enterprise-wide applications to a wide array of operatingsystems, servers, and clients while maintaining high-speed, dependable performance requirements.

    Developing applications in a future-proof fashion

    Producing high-quality applications is costly, whether developing new applications or upgradingexisting systems. The desire to develop platform-independent or, more precisely, architecture-inde-pendent applications drives organizations to look at options that impact their future direction, such

    as thin-client HTML vs. thick-client Java, web versus application servers, or Java language codedevelopment versus C.

    Managing and maintaining large, scalable applicati ons

    Enterprises that create and maintain large-scale applications for the Internet need to control andtrack the interaction between a large team of developers and manage deployments to a wide varietyof environments.

    AppBuilder offers an application development environment that maintains complete data and usercontrol. It supports manageable and secure, yet easily accessible, business objects for enterprise-scaledevelopment across a wide range of platforms and architectures. Through the use of repositorytechnology, AppBuilder supplies the tools and technology you need to design, implement, and maintainhigh-quali ty, multi-platform, distr ibuted applications.

    Java Development Support

    IBM WebSphere and BEA WebLogic are among the popular application servers supported byAppBuilder. AppBuilder supports Java Standard Edition 1.3.1 (with J2EE Reference Implementation),any HTML editor, and the IE browser.

  • 8/14/2019 App Builder Product Concepts

    9/51

    Enterprise-Scale Internet Development

    AppBuilder 2.1.0 Product Concepts Guide 1-5

    AppBuilder Java development features provide:

    Integrated Toolset

    Central Repository

    Code Generation

    Integrated Toolset

    The Construction Workbench toolset provides an easy-to-use interface and object managementwindows. The toolset allows developers to concentrate on the business aspects of an application ratherthan on the technical infrastructure used to implement the business components. With this versatile setof tools, developers can create and configure applications and maintain them over generations ofexecution technology. The open architecture of AppBuilder Java development frees you from hardwareplatform, operating system, client/server distribution or Internet distribution concerns.

    Central Repository

    In order to manage a team of developers working simultaneously on large-scale development projects,AppBuilder uses repository technology as a central store of information. The repository controls andorganizes not only the structure of components but also how the components interact and theduplication of objects and functions. Using this information, functions necessary to maintainenterprise-scale environments, such as impact analysis and broadcast messages, become seamlessoperations.

    Code Generation

    AppBuilder provides generation technology that converts Business Object and Business Processdefinitions into high-performing applications. These generators convert the AppBuilder specifications

    into open code, specifically tuned for the selected deployment platform, distr ibution architecture, andInternet architecture. Using AppBuilders fourth-generation language (4GL) that generates native code,you are not limited to development for a specific execution platform.

    AppBuilder Java Development Process

    AppBuilder leverages the strengths of legacy AppBuilder functionality with the requirements of webcommerce. Existing application deployment processes are enhanced with thin web-based clients andEnterpr ise Java Bean servers.

    To complete the suite of Java-enabled capabilities, AppBuilder also packages the newly-generated

    applications, making them easily deployable on any J2EE-compliant application server. Figure 1-1illustrates the development process from initial application specification to deployment across multipleplatforms.

  • 8/14/2019 App Builder Product Concepts

    10/51

    1-6 AppBuilder - The Complete Development Solution

    Extended Connectivity Options

    Figure 1-1 AppBuilder Java Development Process

    Extended Connectivity Options

    The remote procedure call from Java to the OS/390 platform is implemented using IBM MQSeries. This

    eliminates the requirement for NetEssential host connectivity and allows three-tier applications to bedeployed using only standard connectivity, Enterprise Java Beans and IBM MQSeries.

    It allows connectivity to SOAP XML Web Services, a technology rapidly becoming the RemoteProcedure Call (RPC) protocol of choice, allowing you to leverage existing applications by making themavailable across an enterprise using industry-standard connectivity technologies.

    Note For NetEssential users, we continue to provide an efficient way to configure and manage communications.

  • 8/14/2019 App Builder Product Concepts

    11/51

    Extended Connectivity Options

    AppBuilder 2.1.0 Product Concepts Guide 1-7

    AppBuilder 2.1.0.1 provides addit ional support for industry-standard connectivity in new ways. Thefollowing topics are discussed in this section:

    MQSeries Remote Procedure Call

    XML SOAP Web Services

    NetEssential Improvements

    MQSeries Remote Procedure Call

    For organizations that have selected MQSeries as their middleware to create MQSeries infrastructuresconsisting of both logically synchronous and asynchronous applications, AppBuilder offers anotherconfigurable connectivity choice for Java development, along with NetEssential, Enterprise Java Beansand XML-SOAP. A configuration change on the client is all that is required to invoke a host rule overMQSeries.

    AppBuilder dynamically determines where and how this service is to be accessed when a remote rule isinvoked. If the rule is invoked over MQSeries, AppBuilder marshals the Java data classes and writes the

    message to an MQSeries queue using Java Message Services (JMS) API. This message is sent to an inputqueue managed by the CICS Queue-Manager. The incoming message triggers the invocation of theAppBuilder rule and the results are written back to the output queue where the calling program iswaiting. Figure 1-2shows the MQSeries connectivity process.

    Figure 1-2 Java Connectivity to Mainframe Using MQSeries

    X M L SOAP Web Services

    AppBuilder offers support for Web Services based on Simple Object Access Protocol (SOAP) that require

    open connectivity across an enterprise. The connectivity contract for these systems is defined externallyby SOAP Schemas and Web Service Definition Language (WSDL). This external definition, and the useof HTTP as its common transport, make these SOAP Services an attractive standardization andintegration technology choice. Applications developed in Java are deployable as SOAP XML WebServices, and the SOAP Schema defining these services is publ ished, allowing these services to beaccessed by other applications across the enterprise.

    The AppBuilder Partitioncan deploy its Web Services on an application server or as a Java servlet on aweb server. The actual Java rules can be deployed locally or accessed remotely. A new PartitionType,Gateway, is used to specify that the Partitionshould function as a gateway and forward all its requests to

  • 8/14/2019 App Builder Product Concepts

    12/51

    1-8 AppBuilder - The Complete Development Solution

    Development Enhancements

    another server. Using a Web Service gateway, clients can create an SOAP-XML interface for their existingAppBuilder COBOL applications. Figure 1-3gives an example of the SOAP XML web service gatewayconfiguration.

    Using AppBuilder Java rules, Web Services are configured and accessed like any other remote rule.AppBuilder Web Services provide one standard interface usable by AppBuilder and third-partyapplications.

    Figure 1-3 Application Server Connectivity Using SOAP XML

    Net Essential Improvements

    Installation and configuration enhancements are available for WindowsNT and Windows2000 thatmake setting up and managing NetEssential communications middleware easier:

    Remote File Configuration and Management

    Remote Start/Stop Functionali ty for Services

    Automated Installation and Configuration

    Development Enhancements

    Several features are now available in AppBuilder to support more flexibility in the developmentenvironment:

    Support for Multilingual User Interface

    Workgroup Repository Rebuild Facility

    Host Remote Preparation

    Rules Language Features

    OpenCOBOL Generation

  • 8/14/2019 App Builder Product Concepts

    13/51

    Development Enhancements

    AppBuilder 2.1.0 Product Concepts Guide 1-9

    Support f or M ultilingual User Interface

    AppBuilder now provides support for development of multilingual user interfaces and the creation of anapplication targeted for a specific language. AppBuilder currently supports only a single family oflanguages (languages within one code page) for each application. You can then define the window formsand sets of your application for the languages that you have defined.

    The language definitions are accessed through Construction Workbench using the LanguageAdministration Tool. Window Painter and Set Builder can be used to create and maintain languagedependent variants for Windows and Sets. TurboCycler and TurboScripter can be used for accessinglanguage dependent artifacts in AppBuilder.

    The resulting applications, including language-modified user interface objects, can be prepared just asany AppBuilder application, and deployed in Java, C Client, and thin-client.

    Workgroup Repository Rebuild Facility

    The Workgroup Repository Rebuild facil it y is usable on every AppBuilder platform. It allows you toperform a rebuild of your application from a remote preparation client, in conjunction with anApplication Configuration or Part ition. Using this facili ty, the rebuild selectively updates and rebuildsonly those objects impacted by a particular change. The rebuild facility creates a record each time anobject is prepared for a particular Application Configuration or Parti tion. For more detailedinformation, refer to theDeploying Applications Guide.

    Host Remote Preparation

    The remote prepare facility for the mainframe platform streamlines the development of hostapplications. In the past, a developer was required to migrate source code to the enterprise repository forextraction, COBOL generation, and source code compile and l ink processing.

    Using remote preparation, a developer can bui ld, prepare, and test the code on their workstation using apersonal or workgroup repository and then move the object to the enterprise repository when it iscomplete. Once the source code is located remotely in the personal or workgroup repository, it iscompiled and linked without accessing the host repository. This allows the objects source to remain onthe Personal or Workgroup repository until you are ready to upload it to the host.

    Figure 1-4illustrates the process for remote preparation on the host.

  • 8/14/2019 App Builder Product Concepts

    14/51

    1-10 AppBuilder - The Complete Development Solution

    Development Enhancements

    Figure 1-4 Host Remote Preparat ion

    The remote prepare facility is configured and functions similarly to other platforms. TheMachineobjectspecifies the name and operating system of its Partition.When an object is prepared for a Host Partition,the job scheduler asynchronously sends the AppBuilder source to the preparation server on the host

    where COBOL is generated, compiled, and linked. Upon completion, the preparation serverasynchronously sends the results to the client.

    Rules Language Features

    AppBuilder Rules Language and COBOL provide flexibility and maintainable standards in mainframedevelopment. AppBui lder includes Rules Language functionality, such as object and event support, andalternatives to the MAP and SET Statementand View Specificationthat improve ease-of-use fordevelopers using Visual Basic and COBOL.

    TheOpenCOBOL Generationfacil ity offers an additional programming option for developing code thatcan be called without an intermediary runtime using standard COBOL processes.

    TheEnterpri se Administration Guideprovides detailed information about the OpenCOBOL generationfacil ity. For information about specific COBOL development , refer to theRules Language ReferenceGuide.

    M AP and SET Statement

    Currently, the following MAP statement is used to assign the value of one variable to another:

    MAP SOURCE_FIELD to DESTINATION_FIELD

    While this statement is still supported, a new statement that may be more familiar to developers is alsoavailable. The new SET statement syntax assigning value to a variable is shown in the following example:

    SET DESTINATION_FIELD := SOURCE_FIELD

    The specification of the destination field first is standard in most programming environments, such as inthe programming language Visual Basic (VB).

    Note The current MAP statements and View specification statements are not effected and are still supported.

  • 8/14/2019 App Builder Product Concepts

    15/51

    Development Enhancements

    AppBuilder 2.1.0 Product Concepts Guide 1-11

    View Specification

    An application developed in AppBuilder typically has deeply nested data structures. To improve thespecification of data structure members and align them with standards typical of many programmingenvironments, AppBuilder now provides an additional format to specify a member of a View using thedot notation (.) and l isting the views from highest to lowest level.

    The current field specifi cation statement looks like this:Field1 of View3 of View2 of View1

    The View specification allows the omission of intermediate View levels. While the previous statement isstill supported, a new statement using dot notation is also available, as shown in the following example:

    View1.View2.View3.Field1

    Fully qualifying views is necessary to avoid ambiguous references. This feature is supported in the newform but must be specified explicitly using the dot (.) as shown in the following example:

    View1..Field1

    OpenCOBOL Generat ion

    Migration of entire applications to standard COBOL is now possible using the COBOL generationfacility for mainframe development. I t generates COBOL source code that is easy to read and maintainand conforms to industry-standard COBOL functions and data types. Following these industrystandards, AppBuilder generates the open code required for use outside the AppBuilder runtimeenvironment and creates a more efficient development effort overall.

    The generated COBOL does not require the use of a separate runtime because external libraries requiredby the generated COBOL are provided in the source, as well as the compiled code. The generatedstandard COBOL programs can be called externally or from AppBuilder applications, allowing greateropenness in application design.

    The OpenCOBOL generation facility is available for CICS, IMS, and BATCH environments.

    The OpenCOBOL generation facility does notreplace the existing AppBuilder COBOL generationfacil ity; both options are supported.

  • 8/14/2019 App Builder Product Concepts

    16/51

    1-12 AppBuilder - The Complete Development Solution

    Development Enhancements

  • 8/14/2019 App Builder Product Concepts

    17/51

    AppBuilder 2.1.0 Product Concepts Guide 2-13

    CHAPTER

    2

    REPOSITORY DEVELOPM ENT

    ENVIRONMENTS

    AppBuilder 2.1.0 Product Concepts Guide

    AppBuilder uses repository technology to manage large-scale development projects. The repository is atype of relational database containing all the application components in the development environment:objects, business logic, configuration settings, relationships, and metadata. AppBuilder provides boththe repository technology for management of project objects and a powerful graphical interface foraccess to those objects. The following repository topics are covered in this section:

    Understanding Repository-Based Development

    Types of Repositories Workgroup Repository Administration

    Repository Administration

    Understanding Repository-Based Development

    Using a common repository, a large team of developers has access to an unlimited number of objects inan AppBuilder development environment. The resulting workspace allows developers to createapplication code simultaneously, see and utilize objects that others have developed, coordinate

    application design, and deploy applications across the enterprise.

    The individual members of a development team can design an application using AppBuilder-suppliedgraphical tools and a design specification, and generate native code for multiple environments from asingle workstation. AppBuilder repositories manage the various artifacts created during thedevelopment of these large systems: such as the drawings, source code, data structures, andconfigurations. The centralized management of these resources enables object sharing and code reuse.

    Figure 2-1illustrates two possible ways to set up your repository. In example A, the development teamclient workstations maintain personal repositor ies that can access a mainframe system containing a hostrepository.

    In example B, the separate client workstations have personal repositories with access to a servercontaining a workgroup repository; the server in turn, has access to a host repository for the finalapplication migration, compiling and l inking, or database services. In all cases, scope and userpermissions for the repositor y can be administered to control access and actions, and to track andanalyze the repositor y contents.

  • 8/14/2019 App Builder Product Concepts

    18/51

    2-14 Repository Development Environments

    Understanding Repository-Based Development

    Figure 2-1 Repos itory Op tions

    Repository FeaturesThe features of repository-based development include:

    Flexible, scalable architecture

    An object-based information model

    Data migration between repositories

    Conference-based notification

    Platform-, protocol-, and database-independent configurations of workgroup installations

    Industry-standard APIs

    National Language Support (NLS) and Double-Byte Character Support (DBCS)

    Impact analysis for migration imports

    Integrated rebuild facil ity with reports

  • 8/14/2019 App Builder Product Concepts

    19/51

    Types of Repositories

    AppBuilder 2.1.0 Product Concepts Guide 2-15

    The benefi ts of working with objects in a repository include:

    Architecture-independent deployment using application specifi cations

    Object sharing across platforms, tools, and lifecycle phases

    Repository security

    Reduction of administrative and maintenance costs

    Simplified migrations to and from the mainframe

    Types of Repositories

    AppBuilder supplies these three types of repositor ies:

    Personal Repository

    Created on the client workstation for local development

    Workgroup RepositoryCreated on a server for workgroup access for developers working on workstations and sharingobjects and projects.

    Enterprise Repository

    Created on a mainframe to manage enterprise-wide application components and projects, andprepare, test, and deploy applications

    Personal RepositoryA personal (local) repository is a repositor y that is created on the client workstation and uses a databasethat resides on the same computer. I t supports one user on the local machine. Multiple personalrepositories can be created on a single machine and each one may have the same or different userspermi tted access to each repository.

    The personal repository offers repository functionality on the client workstation, typically a WindowsNT or 2000 platform, allowing objects to be uploaded to and merged with a larger development effort,whether it be on a server in a workgroup repository or on a mainframe repository.

    A personal repository is local, therefore it does not require a constant network connection. Only whenyou upload, download, or query remote objects do you need a network connection to a remoteconsolidation server.

    See thePersonal Repository Administration Guidefor more information.

    Workgroup Repository

    The Workgroup (Freeway) repository offers a controlled, secure client/server environment bymaintaining the repository on an AIX or Windows NT network server accessible to all developers from

    Note Workgroup and Freeway are interchangeable terms, referring to a networked AppBuilder repository.

  • 8/14/2019 App Builder Product Concepts

    20/51

    2-16 Repository Development Environments

    Workgroup Repository Administration

    remote nodes using Freeway Explorer or the Construction Workbench. Workgroup repositor ies provideactive updates that broadcast changes during real-t ime operation. Workgroup repositor ies also includesophisticated locking mechanisms that define permissions restricting access to and modification ofobjects and projects. Impact analysis of migration imports manages and tracks changes andimplementation results and generates result logs.

    Using AppBuilder, you can set up different Workgroup repositories representing different phases ofdevelopment, for example:

    Application development

    System and integration testing

    Developer training

    User acceptance

    See theWorkgroup Repository Admi nistration Guidefor more information about workgroup repositoryadministration and configuration.

    Enterprise Repository

    The Enterprise repository is a secure, mainframe repository used for building applications usingAppBuilder. The mainframe is designated as the central archive and active site for the development teamto manage application objects and configuration. Additional enterpr ise features help manage the processof getting applications from initial development into production.

    The repository tables are stored and managed on the mainframe. Developers then download objectsfrom the enterprise repository to personal repositories installed on client workstations. New andmodified objects are later uploaded to the mainframe repository. This setup is ideal for organizationsseparated by large distances, where LAN speeds make the workgroup repository impractical.

    Workgroup Repository Administration

    The AppBuilder repositor y provides a LAN-based tool to administer and manage a software design anddevelopment environment from a centrally- located database residing on a server. The objects within therepository are viewed and accessed for modification or configuration. AppBuilder repository softwareenables a system administrator to implement security restrictions that control access to objects in therepository. Security restricts connection and modification to those objects based on permissions set bythe system administrator. The following topics are discussed in this section:

    Using the Workgroup Server Browser

    Using the Freeway Explorer Tool

    Workgroup Repository Actions

    Repository Installation and Configuration

    Migration Facility

    Import and Export Utility

  • 8/14/2019 App Builder Product Concepts

    21/51

    Workgroup Repository Administration

    AppBuilder 2.1.0 Product Concepts Guide 2-17

    Using the Workgroup Server Brow ser

    The Workgroup Server Browser uses the Microsoft Windows Network browser to show all the domains,workgroups, and Workgroup server machines connected to the LAN. The administrator can start andstop the Workgroup service on a remote machine from one central location, given the appropriate levelof Windows NT and SQL Server security.

    Using the Freeway Explorer Tool

    Use AppBuilders Freeway Explorer to access the objects in Workgroup repositor ies, and to perform thefunctions and data manipulation required to manage the repository.

    The Freeway Explorer is a suite of tools used to:

    Connect to workgroup repositories

    Set security levels and repository permissions

    Locate and load objects for migration

    View and edit object propert ies

    View object entities and relationships in a hierarchy browser

    Remove objects from a repository

    Search for objects using a query or keyword

    Create migration objects using the Migration and the Application Folder Tool

    Perform impact analysis on migration imports and exports

    Broadcast repository messages to other usersl

    The Freeway Explorer tool is accessed through an icon in the AppBuilder program start menu.

    Figure 2-2 Freeway Explorer Start Menu

    Note To use Freeway Explorer, youmustestablish a connection alias from the LAN to theWorkgroup server. Request the parameter information from your Workgroup repositoryadministrator to create the connection alias prior to using a Workgroup repository.

  • 8/14/2019 App Builder Product Concepts

    22/51

    2-18 Repository Development Environments

    Repository Administration

    Workgroup Repository Actions

    The following actions are available in a Workgroup repository.

    After creating a connection alias, provide the following security information to connect to a Workgrouprepository:

    Login ID - the user ID for the Workgroup repository

    Password - the password as determined by native securi ty

    Repository Administration

    Repository administration consists of configuring the repositories by:

    Using the Object-Based Information Model

    Setting Project Security

    Setting Workgroup Security

    Analyzing Impact and Rebuilding the Application

    Using the Object-Based Information Model

    The AppBuilder Information Model is the set of entity types you use to define the building blocks inapplications. Relationships, or the associations between the entities, are also defined using AppBuilder.The entities and relationships, when defined together constitute the objects that are stored in an

    Table 2-1 Repository Actions and Descriptions

    Acti ons Desc ript ion Parameters Requi red

    NewCreates a new association to a

    Workgroup repository

    Connection alias- the name assigned by the

    developer to differentiate between different Workgroup

    repositories. This is typically the Server name.

    Connect via- the protocol used during development to

    access the Workgroup repository from the client.

    Server name- the network name of the server on

    which the Workgroup repository resides. This must be

    consistent with the communications protocol.

    Service name- the name of the service request used

    to connect to the Workgroup repository using

    NetEssential. If you are not using NetEssential, the

    field is default.

    Connect Used to login to a Workgrouprepository after a connection alias is

    created

    none required

    DisconnectCloses a connection to the

    Workgroup servernone required

    Commit session Saves all changes to the repository none required

    Rollback sessionReverses the unit of work to its

    previous state before the last commitnone required

    Delete Removes the connection alias none required

  • 8/14/2019 App Builder Product Concepts

    23/51

    Repository Administration

    AppBuilder 2.1.0 Product Concepts Guide 2-19

    enterprise, personal, or workgroup repository. You use the objects as the fundamental building blocksfor your application development.

    Refer to the Informat ion Model Reference Guidefor detailed information on using the InformationModel.

    Sett ing Project Security

    Repository security is implemented using a security model of:

    Users

    Groups

    Projects

    Permissions and Scope of objects

    A repository administrator determines the security parameters for objects and for the actions a user can

    perform on objects. For example, an administrator can specify that you can addbut not delete

    an entityor a relationship within a part icular group you are assigned to. An administrator can further specify theauthorized scope of a changes you can make to a particular method. For example, you may beauthorized to add an entity in rules, but not to create views.

    Using AppBuilder, the system administrator can keep strict control on software versions, modifications,releases, databases, and libraries. The development environment remains stable and secure, andprogrammers are assured that the objects and relationships they create today will be unchangedtomorrow. Objects can be shared among the group members but the source object is only modi fiable bythe assigned owner, unless and until that securi ty option is changed by the administrator. The repositor yadministrator also assigns locking attributes for objects in the repository using AppBuilders reliable,automatic locking function.

    Sett ing Workgroup Security

    Workgroup security is implemented using the Workgroup security model stored within the repository.The Workgroup repository security model makes use of the GROUP object as an intermediary betweenthe PROJECT and USER objects.

    Table 2-2 Object Security Models

    PROJECT The area to which development objects are defined.

    The Workgroup repository can store multiple projects. When a user logs on to aWorkgroup repository, the user selects and works within the context of a project. A user

    can work within any project to which they are assigned, and objects created are assignedto the users active project.

    GROUP The group of users associated with common security permissions and scope.

    Multiple groups can be defined to a project, thereby allowing for different levels ofauthor izations and scope. Additionally, a group can be defined to multiple projects, wi ththe permissions in separate projects being different. Children subgroups may also bedefined in the security model for the purpose of organization.

  • 8/14/2019 App Builder Product Concepts

    24/51

    2-20 Repository Development Environments

    Repository Administration

    When a GROUP is included in a project hierarchy, the type of access group members have to the objectsin the project is defined using the att ributes:

    Scope- defines the set of objects that developers have access to

    Permissions- defines the actions permitted to users, selected from the options:

    Create

    Relate

    Update

    Delete

    The system administrator assigns user IDs and passwords with specific permissions assigned to eachclient. The user is then defined to be associated with one or more user groups. Each group can beassociated with another user group, or with one or more projects, and so on. The scalability andflexibi li ty of the repository allows a large, small , or expanding number of users to have limited or fullaccess to groups and projects, read-only access, the capability to create, relate to, update, or deleteobjects,or a combination of all these parameters.

    For more detailed information about Workgroup security sett ings, refer to theWorkgroup RepositoryAdmini stration Guide.

    Analyzing Impact and Rebuilding the Application

    Rebuild functionality and impact analysis are powerful tools in project management.

    The Rebuild process generates executable files by preparing all the objects that have changed in theenterprise repository. Rebuild automatically analyzes which objects in the package, i f any, need to beprepared and the environment in which they need to be prepared, eliminating excessive and unnecessaryprocessing of unchanged objects.

    The Impact Analysis tool reports changes that have been made to objects or projects. It can be a usefultool for communicating to the team about modifications that have been made to repository entities andrelationships. It also enables users to predict the impact that modifications will have on the largerapplication effort.

    For detailed information about the impact analysis process, refer to the Developing Applicati ons Guideand theDevelopment Tools Reference Guide.

    For detailed information on the Rebuild process, refer to the AppBuilder Deploying Applicati ons Guide,nformation Model Guide,and theEnterprise Rebui ld Guide.

    Repository Installat ion and Configurat ion

    AppBuilder software can be installed from a network operating on WindowsNT or Windows2000. Toinstall AppBuilder software, copy the installation software to a network location and install AppBuilderon individual machines. Install AppBuilder on individual machines by running the installation script orsetup program directly from the file system. AppBuilder software can also be installed from theAppBuilder disk (CD-ROM).

    Note Refer to the Installation Guide for Windows for detailed installation instructions.

  • 8/14/2019 App Builder Product Concepts

    25/51

    Repository Administration

    AppBuilder 2.1.0 Product Concepts Guide 2-21

    Workgroup repository software can be installed and configured to run on numerous platforms usingdifferent network configurations and protocols. While there are many possible configurations, the twomost commonly used are:

    Single Repository with Mult iple Clients

    The basic configuration in a distributed environment includes at least one client machine (wherethe Development Tools reside) communicating with at least one server machine (where theWorkgroup repository resides).

    Multiple Repositories with Multiple Clients

    Development projects occurring simultaneously (for example, Development, Training, andIntegration projects) can be stored in separate repositories on separate servers. Clients with access toeach server have access to the respective repositories.

    For detailed information about repository configuration and management, refer to theWorkgroupRepository Administration Guide. For mainframe repository administration details, refer to theEnterprise Administration Guide.

    M igration Facility

    The AppBuilder Migration facility in Freeway Explorer provides a method for moving objects betweenworkgroup repositories and the mainframe repository. You can migrate individual objects or entireobject hierarchies using the export and import functions.

    In theexportphase, you migrate object information from a workgroup repository into migrationfiles.

    In the importphase, you use the information in the migration files to migrate the exported datainto another workgroup or a mainframe repository. Both the export and import phases ofmigration are performed from a client workstation.

    The migration tool produces log fi les that track and report the results of migrations for project

    management. It assesses differences between data in the source and target repositories and documentsmodifications that are made to objects (create, update, delete, orcompare) when an import is performed.

    Import and Export Ut ility

    The Import and Export utility allows repository administrators to import and export data to or from aWorkgroup repository. The import and export uti li ty extracts the contents of the Workgroup tables intoan independent format that can be transferred between platforms.

    For detailed information about managing workgroup repositories, refer to theWorkgroup RepositoryAdmini strat ion Guide.

    Note The Application Folder CDIF Import tool does notperform impact analysis. In an Application Folder Import,objects are merged into the existing repository overwriting existing data, if necessary.

  • 8/14/2019 App Builder Product Concepts

    26/51

    2-22 Repository Development Environments

    Repository Administration

  • 8/14/2019 App Builder Product Concepts

    27/51

    AppBuilder 2.1.0 Product Concepts Guide 3-23

    CHAPTER

    3

    APPLICATION DESIGN TOOLS

    AppBuilder 2.1.0 Product Concepts Guide

    AppBuilder provides an easy-to-use environment for the specification of application configurations atevery level of development. The tools available in Workbench and the repository interface allow you todesign the application model, create and modify the objects and relationships, and create yourapplication user interface, functionali ty, and deployment options.

    Open Architecture Design

    Applications designed wi th an open architecture are deployable unrestr icted by distr ibution, platform,and Internet architecture limitations. AppBuilder application specifications are defined by business rulesand related forms that are not dependent on a specific platform.

    The following topics describe AppBuilders application design capabilities:

    Integrated Development Environment

    Application Specificati on Tools

    User Interface Design Tools

    Scripting Tools

    Integrated D evelopment Environment

    In AppBuilder, the tools for designing and developing eBusiness or standard applications are integratedinto one toolset called the Construction Workbench. This is an integrated development approach thatprovides a workspace for all your development tasks, from application design and object creation totesting and deployment.

    Construct ion Workbench ToolsetThe Construction Workbench tools allow you to create and edit rules that are saved as entities in therepository and encapsulate the business logic at a functional level. From the Rules Language source code,application code can be generated and configured and user interfaces created.

  • 8/14/2019 App Builder Product Concepts

    28/51

    3-24 Application Design Tools

    Open Architecture Design

    Construction Workbench tools on the workstation include:

    Rules Editor

    Window Painter

    Report Painter

    Configuration Designer

    Figure 3-1 The AppBuilder Construction Workbench Interface

    The Workbench also offers access from wi thin the interface to these related AppBuilder tools:

    Integrated Deployment Engine

    TurboScripter Scripting Tool

    Rules Debugger

    Workgroup Repository

  • 8/14/2019 App Builder Product Concepts

    29/51

    Open Architecture Design

    AppBuilder 2.1.0 Product Concepts Guide 3-25

    Application Specification Tools

    AppBuilder application specification tools create and modify models that reflect the state of objects inthe repository. These tools create the objects and relationships in the repository. Use these specificationtools to define your applications logical design and its user interface and interactive functions:

    Enti ty Relationship Diagrammer

    State Transition Diagrammer

    Database Diagrammer

    Process Dependency Diagrammer

    Window Flow Diagrammer

    Matrix Builder

    Using the repository, the AppBuilder toolset provides traditional information engineering specifi cationtools in a graphical interface. With the business logic rules language, this set of specification tools allowsyour development team to focus on application development solutions, rather than on platform-specificimplementation details.

    Entit y Relationship Diagrammer

    Use the Entity Relationship Diagrammer to specify the logical structure of the data in an organization.An entity relationship diagram defines a cohesive data architecture for systems development and helpsensure that you have defined all enterprise data. I ts forward engineering feature generates relationalobjects from the entities, relationships, identifiers, and attributes represented in the logical model.

    State Transition D iagrammer

    Use the State Transition Diagrammer to identify the states data go through and the internal and external

    events to which an application must respond. Transitions between states help outline the business rulesan application needs.

    Database Diagrammer

    Use the Database Diagrammer to specify a relational database and create an application hierarchy(structural model) from the logical database hierarchy (relational model) that the forward engineeringprocess generates.

    Process Dependency Diagrammer

    Use the Process Dependency Diagrammer to specify the logical structure of the processes in anorganization. Process dependency diagrams show the set of actions or processes initiated by a givenevent.

  • 8/14/2019 App Builder Product Concepts

    30/51

    3-26 Application Design Tools

    Open Architecture Design

    Window Flow Diagramm er

    Use the Window Flow Diagrammer to specify the window flow, the user interaction, and event handling.Window Flow Diagramming allows for prototyping the user interface of an application without havingto code the associated user interface event handlers and business logic for the application.

    Matrix Builder

    Use Matrix Builder to build matr ices that show associations between objects to organize your data andmaximize object and process reuse. With Matrix Builder, you can coordinate mult iple processes thatshare an entity or attribute ensuring that the data associated with the entity is suff icient. Matrix Builderdisplays entities as matrix elements in rows and columns and relationships as intersection data.

    User Interface Design Tools

    AppBuilder Workbench provides tools to create high-functioning, user-fr iendly interfaces for yourapplications and web forms. AppBuilder allows you to configure the logic that your data follows, from

    beginning to end through application deployment and execution. The following tools are discussed inthis section:

    Window Painter

    Configuration Designer

    Windows Report Painter

    Window Painter

    Use the Window Painter tool to define, prototype, and build sophisticated graphical user interfaces(GUIs) and 3270-based forms. The components of a user interface can all be created here, including the:

    fields

    list boxes

    push buttons

    radio buttons

    interactive elements of web pages and forms

    You define the properties, placement, and function of window objects using either an AppBuilder-supplied template or the forms wizard that guides you through custom forms design. The windowobjects allow your end-user to view and input data. The functionality you define to these objects thenimplements and processes the data that controls the execution of your application.

    Configuration Designer

    After the business logic and windows are created and saved in a repository, define the configurationusing the Configuration Designer. Configuration involves defining part itions, the assignment of parts ofthe application to various clients and servers on various machines in the network. With the integrationof this functionality in Construction Workbench, you can easily see which rules are deployed on which

  • 8/14/2019 App Builder Product Concepts

    31/51

    Open Architecture Design

    AppBuilder 2.1.0 Product Concepts Guide 3-27

    machines and toggle between views of the configuration and the business logic by clicking a tab in theinterface.

    Figure 3-2 The Configuration Designer Interface

    Windows Report Painter

    The Windows Report Painter allows you to create and modify report definitions in the repository. These

    definitions generate COBOL reports for execution on the mainframe or Java reports for execution froma JVM. This tool offers the same functionality as the Seer*HPS 5.3 Report Painter and is fully compatiblewith reports generated using that tool.

    Scripting Tools

    TurboScripterand TurboCyclerare powerful scripting tools that provide access to repositor y objects andcan use the high-level specifications created by the drawing tools to produce robust applications.

  • 8/14/2019 App Builder Product Concepts

    32/51

    3-28 Application Design Tools

    Open Architecture Design

    Figure 3-3 TurboCycler Template Setup Dialogr

    TurboScripter

    TurboScripter is a COM-based Visual Basic (VB) scripting language that can be used to automatecertain portions of application development. It uses VB scripting, providing ease-of-use and access to

    third-party COM objects or proprietary objects to automate development tasks.

    TurboCycler

    TurboCycler is a tool available in the workstation Construction Workbench that can be used to generateor maintain objects from existing repository objects using automated tasks that you define. Used withthe TurboCycler Development Kit, it provides pre-defined templates to automate repetitive tasks.

    For more information about AppBuilder scripting tools, refer to the Scripting Tools Reference Guide.

  • 8/14/2019 App Builder Product Concepts

    33/51

    AppBuilder 2.1.0 Product Concepts Guide 4-29

    CHAPTER

    4

    MULTIPLE PLATFORM

    DEVELOPMENT CONCEPTS

    AppBuilder 2.1.0 Product Concepts Guide

    Business applications that require new, Internet-based technology can be updated using the AppBuildercode generator. Using AppBuilder, you can create applications that are executable on a variety ofplatforms, allowing you to integrate new technology and maximize your applications functionali ty wi thminimal effort.

    Web Application Development

    The AppBuilder Java development environment allows objects defined in the repository to be compiledinto fully-operational applications on different platforms and in different architectures, including webbrowsers, Java application servers, C-based servers, and COBOL-based servers on OS/390 using CICS.

    The generated code used in web applications is now subject to industry standards intended to regulatequality and reusability. AppBuilder follows industry standards by generating code for all supportedplatforms. The generated code is well -structured, readable, and maintainable. The reusability and orderof structured code permi t the creation of platform-independent, non-proprietary applications.

    As part of the AppBuilder code generation process, multiple options can be specified that cover all the

    deployment options, from monolithic (all layers on the same platform and interaction through localcalls) to totally distributed (each layer on a different platform from the web browser to the host) .

    The following section discusses Supported Platforms and Protocolsfor AppBuilder.

    Supported Plat forms and Protocols

    Figure 4-1illustrates the platforms and communication protocols supported in AppBuilder:

  • 8/14/2019 App Builder Product Concepts

    34/51

    4-30 Multiple Platform Development Concepts

    Web Application Development

    Figure 4-1 Supported Platforms and Protocols

  • 8/14/2019 App Builder Product Concepts

    35/51

    AppBuilder Development Process

    AppBuilder 2.1.0 Product Concepts Guide 4-31

    AppBuilder Development Process

    AppBuilder provides a toolset to create objects and rout ines to create applications. The toolset offersmethods to capture business problems, assess design solutions, and program the rules required in theapplication to manage business logic.

    The preparation and test steps supplied in the methodology include the generation of actual code thatcan be migrated into the application, using the same language, user interface, and business logic that wasused in the development environment.

    The AppBuilder environment allows for a high degree of reuse in the data specification and databasedesign phases of software development. The application specification is designed to maximize efficiency,control, and application stability.

    A typical AppBuilder development process consists of the following steps:

    1. Analyze- Model the data and processes of a system

    2. Design- Design the database

    3. Prototype- Model the window flow of the application and construct a functioning prototype

    4. Construct- Develop the application hierarchy, windows, views, and business logic

    5. Test and Prototype- Generate and test the rules

    6. Part it ion and Deploy- Prepare the application for the target environment and deploy

    AppBuilder client/server application development is accomplished using the AppBuilder ConstructionWorkbench. The icons, menus, windows, and reports that constitute the applications user interface arebuilt using the tools in the Construction Workbench. The application logic code is created using theAppBuilder Rules Language.

    When development is complete, the AppBuilder Construction Workbench prepares the client and server

    sides of the application for local or remote execution.

    The following topics describe the AppBuilder application development process and options for codegeneration and deployment using AppBuilder:

    Hierarchy, Configuration, and Partitions

    Preparation and Rebuild

    Debugging and Testing

    Java Client Deployment

    Server Deployment

    Generation for Traditional Technologies

    OpenCOBOL Generation Facility

    Hierarchy, Configuration, and Partitions

    AppBuilder provides a user interface that allows you to view, organize, and modify your applicationusing a hierarchical structure.

    The projectrepresents the highest level in an application hierarchy. It contains the business function andassociated configuration of the application.

  • 8/14/2019 App Builder Product Concepts

    36/51

    4-32 Multiple Platform Development Concepts

    AppBuilder Development Process

    The functionrepresents the highest- level business process or primary purpose of the application.Functions contain groups of processes that sub-divide the application into components based on thetasks they perform and their relationships to each other.

    A configurationdescribes how the application is to be deployed on actual machines. The settings for aproject define whether the application is standalone or distr ibuted. If distr ibuted, the configurationsettings determine which configuration or set of configurations apply.

    Before deploying the application, you define the configuration of the application and the part itions(assignments of parts of the application to various clients and servers on various machines in thenetwork). Use the partitions to specify how the parts of the project are prepared.

    Preparation and Rebuild

    Depending on the deployment and execution environment, application preparation or rebuild mayinclude these steps:

    Create database tables, i f database access is required

    Prepare any external fi les used by a rule

    Prepare windows when you submit a window (for C client) or when you submit a rule forpreparation (for Java client)

    Transform rules and groupings of rules into an executable program

    Compile source code for any external code components used by a rule

    Prepare any sets that the application uses

    Make available to the run-time environment the menus, shortcuts, windows, and workstationreports that comprise the application end-user interface

    Prepare mainframe rules for test execution on the workstation or check the syntax of those rules

    Debugging and Test ing

    Rule source code debuggers are available for both C and Java development. The C or Java Debugger islaunched from Construction Workbench using the same process that launches the run-time (execution)client from within the workbench. See theDeploying Applications Guidefor detailed information.

    Java Client D eployment

    AppBuilder generates Java code that is consistent with three different application architectures,including:

    HTML (Thin-client) with Java Servlet

    Java Client (Thick-client) with EJB Server

    Windows NT, XP, and 2000 Clients

  • 8/14/2019 App Builder Product Concepts

    37/51

    AppBuilder Development Process

    AppBuilder 2.1.0 Product Concepts Guide 4-33

    HTML (Thin-client) with Java Servlet

    Thin-client HTML technology allows client machines to call application, database, and administrativefiles that reside on a server for data processing. HTML client and Java servlet generation can be used todevelop web applications.

    Java Client (Thick-client) with EJB Server

    In addition to HTML, AppBuilder can generate full Java clients. The presentation generation produces afull Java Graphical User Interface (GUI). Complete Java class files are generated with each AppBuilderrule becoming a Java Enterprise Java Bean (EJB). When the objects are prepared, the class files aregenerated in a Java run-t ime folder.

    Chapter 5, J2EE Technology Conceptsdescribes the Java development process and Java functionalityusing AppBuilder in greater detail.

    Windows NT, XP, and 2000 Clients

    Conventional run-time implementations can be generated, including thick C Language Windows run-time clients.

    Server Deployment

    AppBuilder supports web and application server deployment for Java applications. Using SunMicrosystem Java Version 2 Enterprise Edition ( J2EE) standards for application server environments,AppBui lder Java development provides a secure, reliable gateway to back-end systems. Business logic canbe applied through web application interfaces and databases.

    AppBuilder also generates code using C on AIX, HP-UX, IBM iSeries and AS/400, that is deployable onWindows NT, XP, and 2000 environments, or using COBOL for CICS or IMS mainframe systems.

    COBOL can be generated using the existing AppBuilder COBOL or an open COBOL generation facility.The OpenCOBOL generation facility creates a one-to-one relationship between AppBuilder rules andCOBOL programs and generates standard COBOL source code. OpenCOBOL can execute in threeenvironments: CICS, IMS, BATCH, and both.

    The following sections discuss the server configurations supported for AppBuilder development in Clanguage:

    Supported Workstation Server Types

    Supported Host Server Types

    Supported Workstation Server Types

    You configure each AppBuilder workstation node by defining the node either as:

    A client and agent

    or

    An application server and agent

  • 8/14/2019 App Builder Product Concepts

    38/51

    4-34 Multiple Platform Development Concepts

    Generation for Traditional Technologies

    After installation, you can configure the node as a gateway or batch server.

    Supported Host Server Types

    For each host type, the corresponding directory structure contains the following:

    an initialization file (INI)

    an error log or trace file

    run-time tables

    a server executable.

    The host server types supported in the AppBuilder environment are:

    Client

    Application Server

    Client

    In a distributed application, client programs request services from a host server. A service, orAppBuilder server rule, is code that performs some taskdatabase access, for examplefor the client.

    Application Server

    An application server invokes user-supplied services at runtime. A distributed application might usethese services to retrieve information from a database using these processing steps:

    1. Read a requested service from a client

    2. Wait for a response

    3. Continue processing after receiving a response

    An application server responds to Remote Procedure Calls (RPC) from the client.

    Generation for Traditional Technologies

    AppBuilder can deploy applications to a number of platforms and architectures. In situations where theperformance that C language development offers is important, AppBuilder is deployable to native C orCOBOL from the same repository source and the same application specification.

    You may want to deploy some of your applications on traditional platforms for the following reasons:

    As a backup for a development project in Java To reduce risk and liability when testing new technology

    To run faster in C or to increase performance on a given architecture

    From the Construction Workbench, you can deploy the same rules to different platforms in differentlanguages.

    Refer to the Thi rd-Part y Support Matri xat the customer service website for details about all the currentplatforms and languages supported.

  • 8/14/2019 App Builder Product Concepts

    39/51

    OpenCOBOL Generation Facility

    AppBuilder 2.1.0 Product Concepts Guide 4-35

    Run-time Host Types

    There are five host types available for use during application runtime:

    OpenCOBOL Generat ion FacilityAppBuilder offers improved run-time flexibility with an optional OpenCOBOL generation facility. Thisfacility supplies readable, maintainable source code that conforms to industry-standard COBOLfunctions and data formats. External libraries required by the generated COBOL are provided in thesource and compiled (binary) form, eliminating the need for a separate runtime. The generated COBOLis callable externally and from within AppBuilder applications, providing the maximum open sourcecapability.

    Features of OpenCOBOL:

    Does not require the use of a separate runtime

    Conforms to standard COBOL functions and data formats

    User choice of AppBuilder COBOL or OpenCOBOL generation

    COBOL performance is improved

    One externally-callable COBOL program is generated from each AppBuilder rule

    Options are provided for the following configuration settings:

    - VIEW and SET preparation

    - BIND FILE REGEN

    Creates a separate copybook library for OpenCOBOL programs

    Uses dynamic COBOL calls

    The OpenCOBOL generation facility does notreplace the existing AppBuilder COBOL generationfacil ity; both options are supported.

    For detailed information about OpenCOBOL generation, refer to theRules Language Reference Guideand theEnterpri se Application Guide.

    Table 4-1 AppBuilder Host Types

    Host Type Description

    client Requests services from a server

    applicat ion server Invokes user-supplied run-time services

    agent Manages remote prep and event distribution

    gateway Re-routes client requests through different protocols

    batch server Invokes a single-service DLL at run-time

    forwarding servera

    a. this serves as an application server but is configured after installation.

    Application server that is configured after installation

  • 8/14/2019 App Builder Product Concepts

    40/51

    4-36 Multiple Platform Development Concepts

    OpenCOBOL Generation Facility

  • 8/14/2019 App Builder Product Concepts

    41/51

    AppBuilder 2.1.0 Product Concepts Guide 5-37

    CHAPTER

    5

    J2EE TECHNOLOGY CONCEPTS

    AppBuilder 2.1.0 Product Concepts Guide

    The AppBuilder toolset and repository technology includes powerful application development for theJava Version 2 Enterprise Edition (J2EE) environment with full Java client and servlet-based HTMLclients and Enterprise Java Bean (EJB) support. The following topics describe how AppBuilder Java isimplemented:

    Java Features in AppBui lder

    HTML Thin-Client Generation

    Full Java Client Generation

    Enterprise Java Bean Generation

    J2EE Integration

    In addition, this chapter discusses the following topics:

    Java Enhancements

    Java Development Limitations

    Java Features in AppBuilderAppBuilder 2.1 delivers the following Java features:

    Server components deployable as Enterprise Java Beans

    Embedded SQL support for AppBuilder database access rules

    Java database connectivity

    Generation of thin HTML-based web clients using Java servlets

    A portable application development process

    Support for C user components

    Java Report Writer capability

    Product packaging and deployment enhancements

    Debugger for all Java platforms

    Figure 5-1shows an example of an AppBuilder Java implementation scenario.

  • 8/14/2019 App Builder Product Concepts

    42/51

    5-38 J 2EE Technology Concepts

    HTML Thin-Client Generation

    Figure 5-1 Java Implementat ion

    HTM L Thin-Client Generation

    HTML thin-client technology offers flexibility in application development by allowing application,database, and administrative files to reside on a server and be called by client machines onlywhenneeded for processing data. AppBuilder offers HTML client and Java servlet generation, a truly thin-client architecture, that does not require a Java Virtual Machine on the client.

    Using thin-client generation, AppBuilder allows you to create two separate components within thetradit ional client portion of an application:

    A thin HTML presentation component that runs in a browser

    Java servlets that run on a web or application server

    The HTML component operates directly in the web interface on the client machine. The servlet providesactive content for a browser-based form that can be shared wi th other Enterprise Java Bean (EJB) andJava components created with AppBuilder, or wi th other third-party tools.

    AppBuilder also provides Java open source libraries that maintain the state of a multi-displaypresentation, something web browsers cannot do independently. The fact that browsers are inherentlynon-conversational need not limit the range of possibilities; the servlet side of the application managesany desired conversational aspects automatically. This feature makes it possible to generate thin HTMLforms from the same specifications used to generate thicker Java clients. Figure 5-2illustrates the thin-client deployment scenario using AppBuilder.

  • 8/14/2019 App Builder Product Concepts

    43/51

    Full J ava Client Generation

    AppBuilder 2.1.0 Product Concepts Guide 5-39

    Figure 5-2 Thin-Client Deployment

    Fundamentally, Java servlet technology is the Java version of CGI/NSAPI/ISAPI. It dynamicallygenerates HTML from client requests. To maintain application data, state, or call stacks between servletrequests, AppBuilder allows the generation of thin HTML-based web clients based on Java servlettechnology. These servlet applications are developed using a typical client application developmentprocess. They operate with a smaller footprint, requiring less data to be downloaded to the browserclient. This savings in data migration minimizes time and efficiency considerations that are especiallyimportant in web application functionali ty.

    Full Java Client Generation

    In addition to HTML, AppBuilder can generate full Java clients. In full Java clients, the presentationgeneration produces a full Java GUI. Complete Java class files are generated when the objects areprepared because, using AppBuilder Java generation, each rule becomes a Java Bean. The class files aregenerated in a Java run-time folder for easy management and reuse. Addi tionally, any existing or third-party Java Bean can be readily integrated into AppBuilder rules.

    Figure 5-3shows how full Java client servlets can be deployed in the AppBuilder environment.

  • 8/14/2019 App Builder Product Concepts

    44/51

    5-40 J 2EE Technology Concepts

    Enterprise J ava Bean Generation

    Figure 5-3 Servlet Dep loyment

    The Java client can be deployed in several different ways: Applications can be downloaded from a web server either by calling every rule when needed or by

    downloading the JAR file. No AppBuilder software needs to be installed on the client

    Traditional distr ibution of class or JAR files to the individual client machine or a fi le server

    At runtime, the Java application can be invoked in several different ways:

    Directly from the command line

    From a supplied execution client Java application

    From a supplied execution client applet; for example, one that is contained in an HTML page

    From any other Java program

    Enterprise Java Bean Generat ion

    Java applications, downloaded from the web or executed from the desktop, communicate with middle-tier AppBuilder services deployed as EJBs. Thin HTML-based web client applications using Java servletscommunicate with both AppBuilder EJB services and C Language AppBuilder services.

    AppBuilder supports the generation of EJBs on the server. These modules are accessible fromAppBuilder Java clients, as well as other third-party Java clients. At a minimum, two interfaces, a classand an XML document, must be created and maintained for every EJB. A change to one of these filesnecessitates changes to all the other files.

    Using AppBuilder, EJBs are as easy to support as any component on another platform. The developerspecifies that a particular partition be deployed as EJBs and AppBuilder generates all the objectsnecessary, including the remote interface, home interface, and deployment descriptor XML.

    Generated EJBs can execute in the context of any application server that supports EJBs and they requireno other runtime.Figure 5-4shows the EJB deployment scenario from the repository to the applicationserver.

  • 8/14/2019 App Builder Product Concepts

    45/51

    Enterprise J ava Bean Generation

    AppBuilder 2.1.0 Product Concepts Guide 5-41

    Figure 5-4 EJB Deployment Model

    Application Server Support

    AppBuilder supports Java RMI as a communication mechanism between the browser-based client andthe web or application server. By providing application server support, AppBuilder provides anenvironment for the construction of robust, Java-based applications able to execute in the context ofthird-party browsers and application servers.

    An application developed using AppBuilder executes using any configuration of browser-to-web serveror browser-to-application server, thus allowing flexibility in your choice of eCommerce architecture.This flexibility allows you to update the architecture without impacting the functionality of theapplications buil t using AppBuilder.

    Communication Layer

    The AppBuilder communication layer enables server components to be deployed on multiple platformsand protocols. This affords applications the flexibili ty to scale from small client/server implementationsto large mainframe-based applications across an entire enterprise.

    The user interface is an HTML page in a servlet-based client application. The Window Painter tool in theAppBuilder Construction Workbench generates a text representation of the HTML page duringdevelopment. The generated HTML window is edited using a thi rd-party HTML editor and stored in therepository, along with the AppBuilder window definition.

    The Microsoft Internet Explorer (IE) web browser displays the applications HTML user interface andforwards input requests to AppBuilder. The AppBuilder servlet rules then communicate with otherAppBuilder services on other platforms or access databases via SQLJ-JDBC.

    Note AppBuilder is supported on IBM WebSphere, BEA WebLogic and Apache Tomcat servers.

  • 8/14/2019 App Builder Product Concepts

    46/51

    5-42 J 2EE Technology Concepts

    J 2EE Integration

    J2EE Integration

    AppBuilder leverages the strengths of standard AppBuilder functionality with the requirements of webcommerce. Using J2EE application server standards, AppBuilder provides seamless integration and asecure, reliable gateway for Java applications communicating with back-end systems and databases.AppBuilder packages newly-generated applications in formats that are easily deployable on any J2EE-compliant application server. Existing application deployment procedures are streamlined with thinweb-based clients and EJB servers. Thin HTML-based web client applications using Java servletscommunicate with both AppBuilder EJB services and C-language AppBuilder services.

    Communication configurations using NetEssential-TCP/IP with all AppBuilder services is supported.Java applications can be downloaded via HTTP and executed from wi thin a browser. Figure 5-5illustrates the communications protocols supported in AppBuilder and the data migration process forweb application development.

    Figure 5-5 J2EE Application Server Development

    EJB Container

    The EJB Container runs and manages components generated by AppBuilder. It handles communicationfrom the client application to the EJBs by defining the implementation settings for the interfaces thatdefine the EJB.

    The EJB Container:

    Listens for client requests

    Manages the state of the EJBs within the container

    Handles security

  • 8/14/2019 App Builder Product Concepts

    47/51

    J ava Enhancements

    AppBuilder 2.1.0 Product Concepts Guide 5-43

    Component Packaging

    Sun Microsystemss J2EE standard for packaging components enables portable deployment to anycompliant application server. AppBuilder uses this standard to generate J2EE packages for EnterpriseJava Bean (EJB) and servlet components, allowing these components to be deployed to a wide variety ofapplication server vendors.

    An EJB, or servlet module, is generated from an AppBuilder Partition object. All the objects that makeup a particular Partition, along with the modules deployment descriptor XML, are packaged together inan archive file (JAR for EJBs and WAR for servlets).

    After the AppBuilder components are packaged into modules, the modules are deployed as stand-aloneunits, or assembled with other J2EE modules and deployed. The process involves preparing andpackaging data in the repository to be defined as EJB modules that deploy to application servers.

    For detailed


Recommended