1 PSI: From Custom Developed Application to Domain-Specific Framework Wim Codenie, Wilfried Verachtert, Arlette Vercammen OO Partners Otto de Mentockplein.

Slides:



Advertisements
Similar presentations
January 30, 2014 Copyright Jim Farley Beyond JDBC: Java Object- Relational Mappings Jim Farley e-Commerce Program Manager GE Research and Development
Advertisements

Oracle Rally Applications Modernization. 4 June About the Company Founded in 2002 Unites high-level information technology and organization architecture.
Sybase PowerBuilder Applications Modernization. 11 October About the Company Founded in 2002 Unites high-level information technology and organization.
Why am I here Development techniques are headed down the wrong path! Our world should be getting simpler – it is not The solutions that will solve the.
Main issues: • Why is reuse so difficult • How to realize reuse
1 Copyright 1998 by Dragos Manolescu and Joseph W. Yoder Building Frameworks With Patterns “An Active Object-Model For A Dynamic Web-Based Application”
1 The Database Application Development Process The Database Application Development Process.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Copyright © 2011 Raytheon Company. All rights reserved Customer Success Is Our Mission is a registered trademark of Raytheon Company. Statement A: Approved.
CSLA Presenter Sergey Barskiy, senior consultant at Magenic Technologies your questions Send an in order.
Rational Unified Process Workflows. The Rational Unified Process.
Software Architecture Design Instructor: Dr. Jerry Gao.
SWE Introduction to Software Engineering
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Software Development Architectures Ankur K. Rajopadhye Louisiana Tech University.
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
Software Reuse Prof. Ian Sommerville
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Database Design for DNN Developers Sebastian Leupold.
Object-oriented Software Engineering with Reuse Contracts Koen De Hondt, Carine Lucas, Kim Mens, Tom Mens, Patrick Steyaert, Roel Wuyts Programming Technology.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
Todd Snyder Development Team Lead Infragistics Experience Design Group.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
RUP Design RUP Artifacts and Deliverables
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
Session-9 Data Management for Decision Support
Forte Seminar, April Reusable Components Ready for Distribution Patrick Steyaert Programming Technology Lab Vrije Universiteit Brussel
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
A Novel Approach to Architectural Recovery in Evolving Object- Oriented Systems PhD thesis Koen De Hondt December 11, 1998.
8th EWSPT Software Process for Electronic Commerce Portal Systems Volker Gruhn 1, Lothar Schöpe 2 1 Department of Computer Science, University of Dortmund.
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
Information System Development Courses Figure: ISD Course Structure.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Strategically Managing the HRM Function McGraw-Hill/Irwin ©2012 The McGraw-Hill Companies, All Rights Reserved.
Towards an Experience Management System at Fraunhofer Center for Experimental Software Engineering Maryland (FC-MD)
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
Thepul Ginige Lecture-7 Implementation of Information System Thepul Ginige.
Reuse Contracts A Historic Overview Dr. Tom Mens Programming Technology Lab Vrije Universiteit Brussel Course OOSE.RC EMOOSE
KNOWLEDGE MANAGEMENT (KM) Session # 33. Corporate Intranet A Conceptual Model INTRANET Production Team— New Product Budget Director— New Product Knowledge.
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
Prototyping in the software process
T Project Review Group: pdm I2 Iteration
CSC 480 Software Engineering
CS 501: Software Engineering Fall 1999
Inventory of Distributed Computing Concepts and Web services
Architectural Roadmap
ARCH-1: Application Architecture made Simple
.NET vs. J2EE Architecture
Effort Estimation for Changing Requirements
Project Phases ‘98 ‘00 ‘02 ‘04 ‘06 Preparatory Phase
Rapid software development
SO-Architectural Roadmap
Market Trends. Extracted slides from a presentation given at CID by Wolf-Michael Mehl Amsterdam, May 22nd, 2014.
Presentation transcript:

1 PSI: From Custom Developed Application to Domain-Specific Framework Wim Codenie, Wilfried Verachtert, Arlette Vercammen OO Partners Otto de Mentockplein Strombeek-Bever, Belgium tel: 0032-(0) fax:0032-(0)

