Documente Academic
Documente Profesional
Documente Cultură
Cloud Application
Foundation and HTML 5
Oracle Traffic Director
HTTP/S
ADF Mobile ADF
ADF Infrastructure
WebLogic Server
JAX-RS Enterprise
HTML 5 Web JMX
client.js Sockets Jersey REST Manager
Data Services
JavaFX JMS JAXB
client.jar
SSE POJO/EJB JPA
Data Sources
Database Coherence Adapters
HTTP
HTTP
REST
Binding
Java Persistence
Binding
XML / JSON
Java
Java Persistence
Database
HTTP
REST
JAX-RS
Binding Persistence
EclipseLink MOXy
XMLXML / JSON
/ JSON Binding
Java
Java Persistence
EclipseLink JPA
Database
HTTP
JAX-RS
EclipseLink MOXy
XML / JSON Binding
Java
EclipseLink JPA
Database
{
id: 5, HTTP
…
} JAX-RS
EclipseLink MOXy
XML / JSON Binding
Java
EclipseLink JPA
Database
{
id: 5, HTTP
…
} JAX-RS
EclipseLink MOXy
XML / JSON Binding
Java
EclipseLink JPA
Database
HTTP
JAX-RS
EclipseLink MOXy
XML / JSON Binding
Java
EclipseLink JPA
Database
HTTP
JAX-RS
EclipseLink MOXy
XML / JSON Binding
Java
Java Persistence
EclipseLink JPA
Relational / NoSQL
Database
HTTP
JAX-RS
EclipseLink MOXy
XML / JSON Binding
Java
EclipseLink JPA
Database
• Bidirectional/Cyclical Relationships
• Composite Keys/Embedded Key Classes
• Byte Code Weaving
phones phones
Marshall Unmarshall
HTTP
REST
JAX-RS
EclipseLink MOXy
XML / JSON Binding
Java
EclipseLink JPA
Database
@Stateless
public class InvoiceService {...
@GET
@Path("{id}")
public Invoice read(@PathParam("id") int id) {
return entityManager.find(Invoice.class, id);
}
...
27 | © 2013 Oracle Corporation – All rights reserved
JAX-RS with JPA Example – GET Invoice
@Path("/invoice")
@Stateless
public class InvoiceService {...
@GET
@Path("{id}")
@Produces({"application/xml", "application/json"})
public Invoice read(@PathParam("id") int id) {
return entityManager.find(Invoice.class, id);
}
...
28 | © 2013 Oracle Corporation – All rights reserved
JAX-RS with JPA Example – GET Invoice
@Path("/invoice")
@Stateless
public class InvoiceService {...
@GET
@Path("{id}")
@Produces({"application/xml", "application/json"})
public Invoice read(@PathParam("id") int id) {
return entityManager.find(Invoice.class, id);
}
... GET http://[machine]:[port]/[web-context]/invoice/4
JPA
JPA
HTTP
REST
JAX-RS
EclipseLink MOXy
XML / JSON Binding
Java
EclipseLink JPA
Database
HTTP
EclipseLink MOXy
XML / JSON Binding
Java
EclipseLink JPA
Database
JAX-RS http://.../persistence/Accounting/Invoice/...
JAX-RS
mapped to RESTful Data Services
RESTful
RESTfulData Services
Data Services maps URI
http://.../persistence/Accounting/Invoice/...
Accounting PU to Accounting PU and Invoice entity
...
JPA
Application Server
HTTP
(REST) Databases
Java EE
Client Data
Container Services Access
*.html
Web
*.js Sockets Avatar Server
*.css Change
Scripting Container Notification
SSE
Avatar.js Nashorn
var delta = 0;
§ WebLogic 12.1.2 expands the platform to support HTML5 Clients with
WebSockets
§ Avatar will provide a thin server architecture for mobile and desktop
applications using JavaScript