Kontroverse Diskussion um JPA 2.1: JSR-Experten fordern frühen Zugang zu TCKs

Hartmut Schlosser

In der Experten-Gruppe für JPA 2.1 wird derzeit eine kontroverse Diskussion über die Rolle bzw. die Zugänglichkeit der Technology Compatibility Kits (TCK) für einen JSR geführt. TCKs sind notwendig, um die Implementierung eines JSRs auf Korrektheit zu überprüfen. Nun ist es momentan so, dass TCKs nicht von der Expert Group definiert und auch Lizenznehmern erst mit der Finalisierung eines JSR zugänglich gemacht werden.

Kritisch ist daran, dass die Implementierer bis zur Fertigstellung einer Spezifikation keine Möglichkeit haben, ihre Implementierung zu testen. Weiterhin hat es in letzter Zeit vermehrt Fälle gegeben, in denen offensichtliche Verletzungen der Spezifikation nicht entdeckt wurden, weil schlicht keine Tests im TCK für bestimmte spezifizierte Funktionalität vorlagen. Beispielsweise implementierte die JPA-Referenzimplementierung EclipseLink über zwei Majorversionen lang eine Methode des EntityManager falsch.

Angestoßen hat die Diskussion Steve Ebersole von RedHat auf der JPA-Mailing-Liste, der einen Early Access für die 2.1 TCKs fordert, um etwaige Probleme frühzeitig beheben zu können. Linda DeMichiel von Oracle teilte daraufhin mit, dass die TCKs für diesen Zweck noch nicht fertig seien und erst in „einigen Wochen“ ausgeliefert werden könnten. Oliver Gierke (VMware) kommentiert dies mit den Worten, das sei so, als würde man mit dem Schreiben der Tests erst kurz vor der Auslieferung der Software beginnen. Besser sei es, wenn die Expertengruppen selbst die TCKs parallel zur Spezifikation entwickelten. Neu definierte APIs und Funktionalitäten könnten so frühzeitig durch Test Cases abgestützt werden.

Gegenüber JAXenter beschreibt Oliver das Problem wie folgt:

Zusammenfassend diskutieren wir momentan, inwieweit die Lücke, die
zwischen schriftlicher Spezifikation und nicht zugänglichem TCK
entsteht, geschlossen werden kann. Es gibt momentan schon vereinzelt
Fälle
, in denen User Spezifikationsverletzungen reporten und dann von den
Implementierern darauf hingewiesen werden, dass sie sich nicht bewegen
werden, solang das TCK keine Fehler aufzeigt.

Da die Expertgroups aber keinen Zugriff auf die TCKs haben und nicht wissen, was genau die User testen, und es auch keinen Prozess gibt, der definiert, auf welche Art und Weise neu spezifizierte Features im TCK getestet werden, untergräbt dieser Zustand die komplette Spezifikationsarbeit. Die EG verabschiedet eine Spezifikation, die dann eigentlich nicht wirklich maßgebend gegenüber den Implementierern ist.

Linda DeMichiel setzt in der Mailing-Gruppe den vorläufigen Schlusspunkt unter die Diskussion, indem sie betont, dass sich in den letzten 10 Jahren der Existenz von TCKs niemand dafür interessiert hätte, die TCKs durchzusehen. Allerdings scheint man nicht generell taub gegenüber einer Änderung der bisherigen Praxis zu sein. Man befinde sich in einer Übergangsphase hin zu einem Modell, dass solche TCK Reviews besser unterstütze, schreibt Linda.

Wie dem auch sei: Das Team wolle jedenfalls so schnell wie möglich ein adäquates TCK für JPA 2.1 abliefern.

Our team is doing their best to provide something as soon as possible.

Die allgemeine Diskussion um die Zugänglickeit von TCKs ist damit freilich noch nicht vom Tisch. Wir halten Sie auf dem Laufenden.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.