2 Content 3Description of the original PSI application 3Motivation for the PSI framework 3Impact of the framework approach 3Summary/Conclusions

3 The Original PSI Application 3Original application developed for VTM (Flemish broadcast company) 3Groupware application for television broadcast companies 3Implemented in VisualWorks/Smalltalk 3Designed and implemented by a small team (< 7)

4 PSI Workflow - 6 months - 1 day Broadcast day Tape External Applications Accounting Airtime sales... Planning + 1 day Consistency checking Contract & Program

5 PSI Distributed Architecture Application Domain Model Persistency Layer 2-tiered client/server architecture Application Domain Model Persistency Layer Server Database Client Middleware

6 Evolution of PSI VTM Danish Television Station (TV2) Belgian Television Station (RTBF)... Need for a PSI framework !

7 PSI-framework 3Objectives Standard product –Easy customisable, adaptable, maintainable by a small team by domain experts –Open Architecture Multi-database, Multi-platform Integration with existing hard & software

8 PSI in Numbers 3VTM: 2000 person days 3TV2: 200 person days (minor customisation) 3Extra functionality: 650 person days 3Framework development: 700 person days 3RTBF: 100 person days (customisation of the framework) 3Estimate for the next project: 80 person days 3Goal for the future: 50 person days

9 Technical Issues... 3Separating site-specific code from general concepts Abstraction and refactoring techniques Defining hooks to future installations Factories (PSI Site), Super Switch 3Better separation of persistency layer from domain model Bridge architecture 3Future Migration to a more open distributed architecture (CORBA) Better separation of UI from domain model

10 Abstraction & Refactoring (1) Tape tapeNumber:String... generateTapeNr()... tapeNumber ‘V543213ABC’ Class (or static) method to generate tape numbers Star Trek...

11 Abstraction & Refactoring (2) Tape TapeLibrary... generateTapeNr()... tapes TapeNumber number tapes Library 1 Star Trek 1 ‘V543213’ number Star Trek 2 ‘V544513’ number Star Trek 3 ‘V523513’ number

12 Abstraction & Refactoring (3) Tape... TapeLibrary tapes TapeNumber number TapeNumberGenerator generateTapeNr()... generator Library 1 Library 2 Generator Library 1 Library 2 Generator 2 Generator 1 Site 1 Site 2

13 ProgramClass TransClass SerieClass PSI Site Before Transmission Site1TransSite2Trans Program Site1ProgramSite2Program Site1SerieSite2Serie self psiSite newSerie PSI Site Serie Transmission Program Serie

14 The Original Persistency Layer 3Be ready for OO databases 3Allow non DB experts to work on the application 3Migration to other DB's Domain Model Persistency Layer Store Retrieve Hematomas

15 bcPIDProgramIDcontractPID Example Program contractPeriod broadcastPeriod Period from: 01/01/96, 00h00 to: 01/02/96, 00h00 from: 07/01/96, 20h00 to: 07/01/96, 22h00 Period ProgramTable: PeriodTable: PeriodIDfromDatefromHourtoDatetoHour foreign key

16 The Bridge Architecture A B C+D Conceptual Object Contains business rules Implementation Object Knows how to map itself to a relational database Implementation Object Knows how to map itself to a relational database

17 Example Program broadcastPeriod contractPeriod Period from: 01/01/96, 00h00 to: 01/02/96, 00h00 from: 07/01/96, 20h00 to: 07/01/96, 22h00 Period ProgramTable bcFromDate bcFromTime bcToDate bcToTime cntrFromDate cntrFromTime... bcFromDate bcFromTime bcToDate bcToTime cntrFromDate cntrFromTime cntrToDate cntrToTime ProgramStorage Conceptual ObjectsImplementation Objects BCPeriodStorage Database

18 Impact on Development Process 3Iterative approach No large upfront investments ! Change propagations 3“Analysis of Changes” instead of “Analysis from Scratch” Use product as advanced prototype Reuse documentation (cookbooks) 3Impact on team structure Different roles

19 Conclusions 3Framework development process Separation of concepts Abstraction & Factorisation Iteration 3Needs our attention Proliferation of versions Change analysis, effort estimation 3Competitive Advantage