Top Banner
White Paper Combining Information Engineering and Object Orientation with AllFusion ® Plex William A. Hunt Product Manager, CA October 2006
5

Combining Information Engineering and Object Orientation ...platformmodernization.org/ca/Lists/ResearchPapers/Attachments/3/M…Combining Information Engineering and Object Orientation

Mar 10, 2018

Download

Documents

truongtram
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Combining Information Engineering and Object Orientation ...platformmodernization.org/ca/Lists/ResearchPapers/Attachments/3/M…Combining Information Engineering and Object Orientation

White Paper

Combining InformationEngineering andObject Orientationwith AllFusion® PlexWilliam A. HuntProduct Manager, CAOctober 2006

Page 2: Combining Information Engineering and Object Orientation ...platformmodernization.org/ca/Lists/ResearchPapers/Attachments/3/M…Combining Information Engineering and Object Orientation

AllFusion® PlexAllFusion Plex from CA is an Architected Rapid ApplicationDevelopment (ARAD) tool that is model-based and suppliedwith pre-built architectural and design patterns. This is acommon methodology among ARAD tools such as AllFusionPlex, originally developed in 1994 as Synon Obsydian.

Studies have indicated that ARAD tools generate significantlyhigher levels of productivity and flexibility, as opposed tostandard RAD tools or enterprise modeling products. ARADtools also enable developers skilled in RPG or COBOL tobecome productive with a minimal amount of additionaltraining. Applications are developed in a MicrosoftWindows environment and compiled and tested in thetarget environment. The latter may be the IBM iSeries,Windows or Java. A wide range of application types can be developed, including client-server, Web-based,character-based, batch and wireless device-based.Additionally, SOAP/XML service components can bedeveloped.

AllFusion Plex takes two very powerful methods and mixes them to get the best of both worlds. The first isInformation Engineering (IE), where techniques such asEntity Relationship Modeling are used to drivedevelopment from a data perspective.

The second is Object Orientation (OO). Applicationdevelopment with AllFusion Plex typically starts withcreating an IE-type data model and applying OO-basedtechniques such as abstraction and inheritance, andmodularity and hierarchy.

AllFusion Plex offers:• A Windows-based visual IDE, complete with GUI screen

designers, a language-neutral action language editor, adiagrammer and impact analysis tools;

• A multi-developer repository with built-in configurationmanagement for storing design models across multipleversions, languages and platforms;

• Code generators that automatically create 100% of thenative code required, together with HTML and GUIclients, 5250 host screens, server programs anddatabase objects.

AllFusion Plex includes hundreds of reusable businessobjects called patterns, grouped into libraries. Manyadditional pattern libraries are available from a number of CA Partners. Customers may also customize thesepatterns to create a standards layer, or they can createtheir own.

This white paper describes the primary functionality andfeatures offered by AllFusion Plex. This is achieved bystepping through a simplified example of the developmentof an application. In this case, we have used a simple'Customer, Account and Account Items' scenario.

Modeling for ConstructionThe application development process using AllFusion Plexis essentially a three-step process - involving DataModeling, Pattern Matching and Customization - followedby automatic code generation.

The developer will follow a path of iteration through thesethree steps, using an Architected RAD process to achievethe desired application. AllFusion Plex uses the concept ofa model to hold the application design. The model is heldwithin a repository containing both the model as well asall reusable objects.

Data ModelingAllFusion Plex is used to capture the Entity Types,Attributes and Relationships of the application DataModel. Figure 1 displays the result using the EntityRelationship Diagrammer. A range of diagrams is availablefor both capturing and displaying design information held in the model. Inset is the Object Browser used tonavigate through all objects held within the repository.

2

Figure 1. The AllFusion Plex Entity RelationshipDiagrammer. Design models can be viewed as a physicaldiagram or within an Object Browser.

Page 3: Combining Information Engineering and Object Orientation ...platformmodernization.org/ca/Lists/ResearchPapers/Attachments/3/M…Combining Information Engineering and Object Orientation

The structure of an AllFusion Plex application, reflectingthe Data Model design but also the structure of otheraspects of the application functionality (includingfunctions, components and panels) can be captured usinga set of statements defined in a Subject, Verb, Objectform. This set is known as a Triple. They are capturedwithin a part of the toolset known as the Model Editor.

Pattern Matching and InheritanceThe second part of the development process is to considerthe functionality that the application is required to deliver.Examples of this could be Use Cases or the product of a process modeling tool. The idea is to match thefunctionality required against a set of Design Patterns held within the repository. CA supplies a large set of these Patterns, and part of the power of AllFusion Plex lies in constructing your own set of Patterns to reflect the types of functionality specific to your organization.

Inheritance is the mechanism by which an object or set ofobjects can acquire the characteristics or design ofanother object or set of objects. This is the means bywhich Patterns are implemented in the application designand is always expressed using an 'is a' verb in a triple.Multiple inheritance is a key part of the way applicationsare developed in AllFusion Plex.

Figure 3 expresses the way that an entity, representing aCustomer, has rapidly acquired simple functionality. Theentity acquires:

3

• A table to hold the data about the Customer• Views of the data• Access functions to retrieve and update the table• A suite of user functions to enable the display and

capture of Customer data

Note the use of the 'is a' statement.

