IBM (R) Solution Developer Operations DDDD EEEEE V V EEEEE L OOO PPPP EEEEE RRRR D D E V V E L O O P P E R R D D EEEE V V EEEE L O O PPPP EEEE RRRR D D E V V E L O O P E R R DDDD EEEEE V EEEEE LLLLL OOO P EEEEE R R SSSS U U PPPP PPPP OOO RRRR TTTTT N N EEEEE W W SSSS S U U P P P P O O R R T NN N E W W S SSS U U PPPP PPPP O O RRRR T N N N EEEE W W W SSS S U U P P O O R R T N NN E W W W S SSSS UUU P P OOO R R T N N EEEEE WW WW SSSS ======================================================================== 1995 Issue 14 Second of two issues, 16 October 1995 ======================================================================== This is the second of two newsletters released simultaneously on 16 October 1995. This newsletter, 1995 Issue 14 (DSN5N), contains information from formal IBM announcements made within the last month. The usual news items are in the first newsletter, 1995 Issue 13 (DSN5M). +----------+ | Contents | +----------+ The table of contents contains search codes for going directly to items that interest you. Search Codes ----- o TeamConnection for OS/2 Version 1.0 Manages the Entire connteam Software Development Life Cycle In brief... Overview. Description. Statement of general direction. Publications. Hardware requirements. Software requirements. Planning information. Ordering information and charges. NOTE: This item is 514 lines long. o IBM's TeamConnection: Technical Overview tconnovu Overview. Application development challenges and TeamConnection. How can TeamConnection help? What does TeamConnection do? Configuration management. Release management. Version control. Integrated build. Build mechanisms. Distributed build. Packaging and distribution support. TeamConnection's packaging utilities. Electronic distribution support using your distribution tool. Integrated problem tracking and change control. Report facility. Backup and recovery. Repository and model support. Information model. Data constraints. Information model schema evolution. Application development tool integration. IBM Application Development Team Suite. VisualGen. IBM COBOL VisualSet for OS/2. IBM VisualAge C++ for OS/2. IBM PL/I. PACBASE/CS. TeamConnection customer value. NOTE: This item is 1,091 lines long. o IBM PL/I for OS/2 Version 1 Release 1: New Price, New pliprice Channels, Software Advantage Offering In brief. Description. Product positioning. Products and charges. NOTE: This item is 325 lines long. o IBM PL/I Set for AIX Version 1 Details setdetl In brief... Description. Product positioning. Hardware requirements. Software requirements. Compatibility. Products and charges. NOTE: This item is 396 lines long. o IBM SOMobjects for MVS Version 1 Release 2 Limited mvsobj Availability In brief... Overview. Limited availability. Orders for the limited availability program. Description. Product positioning. Statement of general direction. Hardware requirements. Software requirements. Compatibility. Packaging. Ordering information. NOTE: This item is 309 lines long. o IBM C/C++ for MVS/ESA Version 3 Release 2 mvscplus In brief... What's new in version 3 release 2. Description. Product positioning. National language support. Hardware requirements. Software requirements. Compatibility. Ordering. Charges. NOTE: This item is 540 lines long. o IBM Internationalization Conference and NLS Programming Lab intconfl Details Introductory letter. Conference preliminary agenda. Conference preliminary course descriptions. OS/2 and AIX NLS hands-on programming labs. Registration form. NOTE: This item is 469 lines long. ======================================================================== +----------------------+ | Where to Find DSNEWS | +----------------------+ On the World Wide Web --------------------- DSNEWS is now available on the Internet World Wide Web through the IBM Solution Developer Support home page. The URL for DSNEWS is http://www.austin.ibm.com/developer/library/dsnews/ . On E-Mail and Bulletin Board Systems ------------------------------------ The monthly DSNEWS files are ZIPped into the file DSNymA.ZIP, where y = last digit of year, and m = issue number represented as alpha (for example, DSN5BA.ZIP is the 1995 second issue). DSNymA.ZIP contains: -- This announcement file, DSNym1.ANN -- The current month's contents list, DSNym.SMY -- An annual cumulative list of contents, DSNy.CUM -- The current month's ASCII newsletter, DSNym.ASC The ZIPped files are posted on several e-mail and BBS systems: o America Online, in the OS/2 forum, in the Newsletters library o CompuServe, in OS2DF2 forum, *DAP library section 14 and in OS2DF1 forum, OPEN FORUM library section 15 o Fidonet, in the OS2 Information file area, FWOS2INFO o GEnie, in OS/2 Software Library 16 o Hitline mailbox (Switzerland), in file area 8 o IBM Canada BBS, in file area 35, OS/2 Programming o IBM OS2BBS (TALKLink), in Software library, Newsletters section o IBM Personal Computer Company BBS, in file area 11, OS/2 Programming o Internet, via anonymous ftp from ftp.software.ibm.com, in directory /ps/products/os2/info/wnewsltr; or via Gopher from os2info.austin.ibm.com, in the OS/2 Information menu o NIFTY-Serve (Japan), in FOS2 forum, library section 4 o Norloff's OS/2 Shareware BBS (1-703-385-4325 or telnet://bbs.os2bbs.com), in the OS/2 Periodicals file area o OS2NET (Europe), on all OS2NET bulletin boards in Europe, usually in the DSNEWS download area o PRODIGY, in the OS/2 Club topic's download library, in IBM Files Note: If you cannot find files named dsn... (in lower case), look for files named DSN... (in upper case). Within IBM ---------- Within IBM, 1995 issues, in ASCII format, are in DSN5 PACKAGE in the OS2TOOLS catalog, and 1994 issues are in DSN4 PACKAGE. To obtain DSN5 PACKAGE, type: TOOLCAT OS2TOOLS GET DSN5 PACKAGE To obtain DSN4 PACKAGE, type: TOOLCAT OS2TOOLS GET DSN4 PACKAGE You can also request the packages by typing: REQUEST DSN5 FROM V1ENG AT BCRVM1 and REQUEST DSN4 FROM V1ENG AT BCRVM1 To subscribe to DSN5 PACKAGE, type TOOLCAT OS2TOOLS SUB DSN5 PACKAGE +-----------------------------------+ | Notice to Readers Outside the USA | +-----------------------------------+ It is possible that the material in this newsletter may contain references to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such products, programming, or services in your country. +------------------------+ | Send Us Your Feedback! | +------------------------+ Your comments about this newsletter are important to us. Please send your feedback to the editor of IBM SDO Developer Support News, Mike Engelberg, at: o Internet: dsnews@vnet.ibm.com o IBMMAIL: USIB33NP o Fax: 1-407-443-3858 o Mail: DSNEWS, Internal Zip 5407, IBM Corporation, 1000 N.W. 51st Street, Boca Raton FL 33431, USA ======================================================================== +---------------------------------------------+ | TeamConnection for OS/2 Version 1.0 Manages | connteam | the Entire Software Development Life Cycle | +---------------------------------------------+ In Brief ... ------------ TeamConnection for OS/2 delivers the function that your application development teams need to manage and version development data for higher-quality code and more productive teams. It offers: o An integrated problem-tracking and change-control system with a configurable development model o Automated build process for use with a wide variety of AD tools o An open, extensible information model that provides the vehicle for data-sharing between a set of integrated tools Overview -------- TeamConnection for OS/2 supports application development in an OS/2 client/server team programming environment by integrating the software configuration management (SCM) services and object-oriented repository services on a semantic model for tool integration. Features include: o Support for a team programming environment o Operation in a distributed, client/server environment o Support for multiple development paradigms (3GL, 4GL, and OO, model-driven) o Open, customizable, scalable environment that can evolve and grow with your team and tools o Data-sharing across tools o Combination of SCM and repository services to provide a consistent set of functions designed to: - Facilitate project management across the development lifecycle - Increase your application quality and development productivity o Object-oriented repository o Open, extensible information model Price: 1,999 USD Planned availability date: 24 October 1995 Description ----------- TeamConnection for OS/2 integrates software configuration management (SCM) services and object-oriented repository services on a semantic model for tool integration to support application development in an OS/2 client/server team programming environment. This unique combination of functionality allows the benefits of SCM services to be provided across the broad spectrum of development data stored by TeamConnection, including both file-based objects and fine grain modeled objects. On OS/2, TeamConnection supports the development of applications that can be targeted for many IBM and non-IBM platforms. TeamConnection provides integrated build support for applications being targeted for the OS/2 and MVS platforms. Builds of applications for other target platforms can be accomplished through standard Make facilities on the target platform. TeamConnection provides the following SCM services: o Version Control Version control provides the basic function of an SCM tool. It provides the ability to store versions of an entire application, so that the state of the application at a particular point in time can be re-created. Version control supports both serial and parallel development, and includes a graphical merge tool for reconciling text changes. o Configuration Management Configuration management provides the ability to identify, organize, manage, and control access to development data. It also provides a notification mechanism to facilitate team communications. o Integrated Build Integrated build automates and optimizes the process of building an application or part of an application. Building can encompass many different processes such as compiling, linking, generating, document processing, binding an application to a database, or invoking a command file. The build process can segment the build activity, so that multiple build processors can be used in parallel to complete the build faster. It coordinates and controls these multiple build tasks. Integrated build also automatically determines INCLUDE dependencies, checks for a minimal set of objects to rebuild, and then builds the application. The build process also encompasses building applications for local or remote systems, and building applications that run in multiple environments. o Packaging and Distribution Support Packaging and distribution support extends the conventional compile and link steps of the build function to perform the transformation steps that are required to prepare the application for distribution to a production environment. The packaging and distribution support enables applications to be distributed electronically using LAN-based file server technology such as IBM NetView Distribution Manager/2. o Problem Tracking and Change Control Problem tracking and change control manages the process of allowing changes to development data. TeamConnection provides a very strong configurable development model that controls and tracks changes to development data. It associates identified application defects and features with the changes. TeamConnection manages the process of integrating related changes through the ability to build the application based on defects and features. o Backup and Recovery The backup and recovery facility allows TeamConnection data to be stored on an alternate media for archival purposes. Because of data consistency, there is no capability to merge the old data with new or current data upon restoration. o SQL Query SQL Query provides a dynamic query facility for development data and meta data. Meta data is information about development data. Examples include defects, build information, configuration information, and registered users. This query facility provides a powerful reporting mechanism for audit purposes, quality control, project management, and development needs. TeamConnection also provides an object-oriented repository, and an open extensible information model. In addition to participating in all the SCM services above, the repository has the following features: o Object-Oriented Repository TeamConnection leverages object-oriented database technology and services. This high-performance, distributed, object-oriented database stores the persistent data, and provides query, locking, and transaction functions. o Information Model The information model provides the common semantic definition by which integrated tools share data and interact. This provides the integrating platform through which development tools work together to share data and to allow a team to develop and maintain mission-critical applications. o Information Model Schema Evolution TeamConnection provides schema-evolution facilities that allow the information model to be extended without having to recompile existing code. These facilities are used in each new release of the information model. Not having to recompile the tools for changes in the information model is important, because tools normally ship just the executable form of their product. o Data Constraints Constraints are methods that ensure that the data is consistent with the definition of the information model. Constraints are defined as part of the model definition. Constraints are useful in that tools do not require code to validate data in the model prior to use. APPLICATION DEVELOPMENT TOOL INTEGRATION TeamConnection was designed for extensibility and easy integration. The software configuration management architecture enables many IBM and non-IBM tools to be easily used with TeamConnection for storage and control of development data and for building outputs. IBM will continue to work with non-IBM tool builders to provide integrated solutions. o Tools that transform a set of inputs into a set of outputs can be plugged into TeamConnection through the use of a build script. o Tools can provide transparent access to the software configuration management services by invoking the command line interface from within their tools. o TeamConnection function can be extended by invoking tools from TeamConnection user exits. User exits are available before and after each command. TeamConnection provides the integrating technology for multiple application development tools to share data in a team environment. The develop / compile / generate tools provided by IBM that integrate with TeamConnection include: o VisualGen for OS/2 Version 2.0 o IBM VisualAge for COBOL for OS/2 Version 1.0 o IBM VisualAge for C++ for OS/2 Version 1.0 o IBM PL/I for OS/2 Version 1.0 o PACBASE/CS VISUALGEN FOR OS/2: VisualGen application members defined in VisualGen Version 2.0 may be stored in and managed by TeamConnection, which provides versioning and change control. In addition, TeamConnection provides configuration management support for build of VisualGen applications, tables, and map groups. The outputs of VisualGen generation are also placed under TeamConnection versioning and change control, and are prepared for execution by the configuration management facilities of TeamConnection. IBM VISUALAGE FOR COBOL FOR OS/2: TeamConnection provides the infrastructure for team programming and software configuration management services for IBM VisualAge for COBOL for OS/2. In addition to the standard integration points, storage, and control of COBOL files, and building COBOL executables, TeamConnection is integrated with the Workframe component of IBM VisualAge for COBOL for OS/2. Files stored in TeamConnection can be reflected in Workframe projects and TeamConnection actions can be invoked from the Workframe project. With TeamConnection's ability to build applications for MVS, the IBM COBOL for MVS compiler may also be used as a build tool with TeamConnection. IBM VISUALAGE FOR C++ FOR OS/2: TeamConnection provides the infrastructure for team programming and software configuration management services for IBM VisualAge for C++ for OS/2. In addition to the standard integration points, storage, and control of C++ files, and building C++ executables, TeamConnection is integrated with the Workframe component of IBM VisualAge for C++ for OS/2. Files stored in TeamConnection can be reflected in Workframe projects, and TeamConnection actions can be invoked from the Workframe project. With TeamConnections's ability to build applications for MVS, the IBM C/370 for MVS compiler may also be used as a build tool with TeamConnection. IBM PL/I FOR OS/2: TeamConnection provides the infrastructure for team programming and software configuration management services for IBM PL/I for OS/2. PL/I files, source and executable, can be stored, controlled, and built using TeamConnection. With TeamConnection's ability to build applications for MVS, the IBM PL/I for MVS compiler may also be used as a build tool with TeamConnection. PACBASE/CS: PACBASE/CS will implement the use of TeamConnection software configuration management facilities. Initially, source files generated with PACBASE/CS can be managed using TeamConnection versioning and application build capabilities. Additional TeamConnection management and repository functions will be implemented to support the full PACBASE/CS client/server development environment. TEAMCONNECTION CUSTOMER VALUE TeamConnection provides a facility for application developers to better manage their software development process in a team environment. The increased complexity of today's software development environment creates new problems for application developers, such as developing graphical user interfaces, writing client/server and distributed applications, and using multiple development paradigms that require multiple tools. These problems present new challenges to development teams that are being asked to deliver software products to market at faster and faster rates. In addition to faster development time, customers and employers demand higher-quality software than ever before. Successful software development organizations are measured by Software Engineering Institute (SEI) maturity levels and by compliance with ISO 9000 standards. Pressure to deliver high-quality code at a quickening pace requires new levels of efficiency in software maintenance. Meanwhile, application development organizations recognize the need to manage their software as a corporate asset. TeamConnection helps address these development issues by: o Allowing you to control and manage the changes to your software to ensure quality o Helping you to efficiently and reliably build your applications for greater productivity o Packaging your applications for delivery, so you can get them to your customers more quickly and with greater reliability o Providing a mechanism for tools to share data o Providing a development model that can help increase your SEI maturity level through a reliable, efficient, and repeatable process o Providing a graphical user interface that allows you to quickly and easily realize the benefits of TeamConnection TeamConnection provides the infrastructure and control to manage product development through the entire development cycle and across multiple development paradigms (3GL, 4GL, and OO, model-driven). It provides an open, customizable, and scalable environment that can evolve and grow with your development team. Statement of General Direction ------------------------------ TeamConnection includes an open, extendable information model. The information model provides the vehicle for data-sharing between a set of integrated tools that are using TeamConnection. This object-oriented information model enables an extensible architecture, thus ensuring continued support for new versions of existing tools, as well as new tools that are brought into the repository environment. IBM intends to document the information model semantics and provide a documented set of APIs to TeamConnection. In addition, IBM intends to deliver a developer's toolkit that will allow tool builders to extend the information model with their semantics data. Many tools and dictionaries today have a model in which they store information. IBM intends to provide IBM Exchange for OS/2, which will assist companies in exploiting their existing investment in business and data models. IBM Exchange for OS/2 will accept analysis and design information from a wide range of CASE tools, data dictionaries, and database management systems and transform that information for storage in the TeamConnection. Transforms will be bi-directional, so that the company can continue to use the analysis or design tools as desired. IBM intends to enhance TeamConnection to provide heterogeneous product capability across multiple platforms, including platforms such as 32-bit Microsoft Windows, and UNIX, while providing consistent, high-value product function, and customer investment protection. Publications ------------ The following publications will be available after general availability. To order, contact your IBM representative. Order Title Number TeamConnection library (all of the books) SBOF-6097 TeamConnection License Information GC34-4497 Getting Started with the OS/2 Client SC34-4498 TeamConnection User's Guide SC34-4499 TeamConnection Commands Reference SC34-4501 TeamConnection Quick Commands Reference SC34-4500 TeamConnection Messages SC34-4502 Hardware Requirements --------------------- TeamConnection Server requires the following hardware: - Processor: 50 MHz, 486-based processor or higher - Monitor: VGA or higher resolution with appropriate adapter - Pointing device: Mouse or similar - Memory: 48 MB minimum - Disk Space: -- Operating System and Pre-reqs: 75 MB -- TeamConnection Server code: 60 MB -- Swapper: 64 MB to 126 MB (Recommended: 150+ MB) - Communications: Network card supported by TCP/IP for OS/2 - CD-ROM: CD-ROM accessible for installation TeamConnection Build Server requires the following hardware: - Processor: 50 MHz, 486-based processor or higher - Monitor: VGA or higher resolution with appropriate adapter - Pointing device: Mouse or similar - Memory: 32 MB minimum, more may be necessary depending on compilers, linkers, and so on - Disk Space: -- Operating System and Pre-reqs: 75 MB -- TeamConnection Build Server code: 15 MB -- Swapper: 45 MB - Communications: Network card supported by TCP/IP for OS/2 TeamConnection Client requires the following hardware: - Processor: 25 MHz, 386-based processor or higher - Monitor: VGA or higher resolution with appropriate adapter - Pointing device: Mouse or similar - Memory: 12 MB minimum - Disk Space: -- Operating System and Pre-reqs: 75 MB -- TeamConnection Client code: 15 MB -- Swapper: 32 MB - Communications: Network card supported by TCP/IP for OS/2 Software Requirements --------------------- TeamConnection Server and Build Agent requires the following software: - OS/2 Warp, plus one of: -- TCP/IP for OS/2 2.0 (70G3754) -- AnyNet Sockets over SNA 2.0 or - OS/2 Warp Connect TeamConnection Client requires the following software: - OS/2 2.11 or higher (61G0900) Note: If double-byte character set (DBCS) support is required, one of the following DBCS versions of OS/2: -- IBM OS/2 J Version 2.11 or later -- IBM OS/2 H Version 2.11 or later -- IBM OS/2 T Version 2.11 or later -- IBM OS/2 P Version 2.11 or later plus one of: -- TCP/IP for OS/2 2.0 (70G3754) -- Anynet Sockets over SNA 2.0 TeamConnection Build Processor requires the following software: - OS/2 Warp, plus one of: -- TCP/IP for OS/2 2.0 (70G3754) -- Anynet Sockets over SNA 2.0 or - OS/2 Warp Connect - For MVS Builds, one of: -- TCP/IP 2.2.1 for MVS or higher (5735-HAL) -- Anynet feature for VTAM Version 4 Release 2 - C/370 Runtime 2.2 - For the distribution function: -- NetView Distribution Manager/2 2.0 or higher (53G3924) Planning Information -------------------- For planning LAN configurations to be used with TeamConnection, the following guidelines should be followed. o Depending upon HW/SW configurations, a TeamConnection server can support up to 200 clients. Mechanisms are available to implement external synchronizations of multiple TeamConnection servers for larger groups. o Multiple TeamConnection daemons can be started against the TeamConnection database, to service requests from clients. - For servicing tools that use the information model, one TeamConnection daemon should be started for every 10 active clients. - For servicing SCM requests, the need for multiple daemons will be driven by process-intensive requests such as query. o Any number of build servers, where compiles and generates execute, can be started against the TeamConnection server. These can be on the same machine as your TeamConnection server, but this is not recommended. The number of build server machines required is totally dependent on your usage patterns. It will reflect your current machine-usage patterns for building applications. Ordering Information and Charges -------------------------------- Orders for new licenses will be accepted now. Shipments will begin on the planned availability date, 24 October 1995. Part One-Time Program Name Number Charge TeamConnection for OS/2 Version 1.0 31H3744 1,999 USD ADDITIONAL LICENSE COPIES: Authorizes the customer who has a program package to make a single copy of the program media and printed documentation. The authorization is given by providing the customer a Proof of Entitlement for Additional License -- with certificate, which has its own part number. ADDITIONAL LICENSES CHARGE: Customers who pay a one-time charge for additional licenses may copy machine-readable program materials and printed documentation previously acquired from IBM in a program package. One copy may be made for each additional license ordered. Part One-Time Program Name Number Charge TeamConnection for OS/2 Version 1.0, 31H3746 1,799 USD Proof of Additional License with Certificate ADDITIONAL LICENSE COPIES -- SOFTWARE ADVANTAGE EXHIBIT: Authorization to make additional license copies begins on the start date specified in the Software Advantage Agreement. Proof of Entitlement will be provided monthly. Part One-Time Program Name Number Charge TeamConnection for OS/2 Version 1.0, 31H3745 1,799 USD Additional License without Certificate UPGRADE PROTECTION (NEW PRODUCT): The following Upgrade Protection Products are only available under the Software Advantage for Workstations offering: Part One-Time Program Name Number Charge Upgrade Protection for 33H6129 540 USD TeamConnection for OS/2 Version 1.0 - One-Time Charge Upgrade Protection for 33H6130 67.50 USD TeamConnection for OS/2 Version 1.0 - Quarterly Charge SOFTWARE ADVANTAGE FOR WORKSTATIONS-UPGRADE PROTECTION: The announced program is eligible as an entitled upgrade. Entitled customers will be provided with a no-charge program package and a Proof of Entitlement authorizing right to copy equal to the number of programs protected. Shipment will follow general availability. GETTING-STARTED PERIOD: A 60-day Getting Started Period is provided by the Personal Systems Support Line for the first license within a site, location, or centralized help desk. The 60-day period begins with the first call to the Support Line. GUARANTEE: The IBM 30-day, money-back guarantee applies. ======================================================================== +------------------------------------------+ | IBM's TeamConnection: Technical Overview | tconnovu +------------------------------------------+ This document provides a technical overview of IBM TeamConnection for OS/2, and describes its integration with application development tools. It is written for customers who need the functions that TeamConnection provides, and who want to know more. Overview -------- TeamConnection is an object-oriented, repository-based application development environment that provides software configuration management services and a semantic model for tool integration to support a team programming environment. It operates in a distributed environment to facilitate project-wide coordination of development activities across all phases of the product development life cycle. TeamConnection provides an infrastructure for multiple IBM Application Development solutions and can be used with many application development tools available today. For more information about TeamConnection, please contact your IBM Marketing Representative. If you don't have an IBM Marketing Representative, please call 1-800-IBM-3333 or 1-919-254-4760, and indicate that you already have this technical overview. In Canada, call 1-800-565-SW4U, ext. 662 (fax 1-800-267-5185). Outside North America, contact: Austria 0222.21145.2500 Belgium 02.2253333 Denmark 80304545 Finland 90.459.4176 France 36.633643 Germany 0130.4567 Italy 1670.17001 Netherlands 06.0220402 Norway 66.999300 South Africa 27.11.2249.111 Spain 900.100400 Sweden 08.7934004 Switzerland 01.4366233 UK 081.5757700 Application Development Challenges and TeamConnection ----------------------------------------------------- Application development teams today face tremendous challenges. While both applications and application development environments are becoming more and more complex, development teams are challenged to continuously increase code quality through adherence to process standards and audit trail management. The application development tools available today to help address these issues often come up short, addressing only specific problems, and not providing sufficient tool integration to deliver a fully integrated software development environment. Applications under development are made more complex by the need to support advanced graphical user interfaces, object-oriented and client/server technologies, and heterogeneous, distributed computing. Client/server applications are moving past decision support into the second generation of mission-critical, high-volume transaction processing, which brings with it additional complexity in the application design. The team's development environment is also becoming more complex in an effort to meet these challenges. The development team is distributed on a LAN, yet they have the same requirements for coordinated team programming support that is available on the centralized host environment. Object technology, with an increasing focus on support for reuse, and tool integration at the data level are requirements that add to the complexity of the development environment. Successful software development organizations are measured by SEI maturity levels and by compliance with ISO 9000 standards. These problems present new challenges to development teams that are being asked to deliver software products to market at faster and faster rates. How Can TeamConnection Help? ---------------------------- TeamConnection helps address these development issues by: o Enabling you to organize your componentry for reuse. o Enabling you to manage the changes to your software more efficiently. o Helping you to more efficiently rebuild your applications after they have been modified. o Improving team communication and deployment through e-mail notification on activity required, application changes, and project status. o Packaging your applications for delivery so you can get them to your customers more quickly and with greater reliability. o Providing a development model that can help increase your SEI maturity level and improve your application quality through reliable, efficient, and repeatable processes. o Providing extensive problem tracking and change control for both fine-grained and coarse-grained application development objects. o Providing extensive reporting that can be project status, used for tasks such as impact analysis, project management, quality analysis, and workload balancing. o Providing a secure repository for your software assets and the information about them, with role-based access. o Providing an application development information model along with repository services that provides the basis for tool integration. o Supporting non-disruptive schema evolution of the information model. End users can maintain their investment in current tools and their existing skill base working with those tools and still allow for introduction of new tools into the development environment. o Supporting data exchange with other platforms and modeling tools, including migration of legacy data, through the optional feature, IBM Exchange for OS/2, that will be available in a later release. o Providing backup and recovery facilities. What Does TeamConnection Do? ---------------------------- TeamConnection integrates software configuration management services and object-oriented repository services on a semantic model for tool integration to support application development in an OS/2 client/server team programming environment. Applications can be targeted for any platform, and can be standalone, client/server, or distributed applications. TeamConnection delivers the function your application development teams need to manage development data, application versions, and application configurations. The integrated problem tracking and change control system ensures that, while your application developers are more productive, your project leaders can effectively manage the development process and track progress. TeamConnection automates and streamlines your application build process, and integrates it with the version and change control processes. The build process is tied to release management, and extended to provide a framework for delivery of software. An open, extensible information model provides the vehicle for data-sharing between a set of integrated tools using TeamConnection. This object-oriented information model enables an extensible architecture, thus ensuring continued support for new versions of existing tools, as well as new tools that are brought into the active repository environment. TeamConnection supports application development customers who employ model-driven development: o to support application development by teams charged with the responsibility of developing complex applications quickly and maintaining those applications responsively o for data sharing, where all members of the development team, irrespective of their roles, have a common understanding of an application's data (that is, semantic consistency of data is enforced) o to exploit a LAN topology for the application development environment o to use distributed application development data, which further exploits LAN topology in the management of application development resources TeamConnection is built on an object-oriented database, which allows TeamConnection's repository to store fine-grained application development data with high performance. Its software configuration management services work equally well with fine-grained modeled objects and conventional coarse-grained objects (files). The integration of these higher-level services with more traditional repository services, such as constraint checking, version management, concurrent and distributed access, and data exchange, make TeamConnection unique in the industry. TeamConnection provides the following services: o Configuration management o Release management o Version control o Integrated build o Packaging and distribution support o Problem tracking and change control o Reporting o Backup and recovery o Object-oriented repository o Information model o Data constraints o Information model schema evolution Configuration Management ------------------------ Configuration management in TeamConnection provides the ability to identify, organize, manage, and control access to your development data. Within TeamConnection, data is divided into one or more families. A family represents a complete and self-contained collection of related managed objects (development data which may be files or modeled objects) and data about the managed objects. Data within a family is completely isolated from data in all other families, even those on the same server. One family cannot share data with another, except through external synchronization. TeamConnection has mechanisms which can be used to implement customer-defined synchronization processes. The structure used to organize data within a family is called the component hierarchy. Each node within the hierarchy is called a component. A component is a TeamConnection object that simplifies project management, organizes project data into structured groups, and controls configuration management properties. The hierarchy provides a mechanism for organizing components of data into structured groups. Some common ways to group data in a component hierarchy are by function, by execution platform, for access control, or for communication needs. The component hierarchy should reflect the organizational requirements of your development team, and can be modified over time as these requirements change. Each managed object under TeamConnection is managed by a component. Components that manage one or more managed objects are usually the leaf components of your hierarchy, while the branch components are used for organization, access control, notification, and problem reporting. Control of TeamConnection objects and the authority to access TeamConnection data are managed by components and granted to users through component ownership and the access lists associated with the components. Users are given access to objects in a specific family through their TeamConnection user IDs. Each family has at least one superuser. The superuser has privileged access to the family and acts as the TeamConnection administrator. All TeamConnection users have some basic capabilities which can be further extended by the superuser or his/her delegates. Ownership of each component is assigned to one user. That user is responsible for managing all development data related to that component and the objects it manages. The owner has automatic authority to perform many actions. In addition, each component has an access list. The access list manages user access (beyond the owner) to objects controlled by the component by assigning users specific authorities. Default authority groups are shipped with TeamConnection, and can be tailored to meet your needs. Access authority is inherited by lower-level components. Each component can also have a notification list. Notification messages are sent to an electronic mailing address that is specified when the user's TeamConnection ID is created. Some notification is automatic. For example, the owner of a TeamConnection object is always notified when actions are performed on that object. Users receive notification when an action affects their user ID or requires them to perform an action in return. Additional notifications can be configured through the notification list, which maps user IDs to interest levels. Like access authority, notification is inherited by lower-level components. A managed object is development data that is stored by TeamConnection and retrieved by name. A managed object can also be thought of as a TeamConnection part. The managed objects controlled by TeamConnection can be text objects, binary objects, modeled objects, or empty. They are always owned by a component. Text objects are ASCII files, which are generally created by an editor. Examples are source code, test cases, documentation, README files, and install files. Binary objects are files that are generally created by a tool. Examples are OBJ files that a compiler produces, EXE files that a linker produces, and other files that a tool produces which have a format understood only by that tool. Modeled objects are defined in the information model. They are created and used by a tool, but not stored as a file. In this case, the tool uses a set of TeamConnection APIs to store and retrieve modeled objects in the underlying repository. The command line is not used for modeled objects. All of the capabilities associated with files are equally applicable to modeled objects. Examples of modeled objects are shared data elements and VisualGen logic records. Empty objects are placeholders, for example, for the output of a future build. When you create a TeamConnection managed object, you are placing an existing development object under TeamConnection control. To change a managed object, you check the object out from TeamConnection, make changes, and then check the changed object back in, thus updating the TeamConnection server. TeamConnection stores additional information (such as who changed it and why) about the managed object each time an action is performed against it. This information can be queried at any time. Common actions against managed objects include: Create To store an object from your workstation in the TeamConnection server. Or, to store an object from a tool in the TeamConnection server. Or, to create an object as a placeholder. Check out To get a copy of the object onto your workstation for update. Check in To put an updated object back in TeamConnection. Extract To get a copy of an object onto your workstation without planning to make changes to it. Build To execute one or more build steps, such as compile, link, or generate. Tools such as VisualGen and DataAtlas might hide these details from the end user by invoking the actions on behalf of the end user. Release Management ------------------ A release is a logical organization, or mapping, of all managed objects that are related to an application. A release does not affect the physical location of a managed object; instead it provides a logical view of the managed objects that must be built, tested, and distributed together. Each release is created against a managing component, which provides the access and notification mechanisms. However, the managed objects in a release can be managed by many components. Also, a specific object can be in multiple releases. Each time a development cycle begins for the next version of an application, a separate release can be defined. Each subsequent release of an application references many of the same managed objects. The release manages whether or not managed object changes are tied to defects and features. If the track process (described in a later section) is turned on, then object changes require a defect or feature number. If the track process is turned off, then managed object changes can be made without a defect and feature number. Because you can configure your change process by release, you can have a low level of control early in the development cycle, add controls as the release comes closer to shipment, and finally, use the highest level of control after the release has been shipped to customers and is being maintained. Version Control --------------- Versioning is making copies of data at some meaningful point, in order to return to that point at a later date, if necessary. Most programmers version their code, even if they are not using a software configuration management system to manage their applications. A classic example is the programmer, Kim, who has just added a nice little routine to an application and validated that the new routine works. Before writing the next routine for the application, Kim makes a copy of the code that works. If subsequent changes break the application, she can always go back to the copy of the application that worked. TeamConnection versions application development activity at a release level. As compared with tools that record and track versions of file changes, the TeamConnection release-level versioning model maintains "snapshots" of the release in addition to snapshots of managed objects. A version of a release is the set of the correct versions of all the managed objects that make up a release. As changes are committed to the release, the release is frozen, or saved, so that each evolution can be retrieved. This versioning model not only enables you to work on the correct versions of individual managed objects, but it also maintains and presents those managed object versions within the context of the identified version of the release. You can change between work activities, such as problem resolution on an old release and enhancements to the current release, yet the complete version of each release is recreated to reflect the correct versions of its included managed objects. The versioning model is implemented through the use of work areas. In order to update a release, you create a work area. A work area is a sandbox in which you can update managed objects and do builds without affecting the release. When you create a work area, it maps to the most current version of the release. You check out a managed object from the work area, edit it, and then check in the managed object to the work area. Your changes now exist in the TeamConnection server, but are visible only in the work area. After building in the work area and testing, you update the release by committing the work area. On a commit, the release is frozen and then updated with the changes from the work area. This provides the history of changes and the ability to recreate each evolution of the release. A version of a release is the set of the correct versions of all the managed objects for a complete release. Maintaining copies of all managed objects in a release for each version would require exorbitant disk space. This is why versions of a release are actually mappings to the correct versions of the included managed objects. In addition, versions of the text files are stored as reverse delta versions to conserve space. TeamConnection also provides optional support for concurrent development, so you can update managed objects in parallel with other developers. Its graphical merge tool helps you resolve conflicting changes in text objects. Integrated Build ---------------- TeamConnection's integrated build function automates and optimizes the process of building individual managed objects, entire releases, or multiple releases. Building can encompass many different processes such as compiling, linking, generating, document processing, binding an application to a database, or invoking a command file. With distributed build, managed objects or releases can also be built for the enterprise client/server environment, that is, for target platforms different than the server platform. Integrated build functions are available for OS/2 and MVS. In the future, additional platforms will be supported. Integrating the build capability within TeamConnection provides value that standard make functions cannot match. o Repeatable and reliable Once the build structure is set up, TeamConnection can provide a repeatable, reliable build. The same outputs are produced from the same inputs when you use the same set of translation or build rules. You can also build different outputs from the same inputs by using different translation rules, for example, to compile for a different platform. The build structure can be created using an object-based Graphical User Interface (GUI) or the command-line interface. o Minimizes resources required TeamConnection detects out-of-date conditions in a build structure, and rebuilds only those parts of the release that need to be rebuilt, thus minimizing the resources required to accomplish the build. Because of the way that timestamps are kept in a LAN environment, out-of-date conditions cannot always be detected in a file system. But because all inputs are stored in TeamConnection, its build function does not rely on file system timestamps, thus improving its performance over make functions. o Builds multiplatform applications Client/server applications require that code for multiple platforms be kept in sync. The build function in TeamConnection can incorporate the build procedures for multiple platforms and can synchronize the build of the related applications. o Distributes build across available machines TeamConnection can manage a pool of available machines to build an application. It can determine which parts of a build need to be serial and which can be parallel. Then it can parcel out the work to available machines. For example, a pool of OS/2 machines might be defined for compiling C code. At night, programmer machines can be added to this pool for large build processes. With this capability, a multistep build is no longer constrained by the speed of a single machine. o Builds objects and files TeamConnection provides software configuration management services on a broad range of objects (files and modeled objects), all stored in a single object-oriented repository. With these capabilities, TeamConnection can support 3GL, 4GL, model-driven, and OO development paradigms. Objects for these paradigms can be stored together in TeamConnection. Where applications are written in a mixture of 3GL, 4GL, and OO, TeamConnection can build them together and keep them in sync. For example, a VisualGen application might work with an application written in COBOL. Both of the applications can be stored and managed by TeamConnection within the same build structure. Build Mechanisms ---------------- A build tree is a structure that graphically defines how the managed objects are built together. The build tree is a complete description of the dependencies that managed objects have on one another, and of all the steps required to build the release. Each executable step in the build tree is a build event. For example, the compilation of C source into object code is a build event. A builder is a TeamConnection object that describes how to perform a build event: how to translate input managed objects into output managed objects. For example, one builder might know how to transform C++ source code into object code. A different builder might know how to transform object code into an executable. The builder identifies the environment where the transform will execute, passes parameters to and from its build script, defines the basic rules of successful completion, and invokes a build script. The build script that the builder uses is essentially a binding between TeamConnection and a transform tool. The build script invokes the tool. Because of the way TeamConnection uses build scripts to invoke tools, TeamConnection is highly extensible, and can be used with a large variety of build tools. Examples of these include: o Application generators, such as VisualGen o 3GL compilers o Linkers o Object-oriented C++ compilers o Preprocessors such as for DB2 and CICS o Document processors In OS/2, a build script is usually a command file. It can be as simple as a single string that invokes the tool. In MVS, it is a JCL fragment. The JCL job stream can do anything that a normal JCL job stream does. For example, a build script designed to move an application into test might copy the application executable into a test loadlib along with a set of test cases. A parser is a tool that knows how to read a source file and report back a list of dependencies of that source file. A parser simplifies the job of defining a build tree. It frees you from having to know what dependencies a managed object has on other managed objects. For example, a C parser knows how to read a C source code file and report back a list of files included by the source file. If dependencies are found during the parse that are not reflected in the build tree, then the build tree is automatically updated. A set of sample language parsers and build scripts is provided with TeamConnection. Once the build tree, builders, build scripts, and parsers are set up, TeamConnection has a reliable, repeatable build process that minimizes the time and resource required to build an application. When a build is requested, the build process determines out-of-date managed objects (objects that have been changed or whose inputs have been changed) within the build tree, parses any out-of-date object(s) to find any new dependencies, and uses the builders and build scripts to rebuild just the out-of-date objects in the requested environment. Distributed Build ----------------- In TeamConnection, the build processor is where build tools such as compilers, linkers, and generators execute. In the case of compilers and linkers, this is typically the target environment where the application will run. In the build process described in the previous section, the build actually consists of putting the build scope on the job queue. The build scope is the collection of build events that must occur to complete the build. The job queue is the list of build scopes to be completed. The build processor is the TeamConnection process that actually invokes the tools, such as compilers and linkers, that construct an application. The build processor also manages a cache in order to reduce file transfer overhead. Since the build processor may be physically located on a separate CPU from the data, each build processor is paired with a build agent, which typically runs on the TeamConnection server machine. The build agent acts on behalf of the build processor to query the job queue for work, and to retrieve managed objects when the build processor needs them. After the administrator starts a build processor and its corresponding build agent, the build agent polls the job queue for build events. TeamConnection understands which build events within the job queue need to be performed in a specific order. TeamConnection also understands the environment required for a build event, such as MVS or OS/2. These mechanisms allow parts of a build to occur in parallel, if multiple build processors are available. They also allow builds to be distributed to the appropriate target environment for execution. This design allows TeamConnection to handle a wide variety of topologies, such as: o building on a remote machine o building a distributed application where application parts execute on different machines o building an application which can run on multiple machines (same source code built for both OS/2 and MVS) As each build event is completed, the TeamConnection server is updated with the return code and any outputs, such as the compiled object code. After the build is completed, the TeamConnection client that requested it is notified. This architecture provides considerable flexibility. To illustrate, an MVS programmer could edit, compile, and debug an application on an OS/2 workstation using IBM COBOL VisualSet for OS/2. When the application is ready for system test or production, the programmer requests a build for MVS. The build is executed on MVS, and the executable is automatically brought back to TeamConnection so that it can be versioned along with the source. Packaging and Distribution Support ---------------------------------- Packaging and distribution support provide a bridge from development to the production environment. In TeamConnection, packaging is any of the steps necessary to distribute TeamConnection managed applications to software users or onto the machines where software is to be used. To do this, TeamConnection extends the build process to include transformation of executable and non-executable files into a distribution-ready form. Your process might require more than one packaging step to prepare a software package for distribution. Examples of these are: o Compressing files o Packing files together o Encrypting files o Organizing and grouping files o Adding prerequisite files and programs such as installation utilities o Updating asset or inventory managers (license tracking) o Transferring the files to physical media o Distributing the packaged software electronically Any or all of these steps can be automated by incorporating them into the build tree. Unlike conventional build steps, packaging build steps often do not change the content of the release, but simply organize or package the release in preparation for some form of distribution. Another distinction of packaging build steps is that their outputs are generally not physical objects that are stored back into TeamConnection; instead, they are abstract or conceptual. So if the build object is up to date, it might not have produced something in TeamConnection; instead, it might represent the fact that files were transferred to a remote server, as an example. TeamConnection's Packaging Utilities ------------------------------------ In addition to this highly customizable packaging support, TeamConnection focuses on solutions to electronically distribute software. TeamConnection includes two utilities: o The Gather tool is an automated data mover for server- or file-transfer-based distribution. o The NVBridge tool automates the installation and distribution of software or data using IBM NetView Distribution Manager/2 (NVDM/2) as the distribution vehicle. Together, these two utilities provide the ability to move an application in TeamConnection, along with associated files such as installation files and documentation, to an OS/2 subdirectory, and then to invoke NVDM/2 to catalog the application, distribute it, and install it. The following scenario demonstrates the value of integrating these functions into TeamConnection. An application managed by TeamConnection is in production when an error is detected. The maintenance team opens a defect (defects will be discussed in the next section) for the error. A work area is created to incorporate the modifications into the current release. After testing, the work area is committed to the release. The release build tree includes the gather and NVDM/2 steps. When these steps are built, the updated application is moved into the file system and, via NVDM/2, it is distributed and installed. Because the build tree was used, the audit team can be sure that the application included the fix when distributed. Electronic Distribution Support Using Your Distribution Tool ------------------------------------------------------------ There are many tools for electronic distribution. You can build a bridge similar to NVBridge to invoke the distribution tool of your choice. To simplify this task, TeamConnection includes the mini-utilities that were used to create NVBridge. Although these utilities are unique to NVDM/2, using them as examples will speed the development of your own bridge. Integrated Problem Tracking and Change Control ---------------------------------------------- The processes involved in problem tracking and change control provide you the ability to manage and control your development process. TeamConnection tracks reported problems and design changes and retains information about the life cycle of each. A defect is used to record each reported problem. A feature is used to record each proposed design change. The information recorded about defects and features allows you to report on who, what, when, why, and where modifications occur, and also to report on where a particular defect or feature is in the development cycle, and where the release is in the development cycle. For instance: o How many features have been implemented, or still need to be implemented? o How many defects are open? o How many features are still in test? (Do I need to move resources to test?) o How many defects have been opened against each managed object? (Where are my code quality problems?) A defect or feature can be used to record any changes you need to monitor. For example, defects and features can be used to record problems, proposals for process improvement, and hardware design changes, as well as proposals for design changes in products being developed under TeamConnection control. Any TeamConnection user can open a defect or feature. Each defect and feature must be opened against a specific component within the component hierarchy. The defect or feature can be reassigned to a more appropriate component within the hierarchy if necessary. The owner of the component to which it is assigned automatically becomes the owner of the defect or feature. This ownership can also be reassigned. Defects and features go through a configurable process. As they move through the process, team members who need to take action are notified. This automatic notification helps keep your process running smoothly, and aids in team communication. It might even reduce the number of meetings that use development cycles for unproductive work. If you choose to require that changes to managed objects can be made only in association with a defect or a feature, then changes can be made only when the defect or feature is in the working state. This enables you to require the correct level of authorization before a change can be made. Although build objects and versions are release-specific, defects and features are family-wide. This allows a specific defect or feature to be implemented for multiple releases. It also helps ensure that problems fixed in a maintenance release are likewise fixed in the development release, so your customers don't find an old problem in a new release. TeamConnection ties the process of managing defects and features to the change control process through the use of the track process. If you use the track process, changes to managed objects must be tied to defects and features. Because changes are implemented in work areas, with the track process you have the ability to build, test, and ultimately commit to release individual changes. If the track process is being used, the driver process can also be used. This process integrates multiple defects and features before committing them to a release. This is done by adding their work areas to a driver. As this is done, changes can be built together and tested together prior to committing them to a release. With the ability to configure processes, you can tailor TeamConnection to best suit your environment. You can adjust the process over time to fit your release's stage in its life cycle. Report Facility --------------- The report facility in TeamConnection is an SQL query facility that has been extended for the object-oriented database. End users can form dynamic queries to quickly find objects of specific interest, such as defects assigned to them, objects they have checked out, or all changes associated with a particular feature. The GUI can be used to form queries. Queries can be stored and used for extensive reporting, auditing, and project management, as the following examples demonstrate: o Impact analysis: Tell me all the releases that a managed object is used in. o Quality analysis: Tell me how many defects have been reported against each component in a release. o Workload balancing: Tell me how many defects are being worked. Tell me how many defects are being tested. Use this information to move resource between development and test. o Project Status: For features scheduled in this release, tell me how many are open, implemented, tested, and complete. Output from queries can be input to other tools such as Visualizer, which will graph the results of a report. Backup and Recovery ------------------- The backup and recovery facility allows TeamConnection data to be stored on alternate media for archival purposes. Because of data consistency concerns, TeamConnection does not merge the old data with new or current data upon restoration. Repository and Model Support ---------------------------- TeamConnection leverages object-oriented database technology and services for its persistent data store. the need for separation of the three levels of repository definition (conceptual, logical, and storage/physical) is rarely challenged. TeamConnection has married this three-tiered "schema" specification with the LAN's physical topology. Conceptual View. TeamConnection's information model defines the conceptual schema that is available for all integrated tools. This information model is a fine-grained model with a robust metamodel supporting the following: o Inheritance o A relationships framework supporting attributes, relationships on relationships, cardinality constraints (minimum and maximum), ordering, and complex controlling semantics o Attributes, on both the objects (or entities) and relationships o Complex data typing on attributes (for example, structures, pointers) o Passive constraints o A model framework providing abstract supertype (Managed Object) services classes from which the semantic classes of the information model can be subtyped. This allows for consistent repository / software configuration management services to be applicable against classes as they are introduced into information model definition. Logical View: Each tool presents to its end user the information that is necessary and sufficient to allow that end user to perform the tasks supported by the tool. This subset of information is the logical view being presented by the tool. The view is defined by the tool and is stored in TeamConnection. It can be used by the same tool for other tasks, or by other tools that use the same subset of data to satisfy the information needs of their end users. New logical views can be built from existing views. The logical view is presented to the tool through an object application programming interface (API), and is implemented as a tool cache. This interface supports the tool's logical view of the information model for the storage and retrieval of modeled objects from the TeamConnection persistent store. When object instances are made available to the tool, the tool can manipulate (create, delete, update) these instances through the object model APIs (for example, get/set attributes, create/delete objects). Tools lock or unlock, and commit changes for their view. The tool cache exists on the client machine where the tool executes. It manages the tool's view of data in memory, and controls the transactions necessary to write changes back to the OODB. Storage View: The logical views allow for TeamConnection to optimize the storage of the information sent through the APIs. This separation also provides the target layer for mapping the TeamConnection services and data schema to the underlying persistent storage database. Information Model ----------------- The information model provides the common semantic definition by which integrated tools share data and interact. It is an objectified entity-relationship model, in which entities are replaced by more powerful objects. Semantic classes represent the traditional view of the information model. The classes include (but are not restricted to): o Entities, attributes, relationships o Shared data elements o High-level language constructs (for example, COBOL data structures) o Relational database definitions o Hierarchical database definitions o Application visual parts o Application systems definitions o Business rules o Build process definitions (in support of automated build processing) o Bulk data (multiple file types are managed) Through inheritance, these semantic classes are enabled to the services defined on the managed object class. This allows for future extensions by IBM, vendors, and users, to attach to these services in a straightforward manner. The classes, which are part of the information model, are shared by the suite of tools working with TeamConnection as an active development-time repository. This shared-data schema is the foundation of the data integration seen through the integrated suite of tools, and is the integrating platform through which development tools work together. It is important to note that the information model supports object definitions which span fine-grained classes (for example, an entity) to coarse-grained classes (for example, a COBOL source file). This breadth allows TeamConnection to support 3GL, 4GL, model-driven, and object-oriented development paradigms in an integrated fashion, providing a common semantic model and layer of software configuration management services to each. The scope of the semantics over which these classes act is related to the tool suites enabled to the integration framework. This scope includes support for data descriptions from the analysis and design phase of development through the specific characteristics for given languages or database technology. These semantics provide the definition for the tools in the Team Suite, including a Business Requirements Tool, DataAtlas, and VisualGen. Data Constraints ---------------- Constraints are methods that ensure that the data is consistent with the definition of the information model. They are defined as part of the model definition, and are useful in two ways. First, they enforce a global, consistent standard for stored data. Second, tools do not require code to validate data in the model prior to use. The constraint framework is triggered whenever the tool cache writes updates to the persistent data store. Information Model Schema Evolution ---------------------------------- As tools are added to the set of tools using the information model for storage of fine grained information, or as the current tools evolve to include additional functions, it will be necessary to add semantics to the current information model. To minimize the effort required in the customer environment, TeamConnection provides schema evolution facilities that allow the information model to be extended without recompiling existing code. These facilities are used with each new release of the information model. Not having to recompile the tools for additions to the information model is a very important feature, because tools normally ship just the executable form of their products. Application Development Tool Integration ---------------------------------------- TeamConnection was designed for extensibility and easy integration. The software configuration management architecture allows for many IBM and non-IBM tools to be easily used with TeamConnection for storage and control of development data, and for building outputs: o Tools that transform a set of inputs into a set of outputs can be plugged into TeamConnection through the use of a build script. o Tools can provide transparent access to the software configuration management services by invoking the command-line interface. o TeamConnection function can be extended by invoking tools from TeamConnection user exits. User exits are available before and after each command. The repository architecture includes a set of APIs and an open extensible information model. Tools can share data in the information model, store their unique data in the information model, and use the common software configuration management and repository services. Much software configuration management integration can be customized in your development environment using the methods identified above. However, more seamless software configuration management integration and all repository integration must be implemented by tool vendors working with the TeamConnection development team. To facilitate these integrations, a TeamConnection Vendor Enabling program is actively pursuing integrations that will deliver high-value solutions to you. The following sections describe integrations that are currently available or under development for delivery. IBM Application Development Team Suite -------------------------------------- TeamConnection provides the integrating technology for multiple application development tools to share data in a team environment. Team Suite will provide customers the ability to make technology choices that work with supporting tools on a common infrastructure. The compile / generate tools provided by IBM include: o VisualGen o IBM COBOL VisualSet for OS/2 o IBM VisualAge C++ for OS/2 o IBM PL/I for OS/2 Tools that integrate through TeamConnection with the compile/generate technologies include DataAtlas, a state-of-the-art data modeler, designer, and dictionary; and a Business Requirements Tool which is used by business analysts, systems analysts, and application designers for application analysis and requirements specification. VisualGen, the Business Requirements Tool, and DataAtlas use a common information model for storage of data element and structure definitions. By sharing an information model that is instantiated in TeamConnection, elements and structures defined using DataAtlas or the Business Requirements Tool can be used and shared by all three tools. Additional tools will be added over time to address business and process modeling. VisualGen --------- VisualGen in the Team Suite is IBM's new, integrated enterprise 4GL application development environment. VisualGen in the Team Suite integrates the market-leading VisualGen 4GL development product with DataAtlas, and a Business Requirements Tool, all on TeamConnection. This combination of functionality delivers, for the first time, a rapid application development environment on an object-oriented repository. VisualGen and DataAtlas use a common information model for storage of data element and structure definitions. By sharing an information model instantiated in TeamConnection, elements and structures defined using DataAtlas can be used directly by VisualGen without any transformation. The information is stored once in TeamConnection, and both tools work on the shared information. The Business Requirements Tool also shares the information model for data elements and structures, and therefore can work on common definitions. Additionally, requirements defined in the Business Requirements Tool can be associated with VisualGen logic records, creating the tie between system definition and system implementation. All of the software configuration management services of TeamConnection apply to the modeled objects as well as coarse-grained file objects. Data definitions defined using DataAtlas can be versioned. Logic records defined using VisualGen can also be versioned. All of these objects, from fine-grained data objects through coarse-grained file objects, are represented in the graphical build structure. VisualGen creates the build structure, including the dependency structure and the processing steps, freeing you from the need to enter the build structure. IBM COBOL VisualSet for OS/2 ---------------------------- TeamConnection provides the infrastructure for team programming and software configuration management services for IBM COBOL VisualSet TeamConnection for OS/2. IBM COBOL VisualSet for OS/2 provides the COBOL programmer with 32-bit, direct-to-SOM-based, object-oriented support on the OS/2 operating system. In addition, a COBOL application development environment is provided that is designed specifically to handle client/server, mission-critical, line-of-business applications through visual programming. IBM COBOL VisualSet for OS/2 also gives the COBOL programmer a set of high-productivity, OS/2-based power tools for the development of applications targeting OS/2 execution systems. TeamConnection greatly enhances team productivity when used in conjunction with IBM COBOL VisualSet for OS/2. In addition to storage and control of COBOL files, and building COBOL executables, TeamConnection is integrated with the Workframe component of IBM COBOL VisualSet for OS/2. Files stored in TeamConnection can be reflected in Workframe projects, and TeamConnection actions can be invoked from the Workframe project. With TeamConnection's ability to build applications for MVS, the IBM COBOL for MVS compiler can also be used as a build tool with TeamConnection. The DataAtlas information about customer data elements and structures can be used by DataAtlas to generate COBOL copybooks, providing data integration and reuse at a file level. IBM VisualAge C++ for OS/2 -------------------------- TeamConnection provides the infrastructure for team programming and software configuration management services for IBM VisualAge C++ for OS/2. IBM VisualAge C++ for OS/2 provides the C++ programmer with 32-bit, direct-to-SOM-based, object-oriented support on the OS/2 operating system. A complete C++ application development environment is provided, including visual programming tools that go beyond the scope of simple GUI builders. With Visual Application Builder, you can rapidly prototype and build applications with menu bars, entry fields, and icons, plus advanced IBM Open Class Library extensions such as canvases and graphic pushbuttons. The Data Access Class Builder allows you to visually create C++ classes for easy access to DB2/2 relational databases. TeamConnection greatly enhances team productivity when used in conjunction with IBM VisualAge C++. In addition to storage and control of C++ files, and building C++ executables, TeamConnection is integrated with the Workframe component of IBM VisualAge C++ for OS/2. Files stored in TeamConnection can be reflected in Workframe projects, and TeamConnection actions can be invoked from the Workframe project. With TeamConnection's ability to build applications for MVS, the IBM C/C++ for MVS compiler can also be used as a build tool with TeamConnection. IBM PL/I -------- TeamConnection provides the infrastructure for team programming and software configuration management services for IBM PL/I for OS/2. PL/I files, source and executable, can be stored, controlled, and built using TeamConnection. With TeamConnection's ability to build applications for MVS, the IBM PL/I for MVS compiler can also be used as a build tool with TeamConnection. PACBASE/CS ---------- PACBASE/CS is a full life-cycle Enterprise-CASE environment for client/server application development. It is focused on object / model-driven development, and has unique strengths in methodology support, including IBM's SDDM, and in the range of platforms that it supports. PACBASE/CS includes an information model that guides development and allows maximum reuse of components. Objects are stored in the repository, the point of information management and control. From specifications written at a logical level in the repository, PACBASE/CS produces applications that are: o Of all types: client/server, batch, on-line o Complete: 100 percent compilable code, database description, documentation, and so on o Portable: on more than 40 target environments, including IBM and non-IBM platforms PACBASE/CS will implement the use of TeamConnection software configuration management services. Initially, applications generated with PACBASE/CS source files will be managed using TeamConnection versioning and integrated build capabilities. Additional TeamConnection management and repository functions will be implemented to support the full PACBASE/CS client/server development environment. TeamConnection Customer Value ----------------------------- TeamConnection marries repository technology with software configuration management services in a team environment. This allows you to store all of your development data in one place, regardless of form, and to provide a consistent set of services and processes for your entire development team, not just programmers. TeamConnection helps you manage your development process by organizing your data, controlling changes to it, and providing reporting capability. TeamConnection increases your team's productivity by automating common development tasks, notifying team members when action is required, and providing a vehicle for tools to share data. TeamConnection helps improve your products' quality by providing repeatable reliable processes that assure proper authorization for changes. TeamConnection provides an open, customizable, and scalable environment that can evolve and grow with your development team. ======================================================================== +---------------------------------------------------+ | IBM PL/I for OS/2 Version 1 Release 1: New Price, | pliprice | New Channels, Software Advantage Offering | +---------------------------------------------------+ In Brief... ----------- The following changes are being made to IBM PL/I for OS/2 Version 1 Release 1: o Decreases in one-time charges (OTCs) o Addition to the Software Advantage for Workstations offering o Available to additional channels -- IBM Authorized Software Remarketers and IBM Authorized Software Distributors IBM PL/I for OS/2 Version 1 Release 1 is a full-function, OS/2-based PL/I application development tool. Designed for the application developer, PL/I of OS/2 Version 1 Release 1 combines the power of the PL/I host language with the productivity of the PC. With the PL/I visual set of products -- IBM PL/I for OS/2 Professional Edition and IBM PL/I for OS/2 Toolkit -- you continue to use your PL/I expertise while creating database and transaction-driven applications that execute on a mainframe, as client/server applications, or on a stand-alone workstation. PL/I for OS/2 provides the premier PL/I product on the OS/2 platform for the creation of mission-critical applications. Description ----------- PL/I for OS/2 provides the PL/I programmer with 32-bit support on the OS/2 operating system. In addition, a PL/I application development environment is provided that is designed especially to handle mission-critical, line-of-business applications through visual programming and construction-from-components technologies. PL/I for OS/2 is offered in three options -- a Personal Edition, a Professional Edition, and a Toolkit. IBM PL/I FOR OS/2 PERSONAL EDITION: PL/I for OS/2 Personal Edition was designed for small software development companies, consultants, and students. The Personal Edition contains a full 32-bit compiler, run-time library, and graphical, interactive debugging facility that supports new PL/I application development on stand-alone PCs or small LANs. IBM PL/I FOR OS/2 PROFESSIONAL EDITION: PL/I for OS/2 Professional Edition includes all of the features of the Personal Edition, plus additional function that enhances compatibility with the mainframe compiler. Developers can build and test host-based VSAM, DB2, CICS, and IMS applications, or they can take advantage of PL/I for OS/2 (in combination with DB2/2, CICS OS/2, and IMS Client Server/2) to create client/server applications that integrate with existing mainframe programs. IBM PL/I FOR OS/2 TOOLKIT: PL/I for OS/2 Toolkit helps you streamline the programming process, offering a development environment for PL/I for OS/2 Presentation Manager (PM) applications. The Toolkit is a collection of tools designed to complement either the Professional or Personal Edition of PL/I for OS/2. The Toolkit includes a visual prototyping tool and code generator that can help you develop graphical user interfaces, a programming aid designed to help you convert C header files to PL/I header files, and the OS/2 Developer's Toolkit. Product Positioning ------------------- As a PL/I customer, if you thought you would need to look to other languages as your only option in creating powerful client/server applications, or moving to emerging technologies, be assured there is another option. You can remain with PL/I and still take advantage of these new technologies. IBM's PL/I family of products allows you to take advantage of the existing skill in your organization, preserve the valuable program base and subsystem linkages you built, and still move aggressively to utilize workstations in mission-critical applications. Application development on new platforms and/or with emerging technologies can begin in a gradual manner, without the need to retrain programmers and undertake a new language. IBM's PL/I family of products provides a consistent PL/I across multiple platforms. The IBM PL/I offerings now reach across workstation and host environments (OS/2, AIX, MVS, VM, AS/400, and VSE) -- with consistent language implementation and optimized run-time performance for the target platform -- to support dedicated or client/server applications. These environments all have access to data through VSAM, DB2, IMS, and CICS, where present. For native host development, you will be able to use IBM PL/I for MVS and VM with IBM Language Environment for MVS and VM, or IBM PL/I for VSE with IBM Language Environment for VSE, to support creation of host applications. Language Environment provides a common run-time environment for language products that conform to its architecture (that is, IBM PL/I for MVS and VM, IBM PL/I for VSE, IBM COBOL for MVS and VM, IBM COBOL for VSE, AD/Cycle C/370, and IBM C/C++ for MVS/ESA). Some advantages of PL/I with Language Environment include flexible run-time options, faster and easier interlanguage communication (ILC) support, dynamic ILC for all systems and subsystems, and a common condition handling architecture. These functions and, in particular, the ILC support provided by Language Environment, allow host PL/I programmers to reuse code. By conforming to Language Environment, PL/I for MVS and VM and PL/I for VSE can minimize new development and make it easier to share code between applications. This reduces the cost of PL/I application development, test, and maintenance while helping to improve code quality. IBM PL/I for OS/2 provides the premier PL/I product on the OS/2 platform for the creation of mission-critical applications. The workstation development environment provides an integrated set of tool functions and a visual builder supporting development of applications targeted for running on various platforms. WorkFrame/2 is used as an integration point for the OS/2 development environment, providing a flexible and powerful development system that exploits the OS/2 Workplace Shell. IBM PL/I for OS/2, when used with IBM's TeamConnection, provides a powerful, comprehensive team development environment. IBM PL/I for OS/2 works with TeamConnection to store PL/I source and executable files and to build PL/I applications. TeamConnection provides version control and change management. IBM PL/I Set for AIX supports both client and server application development on AIX, providing an integrated set of tools. This includes a customizable editor and debugger. The new AIX PL/I environment is consistent and compatible with the OS/2 environment, and is integrated to the common desktop environment (CDE) on AIX. IBM PL/I for OS/2 and IBM PL/I Set for AIX are excellent choices for creating client/server applications. They also provide a means for moving development work to the workstation for applications targeted to run on the host system. Testing can be done on the workstation with only the final system testing being done on the actual target (host in this case) system. IBM's approach, with the final edit, compile and debug capability on the host, allows this final testing to take place in a powerful and supported environment. IBM PL/I for OS/2 and IBM PL/I Set for AIX implement this paradigm by providing function that makes it easy to move programs between the workstation and the host. Products and Charges -------------------- The new, lower one-time charges will apply to those programs whose charges become due on or after 26 September 1995. PL/I for OS/2 has been added to the Software Advantage for Workstations offering. Part One-Time Program Name Number Charge PL/I for OS/2 Version 1 -- Professional Edition 10H7848 749 USD PL/I for OS/2 Version 1 -- Personal Edition 10H7819 229 PL/I for OS/2 Version 1 -- Toolkit 1322966 149 ADDITIONAL LICENSE COPIES: Authorizes the customer who has a program package to make a single copy of the program media and printed documentation. The authorization is given by providing the customer a Proof of Entitlement for Additional License -- with Certificate, which has its own part number and feature number. Part One-Time Program Name Number Charge PL/I for OS/2 Version 1 -- Professional Edition Additional License with Certificate 1322971 715 USD PL/I for OS/2 Version 1 -- Personal Edition Additional License with Certificate 1322972 219 PL/I for OS/2 Version 1 -- Toolkit Additional License with Certificate 16H9433 139 ADDITIONAL LICENSE COPIES -- SOFTWARE ADVANTAGE EXHIBIT: Authorization to make additional license copies begins on the start date specified in the Software Advantage Agreement. Proof of Entitlement will be provided monthly. Part One-Time Program Name Number Charge PL/I for OS/2 Version 1 -- Professional Edition Additional License without Certificate (SW Adv) 31H6398 715 USD PL/I for OS/2 Version 1 -- Personal Edition Additional License without Certificate (SW Adv) 31H6399 219 PL/I for OS/2 Version 1 -- Toolkit Additional License without Certificate (SW Adv) 31H6400 139 PL/I for OS/2 Version 1 -- Publication Kit 16H9430 149 PROGRAM PACKAGE UPGRADE: Program media with documentation. The program package upgrade option allows currently licensed users of PL/I Package/2 Version 1 (5601-388) to obtain the new function in IBM PL/I for OS/2 - Personal Edition Version 1 for a no-charge program upgrade feature. The program package upgrade option allows currently licensed users of PL/I Workstation/2 (part number 62G8614) to obtain the new function in IBM PL/I for OS/2 - Personal Edition Version 1 for a no-charge program upgrade feature. The program package upgrade option allows currently licensed users of PL/I Workstation/2 (part number 62G8614) to obtain the new function in IBM PL/I for OS/2 - Professional Edition Version 1 for a program upgrade charge. The program upgrade to IBM PL/I for OS/2 Version 1 is available now. Orders will be accepted now. These upgrades will be available through IBM Authorized Software Remarketers certified to market this product. The remarketer will require a Proof of License for each upgrade ordered. The original Proof of License is the colored front cover page (inside the hard binder) or the separate Proof of License page in the program package as identified by IBM to the remarketer. Customers can also order upgrades through the local IBM office using the IBM Personal Software Program IBM Upgrade and Certification Order Form. The total quantity of upgrades acquired for a specific program cannot exceed the total quantity of program packages and/or additional licenses previously acquired for that program. Proof of License for upgrade eligibility for additional license upgrades is a copy of this invoice or previously acquired Proof of Entitlement for Additional License -- with Certificate. Additional license upgrades can be entered through the local IBM office using the IBM Personal Software Program Upgrade and Certification Order Form or ordered through an authorized remarketer. Part One-Time Program Name Number Charge Upgrade from PL/I Package/2 Version (5601-388) to PL/I for OS/2 -- Professional Edition Version 1 14H0850 0 USD Upgrade from PL/I for OS/2 -- Personal Edition Version 1 (Part Number 10H7819) to PL/I for OS/2 -- Professional Edition Version 1 14H0851 625 Upgrade from PL/I Workstation/2 (Part Number 62G8614) to PL/I for OS/2 -- Professional Edition Version 1 14H0852 509 Upgrade from PL/I Workstation/2 (Part Number 62G8614) to PL/I for OS/2 -- Personal Edition Version 1 14H0853 0 ADDITIONAL LICENSE COPY UPGRADE: Authorizes the customer who has a program package upgrade to make a single copy of the program media and printed documentation. The authorization is given by providing the customer a Proof of Entitlement for Additional License -- with Certificate, which has its own part number and feature number. Part One-Time Program Name Number Charge Upgrade from PL/I Package/2 Version 1 (5601-388) to PL/I for OS/2 -- Professional Edition Version 1 Additional License with Certificate 14H0855 0 USD Upgrade from PL/I for OS/2 -- Personal Edition Version 1 (Part Number 10H7819) to PL/I for OS/2 -- Professional Edition Version 1 Additional License with Certificate 14H0856 625 Upgrade from PL/I Workstation/2 (Part Number 62G8614) to PL/I for OS/2 -- Professional Edition Additional License with Certificate 14H0857 509 Upgrade from PL/I Workstation/2 (Part Number 62G8614) to PL/I for OS/2 -- Personal Edition Version 1 Additional License with Certificate 14H0858 0 ADDITIONAL LICENSE COPY UPGRADE -- SOFTWARE ADVANTAGE EXHIBIT: Authorization to make additional license copies begins on the start date specified in the Software Advantage Agreement. Proof of Entitlement will be provided monthly. Part One-Time Program Name Number Charge Upgrade from PL/I Package/2 Version 1 (5601-388) to PL/I for OS/2 -- Professional Edition Version 1 Additional License without Certificate (SW Adv) 31H6401 0 USD Upgrade from PL/I for OS/2 -- Personal Edition Version 1 (Part Number 10H7819) to PL/I for OS/2 -- Professional Edition Version 1 Additional License without Certificate (SW Adv) 31H6402 625 Upgrade from PL/I Workstation/2 (Part Number 62G8614) to PL/I for OS/2 -- Professional Edition Version 1 Additional License without Certificate (SW Adv) 31H6403 509 Upgrade from PL/I Workstation/2 (Part Number 62G8614) to PL/I for OS/2 -- Personal Edition Version 1 Additional License without Certificate (SW Adv) 31H6404 0 UPGRADE PROTECTION (NEW PRODUCT): Customers who acquire Upgrade Protection through a one-time charge or quarterly payment charges (when meeting minimum revenue criteria) will be entitled at no charge to future versions and releases when announced within their Software Advantage agreement period. Following availability of the new program, IBM will provide a program package (including media and documentation) and a Proof of Entitlement authorizing right to copy, distribute, and install equal to the number of programs protected. The following Upgrade Protection Products are only available under the Software Advantage for Workstations offering: Part One-Time Program Name Number Charge Upgrade Protection for PL/I for OS/2 Version 1 Professional Edition -- One-Time Charge 31H6405 290 USD Upgrade Protection for PL/I for OS/2 Version 1 Professional Edition -- Quarterly Charge 31H6406 36.25 The announced program is eligible as an entitled upgrade. Entitled customers will be provided with a no-charge program package and a Proof of Entitlement authorizing right to copy equal to the number of programs protected. Shipment will follow general availability. ======================================================================== +----------------------------------------+ | IBM PL/I Set for AIX Version 1 Details | setdetl +----------------------------------------+ In Brief ... ------------ PL/I Set for AIX Version 1: o Takes advantage of existing skills o Preserves valuable program base o Supports host, workstation, or client/server application development on AIX o Includes an integrated edit, compile, and debug system o Supports access to DB2, CICS, VSAM/SAM, and other data systems You can take advantage of IBM's PL/I offerings all across your enterprise. The PL/I family of products provides a rich application development environment that lets you take advantage of your existing investment in PL/I and, at the same time, move toward new, emerging technologies and platforms. This PL/I announcement represents the delivery of IBM's continued commitment to the PL/I product family. IBM PL/I Set for AIX provides a PL/I application development environment designed to allow you to create mission-critical, line-of-business applications that can run on host systems, workstations, or client/server systems with access to DB2, CICS, VSAM/SAM, and other data systems. IBM PL/I Set for AIX provides the PL/I programmer with an optimizing compiler and a set of high-productivity, AIX-based tools integrated with the AIX Common Desktop Environment (CDE), for the development of applications. Description ----------- PL/I COMPILER IBM PL/I Set for AIX provides an optimizing compiler that contains a rich implementation of the PL/I language as well as support to improve compatibility with mainframe PL/I and enhancements that can allow new AIX-based applications to take advantage of features of the AIX platform. The PL/I compiler also includes powerful, integrated preprocessors. You can select from one or more of the preprocessors as required for use in your program. The preprocessors included are: o The macro facility o The include preprocessor, which allows you to incorporate external source files o The SQL preprocessor, which translates embedded SQL statements into PL/I statements, providing support for local and remote DB2 data access when used with DB2 for AIX o The CICS preprocessor, which translates embedded CICS statements into PL/I statements, providing support for local and remote CICS data access when used with CICS for AIX or CICS Client for AIX A choice of linkages and parameter-passing mechanisms is also provided to facilitate interlanguage communications (ILC) between your PL/I routines and C/C++, Fortran, Pascal, and COBOL routines on AIX. PL/I Set for AIX supports a single-byte character set (SBCS) and a double-byte character set (DBCS). COMMON DESKTOP ENVIRONMENT IBM PL/I Set for AIX utilizes the new graphical user interface (GUI), based on the CDE, in IBM AIX Version 4.1. The CDE integration consists of a PL/I application folder which is integrated within the CDE Application Manager. The PL/I Set for AIX application folder contains icons representing the PL/I tools and applications. CDE integration of the PL/I tools allows the user to invoke the tools in a simple and consistent manner. The CDE desktop recognizes different types of files using a data type database. A data type identifies the files of a particular format and associates them with the appropriate applications. These associations mean that users don't have to remember command line invocations of tools. In most cases when a user double-clicks on a file, the CDE desktop will automatically launch the correct application that understands that file's data. The PL/I application folder contains: o Live Parsing Extensible (LPEX) editor o Program Builder o Debugger o PL/I online documentation LPEX EDITOR The LPEX editor is a language-sensitive editor that supports PL/I. The LPEX editor can be used to create and edit many types of text files, including program source and documentation. Using LPEX, developers can: o Use multiple windows to display several documents or to display more than one view of the same document o Dynamically configure LPEX to be a multiple-window or single-window tool o Select a block of text and move or copy it between documents o Cut-and-paste to a shell or another application o Undo previous changes to a document Developers can customize and extend virtually every aspect of this programmable editor. LPEX is designed to be extended through dynamic link libraries. There is no proprietary extension language to learn. With the LPEX application programming interface (API), developers can write powerful extensions to the editor. In addition, LPEX provides a rich command language that developers can use to create or modify editor functions. Developers can: o Define their own fonts and colors o Modify the editor action key layout o Add menus to perform frequently used commands (menu definitions can be applied on a filename extension basis) o Write their own editor commands PROGRAM BUILDER The Program Builder manages the repetitive tasks of compiling, linking, and correcting errors in program source code. The Program Builder is designed to: o Provide a graphical user interface to simplify the process of setting and saving compile and linker options. o Support error browsing from a list display. Selecting a compile error in the list will position you at the error in the source code in the LPEX Editor. o Create a makefile that is used by the AIX make command to construct and maintain programs and libraries. The Program Builder also determines build dependencies by scanning the source-code files for dependency information. DEBUGGER The debugger helps you detect and diagnose errors in code developed using the PL/I Set for AIX compiler. The intuitive graphical user interface allows you to control execution of the program, examine and modify data (variables, storage, and registers), and perform many other useful functions. The debugger provides machine-level and source-level debugging. It is built around a set of core functions designed to let developers quickly and efficiently control execution, and analyze data. With these core functions, developers can: o Display and change variables o Display and change storage o Display and change the processor registers o Display the call stack o Add and delete simple and complex breakpoints o Control the execution of multiple threads o View source code as listing, disassembly or mixed CICS for AIX Version 2.1 transactions built with IBM PL/I Set for AIX can be debugged interactively. LOCAL AND REMOTE DATA ACCESS IBM PL/I Set for AIX provides the ability to write applications that support local and remote access to data, including: o The IBM SMARTdata UTILITIES (SdU), which are designed to provide record-oriented file access through standard PL/I I/O statements to: - local AIX VSAM files - remote MVS VSAM, SAM, PDS, and PDSE files - remote OS/400 files - remote CICS managed VSAM files on MVS through CICS/DDM o Support for local and remote DB2 data access using DB2 for AIX o Support for local and remote CICS data access using CICS for AIX or CICS Client for AIX USE OF IBM AIX ENGINEERING SCIENTIFIC SUBROUTINE LIBRARY/6000 As an additional benefit, IBM PL/I Set for AIX can use the libraries of IBM AIX Engineering Scientific Subroutine Library/6000 (ESSL/6000). IBM AIX ESSL/6000 provides robust mathematical software that is highly tuned to the specific characteristics of the RISC System/6000 processors. OPEN ENTERPRISE -- The PL/I compiler is designed according to the specifications of the following industry standards as understood and interpreted by IBM: o American National Standard Code for Information Interchange (ASCII) X3.4 -- 1977 o American National Standard Representation of Pocket Select Characters in Information Interchange, level 1, X3.77 -- 1980 (proposed to ISO, March 1, 1979) o The draft proposed American National Standard Representation of Vertical Carriage Positioning Characters in Information Interchange, level 1, dpANS X3.78 (also proposed to ISO, March 1, 1979) o Selected features of the American National Standard PL/I General Purpose Subset (ANSI X3.74-1987) Product Positioning ------------------- As a PL/I customer, if you thought you would need to look to other languages as your only option in creating powerful client/server applications, or moving to emerging technologies, be assured there is another option. You can remain with PL/I and still take advantage of these new technologies. IBM's PL/I family of products allows you to take advantage of the existing skill in your organization, preserve the valuable program base and subsystem linkages you built, and still move aggressively to utilize workstations in mission-critical applications. Application development on new platforms and/or with emerging technologies can begin in a gradual manner, without the need to retrain programmers and undertake a new language. IBM's PL/I family of products provides a consistent PL/I across multiple platforms. The IBM PL/I offerings now reach across workstation and host environments (OS/2, AIX, MVS, VM, AS/400, and VSE) -- with consistent language implementation and optimized run-time performance for the target platform -- to support dedicated or client/server applications. These environments all have access to data through VSAM, DB2, IMS, and CICS, where present. For native host development, you will be able to use IBM PL/I for MVS and VM with IBM Language Environment for MVS and VM, or IBM PL/I for VSE with IBM Language Environment for VSE, to support creation of host applications. Language Environment provides a common run-time environment for language products that conform to its architecture (that is, IBM PL/I for MVS and VM, IBM PL/I for VSE, IBM COBOL for MVS and VM, IBM COBOL for VSE, AD/Cycle C/370, and IBM C/C++ for MVS/ESA). Some advantages of PL/I with Language Environment include flexible run-time options, faster and easier interlanguage communication (ILC) support, dynamic ILC for all systems and subsystems, and a common condition handling architecture. These functions and, in particular, the ILC support provided by Language Environment, allow host PL/I programmers to reuse code. By conforming to Language Environment, PL/I for MVS and VM and PL/I for VSE can minimize new development and make it easier to share code between applications. This reduces the cost of PL/I application development, test, and maintenance, while helping to improve code quality. IBM PL/I for OS/2 provides the premier PL/I product on the OS/2 platform for the creation of mission-critical applications. The workstation development environment provides an integrated set of tool functions and a visual builder supporting development of applications targeted for running on various platforms. WorkFrame/2 is used as an integration point for the OS/2 development environment, providing a flexible and powerful development system that exploits the OS/2 Workplace Shell. IBM PL/I for OS/2, when used with IBM's TeamConnection, provides a powerful, comprehensive team development environment. IBM PL/I for OS/2 works with TeamConnection to store PL/I source and executable files and to build PL/I applications. TeamConnection provides version control and change management. IBM PL/I Set for AIX supports both client and server application development on AIX, providing an integrated set of tools. This includes a customizable editor and debugger. The new AIX PL/I environment is consistent and compatible with the OS/2 environment, and is integrated to CDE on AIX. IBM PL/I for OS/2 and IBM PL/I Set for AIX are excellent choices for creating client/server applications. They also provide a means for moving development work to the workstation for applications targeted to execute on the host system. Testing can be done on the workstation, with only the final system testing being done on the actual target (host in this case) system. IBM's approach, with the final edit, compile and debug capability on the host, allows this final testing to take place in a powerful and supported environment. IBM PL/I for OS/2 and IBM PL/I Set for AIX implement this paradigm by providing function that makes it easy to move programs between the workstation and the host. Hardware Requirements --------------------- PL/I Set for AIX Version 1 and its generated object programs run on RISC System/6000 family processors running IBM AIX Version 4.1.3 (or subsequent releases), including POWER, POWER2, SMP, SP2, and PowerPC processors, configured with at least one supported display, keyboard, and mouse. Software Requirements --------------------- REQUIRED PROGRAMS: PL/I Set for AIX Version 1 and its generated object programs run under IBM AIX Version 4.1.3 (or subsequent releases). OPTIONAL PROGRAMS: PL/I Set for AIX Version 1 and its generated object programs run under the control of, or in conjunction with, the following optional programs and their subsequent releases: o To use DB2 (embedded EXEC SQL statements), one of the following: - IBM DB2 for AIX Version 2 - IBM DB2 Software Developer's Kit for AIX Version 2 o To use CICS (embedded EXEC CICS statements): - IBM CICS for AIX Version 2.1 o To use SNA connectivity: - IBM AIX SNA Server/6000 Version 2.2 o To access MVS VSAM/SAM files on your MVS host with SdU: - DFSMS/MVS Version 1.2.0 is required on your MVS host o To use remote CICS-managed VSAM files through CICS/DDM with SdU: - CICS/DDM Release 1 is required on your MVS host o To use the IBM AIX ESSL/6000 libraries: - IBM AIX ESSL/6000 Version 2.2.2 Compatibility ------------- IBM PL/I Set for AIX Version 1 is source-level compatible with IBM PL/I for OS/2 Version 1, with the exception that PL/I Set for AIX Version 1 does not support multithreading. IBM PL/I Set for AIX Version 1 is source-level compatible with IBM host PL/I products (OS PL/I Version 2 Release 3, IBM PL/I for MVS and VM, IBM PL/I for VSE) ,with some exceptions due to fundamental platform differences. The publications IBM PL/I SET FOR AIX PROGRAMMING GUIDE and IBM PL/I SET FOR AIX LANGUAGE REFERENCE include detailed information about the differences, as well as advice for porting applications between the different platforms. The compiler also includes features such as the LANGLVL compile-time option, which allows for doing language-level checking, and the DEFAULT compile-time option, which can be used to instruct the application to treat data (EBCDIC vs. ASCII character set) and floating-point operations (hexadecimal format vs. IEEE format) the same way that S/390 does. These features can assist the developer in attaining compatibility and portability across platforms. Products and Charges -------------------- OPTIONAL MONTHLY PROGRAM PART ONE-TIME SUPPORT-LINE NAME NUMBER CHARGE CHARGE PL/I Set for AIX 33H1858 895 USD 229 USD Version 1 Program Package on CD-ROM PL/I Set for AIX 33H5425 1,045 229 Version 1 Program Package on 8-mm tape ADDITIONAL LICENSE COPY: Authorizes the customer who has a program package to make a single copy of the program media and printed documentation. The authorization is given by providing the customer a Proof of Entitlement for Additional License -- with certificate has its own part number and feature number. ADDITIONAL LICENSES CHARGE: Customers who pay a one-time charge for additional licenses may copy machine-readable program materials and printed documentation previously acquired from IBM in a program package. One copy may be made for each additional license ordered. USE-BASED FEATURE CHARGE: Customers who pay a one-time charge for use-based features are authorized for a number of users to access the program, or a number of resources which may use or be managed by the program, equal to the number of use based features acquired. An authorization for a number of users or number of resources used or managed is the Proof of Entitlement for Use-Based Features. PROGRAM PART ONE-TIME NAME NUMBER CHARGE PL/I Set for AIX Version 1 33H5452 849 USD Entitlement for 1 Additional User Additional License with Certificate PL/I Set for AIX Version 1 33H5497 849 Entitlement for 1 Additional User with Certificate PL/I Set for AIX Version 1 33H5470 4,035 Entitlement for 5 Additional Users with Certificate PL/I Set for AIX Version 1 33H5479 7,645 Entitlement for 10 Additional Users with Certificate PL/I Set for AIX Version 1 33H5488 35,659 Entitlement for 50 Additional Users with Certificate GETTING-STARTED PERIOD: A 60-day, getting-started period is provided by the AIX Support Family for the first license in an enterprise location, site, or centralized help desk. Voice support during the getting-started period is limited to installation, usage, and code-related support for that product only. All other questions will require an AIX Support Line contract. If you do not have a contract, you will be referred to the AIX Support Family Project Office for contract information. 30-DAY, MONEY-BACK GUARANTEE: The IBM 30-day, money-back guarantee applies. ======================================================================== +----------------------------------+ | IBM SOMobjects for MVS Version 1 | mvsobj | Release 2 Limited Availability | +----------------------------------+ In Brief ... ------------ SOMobjects for MVS: o Provides a heterogeneous distributed-objects capability between MVS and other platforms o Provides an end-to-end distributed computing solution o Allows for new OO applications and services to be deployed on MVS o Enables access from MVS object-oriented applications to the traditional MVS execution environments, such as CICS and IMS Transaction Manager o Incorporates the traditional strengths of MVS with large-scale, object-server capability within a client/server configuration across an enterprise o Minimizes development costs by adhering to standards o Improves portability of applications by supporting the open capabilities of MVS Overview -------- Today's business environment requires faster and better-quality application development. Object-oriented technology contributes to these goals by providing a new approach to developing applications. SOMobjects for MVS Version 1 Release 1 introduced object-oriented (OO) programming on MVS. This important programming technology offers expanded opportunities for the reuse of software, increased flexibility, and better time-to-market. Release 2 of SOMobjects for MVS continues to offer these OO opportunities- while also extending the power of the System Object Model (SOM) to allow objects on MVS to communicate with objects across different systems. In this way, MVS can now be targeted as the object server in a heterogeneous world of clients. In addition, Release 2 of SOMobjects for MVS combines the benefits of OO programming with the open services of MVS. Extensions to SOMobjects for MVS, C/C++ for MVS/ESA, the C/C++ runtime library, and OpenEdition MVS services expands the set of UNIX functions available to OO application programmers. With these extensions, you can achieve a greater level of application portability between platforms that support UNIX functions. Planned availability date: 29 December 1995 Limited Availability -------------------- SOMobjects for MVS Version 1 Release 2 is based on the current SOMobjects Developer Toolkit Version 2 Release 1 for AIX, which complies with the Common Object Request Broker Architecture (CORBA) specification 1.1, defined by the Object Management Group (OMG) and X/Open Company Limited. Because SOMobjects for MVS will eventually be based on the CORBA 2.0 Interoperability specification, this release is a limited availability release, and will not become generally available. Later enhancements will be made to conform to CORBA 2.0, and will be generally available in subsequent releases of the base operating system. Customers should be aware of possible migration concerns from SOMobjects for MVS Version 1 Release 2 and subsequent releases, as described in the Compatibility section of this announcement. Orders for the Limited Availability Program ------------------------------------------- Orders for the Limited Availability program must be submitted through an IBM representative and must be approved prior to shipment. IBM reps should send their requests for approvals to OOQSTART at KGNVMC. Orders will be approved on a first-come, first-served basis until the limit is reached. On 31 December 1996, SOMobjects for MVS Version 1 Release 2 will be withdrawn from marketing. Description ----------- SOMobjects for MVS, along with a supported programming language of choice, provides the platform to build object-oriented applications on MVS. It is based on the SOM technology for defining and managing binary class libraries. The distributed SOM (DSOM) function further enhances the capabilities of SOM by providing inter-object client/server communications, allowing application programs to access objects across address spaces and across a network. DSOM complies with the Common Object Request Broker Architecture (CORBA) 1.1 specification published by the Object Management Group (OMG) and X/Open Company Limited. DSOM supports networks of objects that are distributed across and managed by multiple, heterogeneous CORBA-compliant Object Request Brokers (ORBs). The DSOM function on MVS provides interoperability with the currently available DSOM 2.1 implementations on AIX/6000 and OS/2. DSOM uses the standard SOMobjects for MVS compiler, interface repository, language bindings, and class libraries, and provides a growth path for non-distributed SOMobjects for MVS applications. If you are already developing SOM applications, you will be able to extend your current applications to run in a distributed environment. DSOM extends the power of SOMobjects for MVS to allow a program to invoke methods on SOM objects in other address spaces, even on different machines. Location and implementation of the object are transparent to the user, since the client accesses the object via a local proxy. The DSOM runtime also provides the services and underlying execution environment required by server applications which accept client requests for remote object activation and method execution. The server application may be single- or multi-threaded, and may support several connections to different clients concurrently. Objects created by a given client may persist beyond the life of the client connection and may be shared by other clients connected to the same server. DSOM leverages the integrated socket support provided by the open services of MVS and therefore supports a single communication interface for multiple transport protocols. Only TCP/IP (UDP) will be supported via the integrated socket. DSOM provides facilities to secure resources associated with distributed objects. In particular, an installation can provide access control of clients to servers and of servers to the DSOM facilities themselves. C/C++ applications may use the MVS POSIX-compliant system services as well as the traditional MVS system services. This gives the customer the flexibility to choose the system services appropriate to the application. DSOM client applications and server programs will be supported in Batch, Started Task, Time Sharing Option (TSO), Advanced Program-To-Program Communication (APPC), and OpenEdition Shell execution environments. DSOM facilitates access to traditional transaction programs, for example, CICS or IMS from object-oriented applications running outside of the CICS or IMS transaction environments. You will now be able to combine the open services of MVS with object-oriented capability. Enhancements to SOMobjects for MVS, C/C++ for MVS/ESA, the C/C++ runtime library, and OpenEdition services will expand the set of UNIX functions available to OO application programmers. These enhancements include continued support for conformance to POSIX standards and Open specifications (XPG4 Base Branding and XPG4.2). This provides a greater level of portability between heterogeneous platforms that support these standards. (See the MVS/ESA Version 5 Release 2.2 Availability announcement and the C/C++ for MVS/ESA Software announcement elsewhere in this newsletter.) The SOM compiler will now be able to operate within the OpenEdition Shell. Input to the SOM compiler and its output can be stored in OpenEdition's Hierarchical File System (HFS). Users will be able to invoke the SOM compiler from the OpenEdition Shell. In this way, UNIX users will be able to work in a familiar environment and use editors that they are comfortable with. Product Positioning ------------------- Today, MVS serves the data-processing needs of some of the largest commercial enterprises in the world. The system is renowned for its high-volume, online transaction processing and large-capacity, batch-processing capabilities. With the introduction of object-oriented technology on MVS, you can reap the benefits of object orientation, including the reuse of software componentry, better time-to-market, and increased flexibility, while leveraging the traditional characteristic strengths of the MVS system in a transparent manner. In this second phase of object-oriented technology, the power of SOM is extended through the DSOM capability, so that applications can access objects across different systems. MVS can now be targeted as a large object server in a heterogeneous world of clients. Customers are developing applications to run in an open, distributed environment, with MVS as the target execution environment. Customers are using standards and common code to minimize development costs, and are interested in being able to port their applications between platforms. By conforming to the same ANSI standards, you can write a C, C++, or COBOL application and port the applications to MVS, since C, C++, and COBOL are available on both workstations and MVS. In addition, conformance to POSIX and X/Open standards enables SOMobjects for MVS and C and C++ users to port their OpenEdition applications between platforms. Statement of General Direction ------------------------------ Currently, SOMobjects for MVS complies with the CORBA 1.1 specification published by the Object Management Group (OMG) and X/Open. In keeping with IBM's commitment to industry standards, IBM intends to comply with the CORBA 2.0 Interoperability specification in subsequent releases of the base operating system, and will incorporate OMG's Object Services standards as appropriate. The above statements represent IBM's current intended plans. IBM will continue to monitor business conditions and requirements, and may make changes to these plans as required. Hardware Requirements --------------------- SOMobjects for MVS supports all processors that support MVS Version 5 Release 2.2. Software Requirements --------------------- The program products stated are required at their current or subsequent releases. BASIC SOM FUNCTION o Required - MVS/ESA SP Version 5 Release 2.2 (5655-068 or 5655-069) - Language Environment for MVS and VM Version 1 Release 5 (5688-198) with PTF OR MVS C/C++ Language Support Feature on MVS/ESA SP Version 5 Release 2.2 at Language Environment for MVS/VM 1.5 level with PTF (5655-068 or 5655-069) - SMP/E Version 1 Release 8 (5668-949) with PTF o Optional - TSO/E Version 2 Release 4 (5685-025) - C/C++ for MVS/ESA Version 3 Release 1 (5655-121) - IBM COBOL for MVS and VM Version 1 Release 2 (5688-197) (available at a later date) - OpenEdition MVS/ESA Shell and Utilities Feature Version 5 Release 1.0 (5655-068 or 5655-069) DISTRIBUTED SOM FUNCTION o Required - SOMobjects Developer Toolkit 2.1 for AIX or OS/2 (10H9767) and CSD 2.1.1 - TCP/IP Version 3 Release 1 (5655-HAL) or ACF/VTAM Version 4 Release 3 (5695-117) AnyNet/MVS Feature o Optional - TSO/E Version 2 Release 4 (5685-025) - DFSMS/MVS Version 1 Release 2 (5695-DF1) NFS Server Feature - C/C++ for MVS/ESA Version 3 Release 2 (5655-121) - Resource Access Control Facility (RACF) Version 2 Release 2 (5695-039) and PTF or equivalent - OpenEdition MVS/ESA Shell and Utilities Feature Version 5 Release 2.2 (5655-068 or 5655-069) Compatibility ------------- SOMobjects for MVS Version 1 Release 2 complies with the CORBA specification 1.1. Later enhancements will conform to the CORBA 2.0 Interoperability specification. The migration between SOMobjects for MVS Version 1 Release 2 and releases that will support CORBA 2.0 introduces incompatibilities in the following areas: o Changing the structures for object references and wire formats of the data that flow between DSOM objects. o Changing the format and location of the implementation repository. To ease in this migration, a tool will be provided that will convert the 2.1 implementation repository to the new implementation repository format. This means that installations that use the current limited availability release will not be able to have this release and releases that conform to CORBA 2.0 co-exist within the same ORB. You would have to replace the server and client runtimes at the same time. To ease the migration to new releases, users must also adhere to the set of guidelines outlined in the publications for this release. It is important to note, however, that investments in applications and classes will be protected. The DSOM Application Programming Interfaces (APIs) between releases will be preserved such that the applications themselves will not have to be modified (neither the client nor server side of the applications would need to be changed and/or recompiled). More detailed information about restrictions and differences will be provided in the product publications. Packaging --------- SOMobjects for MVS will be packaged and shipped on 6250 tapes, 3480 tape cartridges, and 4-mm tape cartridges. Ordering Information -------------------- Current licensees of SOMobjects for MVS must order this release via MES. SOMobjects for MVS Version 1 Release 2 will be withdrawn from marketing on 31 December 1996. Ordering instructions are scheduled to be mailed from IBM Software Manufacturing Solutions (SMS) to all current licensees by two weeks after availability. Version 1 Release 1 may still be ordered. Orders for new licenses will be accepted now for SOMobjects for MVS Version 1 Release 2 until it is withdrawn from marketing on 31 December 1996. Shipment will begin on the planned availability date, 29 December 1995. Orders that ship after the planned availability date and have been approved for the Limited Availability program will receive SOMobjects for MVS Version 1 Release 2. ======================================================================== +-------------------------------------------+ | IBM C/C++ for MVS/ESA Version 3 Release 2 | mvscplus +-------------------------------------------+ In Brief... ----------- C/C++ for MVS/ESA combines the advantages of the C language with the benefits of object-oriented programming. Version 3 Release 2 of this program: o Lets application developers use object-oriented technology to build OpenEdition applications. o Helps create applications that make interlanguage calls to FORTRAN. o Offers improvements and additions to C/C++ compiler options, pragmas, and macros. o Lets application developers reuse existing code developed on or for another platform. o Taps into the growing pool of C and C++ programming talent to create or extend MVS/ESA host applications. C/C++ for MVS/ESA is an MVS-based, language-centered environment. Application developers can use this object-oriented environment to create, modify, test, and debug mission-critical C or C++ applications targeted to execute on the MVS/ESA platform. What's New in Version 3 Release 2 --------------------------------- In Version 3 Release 2, C/C++ for MVS/ESA has been enhanced to become an integral part of the MVS/ESA OpenEdition's conformance to X/Open's XPG4 Base Profile branding requirements. Application developers are now able to port a wide variety of applications from UNIX to take advantage of the robustness, reliability, and scalability of the MVS system. In addition, the following is available with Version 3 Release 2: o SUPPORT OF OPENEDITION: Allows application developers to use object-oriented technology to build OpenEdition applications o INTER-LANGUAGE COMMUNICATION SUPPORT: Lets application developers create C or C++ applications that can make interlanguage calls to FORTRAN o C++ SUPPORT FOR OPENEDITION o DATABASE ACCESS CLASS LIBRARY UTILITY: Enables programmers to use class libraries to access DB2 in an object-oriented manner o C/C++ FOR MVS/ESA MODEL TOOL: Provides online help for C/C++ library functions and pragmas o IMPROVEMENTS AND ADDITIONS TO C/C++ MVS COMPILER OPTIONS, PRAGMAS, AND MACROS C/C++ for MVS/ESA combines the best of the technology inherent in the C/370 product with the object-oriented technology found in other members of the IBM VisualAge C++ and C Set ++ family of products. PRICE: Unchanged by this release. PLANNED AVAILABILITY DATE: 22 December 1995. Description ----------- Enhancements in IBM C/C++ for MVS/ESA Version 3 Release 2 are made to support both OpenEdition and Object Oriented Programming on MVS. In addition, National Language Support is enhanced, and a new utility and new tool are introduced. XPG4 SUPPORT C/C++ for MVS/ESA is enhanced to enable application developers to write C applications that utilize the expanded application programming interfaces (APIs) that have been added to MVS/ESA SP Version 5 Release 2.2. The support of these expanded APIs allow MVS/ESA SP Version 5 Release 2.2 to conform to the XPG4 (X/Open Portability Guide 4) Base Profile Branding requirements of X/Open and a significant set (90 percent) of the functions defined by the X/Open XPG4.2 (X/Open CAE Specification System Interfaces and Headers Issue 4, Version 2) single UNIX specification (previously referred to as Universal UNIX (UU), Spec1170, and Common API Specification (CASPEC)). In particular, IBM C/C++ for MVS/ESA Version 3 Release 2 conforms to the C Language as defined in ISO/IEC 9899:1990(E), Programming Languages-C (ISO C), and in X/Open Specification, Programming Languages, Issue 3 (X/Open C). Support of XPG4 Base Branding and a significant portion of XPG4.2 will give MVS customers the confidence that the UNIX application interfaces on MVS/ESA SP Version 5 Release 2.2 meet standardized requirements, and will enable them to port a wide variety of applications from UNIX to take advantage of the robustness, reliability, and scalability of the MVS/ESA system. C++/MVS SUPPORT UNDER OPENEDITION MVS C++/MVS is enhanced in this release to support OpenEdition MVS. Application developers using C++ can now use object-oriented technology, including SOMobjects for MVS, to build OpenEdition applications. The support of C++/MVS under OpenEdition MVS includes: o The invocation of the C++/MVS compiler using the OpenEdition cxx command. o Generation of C++/MVS applications running in the Shell environment of OpenEdition. o C/C++ support for Dynamic Link Library (DLL) for OpenEdition applications. o Access from C++ to data in the Hierarchical File System. o C++ Class Library (IO Stream, Complex, Collection Class, and Application Support Class) support for OpenEdition MVS (single-threaded operation). o A runtime library small programming enhancement (SPE), announced in the MVS/ESA SP Version 5 Release 2.2 Availability Announcement, with a ship date of December 1995, will allow C++ programmers to use OpenEdition MVS Services. NIST The Federal Information Processing Standards (FIPS) specifications are a series of US government procurement standards managed and maintained on behalf of the US Department of Commerce by the National Institute of Standards and Technology (NIST). This C/MVS portion of the compiler will be validated for conformance to FIPS 160 (C language) by NIST. The NIST certification of C/C++ for MVS/ESA directly supports IBM's intention to gain XPG4 base branding for MVS/ESA SP Version 2 Release 2.2. NIST certification will encourage customers to consider C/C++ for MVS/ESA when making their procurement decisions. LOCALE DEFINITION UTILITY XPG4 SUPPORT C/C++ for MVS/ESA provides the Locale Definition Utility. In this release, the Locale Definition Utility is enhanced to conform to XPG4. The Locale Definition Utility supports the creation of separate files of cultural data, or locales, which can be referenced dynamically by an application using the library functions of Language Environment. INTERLANGUAGE COMMUNICATION SUPPORT The ability for interlanguage communication (ILC) from C to FORTRAN has been tested successfully to work with C/C++ for MVS/ESA Version 3 Release 1. C/C++ for MVS/ESA has been enhanced in this release to support ILC from C++ to FORTRAN as well. Used in conjunction with the ILC facilities provided by the runtime libraries, C or C++ applications can now call or be called by other languages such as FORTRAN, COBOL, PL/I, or Assembler. The ILC facilities enable application developers to use the language best suited for the job at hand. C/MVS or C++/MVS code can be used where the programmer is most familiar with the language, or where the unique features of the C or C++ language are required. SWITCHABLE NL MESSAGES National Language Versions of C/C++ for MVS/ESA that support the English and Japanese languages are now installable together. The application developer can select or switch, at compiler invocation time, to the national language of choice when developing their application. Programmers who wish to have the freedom of choice in the use of any of the supported national languages while working with the compiler will no longer have to install and maintain two separate images of the product, one for each language. To complement this new multilingual installation support, the English and Japanese message files are now packaged and shipped on the same tape. This support is consistent with a similar support that is currently available in Language Environment for MVS and VM. In addition, IBM C/C++ for MVS/ESA Version 3 Release 2 improves many of the messages and diagnostics so that they are consistent with the messages contained in other members of the VisualAge C ++ and C Set ++ family of products. C/C++ FOR MVS/ESA MODEL TOOL The C/C++ for MVS/ESA Model Tool provides online help for application developers who are using the C/C++ library and compiler to create C or C++ applications. When used in conjunction with the ISPF editor, the application developer can select information for each library function or pragma. For the pragmas, read-only help and modifiable pragma models will be dropped into the user's edit session. For the library functions, read-only function prototypes and other information will be dropped into the user's edit session. Read-only information can be made modifiable. The read-only help will disappear when the user saves the data set member, leaving only the newly created application. The C/C++ for MVS/ESA Model Tool will help enhance programmer productivity when developing C or C++ applications using C/C++ for MVS/ESA. OPTIONS, PRAGMAS, AND MACROS Improvements and additions are made in this release to the C/C++ for MVS/ESA compiler options, pragmas, and macros. For example, a number of compiler options have been extended to support additional C++ and OpenEdition functions. Existing pragma support is improved by adding more suboptions and pre-defined macros. DATABASE ACCESS CLASS LIBRARY UTILITY A new tool, the Database Access Class Library Utility, is introduced to generate DB2 data access classes. Today, the C/C++ for MVS/ESA development environment allows programmers to create applications that access DB2 relational databases. C++ programmers use C code to interface with DB2 in a procedural manner. With the Database Access Class Library utility, C++ programmers will be able to now use classes to access DB2 in an object-oriented manner. The Database Access Class Library utility generates classes, based on a relational database schema, which contain classes representing persistent objects. By incorporating these classes into their applications, programmers can work with persistent objects the same way they do with transient objects. OPEN ENTERPRISE o C++ language: - Draft Proposal International Standard for Information Systems -- Programming Language C++ (X3J16/92-00091) o C language: - International standard ISO/IEC 9899:1990(E); International Organization for Standardization/International Electrotechnical Commission, Programming Languages -- C - ANSI/ISO 9899:1990 (1992); American National Standards Institute, C language; formerly ANSI X3J11.159-1989 C - X/Open Specification, Programming Languages, Issue 3 (X/Open C) - IEEE Standard 1003.2-1992, IEEE Standard for Information Technology, Portable Operating System Interface (POSIX) Shell and Utilities -- X/Open CAE Specification, System Interface Definitions, Issue 4 -- Defines locale syntax/semantics, locale creation tool (with known limitations as documented in the Programming Guide) - A subset of the ISO/IEC Programming Language C Amendment 1, to be ISO/IEC 9899:1990/Amendment 1:1994(E) C language support, in conjunction with MVS/ESA OpenEdition and Language Environment Release 5: o ISO/IEC 9945-1:1990(E)/IEEE POSIX 1003.1-1990, System Application Programming -- C Language o A subset of IEEE POSIX 1003.1a, System Application Programming Extension, Draft 6, July 1991 o A subset of IEEE POSIX 1003.4a, Threads, Draft 6, February 1992 Product Positioning ------------------- C is a general-purpose application language as well as an excellent assembly language substitute for commercial accounts. It is a language for portable application development, enabling a choice of development and target execution environments. It is a language known by a large number of programmers, especially recent graduates, and is an ideal alternative or second language to be used with COBOL, PL/I, FORTRAN, or Assembler. C++ combines the technical and practical advantages of the C language with the benefits of object-oriented programming. The fact that C++ is derived from C, one of the world's most popular conventional programming languages, gives C++ two distinct advantages over other Object Oriented Programming Languages (OOPLs): 1. The ability to readily interface to, and extend, existing C applications 2. An abundance of developers with C programming skills (which increases the likelihood that C++ will become the most pervasive OOPL in the industry) Since it is object-oriented, you can reuse existing C++ objects to quickly create and modify applications, allowing you to keep pace with ever-changing business needs. By extending the existing C/370 product with C++ support while maintaining compatibility with existing C/370 applications, IBM will make it easy for developers to get started with C++ while providing the same robust C development environment customers who are building mission-critical applications have grown to depend on. Customers who have already invested in the IBM VisualAge C++ and the IBM C Set ++ workstation products will notice a strong similarity not only in the compiler but in the set of compiler-related tools provided in C/C++ for MVS/ESA as well. From a programmer perspective, this means that C/C++ programming skills acquired on one platform of the C/C++ family of products will be transferable to other supported platforms. For large enterprises and ISVs, this offers the ability to: o Tap into the growing pool of C and C++ programming talent to create or extend MVS/ESA host applications. o Reuse existing code developed on or developed for another platform. The suite of class libraries contained in the C/C++ for MVS/ESA environment is possibly the most comprehensive offered by any other MVS C++ vendor, and is consistent with those delivered in the other members of the VisualAge C++ and C Set ++ families of application development products. C/C++ for MVS/ESA participates in the Workgroup C++ AD Solution as the latest member in the IBM VisualAge C ++ and IBM C Set ++ family. IBM intends to enhance its support for C/C++ application development, targeting MVS, by extending the existing IBM VisualAge C ++ workstation function with enhancements specific to mainframe programmer needs. Over time, as the workstation and host members of the IBM VisualAge C ++ family of application development tools become more closely aligned, customers will be able to choose the development platform most appropriate to the application being developed without having to worry about learning new tools. Tools will be provided to allow customers more flexibility in building client/server applications. C/C++ for MVS/ESA is a key development tool in the Object-Oriented Solution for MVS, and in support of SOMobjects for MVS. As the follow-on to C/370, C/C++ for MVS/ESA supports the Open Distributed strategy, and supports the OpenEdition MVS environment. National Language Support ------------------------- C/C++ for MVS/ESA provides a Locale Definition Utility. This supports the creation of separate files of cultural data, or locales, which can be referenced dynamically by an application using the library functions of Language Environment. Locales can be used to customize the information that defines how a C/C++ application works in the end-user's environment, with respect to differences in national language, culture, and the data encoding schemes (coded character sets). This allows programmers to change the formatting convention for date, time, numeric, and monetary data, and to process data using the appropriate character classification and character collation tables. The Locale Definition Utility and locales support are being continually enhanced to support new standards. In this release, locales are enhanced to conform to XPG4 and POSIX 1003.2. The C/C++ runtime under Language Environment implements the wchar-t type and its associated conversion functions which provide support for Double Byte Character Sets such as EBCDIC-DBCS. The library also implements a set of wchar-t I/O directives and a comprehensive set of wchar-t string functions, including the shift-state dependent functions multibyte support extensions defined by the ISO/IEC Programming Language C Amendment 1. Hardware Requirements --------------------- C/C++ for MVS/ESA and its generated object code can be executed on any IBM System/370 or System/390 processor supported by the operating systems listed below. Software Requirements --------------------- REQUIRED LICENSED PROGRAMS The IBM C/C++ for MVS/ESA licensed program and generated object programs run under the latest release of the following System/370 and System/390 programming systems (later releases are supported unless otherwise indicated): o MVS/ESA SP Version 5 (5655-068 or 5655-069) o MVS/ESA SP Version 4 (5695-047 or 5695-048) One of the following is required for the compilation and execution of C or C++ applications using C/C++ for MVS/ESA or its generated object programs: o Language Environment for MVS and VM Release 5 (MVS Feature; 5688-198) o MVS/ESA SP Version 5 Release 2.2 C/C++ Language Support Feature (5655-068 or 5688-069) These programs provide the required execution environment and library of C/C++ run-time services. (The compiler is not needed for application execution.) SMP/E Version 1 Release 8 (5668-949) is the minimum level of SMP/E required for installation of IBM C/C++ for MVS/ESA on MVS. OPTIONAL LICENSED PROGRAMS In conjunction with Language Environment for MVS and VM (MVS Feature), IBM C/C++ for MVS/ESA Version 3 supports the following IBM licensed programs (later releases are supported unless otherwise indicated). o One of the following for customization during or after installation: - High Level Assembler/MVS and VM and VSE (5696-234) o CICS/ESA Version 4 (5655-018; for support of C++/MVS applications) o CICS/ESA Version 3 Release 3 (5685-083; available only through C/MVS support) o IBM DB2 Version 3 (5685-DB2) o IBM DB2 Version 2 Release 3 (5665-DB2) o DFSMS/MVS Version 1 (5695-DF1) o First Failure Support Technology (FFST/MVS (5695-044) o IMS/ESA Database Manager Version 4 (5685-012) o IMS/ESA Database Manager Version 3 Release 1 (5665-408) o IMS/ESA Transaction Manager Version 4 (5685-013) o IMS/ESA Transaction Manager Version 3 Release 1 (5665-409) o ISPF for MVS Version 4 (5655-042) o ISPF for MVS Version 3 Release 5 (5685-054) o ISPF/PDF for MVS Version 3 Release 5 (5665-402) o MVS/Data Facility Product (DFP) Version 3 Release 3 (5665-XA3) o MVS/XA DFP Version 2 Release 4 (5665-XA2) o Query Management Facility (QMF) Version 3 Release 1 (5706-254; available only through C/MVS support) o QMF Version 2 Release 4 (5668-721; available only through C/MVS support) o TCP/IP for MVS Version 3 (5655-HAL; available only through C/MVS support) o Transaction Processing Facility (TPF) Version 4 (5748-T14; available only through C/MVS support) o TPF Version 3 (5748-T13) with the TPF C language Support Feature (available only through C/MVS support) o TSO/E Version 2 Release 4 (5685-025) For System Object Model (SOM) support, the following will be required: o SOMobjects for MVS (5696-822); SOMobjects for MVS run-time library will be required for execution of SOMobjects. In addition, C++ Direct-to-SOM compilation will require the header files supplied with the SOMobjects for MVS programs. For OpenEdition MVS support, the following is required: o MVS/ESA SP Version 5 OpenEdition Services for support of C/C++ for MVS/ESA applications with the Hierarchical File Systems (HFS) and OpenEdition POSIX C language support. HFS requires DFSMS/MVS Version 1 Release 2 (with PTF) or higher. o MVS/ESA SP Version 5 OpenEdition Shell and Utilities Feature HSU1120 for the OpenEdition development environment with enabling PTFs and including the C89 utility to invoke the C/MVS compiler and the Language Environment Prelinker and the CXX utility to invoke the C++/MVS compiler and the Language Environment Prelinker. o MVS/ESA SP Version 5 OpenEdition DEBUGGER Feature HDX1120 with enabling PTFs for debugging C/C++ for MVS/ESA applications under OpenEdition POSIX(ON) environment. o For Distributed Computing Environment (DCE) support, the following no-charge features of MVS/ESA SP Version 5 Release 1: - OpenEdition Distributed Computing Environment Base Services (5891 or 5892) - OpenEdition Distributed Computing Environment User Data Privacy (5988 or 5989) Optionally, OpenEdition DCE Application Support MVS/ESA (5655-064) for interaction with CICS/ESA and IMS/ESA Interlanguage communication (ILC) to and from applications written using any of the following and running with Language Environment for MVS and VM: o System Assembler o High Level Assembler/MVS and VM and VSE (5696-234) for information files required by the DSECT Conversion Utility o IBM COBOL/370 (5688-197) o VS COBOL II Release 4 (5668-958, 5688-023, or 5688-022) o IBM PL/I for MVS and VM (5688-235) o OS PL/I Version 2 Release 2.1 (5668-909, 5668-910, or 5668-911) o IBM VS FORTRAN Version 2 (5668-806, 5688-087) o Cross System Product/Application Execution (CSP/AE) Version 3 Release 3 (5668-814) for calls with programs running under this program (available only through C/MVS support) Other VisualAge C++ and C Set ++ programs available include: o VisualAge C++ for OS/2 Version 3 o IBM C Set ++ for AIX Version 3 (5765-421) Compatibility ------------- Source-level compatibility: C/370 Version 2 and AD/Cycle C/370 Release 2 are fully compatible with C/MVS under C/C++ for MVS/ESA. Migration, Coexistence: C/C++ for MVS/ESA can be installed in the same SMP/E zones as the C/370 Version 2 or AD/Cycle C/370 compiler programs. Considerations for applications compiled with C/370 Version 1 or C/370 Version 2 that will execute with Language Environment for MVS and VM are documented in the IBM C/C++ FOR MVS/ESA VERSION 3 RELEASE 2 COMPILER AND RUN-TIME MIGRATION GUIDE (SC09-2002). Ordering -------- CURRENT LICENSEES Current licensees of C/C++ for MVS/ESA will be sent a program reorder form which may be returned directly to IBM Software Manufacturing Solutions (SMS). The mailing of these reorder forms is scheduled to be completed by 5 January 1996. Reorder forms returned to SMS will be processed within 10 work days of receipt. When Version 3 Release 2 is available, Version 3 Release 1.1 will no longer be available. NEW LICENSEES Orders for new licenses will be accepted now. Ordering information is unaffected by this announcement with the exception of current licensees, new licensees, and unlicensed documentation/publications information. Shipment will begin on the planned availability date. o Orders that ship prior to the planned availability will receive C/C++ for MVS/ESA Version 3 Release 1.1. o Orders that ship after the planned availability date will receive C/C++ for MVS/ESA Version 3 Release 2.0. New users of IBM C/C++ for MVS/ESA Version 3 Release 2 should specify: TYPE MODEL 5655 121 Charges ------- The charges for this product are unaffected by this announcement. ONE-TIME CHARGE: Customers who pay a one-time charge for a licensed program receive enhancements and future releases, if any, at no additional charge. Significant new function may be offered as an optional feature and charged for separately. If a replacement program is announced and the customer elects to license the replacement program, a time-based upgrade credit may apply. VARIABLE CHARGES: The applicable graduated one-time charge or graduated monthly license charge will be based on the group of the designated machine on which the licensed program is licensed for use. If the program is designated to a processor in a group for which no charge is listed above, the charge of the next higher group listed applies. For upgrades of one-time charge licenses to a machine in a higher group, the upgrade charge will be the difference in the then current charges between the two groups. For downgrades of one-time charge licenses to a machine in a lower group, there will be no adjustment or refund of one-time charges paid. For upgrades or downgrades of monthly license charge licenses, the monthly license charge applicable to the higher or lower group will apply. ======================================================================== +-------------------------------------+ | IBM Internationalization Conference | intconfl | and NLS Programming Lab Details | +-------------------------------------+ Dear Software Developer: The IBM Internationalization Conference and NLS Lab are an opportunity for you to spend a few days with a team of technical experts who have a thorough understanding of the problems inherent in designing software for multiple languages. This event is for developers and technical managers with hands-on responsibility for software internationalization. Programming design guidelines that support cultural and national language differences are presented. As the software industry continues to move toward a global marketplace, learn and implement these guidelines now, and avoid costly retrofitting for each country or language. An introduction to National Language Support (NLS) and Double-Byte Character Set (DBCS) concepts is offered. The emphasis is on Asian and European languages, and is directed toward application development. Internationalization gurus from IBM development labs provide the latest release information for IBM systems. Consultants offer practical insight into design strategies and techniques. An update on the latest technology and standards information is presented in sessions on Unicode/UCS-2, POSIX, and XPG4. Personal interaction with the speakers is planned to ensure individual attention to your questions. The second part of the event, the NLS Programming Lab, is presented as a separate offering. The NLS Lab held in April was so successful, it is now available for two platforms - OS/2 and AIX. Programming exercises are used to illustrate how to write international programs. Under the guidance of two instructors from IBM laboratories, you get hands-on experience and implement the design principles learned during the first two days of the conference. EVENT: Internationalization NLS Programming Lab Conference DATES: 13 and 14 December 1995 15 December 1995 LOCATION: The Westin Hotel IBM Solution Partnership Center Copley Place 404 Wyman Street Boston, Massachusetts Waltham, Massachusetts FEE: 500 USD per person 350 USD per person (450 USD if payment is received by 20 October) Please return the attached registration form and non-refundable fee by 10 November. Space at both sessions is limited, and reservations will be confirmed when payment is received. Meals and evening sessions are included as listed on the agenda. Hotel and travel details will be sent with your confirmation. If you have questions, please contact Lynn Kelderhouse, Registration Coordinator, at 1-203-262-5621, or at lkelderhouse@vnet.ibm.com. Dory Miller Program Administrator Solution Developer Operations Conference Preliminary Agenda ----------------------------- Day 1 Registration / Continental breakfast (available 7:30 - 8:15 a.m.) Introduction (begins promptly at 8:15 a.m.) IBM - A Commitment to NLS Introducing National Language Support Writing Systems of the World Character Sets, Code Pages, and Encoding Schemes Break DBCS Video DBCS General Information lunch (provided) The Cultural Dimension POSIX XPG4 UNICODE / UCS-2 Concurrent breakout sessions I: (choice of one) o AIX (Presentation and Demo) o OS/2 o System/390 break dinner (provided) evening roundtable discussions Day 2 Continental breakfast (available 7:30 - 8:30 a.m.) Introduction Asia/Pacific Opportunity Concurrent breakout sessions II: (choice of one) o AS/400 o DOS/V o OS/2 break DBCS Experiences lunch (provided) Designing Panels and Messages break Future Directions Character Data Representation Architecture Open Forum conference concludes by 5 p.m. Conference Preliminary Course Descriptions ------------------------------------------ INTRODUCING NATIONAL LANGUAGE SUPPORT The session begins with an introduction to NLS, including definitions and the impact of NLS on the way you design your products. Discussion topics include: o What areas of your program are affected by NLS/DBCS? o What kinds of changes are necessary to accommodate culturally dependent requirements? We also explore how NLS/DBCS support is often staged to allow evolution as market participation grows. WRITING SYSTEMS OF THE WORLD An overview is presented of different writing systems and how to provide for them in your applications. Common components for consideration include: o Direction of writing o Diacritical markings o Single case vs mixed case o Word separation o Alphabet size changes CHARACTER SETS, CODE PAGES, AND ENCODING SCHEMES Information about the ways different languages are mapped within computing systems is covered. We describe the approaches used in the various IBM computing systems. Suggested programming procedures are introduced to support the variety of encoding schemes (which code pages to use). DBCS VIDEO This session explores why NLS is important when considering program design. A DBCS video, created by IBM Asia/Pacific, introduces the complexities associated with Asian languages. As a result, you can begin to see the significance of an NLS/DBCS undertaking, and that it is not something to be simply "added on", but rather considered as an important requirement from initial design stages. DBCS GENERAL INFORMATION This presentation includes a discussion of DBCS data and string management principles common across the various IBM platforms. Important DBCS enabling rules are emphasized. THE CULTURAL DIMENSION The manner in which culture influences your product design is explored, including the ways in which date, time, currency, calendar, rounding, sort, etc., are handled in different countries. High-level programming approaches are suggested for supporting a variety of cultural formats. POSIX The Portable Operating System Interface provides a base model for Internationalization and Localization. Standard 1003.2 Shell and Utilities provides a locale mechanism in order to facilitate the localization of cultural information. This specification, along with a series of C Language APIs, allows for the externalization of culturally sensitive information and data. XPG4 X/Opens' Portability Guide Issue 4 (XPG4) specifies a code-set independent internationalization programming model. The model defines a set of system interfaces (APIs), headers, commands, and utilities for the ISO C-programming language that provide source portability and interoperability for applications between conforming Unix and other proprietary operating systems. Our primary interest in the XPG4 model at this time is the Internationalization (I18N) set of APIs. This presentation provides an overview of the XPG4 I18N APIs, and outlines their implementation across the IBM software families. OS/2 DCE will be discussed to illustrate usage of this I18N model. UNICODE / UCS-2 The Unicode standard is a new character code designed to encode text for storage in computer files. It is a profile (a subset) of the ISO 10646 standard. The design of the Unicode standard is based on the simplicity and consistency of today's prevalent character code set, ASCII (and Latin-1, an extended version of the ASCII code set). It goes far beyond ASCII's limited ability to encode only the Latin alphabet; the Unicode encoding provides the capability to encode many of the characters used for written languages throughout the world. ISO/IEC 10646 specifies the Universal Multiple-Octet Coded Character Set (UCS). It is applicable to the representation, transmission, interchange, processing, storage, input, and presentation of the written form of the languages of the world, as well as additional symbols. The focus on this standard will be the first plane (Plane 00 Group 00), called the Basic Multilingual Plane (BMP). The BMP includes characters in general use in alphabetic, syllabic, and ideographic scripts together with various symbols and digits. Differences and similarities in the two standards are discussed. PLATFORM SPECIFICS / CONCURRENT BREAKOUT SESSIONS I: NLS/DBCS functions, how to invoke these functions, and available APIs or interfaces are discussed by platform. Information on international hardware and software availability by platform is given. o AIX (PRESENTATION AND DEMO) This session gives an overview of the AIX NLS implementation, and demonstrates the various locale environments supported by AIX, including single-byte and multi-byte character sets, such as Japanese and Traditional Chinese. The demonstration also shows NLS-related enhancements in AIX Version 4: - Unicode support - Arabic/Hebrew (Bidirectional) locale - Eastern European locale support - Simplified Chinese locale support o OS/2 This presentation provides developers of international products with the information and guidance necessary to plan, design, code, and test functions supporting DBCS on their products that run on OS/2 versions 2.x and Warp. Migration of international applications using XPG4 will be discussed. o System/390 This class introduces the attendees to DBCS support fundamentals and design considerations for the IBM System/390 environment. At the completion of the course, the student will have an understanding of: - NLS - DBCS code scheme - DBCS system environments - Mixed/DBCS string handling - DBCS enabled application services - DBCS design considerations useful for the System/390 EVENING ROUNDTABLE DISCUSSIONS You will have an opportunity to request specific topics to be addressed in small focus meetings. We'll group the topics and have several speakers to lead the discussion in each session. ASIA/PACIFIC OPPORTUNITY The aim of this presentation is to provide a sense of the software business environment in Asia, its importance, and its differences. Discussions will include the inherent challenges of language and culture, and will also highlight some approaches that can be used to achieve a successful software business in the Asia/Pacific market. PLATFORM SPECIFICS / CONCURRENT BREAKOUT SESSIONS II: o AS/400 IBM intends to expand AS/400 national language support functions to continue to meet the requirements of your business. The NLS enhancements for the AS/400 will primarily focus on supporting the cultural needs of end users and allow application developers to use the NLS functions to internationalize their products. The following topics will be presented and discussed: -- Internationalized client/server solutions that are transparent to the end user -- Application Programming Interfaces for NLS -- International Standard Organization 10646 Support - a single Universal Coded Character Set (UCS2/UNICODE) -- New release information as it relates to NLS o DOS/V In this session, we examine the modifications that must be made to English software applications, if they are to exploit the DBCS DOS/V platforms in Asia. Also featured are: -- Industry standard DOS/V for DBCS languages -- DBCS Windows V3.1 implementation -- The differences between U.S. DOS and Asian DOS/V systems o OS/2 (Repeated from previous day, see description above) DBCS EXPERIENCES (PRESENTATION AND DEMO) Approaches for enabling PC products to support Asian DBCS languages are discussed. Alternate strategies are presented for estimating conversion effort, retrofitting, and maintaining DBCS programs. A demonstration shows a suite of office automation products that have been DBCS-enabled, and includes a discussion of the experiences and problems encountered. DESIGNING PANELS AND MESSAGES FOR MULTIPLE LANGUAGES In this section, we review and illustrate the design consideration for easy adaptation of the person/machine interface to other languages and cultures. We look at prompts, panels, messages, icons, etc., from the point of view of translatability and adaptability. We discuss ways to design your application displays to allow support of many languages. FUTURE DIRECTIONS The foundation of IBM's NLS desktop OS strategy for the future is presented. Topics include Unicode, locale-based models (XPG4 I18N and the Universal Language System (ULS)), single-source single-object program models, utilities, converters, and program-integrated-text models. CHARACTER DATA REPRESENTATION ARCHITECTURE (CDRA) CDRA is an existing architecture that provides for the management of coded graphic character data integrity across any pair of systems. CDRA defines a consistent method for character data identification which permits unambiguous interpretation of coded graphic characters for data originating in many environments. It defines consistent conversion mappings (tables) to help manage the preservation of coded graphic character integrity as data is interchanged among any pair of systems. It also specifies character sets and code pages to provide strategic direction for applications and databases. OPEN FORUM A panel of speakers is available to answer any questions you may still have at the conclusion of the conference. OS/2 and AIX NLS Hands-On Programming Labs ------------------------------------------ This is the second part of the event, and takes place at the IBM Solution Partnership Center in Waltham, Massachusetts. There are two concurrent, separate programming labs, one for OS/2 and one for AIX. The fee for the programming lab is 350 USD. Attendance is very limited, so that each attendee can receive a lot of individual attention. The prerequisite for participating in the programming lab is attending the IBM Internationalization Conference, or basic knowledge of NLS and a working knowledge of C (and PM for the OS/2 lab or X11/Motif for the AIX lab). There is a new programming paradigm to enable software to handle worldwide market requirements. This new model is called internationalization (I18N). Internationalization is the process of creating software that is culturally neutral, yet readily adaptable to cultures and languages worldwide. The OS/2 and AIX labs use programming exercises to illustrate how to write international programs. Students code, compile, link, and execute sample programs that use I18N routines specified in industry standards such as XPG4 and ISO C. OS/2 PROGRAMMING LAB This lab includes OS/2-specific NLS interfaces. Students also write sample PM (Presentation Manager) programs to do international support. Topics include: o Installing and setting up basic OS/2 NLS configuration information o Enabling PM (Presentation Manager) applications for international support o Access of locale-related information and writing locale-sensitive programs using that information o Multi-byte string manipulation in C programs o Use of message catalogs and message facility o Use of converter library to do code set conversions Upon completion of this lab, you will be able to: o Understand the legacy OS/2 NLS model and the enhanced model available via the C Set ++ V3 compiler o Understand proper techniques for writing locale-sensitive programs o Understand proper string handling in a code-set-independent way o Enable PM (Presentation Manager) applications for national language support AIX PROGRAMMING LAB Students in the AIX Lab will write sample X11/Motif programs that use international support provided in X11R5 and OSF/Motif 1.2. Topics include: o Access of locale-related information and writing locale-sensitive programs using that information o Multi-byte string manipulation in C programs o Use of message catalogs and message facility o Use of converter library to do code set conversions o Use of FontSet to be code-set-independent o Use of Motif 1.2 text widgets for multi-byte or wide characters o Keyboard mapping and input methods in X11 Upon completion of this lab, you will be able to: o Understand proper techniques for writing locale-sensitive programs o Understand proper string handling in a code-set-independent way o Enable X11/Motif applications for multi-byte character sets Registration Form ----------------- IBM Internationalization Conference and Lab Registration Form - Fall 1995 Please check the session(s) you will attend: CONFERENCE PROGRAMMING LAB - Choose one: _____ 13 - 14 December 1995 OS/2 NLS Lab Fee - 500 USD _____ 15 December 1995 (450 USD if received by 20 October 1995) Fee - 350 USD or AIX NLS LAB _____ 15 December 1995 Fee - 350 USD Company Name____________________________________________________________ Last Name_____________________First Name__________Title_________________ Street Address__________________________________________________________ City__________________________State_______________Zip___________________ Phone_________________________Fax_______________________________________ Registration is subject to confirmation by IBM. Please return the completed form by 10 November. The fee is non-refundable. _______ AmEx _______ MC _______ VISA Card # _____________________________ Expiration Date ___________________ Print name on card__________________ SIGNATURE__________________________ Return completed registration form to: Lynn Kelderhouse Mail Stop 241 IBM Corporation 150 Kettletown Rd. Southbury CT 06488 Telephone: 1-203-262-5621 Fax: 1-203-262-2141 Please check one breakout session you will attend each day: 13 December: _______ AIX _______ OS/2 ________ System/390 14 December: _______ AS/400 _______ DOS/V ________ OS/2(repeated) How did you hear of this seminar?_______________________________________ ________________________________________________________________________ ======================================================================== This concludes 1995 Issue 14 of IBM SDO Developer Support News. Please let us know how we can improve it -- send your feedback to dsnews@vnet.ibm.com. Thank you!