Java Specification Requests
# Java Specification Requests

Java Specification Requests (JSR) est un système normalisé ayant pour but de faire évoluer la plateforme Java.

Certaines JSR sont optionnelles et d'autres obligatoires.

## Présentation

Il y a actuellement plus de 350 JSR (1-364 et 901-927). Elles remplissent chacune un rôle bien précis, par exemple :

* la gestion de dispositifs Bluetooth (jsr 82) ;
* l'accès aux informations personnelles (jsr 75).

## Liste des JSR

Il existe plus de 350 JSR. Les plus souvent rencontrées sont les suivantes, certaines pouvant être dédiées (réservées) à un ou deux frameworks :

| JSR # | Specification ou Technologie | Framework(s) spécifique(s)* |
| - | - | - |
| 1 | Real-Time Specification for Java (RTSJ) 1.0 | Java ME |
| 3 | Java Management Extensions (JMX) 1.0, 1.1, & 1.2 | J2SE |
| 5 | Java API for XML Processing (JAXP) 1.0 | Java EE, Java SE |
| 9 | Jiro (Federated Management Architecture Specification) 1.0 |
| 12 | Java Data Objects (JDO) 1.0 |
| 13 | Improved BigDecimal (Java Platform, Standard Edition: java.math) | Java SE |
| 14 | Implémentation des types génériques dans le langage Java | J2SE 5.0 |
| 16 | Java EE Connector Architecture (JCA) 1.0 | Java SE |
| 19 | Enterprise JavaBeans (EJB) 2.0 | J2EE |
| 30 | Connected Limited Device Configuration (CLDC) 1.0 | Java ME |
| 31 | Java Architecture for XML Binding (JAXB) 1.0 | Java SE |
| 32 | JAIN SIP API Specification (JSIP) 1.0, 1.1 and 1.2 | Java ME |
| 36 | Connected Device Configuration (CDC) 1.0 | Java ME |
| 37 | Mobile Information Device Profile (MIDP) 1.0 | Java ME |
| 40 | Java Metadata Interface (JMI) 1.0 | |
| 41 | A Simple Assertion Facility | Java SE 1.4 |
| 47 | Logging API Specification | J2SE 1.4 |
| 48 | WBEM Services Specification | J2SE 1.4 |
| 51 | New I/O APIs for the Java Platform (NIO) | J2SE 1.4 |
| 52 | JavaServer Pages Standard Tag Library (JSTL) 1.0 and 1.1 | Java EE |
| 53 | Java Servlet 2.3 and JavaServer Pages (JSP) 1.2 Specifications | Java EE |
| 54 | Java Database Connectivity (JDBC) 3.0 | Java EE, Java SE |
| 56 | Java Network Launching Protocol and API (JNLP) 1.0, 1.5 and 6.0 (Java Web Start) | J2SE |
| 58 | Java 2 Platform, Enterprise Edition | J2EE 1.3 |
| 59 | Java 2 Platform, Standard Edition | J2SE 1.4 |
| 63 | Java API for XML Processing (JAXP) 1.1 and 1.2 | J2EE |
| 68 | Java Platform, Micro Edition | Java ME 1.0 |
| 73 | Java Data Mining API (JDM) 1.0 | |
| 75 | PDA Optional Packages | Java ME |
| 80 | API dédié à l'USB pour Java | Java ME |
| 82 | Java APIs for Bluetooth | Java ME |
| 93 | Java API for XML Registries (JAXR) 1.0 | Java EE |
| 94 | Java Rule Engine API | |
| 102 | Java Document Object Model (JDOM) 1.0 | |
| 110 | Java APIs for WSDL (WSDL4J) 1.0 | |
| 112 | Java EE Connector Architecture (JCA) 1.5 | Java EE |
| 114 | Java Database Connectivity (JDBC) Rowset Implementations | Java SE |
| 116 | SIP Servlet API 1.0 | |
| 118 | Mobile Information Device Profile (MIDP) 2.0 | Java ME |
| 120 | Wireless Messaging API (WMA) | Java ME |
| 121 | Application Isolation API | Java SE |
| 127 | JavaServer Faces (JSF) 1.0 and 1.1 | |
| 133 | Java Memory Model and Thread Specification Revision | Java ME |
| 135 | Java Mobile Media API (MMAPI) for Java ME | Java ME |
| 139 | Connected Limited Device Configuration (CLDC) 1.1 | Java ME |
| 140 | Service Location Protocol (SLP) API for Java | |
| 141 | Session Description Protocol (SDP) API for Java | |
| 151 | Java 2 Platform, Enterprise Edition | J2EE 1.4 |
| 152 | JavaServer Pages (JSP) 2.0 | J2EE 1.4 |
| 153 | Enterprise JavaBeans (EJB) 2.1 | J2EE 1.4 |
| 154 | Java Servlet 2.4 and 2.5 Specifications | J2EE 1.4 |
| 160 | Java Management Extensions (JMX) Remote API 1.0 | |
| 166 | Concurrency Utilities | J2SE 5.0 |
| 168 | Java Portlet specification 1.0 | Java SE |
| 170 | Content repository API for Java (JCR) 1.0 | |
| 172 | Web Services Specification | Java ME |
| 173 | StAX (Streaming API for XML) | Java EE |
| 175 | A Metadata Facility for the Java Programming Language | Java SE |
| 176 | Java 2 Platform, Standard Edition | J2SE 5.0 |
| 177 | Security and Trust Services API (SATSA) | Java ME |
| 179 | Location API 1.0 | Java ME |
| 180 | Session Initiation Protocol (SIP) API | Java ME |
| 181 | Web Services Metadata for the Java Platform | Java EE |
| 184 | Mobile 3D Graphics API | J2ME 1.0 & 1.1 |
| 185 | Java Technology for the Wireless Industry (JTWI) | Java ME |
| 187 | Instant messaging | Java ME & Java SE |
| 198 | A Standard Extension API for Integrated Development Environments | |
| 199 | Java Compiler API | Java SE |
| 201 | Extending the Java Programming Language with Enumerations, Autoboxing, Enhanced for loops and Static Import | J2SE 5.0, J2ME |
| 202 | Java Class File Specification Update | Java SE |
| 203 | More New I/O APIs for the Java Platform (NIO2) | Java SE |
| 204 | Unicode Supplementary Character Support (as of J2SE 5.0 adds support for Unicode 3.1) | J2SE 5.0 |
| 205 | Wireless Messaging API 2.0 (WMA) 2.0 | Java ME |
| 206 | Java API for XML Processing (JAXP) 1.3 | Java SE |
| 208 | Java Business Integration (JBI) 1.0 | Java SE |
| 215 | Java Community Process (JCP) 2.6 | |
| 218 | Connected Device Configuration (CDC) 1.1 | Java ME |
| 220 | Enterprise JavaBeans (EJB) 3.0 | Java EE |
| 221 | Java Database Connectivity (JDBC) 4.0 | Java EE, Java SE |
| 222 | Java Architecture for XML Binding (JAXB) 2.0 | Java EE, Java SE |
| 223 | Scripting for the Java Platform for Java SE 6 | Java SE |
| 224 | Java API for XML Web Services (JAX-WS), successor of JAX-RPC | Java EE, Java SE |
| 225 | XQuery API for Java (XQJ) | |
| 226 | Scalable 2D Vector Graphics API | Java ME |
| 231 | Java Bindings for OpenGL | |
| 234 | Advanced Multimedia Supplements API | Java ME |
| 235 | Service Data Objects (SDO) | |
| 239 | Java Bindings for OpenGL ES | Java ME |
| 241 | The Groovy Programming Language | |
| 243 | Java Data Objects (JDO) 2.0 | |
| 244 | Java Platform, Enterprise Edition | J2EE 5 |
| 245 | JavaServer Pages (JSP) 2.1 | Java EE |
| 247 | Java Data Mining API (JDM) 2.0 | |
| 248 | Mobile Service Architecture | Java ME |
| 249 | Mobile Service Architecture Advanced | Java ME |
| 250 | Common Annotations for the Java Platform (for the Metadata facility for Java) | Java EE, Java SE |
| 252 | JavaServer Faces (JSF) 1.2 | Java EE |
| 253 | Mobile Telephony API (MTA) | Java ME |
| 255 | Java Management Extensions (JMX) 2.0 | |
| 260 | Javadoc Tag Technology Update | |
| 264 | Order Management API | |
| 269 | Pluggable Annotations Processing API (for the Metadata facility for Java) | Java SE |
| 270 | Java Platform, Standard Edition | Java SE 6 |
| 271 | Mobile Information Device Profile (MIDP) 3.0 | Java ME |
| 274 | Standardisation du langage de script BeanShell | |
| 275 | Units specification (see JScience) | |
| 276 | Design-time Metadata for JavaServer Faces Components | |
| 277 | Java Module System | Java SE |
| 281 | IMS Services API (See IMS) | Java ME |
| 282 | Real-Time Specification for Java (RTSJ) 1.1 | Java ME |
| 286 | Portlet 2.0 Specification | |
| 289 | SIP Servlet API 1.1 | |
| 291 | Dynamic Component Support for Java SE (see OSGi) | Java SE |
| 292 | Supporting Dynamically Typed Languages on the JavaTM Platform (see also Da Vinci Machine) | Java SE |
| 293 | Location API 2.0 | Java ME |
| 294 | Amélioration de la prise en charge de la modularité dans le langage Java | Java SE |
| 296 | Swing Application Framework | Java SE 7 |
| 301 | JSF Portlet Bridge | |
| 303 | Bean Validation | |
| 307 | Network Mobility and Mobile Data API (not official as of July 20th 2007 but official release planned for 2. Q. 2008) | Java ME |
| 308 | Annotations on Java Types | Java SE 7 |
| 311 | JAX-RS | Java SE 5 |
| 313 | Java Platform, Enterprise Edition | Java EE 6 |
| 314 | JavaServer Faces (JSF) 2.0 |
| 336 | Java Platform, Standard Edition | Java SE 7 |
| 339 | JAX-RS 2.0 | Java SE 6 |
| 344 | JavaServer Faces (JSF) 2.2 | |
| 376 | Jigsaw | Java SE 9 |
| 901 | The Java Language Specification, Third Edition (JLS) | J2SE 5.0 |
| 907 | Java Transaction API (JTA) 1.0 and 1.1 | Java EE |
| 912 | Java 3D API 1.3 | |
| 913 | Java Community Process (JCP) 2.0, 2.1 & 2.5 | |
| 914 | Java Message Service (JMS) API 1.0 and 1.1 | Java EE |
| 924 | Java Virtual Machine Specification, Second Edition (JVM) (as of J2SE 5.0) | Java SE |
| 926 | Java 3D API 1.4 | |

(*) On note 'Java *E' lorsque la JSR existe à partir de Java 6, 'J2*E' lorsqu'elle est antérieure

### JSR consacrées aux métadonnées

La JSR-175 (A Metadata Facility for the JavaTM Programming Langage, 30 septembre 2004) introduit des facilités de métadonnées dans le langage de programmation Java.

Les JSR relatives aux métadonnées sont les suivantes :

* JSR-15 Image I/O Framework Specification
* JSR-40 The JavaTM Metadata Interface (JMI) Specification
* JSR-69 Java OLAP Interface (JOLAP)
* JSR-120 Wireless Messaging
* JSR-175 A Metadata Facility for the JavaTM Programming
* JSR-181 Web Services Metadata for the JavaTM Platform
* JSR-227 A Standard Data Binding & Data Access Facility for J2EETM
* JSR-269 Pluggable Annotation Processing API
* JSR-276 Design-Time Metadata for JavaServerTM Faces Components