CustomizationThe third phase of constructing the application is tocustomize the implemented Patterns. If we think of thePatterns as classes of behavior, held as designinformation, then our implemented Patterns need to besub-classed in order to suit the application requirements.Examples of this could be overriding elements of thePattern structure, replacing part of the pattern design withour own design or adding logic to the application to addbehavior to the design. Still further customization involvesuser interface design or construction of new functionality.

AllFusion Plex contains an action language editor (orAction Diagrammer) where logic can be added or changedwithin the application design. Essentially, each functionwill have logic expressed as procedural statements heldwithin an action diagram. Most of this logic will come frominherited design and is shown in grey. Appropriate pointsare made available for the developer to insert statements.Statements are explicitly type checked to ensure no syntaxerrors occur. Variables are displayed, as are the availablestatements and syntax for the developer to choose from.

Figure 2. AllFusion Plex 'triples' are designed and definedin the Model Editor.

Figure 3. An entity acquires additional functionality usingmultiple inheritance.

Page 4: Combining Information Engineering and Object Orientation ...platformmodernization.org/ca/Lists/ResearchPapers/Attachments/3/M…Combining Information Engineering and Object Orientation

4

Application GenerationOnce the developer has passed through one iteration of thepreceding three steps, the application can be built for testing.

Figure 4 shows the Generate and Build screen. Thedeveloper selects the objects to be built, generates thecode and submits the build, either to the local machine or to a server.

Application Integration and ReverseEngineeringNew applications are rarely built in isolation. Typically anew application must reuse or integrate with existingapplications and packages. AllFusion Plex provides a richset of application integration and reverse engineeringcapabilities including:

• Database schema import to allow new applications to be built upon existing databases.

• COM, .NET and EJB Connectors that allow AllFusionPlex-generated applications to be consumed by externalCOM-compatible environments such as Visual Basic.

• COM Import capability that allows AllFusion Plexdevelopers to consume existing third-party COMcomponents using the native action language.

• Special capabilities to easily call existing OS/400programs.

• Ability to embed hand-coded 3GL code within thegenerated code without compromising platformindependence. This allows the developer to accomplishany programming tasks not directly supported by thenative action language, including calling of Windowsprograms written with other development tools.

• Model XML Import/Export capability that allows meta-data to be interchanged with other development toolssuch as AllFusion ERwin.

.NET Integration and C# CodeGenerationAn AllFusion Plex “Connector” exposes business logic tothird party applications. The tool currently features COMand .NET connectors, which provide the ability to producecomponents that are useable in the .NET world. UsingVisual Studio these components can easily be turned intoweb services.

AllFusion Plex r6 features C# server code generationbased over a 100% managed code .NET runtime.Essentially this makes AllFusion Plex the only ARAD toolavailable to provide complete support for IBM System ishops to have the flexibility to target the .NET platform for their applications using one set of developmenttechniques.

AllFusion Plex will target the .NET Framework 2.0 and useMSBUILD, Microsoft's new task- based build to providecompatibility with Visual Studio 2005. The generatedapplications will use OLE DB to provide access to a widerange of databases including Microsoft SQL Server 2005,Oracle 10g and IBM DB2. Additionally, a feature tying inclosely with the C# build process is application packagingsupport. Using this, developers will be able to model andbuild .NET Assemblies. The same approach will also beused to model application packages for the otherplatforms supported by Plex - JAR files for the Javaplatform and, later, ILE Service Programs for i5/OS.

SummaryAllFusion Plex has provided a true applicationmodernization solution for System i shops developers foryears - for thousands of developers and thousands ofcritical business applications. The tool continues to evolvewith overall trends, and CA is working with Microsoft in apartnership capacity to ensure that AllFusion Plex evolvesalong with Microsoft's key technologies. AllFusion Plexuses Visual Studio .NET for C++ builds, and also longfeatured the ability to deliver MS SQL Server applications.

CA and its partners also recognize the need to bringexisting applications into a modern developmentenvironment to enable the IT department to respondquicker to changes in the business and regulatory matters.RPG and COBOL applications can be brought intoAllFusion Plex to enable developers to take advantage of multiplatform requirements. AllFusion Plex develops for many platforms with one skill set and insulatesdevelopers from changes in technologies.

Figure 4. The Generate and Build screen, displaying acomplete list of objects contained in a model along with the targeted programming language.

Page 5: Combining Information Engineering and Object Orientation ...platformmodernization.org/ca/Lists/ResearchPapers/Attachments/3/M…Combining Information Engineering and Object Orientation

CA’s .NET application development support in theAllFusion Plex tool provides not only a powerful andproven development environment, but a tool that trulydefines the goals of the Microsoft Midrange AllianceProgram - .NET is provided as a choice for the delivery ofmodernized applications without sacrificing the continueduse of or numerous benefits of the System i Server.

For more information, please visit www.ca.com

Copyright © 2006 CA. All rights reserved. All trademarks, trade names, service marks and logos referenced herein belong to their respective companies. This document is for your informationalpurposes only. To the extent permitted by applicable law, CA provides this document “AS IS” without warranty of any kind, including, without limitation, any implied warranties of merchantabilityfitness for a particular purpose, or non-infringement. In no event will CA be liable for any loss or damage, direct or indirect, from the use of this document including, without limitation, lost profits,business interruption, goodwill or lost data, even if CA is expressly advised of such damages. MP308651006

About the Author

William A. Hunt has served as Product Manager for AllFusion Plex at CA since 2000.