app builder product concepts
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