Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 1 PSI: From Custom Developed Application to Domain-Specific Framework Wim Codenie, Wilfried Verachtert, Arlette Vercammen OO Partners Otto de Mentockplein 19 1853 Strombeek-Bever, Belgium tel: 0032-(0)2-2630400 fax:0032-(0)2-2677151 Email: wim@oopartners.com, wilfried@oopartners.com, arlette@oopartners.com

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

3 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 4 PSI Workflow - 6 months - 1 day Broadcast day Tape External Applications Accounting Airtime sales... Planning + 1 day Consistency checking Contract & Program

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

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

7 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 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 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 10 Abstraction & Refactoring (1) Tape tapeNumber:String... generateTapeNr()... tapeNumber ‘V543213ABC’ Class (or static) method to generate tape numbers Star Trek...

11 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 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 13 ProgramClass TransClass SerieClass PSI Site Before Transmission Site1TransSite2Trans Program Site1ProgramSite2Program Site1SerieSite2Serie self psiSite newSerie PSI Site Serie Transmission Program Serie

14 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 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 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 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 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 19 Conclusions 3Framework development process Separation of concepts Abstraction & Factorisation Iteration 3Needs our attention Proliferation of versions Change analysis, effort estimation 3Competitive Advantage


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

Similar presentations


Ads by Google