Java Specification Request

Ein Java Specification Request (JSR) ist eine Anforderung einer neuen Java-Spezifikation oder einer wichtigen Änderung einer existierenden Java-Spezifikation, die im Rahmen des Java Community Process (JCP) an das von Oracle betriebene Process Management Office (PMO) gestellt wird.[1] Über dieses Verfahren werden neue Java-Standards definiert und Erweiterungen der Programmiersprache Java oder der Java-Laufzeitumgebung gemeinschaftlich entwickelt.

Um neue Sprachelemente aufzunehmen, APIs zu erweitern oder Revisionen vorzunehmen, wird ein neuer JSR angelegt. Ein JSR wird von einem Team aus Experten aus der Wirtschaft und Forschung geleitet, die sich in der jeweiligen Materie sehr gut auskennen bzw. die jeweilige Technologie vorantreiben wollen.

Beispiele

Die folgende Tabelle enthält einige ausgewählte Java Specification Requests.[2]

NummerNameBeschreibung
JSR 001Real-time Specification for JavaErweitert die Java-Laufzeitumgebung um das Paket javax.realtime, das Schnittstellen und Klassen zur Verbesserung des Echtzeitverhaltens definiert.
JSR 002Boundary-Scan APIDefiniert eine Programmierschnittstelle zum Durchführen von Boundary Scan Tests für Java Cards.
JSR 003Java Management Extensions (JMX) SpecificationSoftwarearchitektur und Programmierschnittstellen für die Verwaltung und Überwachung von Java-Anwendungen.
JSR 004ECperf Benchmark SpecificationSpezifiziert eine bestimmte Arbeitslast (Benchmark), mit der die Leistung von EJB-Servern verglichen werden kann.
JSR 005Java API for XML Processing (JAXP) 1.0Legt die Java-Schnittstellen für DOM und SAX fest.
JSR 006Unified Printing API (Java Print Service API)Definiert die erste Version der Java-Druckschnittstelle, die mit Version 1.2 Bestandteil der J2SE wurde.
JSR 012Java Data Objects (JDO) Specification 1.0Standard zur Realisierung transparenter Objektpersistenz in Java
JSR 030J2ME Connected, Limited Device ConfigurationKonfiguration für vernetzte Geräte mit begrenzten Fähigkeiten
JSR 056JNLP Java Network Launching ProtocolErmöglicht Java Web Start
JSR 063Java API for XML Processing (JAXP) 1.1 & 1.2Erweiterungen zu JAXP
JSR 082Java APIs for BluetoothProgrammierschnittstellen für Bluetooth
JSR 097JavaHelp SystemOnline-Hilfe für Java Applikationen
JSR 109Implementing Enterprise Web ServicesSpezifiziert ein Programmiermodell und eine Runtime, um Webservices in Java zu implementieren
JSR 168Portlet Specification 1.0Spezifiziert Schnittstellen zwischen Portalen und darin enthaltenen Komponenten, den sogenannten Portlets.
JSR 170Content Repository for Java Technology APIDefiniert eine Programmierschnittstelle javax.jcr für einen einheitlichen Zugriff auf Inhalte eines Content Repository. Der Nachfolger ist JSR 283.
JSR 173Streaming API for XMLDefiniert eine Programmierschnittstelle javax.xml.stream zur effizienten Verarbeitung von XML-Dokumenten.
JSR 179Java Location APIProgrammierschnittstelle zum internen GPS-Empfänger
JSR 208Java Business Integration 1.0Java-Implementierung einer Serviceorientierten Architektur (SOA).
JSR 220Enterprise JavaBeans 3.0Definiert diverse Erweiterungen der Enterprise Java Beans, beispielsweise die Definition von Deployment-Informationen über Annotations.
JSR 223Scripting for the Java PlatformDefiniert Möglichkeiten für Scripte auf Java-Code zuzugreifen und Scripte in Java einzubinden.
JSR 235Service Data ObjectsDefiniert ein Framework für den einheitlichen Datenzugriff im Rahmen von serviceorientierten Architekturen.
JSR 241The Groovy Programming LanguageSpezifiziert die Programmiersprache Groovy, die versucht, eine „geschliffene“ Fassung der Java-Syntax mit den Konzepten von Ruby zu verbinden.
JSR 243Java Data Objects 2.0 – an Extension to the JDO specificationSoll als Ergänzung zu JSR 012 JDO noch einfacher benutzbar machen.
JSR 250Java Common AnnotationsGebräuchliche Annotationen, bspw. für Bean Lifecycle und Security
JSR 283Content Repository for Java Technology APINachfolger von JSR 170. Definiert eine Programmierschnittstelle javax.jcr für einen einheitlichen Zugriff auf Inhalte eines Content Repository.
JSR 286Portlet Specification 2.0Spezifiziert Schnittstellen zwischen Portalen und darin enthaltenen Komponenten, den sogenannten Portlets.
JSR 299Contexts and Dependency InjectionJava-APIs für die Dependency Injection im Standard- und Enterprise-Programmiermodell.
JSR 303Java Bean ValidationJavaBean Validierung
JSR 312Java Business Integration 2.0Java-Implementierung einer Serviceorientierten Architektur (SOA).
JSR 330Dependency Injection for JavaAnnotationen zur Java Dependency Injection
JSR 352Batch Applications for the Java PlatformEin Programmiermodell für Batch-Anwendungen und eine Laufzeitumgebung für das Scheduling und die Ausführung von Jobs.
JSR 354Money and Currency APIAPI für die Behandlung von Geldbeträgen inkl. Währung. Die Referenzimplementierung Moneta ermöglicht korrekter Rechenoperationen und historische Wechselkurse.
JSR 356Java API for WebSocketImplementierung einer API für WebSockets.
JSR 375Java EE Security APIImplementierung einer API für Authentifizierung und Autorisierung.
JSR 391Java SE 16 Platform JSR 391[3]JavaSE Version 16.

Einzelnachweise

  1. FAQ: General Questions. In: The Java Community Process Program: Introduction. Sun Microsystems (online [abgerufen am 19. Mai 2007]).
  2. List of all JSRs by number. Java Community Process, abgerufen am 25. Juni 2010 (englisch).
  3. JSR 391: Java SE 16. openjdk.java.net, abgerufen am 20. Mai 2021 (englisch).