ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group.

Slides:



Advertisements
Similar presentations
JUNE 2007 page 1 EDS Proprietary Applications Modernization Services Modernizing the Applications Portfolio.
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
ARCH-01: Introduction to the OpenEdge™ Reference Architecture Don Sorcinelli Applied Technology Group.
Data Model driven applications using CASE Data Models as the nucleus of software development in a Computer Aided Software Engineering environment.
CMMI – Continuous as well as staged model CMMI capability levels – Incomplete, performed, managed, defined, quantitatively managed, optimized Example.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Copyright © Tactical Strategy Group, Inc Aligning Existing IT Architecture with SOA: A Phased Transition Strategy to MDA SOA William.
SOA with Progress Philipp Walther Consultant. © 2007 Progress Software Corporation2 Agenda  SOA  Enterprise Service Bus (ESB)  The Progress SOA Portfolio.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn.
Application Transformation Building Competitive Applications.
Systems Development Process set of activities, methods, best practices and deliverables that are used to develop and maintain information systems. Process.
CPTE 209 Software Engineering Summary and Review.
UML - Development Process 1 Software Development Process Using UML (2)
1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Rational Unified Process Fundamentals Module 4: Disciplines II.
University of Utah SoCCS Lecture 61 Architecture – An Introduction CS Lecture 6 Nathan Dykman.
1M.Sc.(I.T.), VNSGU, Surat. Structured Analysis Focuses on what system or application is required to do. It does not state how the system should be implement.
IST 210 Database Design Process IST 210 Todd S. Bacastow January 2005.
ARCH-03: Implementing the OpenEdge™ Reference Architecture – Part 1 John Sadd Progress Fellow and OpenEdge Evangelist.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Information System Development Courses Figure: ISD Course Structure.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
DEV-36: Composite MVP – Building Blocks in Presentation Layer
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
Moving On To Design Chapter 9. Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Agile SOA Agile EAI How do we achieve agility in Enterprise Integration?
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.
PRJ566 Project Planning & Management Software Architecture.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
MDD approach for the Design of Context-Aware Applications.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
ARCH-7: Integrate this! SonicMQ® and the OpenEdge® Reference Architecture Christian Stiller Technical Architect.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect.
ARCH-04 Before You Begin Your Transformation Project… Phillip Magnay Architect – Applied Technology.
Implementing The SOA Reference Model An ESB Developer’s Perspective David Millman Principal Architect 9/8/2008.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
Software Project Management
Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools Jack Greenfield Architect Enterprise Tools Microsoft Corporation.
Modernizing your OpenEdge Estate Gary Clink Senior Solution Engineering Manager, EMEA.
CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)
Chapter 6 Database Design
ARCH-1: Application Architecture made Simple
System Reengineering Restructuring or rewriting part or all of a system without changing its functionality Applicable when some (but not all) subsystems.
ARCH-14: Power Your Organisation with OpenEdge
Other System Requirements
Presentation transcript:

ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group

2© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

3© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign – A Definition ‘To make a revision in the appearance or function of’ (

4© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Recurring Themes & Topics n Metrics n Institutionalizing change n Redesign paradigms n Constraints

5© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Metrics n How do you measure redesign ‘quality’ or ‘goodness’? n How do you define metrics that can assess the effectiveness of redesign? n Is understanding the ‘as-is’ necessary?

6© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Institutionalizing Redesign n What resources are needed to implement redesign? n How can you construct, analyze, and enact processes for specific organizational or business needs? n How can you sustain in-place design, while transitioning to new design? n Determine ‘patterns’ to aid redesign

7© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign Paradigms n "Darwinian" vs "Genetic" n Agile model n Model Driven Redesign

8© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign Constraints n Distributed capabilities –People, process, everything! n New and old –Architectures –Data –Tools & environments –Internal processes

9© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

10© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Application Transformation Approach n Model Driven Redesign n ‘Genetic’ as opposed to ‘Darwinian’ n Metrics –Function Point Analysis (FPA) –Estimation extrapolation n Risk management

11© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Application Transformation Approach Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Analyze & Model Redesign Harvest Build & Test

12© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory

13© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory

14© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory Business Goals

15© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory Business Goals Technology Goals

16© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Business Goals Technology Goals

17© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Business Goals Technology Goals Requirements

18© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Business Goals Technology Goals Requirements

19© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Goals Technology Goals Requirements

20© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model Business Goals Technology Goals Requirements

21© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model User Interface Model Business Goals Technology Goals Requirements

22© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

Original Use-Case

Redesigned Use-Case

Original Use-Case

Redesigned Use-Case

Original UI Model

Redesigned UI Model

Pattern

30© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign Summary n Know your starting point –Analysis & Modeling n Understand & respect old cultures –Review existing design & models, establish new criteria/standards and enforce them! n Once conquered, forever conquered –Only do it once n Follow a structured method/approach

31© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

32© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvest – A Definition ‘The act or process of gathering a crop’ (

33© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvest – A Better Definition ‘Isolating, extracting, and reworking physical legacy artifacts for reuse in the modernized application’ (Applied Technology Group)

34© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Application Transformation Approach Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Analyze & Model Re-Use Harvest Build & Test Redesign

35© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign vs. Harvest vs. Re-Use n Redesign –Change legacy logical model into a new model n Harvest (physical components) –Reuse source code or other artifacts –Refactoring n Re-use (logical model) –Reuse legacy logical model

36© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

37© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 1

38© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvest (Physical Components) n Harvesting existing legacy artifacts –Procedures / procedure libraries –Internal procedures –Code fragments –Data Dictionary n Use refactoring techniques and tools –Make required changes only –Minor modifications

39© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model User Interface Model Harvested Artifacts Harvested Artifacts Data Dictionary Triggers Procedures Include Files Procedure Libraries Code Fragments Messages Literals & Codes Business Goals Technology Goals Requirements

40© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 2

41© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 2 cont.

42© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Re-Use (Logical Model) n Re-Using logical model –Business rules –Use cases –Constraints n Based on work from Analysis and Modeling phase

43© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Model Driven Transformation Abstract Concrete Legacy Application Modernized Application Logical Design Physical Design Implementation Deployment Conceptual Context Logical Design Physical Design Implementation Deployment Conceptual Context Deployment Model Source Code Model Physical Data Model Component Model Harvest Inventory Logical Data Model Requirements User Interface Model Use Case Model Business Rule Inventory OpenEdge Reference Architecture Use Case Model Logical Data Model Business Object Model User Interface Model Business Goals Technology Goals Requirements Re-Used Models Business Rules Use Cases Constraints

44© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 3

45© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 3 cont

46© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 3 cont

47© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Redesign, Reuse or Harvest? n Effort required to harvest the physical artifact –Changes to code, e.g. shared variables, parameters, new schema, etc n Complexity of the physical artifact –How “valuable” is it to harvest the artifact as opposed to re-implement

48© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Economics of Harvesting Effort Complexity Physical Components Logical Models Interval of Feasibility

49© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Agenda n Recurring Themes & Topics n Application Transformation Approach n Redesign Examples n Harvesting n Physical Artifacts and Logical Models n Redesign, Reuse or Harvest?

50© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Rate n Harvesting Rate –Typically a low percentage –Expectations should be conservative –Higher percentages are possible depending on application and existing quality

51© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Techniques n Refactoring –Automate with tools –Replace shared variables with parameters –Change DB access to TT n Applying patterns –Data Access Layer –Interfaces / APIs / wrappers

52© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 4

53© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Example 5

54© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest To Redesign or to Harvest? n Harvest –Small, iterative changes –Takes more time and more effort to get to target architecture –Refactoring is NOT rearchitecting n Redesign –Architectural changes –Still iterative, but different scope

55© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Harvesting Summary n Know your starting point –Analysis & Modeling n Understand what to harvest/re-use –Changes in architecture might require redesign –Harvest only what makes sense n Understand how to harvest –Choose physical harvesting or logical re-use based on effort and complexity n Follow a structured method/approach

56© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Questions?

57© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest Thank you for your time!

58© 2005 Progress Software Corporation ARCH-06 – Redesign & Harvest