markus keuneke partial data-models

21
Software Systems Engineering Managing the Evolution and Managing the Evolution and Customization of Database Schemas Customization of Database Schemas in Information System Ecosystems in Information System Ecosystems Markus Keunecke keunecke@ sse.uni-hildesheim.de Hendrik Brummermann brummermann@ sse.uni-hildesheim.de Klaus Schmid schmid@ sse.uni-hildesheim.de

Upload: caise2013vlc

Post on 27-Jun-2015

304 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Markus keuneke   partial data-models

Software SystemsEngineering

Managing the Evolution and Managing the Evolution and Customization of Database Schemas Customization of Database Schemas in Information System Ecosystemsin Information System Ecosystems

Markus [email protected]

Hendrik [email protected]

Klaus [email protected]

Page 2: Markus keuneke   partial data-models

2CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

• Motivation

• Problem

• Approach

• Evaluation

• Conclusion

Agenda

Motivation | Problem | Approach | Evaluation | Conclusion

Page 3: Markus keuneke   partial data-models

3CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Context

• HIS is a non profit company that is jointly owned by the Federal Republic and the Federal States of Germany

• University Management System called “HISinOne”

• 400 employees / 200 in the IT department / 30 developers

• HISinOne developed since 2007

• 7 versions released up to now

– 5.3 Mio LoC (current development)

– 814 database tables, 6362 columns (current development)

Motivation | Problem | Approach | Evaluation | Conclusion

Page 4: Markus keuneke   partial data-models

4CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Ecosystem

core

PublicationManagement

QualityAssessment

Project Management

OutputMeasurement

Customer 1

core

Customer 2

core

core

Customer 2

Motivation | Problem | Approach | Evaluation | Conclusion

Page 5: Markus keuneke   partial data-models

5CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

V1 V2

V1' ?

Evolution

Customi- zation

Evolution and Customizig

Time

Motivation | Problem | Approach | Evaluation | Conclusion

Page 6: Markus keuneke   partial data-models

6CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

• Two problem areas:

– Development strategies

– Integration at the customers' sites

• Research Questions

– RQ1 How can separate organization-wide data-models be split into small-scale feature-specific models and be managed on this level?

– RQ2 How can features, developed by customers and third party vendors, be integrated into one combined data-model?

– RQ3 How can the database be modified at the customer site to fulfill the requirements of installed and updated feature packs?

Scope

Motivation | Problem | Approach | Evaluation | Conclusion

Page 7: Markus keuneke   partial data-models

7CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Feature Pack

Program CodeUser Interface…Partial Object ModelPartial Database ModelPartial Default Data

Content of a Feature Pack

Motivation | Problem | Approach | Evaluation | Conclusion

Page 8: Markus keuneke   partial data-models

8CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Extending the object model

Motivation | Problem | Approach | Evaluation | Conclusion

Page 9: Markus keuneke   partial data-models

9CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Lifecycle integration

upload

install activate

deactivate de-install

preserving de-install

deletepurge

update

Motivation | Problem | Approach | Evaluation | Conclusion

installednon-existent data preserved available active

Page 10: Markus keuneke   partial data-models

10CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Integration Model

• Based on comparison of nominal and actual state of database

• Integration of partial models in 4 steps

– Combine the partial models

– Initial structure adjustment

– Data modifications

– Final structure adjustment

Motivation | Problem | Approach | Evaluation | Conclusion

Page 11: Markus keuneke   partial data-models

11CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Combine partial models

publication

quality_value

publication_qa

publication_project

research_project

author

Development organization Third party vendor

Quality Assessment (F3)

Project Output Measurement (F1)

Publication Management

Research ProjectManagement

Data modelFeature PackTableForeign key constraintFK pair for exactly 1:1

Motivation | Problem | Approach | Evaluation | Conclusion

Page 12: Markus keuneke   partial data-models

12CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Update Publication Management, De-install Quality Assess.Motivation | Problem | Approach | Evaluation | Conclusion

Before

idpub_idvalue_id

quality_assessment

idname

quality_value

publication

idtitleurl...

