Designing a Component Architecture using Advantage Gen John







![Analysis EPs Models Involved ERD COPY Architecture EPs Ops, [Procs] BTM MIGRATE CAD Client Analysis EPs Models Involved ERD COPY Architecture EPs Ops, [Procs] BTM MIGRATE CAD Client](https://slidetodoc.com/presentation_image_h2/0f4eb5c93dc8f41a403265f47511cc14/image-8.jpg)


































![Analysis EPs Models Involved ERD COPY MIGRATE Architecture EPs Ops, [Procs] BTM Application CAD Analysis EPs Models Involved ERD COPY MIGRATE Architecture EPs Ops, [Procs] BTM Application CAD](https://slidetodoc.com/presentation_image_h2/0f4eb5c93dc8f41a403265f47511cc14/image-43.jpg)



- Slides: 46

Designing a Component Architecture using Advantage Gen John Dodd Computer Associates Session Code: 10 C

Abstract w The Component Architecture Diagram was introduced in release 6. 0 of Advantage Gen, and CBD practitioners have asked how it can be used to best effect. w This session sets out to explain the usage of this diagram, within the context of the overall architecture design process. w The development of a stable component architecture is a crucial aspect of the CBD process

Biography w John Dodd Computer Associates w John Dodd co-invented CBD for Gen back in 1995 w He has written several influential papers on CBD methods & techniques since w He maintains the Gen Component Standard

Agenda w A technique for component architecture design n Introduction (7) n Step-by-step description (32) w Illustrated by Ordering System example

CAD Context per business area one or more applications Analysis Functional Specification Non-Functional Requirements per application Application Design (Presentation Layer, Component Architecture Design (Presentation Layer, Prototyping, etc. ) Procedure Specifications per application Application Construction Functions (Elementary Processes) Data Needed (ERD) Legacy System Interactions Component Assemblies per business area one or more applications Preliminary Specifications Component Provisioning Component (build or adapt or buy) Provisioning (build or adapt or buy) Tested Component

Technique Features w A methodical process, but not mechanical w Uses Gen’s Component Architecture Diagram w Interface-Centric w Uses Patterns w Starts from Analysis results w Outcome is a Component Specification Architecture

Actions 1 2 Preparations Identify Server Transactions 6 5 Decide Predominant Architectural Style Incorporate Cross. Interface Relationships Identify Business Interface Operations Maintain & Extend 11 Architecture Models 7 3 4 a Identify Business Components Create Implementation Models Identify System Interfaces & Components Identify Business Component Interfaces 8 10 4 Include Legacy System Interaction Identify Utility Components 9
![Analysis EPs Models Involved ERD COPY Architecture EPs Ops Procs BTM MIGRATE CAD Client Analysis EPs Models Involved ERD COPY Architecture EPs Ops, [Procs] BTM MIGRATE CAD Client](https://slidetodoc.com/presentation_image_h2/0f4eb5c93dc8f41a403265f47511cc14/image-8.jpg)
Analysis EPs Models Involved ERD COPY Architecture EPs Ops, [Procs] BTM MIGRATE CAD Client Procs BTM User Interface [Server Procs] Consumed Component Specs SUBSET COPY SPEC. Component Spec Type Interfaces + Ops. Op. Internal Logic [Database Design] Application

Starting Point w Activity Model n n Elementary Processes but could be atomic business use cases w Entity Relationship Model n n The data the Application(s) need to keep track of but could be a class diagram (concept level) w Non-Functional Requirements

Activity Model Example Function 1 Function 2 Process 3 Elem Proc 4 Elem Proc 4 Elem Proc 4 Elem Proc 4 Elem Proc 4 Elem Proc 4 Process 3 Elem Proc 4 Elem Proc 4 JD_ORDERING_SYSTEM FUNCTIONAL_DECOMPOSITION PRODUCT_GROUP_MAINTENANCE NEW_PRODUCT_GROUP LIST_PRODUCT_GROUPS GET_PRODUCT_GROUP UPDATE_PRODUCT_GROUP DELETE_PRODUCT_GROUP PRODUCT_PROCESSING NEW_PRODUCT LIST_PRODUCTS NEW_MANUFACTURING_DATA NEW_PRICE LIST_PRODUCT_PRICES GET_PRODUCT_PRICES UPDATE_PRICE DELETE_PRODUCT_PRICE UPDATE_MANUFACTUIRING_DATA GET_PRODUCT UPDATE_PRODUCT DELETE_PRODUCT ORDER_PROCESSING NEW_ORDER NEW_CUSTOMER ADJUST_ORDER_LINES LIST_ORDERS_FOR_CRITERION GET_ORDER UPDATE_ORDER DELETE_ORDER CUSTOMER_MAINTENANCE NEW_CUSTOMER ** reused ** LIST_CUSTOMERS GET_CUSTOMER UPDATE_CUSTOMER LIST_HISTORY_FOR_CUSTOMER DELETE_CUSTOMER

Entity Relationship Model Example

1 Preparations

2 Decide Predominant Architecture w Component Layers w Architecture Styles n n n Radial or Client/Server or Network Style

Layer Name Layers Presentation Layer UIC 1 UIC 2 1. Presentation with User Interface Controls System Component BC 1 2. System Component (optional layer) 3. Business Component BC 3 BC 2 LC 1 BU 2 TU 1 BU 3 TU 2 BU 4 4. Legacy Sys. “Component” 5. Business Utility 6. Technical Utility

Architectural Styles NETWORK RADIAL Presentation Layer System Component CLIENT/SERVER BC 1 Presentation Layer BC 1 BC 2 BC 3 Server Layer BC 1 BC 2 BC 3

Start Drawing … Radial Chosen, only one business system Client/Server style chosen, three business systems

3 Identify System Interfaces & Components w Only needed for the radial style w One system interface per application n I. e. per proposed business system w One component per interface w But could vary this

Component Architecture Diagram Example used - one application only in business area - radial style chosen

Interface Type Model for System Interface

4 Identify Business Component Interfaces w Interfaces are derived from the entity relationship model n identify the business types l n consist of a core business type + detailing types propose one interface per business type w Interfaces added to diagram w Draw preliminary interface type models

Business Types

Component Architecture Diagram

Interface Type Model

4 a Incorporate Cross-Interface Relationships w Find the relationships between business types w The interfaces need to support these n n n decide if 1 -way or 2 -way attributes added to ITMs to enable this though its operations that will maintain them

Cross-Interface Relationships

Attributes that support CI Relationships

5 Identify Server Transactions w Create a set of server procedures that can provide the server-side functionality. Each procedure corresponds to an elementary process w For network style, assign these to appropriate business component interface w for radial style, assign to most appropriate system interface

Procedures assigned to System Interface

6 Identify Business Component Operations w Discover the sub-transactional operations that are needed to support the transactionals defined in (5) w We may draw a Structure Chart for each transactional operations, showing calls it makes to sub-transactional operations n n find new sub-transactionals reuse pre-found subtransactionals

Calls to Business Interfaces

Business Interface Operations

7 Identify Business Components w Decide on a set of business components, that will offer the business component interfaces n n n default is one component per interface but study degree of interface interaction for each pair of interfaces if high, place both interfaces on same component

Interface Affinity PRODUCT GROUP PRODUCT ORDER CUSTOMER 7 0 0 3 1 5 CUSTOMER 1. Example is for Radial style 2. Cells show # of system interface operations that call that pair of interfaces 3. Can be made more sophisticated 4. Product Group is a “classifying type” for product & could have been included with the Product business type in action 4

Component Architecture Diagram

8 Include Legacy System Interaction w Add any dependencies on existing applications, or possibly existing databases n n represent these architectural units using component specification type symbol dependency may be direct, or via wrapper components offering stable interfaces w Also, include applications that will depend on the new architecture

Resulting Component Architecture Diagram

Interaction with Legacy Systems(1) level-3 business component I 2 legacy sys wrapper I 3 I 1 business component I 2 level-4 I 1 legacy system Direct legacy system via Wrapper

Interaction with Legacy Systems(2) application client level-1 level-2 level-3 system component business component utility level-4 level-5 component I 4 I 1 legacy system-A I 2 legacy system-B I 3 legacy system-C Legacy Calls from its client, or its server level-1 I 5 level-2 legacy system-D Legacy called from any Layer level-3 legacy-A client application client system component business component I 3 I 1 I 2 legacy-B server

9 Identify Utility Components Presentation Layer UIC 1 UIC 2 Layer Name 1. Presentation with User Interface Controls System Component BC 1 2. System Component (optional layer) 3. Business Component BC 3 BC 2 LC 1 BU 2 TU 1 BU 3 TU 2 BU 4 4. Legacy Sys. “Component” 5. Business Utility 6. Technical Utility

9 Identify Business & Technical Utility Components w Try to find them now n though more may emerge during component implementation w Technical Utilities n Non-Functional Requirements n General Functional requirements n Corporate Standards n Component Catalogs n Experience w Business Utilities n Study operations, looking for common processing requirements n Pre-existing commons n Pre-existing generics n Component Catalogs n Work Flow component

Completed CAD

10 Create Component Implementation Models w w w define subset for a component checkout subset, override c/o status rename business system & subject area generate as new model, to lose ancestry adopt back into family w Now the component developer can complete the component specification n implement & integration-test each operation n deliver incrementally n new requirements will arise as presentation layers developed n
![Analysis EPs Models Involved ERD COPY MIGRATE Architecture EPs Ops Procs BTM Application CAD Analysis EPs Models Involved ERD COPY MIGRATE Architecture EPs Ops, [Procs] BTM Application CAD](https://slidetodoc.com/presentation_image_h2/0f4eb5c93dc8f41a403265f47511cc14/image-43.jpg)
Analysis EPs Models Involved ERD COPY MIGRATE Architecture EPs Ops, [Procs] BTM Application CAD MIGRATE CHECKOUT SUBSET RENAME OBJECTS GEN NEW MODEL ADOPT Component Client Procs BTM User Interface [Server Procs] Consumed Component Specs COPY SPECIFICATION ONLY Component Spec Type Interfaces + Ops. Op. Internal Logic [Database Design] COPY SPECIFICATION ONLY

11. Maintain & Extend Component Architecture w Architects should maintain the Architecture Model n n Architects should approve the detailed Component Specifications Agree any changes to the original architecture with Component Developers w Further Architectures can be useful n n n component implementation architecture component object architecture deployment diagrams

Session Summary w Component architecture design can be a methodical process n n Evolution of earlier advice Uses Gen’s Component Architecture Dgm Uses Gen’s Interface Type Models Keeps everything in Gen w Available as a Paper w See also: n UML Components – Cheesman & Daniels n Realizing e-Business from Components - Allen n Advisor (supplied with Gen 5. 1, Spex, Biz)

Questions & Answers