Modularisierung CDM
Begriffsklärung
- Dynamische Erweiterung des CDM
- Zusätzliche Funktionalität
- Erweiterung des Datenbankschemas
- Plugins für das CDM
Requirements
- Nicht vorhandene Plugins dürfen nicht zu Instabilität des Systems führen
- Mehrere Plugins dürfen sich nicht wiedersprechen
- Dokumentation
- Best Practices
- Beispielimplementierung eines Plugins (vergleiche http://dev.e-taxonomy.eu/trac/browser/trunk/cdmlib-demo-archetype)
Fragen
Welche Schnittstellen müssen geschaffen werden?
- Wenn Klassen in richtigem Package-Pfad, werden sie durch Spring gefunden
- Eigene Spring-Konfiguration
- http://www.springsource.org/osgi
- http://www.infoq.com/news/spring-osgi
Autowiring von Klassen. Wie kann man es schaffen, dass eine abgeleitete Klasse gewired wird?
- Erweiterung von Services und Daos
- Neue Daos und Services → Autowiring
- SpringBeanAutowiringInterceptor? ?
Wie kann man die Hibernate Konfiguration erweitern?
- Importe in hibernate.cfg.xml,
- zusätzliche Mappings für bidirektionalität über XML
- Hat XML Vorrang vor Annotationen?
Property Paths
- Wie können die P der Webservices angepasst werden?
- Print publication content harvesting muss modular sein um zusätzliche Plugin Inhalte in der Ausgabe zu ermöglichen
I/O
- JAXB: Handler muss angepasst werden
Code Review
- Regeln für sauberen (fehlertolerant, erweiterbar) Code aufstellen
- Beispiele: IAdaptable in eclipse http://www.eclipse.org/articles/article.php?file=Article-Adapters/index.html
CDM Server
- Wie kann plugin in CDM Server integriert werden (zur Laufzeit/Startup?)
- Paralleler Betrieb für Datenbanken, die Erweiterung benötigen und Datenbanken ohne Erweiterung möglich?