Old Publication Management Quality Assessment installed

Old Publication Management Quality Assessment installed

Original Database State

Page 13: Markus keuneke   partial data-models

13CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Update Publication Management, De-install Quality Assess.Motivation | Problem | Approach | Evaluation | Conclusion

Before Desired

idpub_idvalue_id

quality_assessment

idname

quality_value

publication

idtitleurl...

publication

idpub_idurl

publication_url

idtitle

...

Page 14: Markus keuneke   partial data-models

14CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Update Publication Management, De-install Quality Assess.Motivation | Problem | Approach | Evaluation | Conclusion

idpub_idvalue_id

quality_assessment

idname

quality_value

publication

idpub_idurl

publication_url

idtitleurl...

Initial Structure Adjustment

Before Desired

idpub_idvalue_id

quality_assessment

idname

quality_value

publication

idtitleurl...

publication

idpub_idurl

publication_url

idtitle

...

Page 15: Markus keuneke   partial data-models

15CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Update Publication Management, De-install Quality Assess.Motivation | Problem | Approach | Evaluation | Conclusion

idpub_idvalue_id

quality_assessment

idname

quality_value

publication

idpub_idurl

publication_url

idtitleurl...

Initial Structure Adjustment

Before Desired

idpub_idvalue_id

quality_assessment

idname

quality_value

publication

idtitleurl...

publication

idpub_idurl

publication_url

idtitle

...

Copy content of url column to new table

Copy content of url column to new table

Data Modification

Page 16: Markus keuneke   partial data-models

16CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Update Publication Management, De-install Quality Assess.Motivation | Problem | Approach | Evaluation | Conclusion

idpub_idvalue_id

quality_assessment

idname

quality_value

publication

idpub_idurl

publication_url

idtitleurl...

Initial Structure Adjustment Final Structure Adjustment

Before Desired

idpub_idvalue_id

quality_assessment

idname

quality_value

publication

idtitleurl...

idpub_idvalue_id

quality_assessment

idname

quality_value

publication

idpub_idurl

publication_url

idtitle

...

publication

idpub_idurl

publication_url

idtitle

...

url

Page 17: Markus keuneke   partial data-models

17CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Data modification• Set of Patterns

– Load default data

– Add default data

– Copy table

– Copy column

– Move column

– Introduce key table

– Disambiguate sort order

– SQL statements

– Program code

Motivation | Problem | Approach | Evaluation | Conclusion

Page 18: Markus keuneke   partial data-models

18CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Evaluation – Methods• E1 Small prototype implementation by authors• E2 Large feature implementation by fellow developer• E3 Experience gathering from customers, support, product

manager and fellow developers, most oft them have morethan 10 years of experience

• E4 Metric about the db structure and performance of HISinOne

RQ1 Model Splitting E1, E2

RQ2 Model Combining E3, E4

RQ3 DB Adjustment E3

Motivation | Problem | Approach | Evaluation | Conclusion

Page 19: Markus keuneke   partial data-models

19CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Evaluation – E4 Metrics Collection

• Gathered metrics

– Statistics on table and column structure

– Performance of database operations

– Performance of database adjustment

• Noteworthy results

– Approach leads to tables with few columns

– Original system has tables with few columns (~8 columns per table)→ Many small tables have no impact on performance

– e.g. 1 database server handles the load of 20 application servers

– Combining all partial models takes about 50 ms

Motivation | Problem | Approach | Evaluation | Conclusion

Page 20: Markus keuneke   partial data-models

20CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Conclusion

• Approach to database management and evolution supporting customization and (partial) evolution of the database schema

• Core functionality has been in production use for many years, with over a hundred different customers

• Recent extension to support fine-grained evolution and customization in production for a few years

• Further work

– Improve feature pack support on the application level

– Integrate with dependency management system

Motivation | Problem | Approach | Evaluation | Conclusion

Page 21: Markus keuneke   partial data-models

21CAISE 2013 Brummermann, Keunecke, Schmid

DB Customization and Evolution Software SystemsEngineering

Questions?

Motivation | Problem | Approach | Evaluation | Conclusion