SlideShare a Scribd company logo
1 of 51
Download to read offline
PEJ-5296
Java EE 7 Overview
Kevin Sutter, STSM
WebSphere Java EE Architect
Twitter: @kwsutter
LinkedIn: https://www.linkedin.com/in/kevinwsutter
Please Note:
2
•  IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole
discretion.
•  Information regarding potential future products is intended to outline our general product direction and it should not be relied on in
making a purchasing decision.
•  The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any
material, code or functionality. Information about potential future products may not be incorporated into any contract.
•  The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.
•  Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual
throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the
amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed.
Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
Java: Broadest Industry Adoption
10,000,000
JAVA DEVELOPERS
DEPLOYING TO 18 COMPLIANT APPLICATION SERVERS
3
Java EE 7 Platform
Jun 12, 2013
4
The Year of Java EE 7
Note: Unsupported Platforms
Note: Unsupported platforms“WebLogic 12.2.1 with full support for Java EE 7 is
slated to be released in just months (the officially
sanctioned timeline states calendar year 2015
which means the end of this year at the very
latest)”
https://blogs.oracle.com/reza/entry/
IBM Marketing Announce
WAS V8.0 – First fully-supported Java EE 6 Server
WAS V8.5.5.6 – First fully-supported Java EE 7 Server
5
Java EE 7 Themes
§  Batch
§  Concurrency
§  Simplified JMS
§  More annotated POJOs
§  Less boilerplate code
§  Cohesive integrated
platform
DEVELOPER
PRODUCTIVITY
§  WebSockets
§  JSON
§  Servlet 3.1 NIO
§  REST
MEETING
ENTERPRISE
DEMANDS
Java EE 7
6
Top Ten Features in Java EE 7
1.  WebSocket client/server endpoints
2.  Batch Applications
3.  JSON Processing
4.  Concurrency Utilities
5.  Simplified JMS API
6.  @Transactional and @TransactionScoped
7.  JAX-RS Client API
8.  Default Resources
9.  More annotated POJOs
10.  Faces Flow
7
Java API for WebSocket 1.0/1.1
•  Server and Client WebSocket Endpoint
–  Annotated: @ServerEndpoint, @ClientEndpoint
–  Programmatic: Endpoint
•  Lifecycle events support
•  Standard Packaging and Deployment
@ServerEndpoint("/chat")

public class ChatServer {

@OnMessage

public void chat(String m) {
. . .

}
}
Available Liberty v8.5.5.6 and WAS v9 Beta!
8
Java API for WebSocket 1.0
@ServerEndpoint("/chat")
public class ChatBean {
static Set<Session> peers = Collections.synchronizedSet(...);



@OnOpen

public void onOpen(Session peer) {

peers.add(peer);

}



@OnClose

public void onClose(Session peer) {

peers.remove(peer);

}



. . .
Chat Server
9
Java API for WebSocket 1.0
. . .



@OnMessage
public void message(String message) {
for (Session peer : peers) {

peer.getRemote().sendObject(message);

}

}

}
Chat Server (contd.)
10
JSON Processing 1.0
•  API to parse and generate JSON
•  Streaming API
–  Low-level, efficient way to parse/generate JSON
–  Similar to StAX API in XML world
•  Object Model API
–  Simple, easy to use high-level API
–  Similar to DOM API in XML world
Available Liberty v8.5.5.6 and WAS v9 Beta!
11
{
"firstName": "John", "lastName": "Smith", "age": 25, 

"phoneNumber": [

{ "type": "home", "number": "212 555-1234" },

{ "type": "fax", "number": "646 555-4567" }

]

}


JsonParser p = Json.createParser(...);

JsonParser.Event event = p.next(); // START_OBJECT
event = p.next(); // KEY_NAME
event = p.next(); // VALUE_STRING
String name = p.getString(); // "John”
Java API for JSON Processing 1.0
Streaming API
12
Batch Applications for Java Platform 1.0
•  Suited for non-interactive, bulk-oriented, and long-running tasks
•  Batch execution: sequential, parallel, decision-based
•  Processing Styles
–  Item-oriented: Chunked (primary)
–  Task-oriented: Batchlet
Available Liberty v8.5.5.6 and WAS v9 Beta!
13
Batch Applications 1.0
Concepts
Metadata for jobs
Manage
batch
process
Batch
process
Independent
sequential
phase of job
Chunk
14
<step id="sendStatements">
<chunk item-count="3">

<reader ref="accountReader"/>
<processor ref="accountProcessor"/>

<writer ref="emailWriter"/>
</step>
...implements ItemReader {

public Object readItem() {

// read account using JPA
}
...implements ItemProcessor {
Public Object processItems(Object account) {

// read Account, return Statement
}
...implements ItemWriter {
public void writeItems(List statements) {

// use JavaMail to send email
}
Batch Applications 1.0
Chunked Job Specification
15
Concurrency Utilities for Java EE 1.0
•  Extension of Java SE Concurrency Utilities API
•  Provide asynchronous capabilities to Java EE application components
•  Provides 4 types of managed objects
–  ManagedExecutorService
–  ManagedScheduledExecutorService
–  ManagedThreadFactory
–  ContextService
•  Context Propagation
Available Liberty v8.5.5.6 and WAS v9 Beta!
16
Concurrency Utilities for Java EE 1.0
public class TestServlet extends HttpPServlet {

@Resource(name="java:comp/DefaultManagedExecutorService")

ManagedExecutorService executor;



Future future = executor.submit(new MyTask());



class MyTask implements Runnable {

public void run() { 

. . . // task logic

}

}

}

Submit Tasks to ManagedExecutorService using JNDI
17
Java Message Service 2.0
•  New JMSContext interface
•  AutoCloseable JMSContext, Connection, Session, …
•  Use of runtime exceptions
•  Method chaining on JMSProducer
•  Simplified message sending
Get More from Less
Java EE 7
Available Liberty v8.5.5.6 and WAS v9 Beta!
18
@Resource(lookup = "myConnectionFactory")

ConnectionFactory connectionFactory;
@Resource(lookup = "myQueue")

Queue myQueue;
public void sendMessage (String payload) {

Connection connection = null;

try {

connection = connectionFactory.createConnection();

Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

MessageProducer messageProducer = session.createProducer(myQueue);

TextMessage textMessage = session.createTextMessage(payload);

messageProducer.send(textMessage);

} catch (JMSException ex) {

//. . .

} finally {

if (connection != null) {

try {

connection.close();

} catch (JMSException ex) {
//. . .

}

}

}

}
Application Server
Specific Resources
Boilerplate Code
Exception Handling
Java Message Service 2.0
Sending a Message using JMS 1.1
19
Java Message Service 2.0
@Inject

JMSContext context;
@Resource(lookup = "java:global/jms/demoQueue")

Queue demoQueue;
public void sendMessage(String payload) {

context.createProducer().send(demoQueue, payload);

}
Sending a Message
20
Java API for RESTful Web Services 2.0
•  Client API
•  Message Filters and Entity Interceptors
•  Asynchronous Processing – Server and Client
•  Common Configuration
Available Liberty v8.5.5.6 and WAS v9 Beta!
21
Java API for RESTful Web Services 2.0
// Get instance of Client
Client client = ClientBuilder.newClient();



// Get customer name for the shipped products
String name = client.target("../orders/{orderId}/
customer")

.resolveTemplate("orderId", "10")

.queryParam("shipped", "true")

.request()

.get(String.class);
Client API
22
Contexts and Dependency Injection 1.1
•  Automatic enablement for beans with scope annotation and EJBs
– “beans.xml” is optional
•  Bean discovery mode
– all: All types
– annotated: Types with bean defining annotation (default)
– none: Disable CDI
•  @Vetoed for programmatic disablement of classes
•  Global ordering/priority of interceptors and decorators
Available Liberty v8.5.5.6 and WAS v9 Beta!
23
Bean Validation 1.1
•  Alignment with Dependency Injection
•  Method-level validation
– Constraints on parameters and return values
– Check pre-/post-conditions
•  Integration with JAX-RS
Java EE 7
Available Liberty v8.5.5.6 and WAS v9 Beta!
24
Built-in
Custom
@Future

public Date getAppointment() {

//. . .

}
public void placeOrder( 

@NotNull String productName,

@NotNull @Max("10") Integer quantity,

@Customer String customer) { 

//. . .

}
Bean Validation 1.1
Method Parameter and Result Validation
25
Java Persistence API 2.1
•  Schema Generation
– javax.persistence.schema-generation.* properties
•  Unsynchronized Persistence Contexts
•  Bulk update/delete using Criteria
•  User-defined functions using FUNCTION
•  Stored Procedure Query
•  Entity Graphs
Available Liberty v8.5.5.6 and WAS v9 Beta!
26
Servlet 3.1
•  Non-blocking I/O
•  Protocol Upgrade
– HttpUpgradeHandler – necessary for Web Sockets
•  Security Enhancements
– <deny-uncovered-http-methods>: Deny request to HTTP methods
not explicitly covered by specified constaints
Available Liberty v8.5.5.6 and WAS v9 Beta!
27
Servlet 3.1
public class TestServlet extends HttpServlet

protected void doGet(HttpServletRequest request,

HttpServletResponse response) 

throws IOException, ServletException {

ServletInputStream input = request.getInputStream();

byte[] b = new byte[1024];

int len = -1;

while ((len = input.read(b)) != -1) {

. . .

}

}

}
Non-blocking I/O Traditional
28
Servlet 3.1
AsyncContext context = request.startAsync();

ServletInputStream input = request.getInputStream();

input.setReadListener(

new MyReadListener(input, context));
Non-blocking I/O: doGet
29
Servlet 3.1
@Override

public void onDataAvailable() {

try {

StringBuilder sb = new StringBuilder();

int len = -1;

byte b[] = new byte[1024];

while (input.isReady() && (len = input.read(b)) != -1) {

String data = new String(b, 0, len);

System.out.println("--> " + data);

}

} catch (IOException ex) {

. . .

}

}

. . .

Non-blocking read
30
JavaServer Faces 2.2
•  Faces Flow
•  Resource Library Contracts
•  HTML5 Friendly Markup Support
– Pass through attributes and elements
•  Cross Site Request Forgery Protection
•  Loading Facelets via ResourceHandler
•  h:inputFile: New File Upload Component
Available Liberty v8.5.5.6 and WAS v9 Beta!
31
Java Transaction API 1.2
§ @Transactional: Define transaction boundaries on CDI managed
beans
•  @TransactionScoped: CDI scope for bean instances scoped to the
active JTA transaction
Java EE 7
Available Liberty v8.5.5.6 and WAS v9 Beta!
32
EJB 3.2
Servlet 3.1
CDI
Extensions
BeanValidation1.1
Batch 1.0
Web
Fragments
Java EE 7 JSRs
JCA 1.7JMS 2.0JPA 2.1
Managed Beans 1.0
Concurrency 1.0
Common
Annotations 1.1
Interceptors
1.2, JTA 1.2
CDI 1.1
JSF 2.2,
JSP 2.3,
EL 3.0
JAX-RS 2.0,
JAX-WS 2.2
JSON 1.0
WebSocket
1.0
33
WebSphere Application Server
Java EE 7 Roadmap
Liberty features – including Java EE 7
zOS
ND
Core
Base
New in
1Q16
New in
4Q15
New in
2Q15
New in
3Q15
zosConnect-1.2
zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
collectiveController-1.0 clusterMember-1.0
healthManager-1.0healthAnalyzer-1.0
Java EE 6
subset
couchdb-1.0
mongodb-2.0
wsSecurity-1.1
javaee-7.0
batchManagement-1.0
rtcomm-1.0 rtcommGateway-1.0
sipServlet-1.0 wsSecuritySaml-1.1 mediaServerControl-1.0
wsAtomicTransaction-1.2
webProfile-6.0
distributedMap-1.0
openid-2.0
openidConnectServer-1.0
openidConnectClient-1.0
osgiAppIntegration-1.0
spnego-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
javaMail-1.5
osgiConsole-1.0
json-1.0
timedOperations-1.0monitor-1.0
oauth-2.0
serverStatus-1.0
wab-1.0
blueprint-1.0
webProfile-7.0
eventLogging-1.0
requestTiming-1.0
adminCenter-1.0
concurrent-1.0
bells-1.0
samlWeb-2.0
httpWhiteboard-1.0
federatedRepository-1.0
constrainedDelegation-1.0
osgiBundle-1.0
passwordUtilities-1.0
bluemixUtility-1.0
apiDiscovery-1.0logstashCollector-1.0
scim-1.0
35
Liberty features – Java EE 6 Web Profile
zOS
ND
Core
Base
New in
1Q16
New in
4Q15
New in
2Q15
New in
3Q15
zosConnect-1.2
zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
collectiveController-1.0 clusterMember-1.0
healthManager-1.0healthAnalyzer-1.0
Java EE 6
subset
couchdb-1.0
mongodb-2.0
wsSecurity-1.1
javaee-7.0
batchManagement-1.0
rtcomm-1.0 rtcommGateway-1.0
sipServlet-1.0 wsSecuritySaml-1.0 mediaServerControl-1.0
wsAtomicTransaction-1.2
webProfile-6.0
distributedMap-1.0
openid-2.0
openidConnectServer-1.0
openidConnectClient-1.0
osgiAppIntegration-1.0
spnego-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
javaMail-1.5
osgiConsole-1.0
json-1.0
timedOperations-1.0monitor-1.0
oauth-2.0
serverStatus-1.0
wab-1.0
blueprint-1.0
webProfile-7.0
eventLogging-1.0
requestTiming-1.0
adminCenter-1.0
concurrent-1.0
bells-1.0
samlWeb-2.0
httpWhiteboard-1.0
federatedRepository-1.0
constrainedDelegation-1.0
osgiBundle-1.0
passwordUtilities-1.0
bluemixUtility-1.0
apiDiscovery-1.0logstashCollector-1.0
scim-1.0
servlet-3.0
jsp-2.0
jsf-2.0
ejbLite-3.1 jdbc-4.0
jndi-1.0
appSecurity-2.0
managedBeans-1.0
ssl-1.0
beanValidation-1.0
cdi-1.0
jpa-2.0
36
Liberty features – Java EE 7 Web Profile
zOS
ND
Core
Base
New in
1Q16
New in
4Q15
New in
2Q15
New in
3Q15
zosConnect-1.2
zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
collectiveController-1.0 clusterMember-1.0
healthManager-1.0healthAnalyzer-1.0
Java EE 6
subset
couchdb-1.0
mongodb-2.0
wsSecurity-1.1
javaee-7.0
batchManagement-1.0
rtcomm-1.0 rtcommGateway-1.0
sipServlet-1.0 wsSecuritySaml-1.0 mediaServerControl-1.0
wsAtomicTransaction-1.2
webProfile-6.0
distributedMap-1.0
openid-2.0
openidConnectServer-1.0
openidConnectClient-1.0
osgiAppIntegration-1.0
spnego-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
javaMail-1.5
osgiConsole-1.0
json-1.0
timedOperations-1.0monitor-1.0
oauth-2.0
serverStatus-1.0
wab-1.0
blueprint-1.0
webProfile-7.0
eventLogging-1.0
requestTiming-1.0
adminCenter-1.0
concurrent-1.0
bells-1.0
samlWeb-2.0
httpWhiteboard-1.0
federatedRepository-1.0
constrainedDelegation-1.0
osgiBundle-1.0
passwordUtilities-1.0
bluemixUtility-1.0
apiDiscovery-1.0logstashCollector-1.0
scim-1.0
servlet-3.1
jsp-2.3
jsf-2.2
ejbLite-3.2 jdbc-4.1
jndi-1.0
appSecurity-2.0
managedBeans-1.0
ssl-1.0
beanValidation-1.1
cdi-1.2
jpa-2.1
el-3.0websocket-1.1
websocket-1.0
jsonp-1.0
jaxrs-2.0 jaxrsClient-2.0
37
Liberty features – Java EE 6
zOS
ND
Core
Base
New in
1Q16
New in
4Q15
New in
2Q15
New in
3Q15
zosConnect-1.2
zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
collectiveController-1.0 clusterMember-1.0
healthManager-1.0healthAnalyzer-1.0
Java EE 6
subset
couchdb-1.0
mongodb-2.0
wsSecurity-1.1
javaee-7.0
batchManagement-1.0
rtcomm-1.0 rtcommGateway-1.0
sipServlet-1.0 wsSecuritySaml-1.0 mediaServerControl-1.0
wsAtomicTransaction-1.2
webProfile-6.0
distributedMap-1.0
openid-2.0
openidConnectServer-1.0
openidConnectClient-1.0
osgiAppIntegration-1.0
spnego-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
javaMail-1.5
osgiConsole-1.0
json-1.0
timedOperations-1.0monitor-1.0
oauth-2.0
serverStatus-1.0
wab-1.0
blueprint-1.0
webProfile-7.0
eventLogging-1.0
requestTiming-1.0
adminCenter-1.0
concurrent-1.0
bells-1.0
samlWeb-2.0
httpWhiteboard-1.0
federatedRepository-1.0
constrainedDelegation-1.0
osgiBundle-1.0
passwordUtilities-1.0
bluemixUtility-1.0
apiDiscovery-1.0logstashCollector-1.0
servlet-3.0
jsp-2.2
jsf-2.0
jdbc-4.0
jndi-1.0
appSecurity-2.0
managedBeans-1.0
ssl-1.0
beanValidation-1.0
cdi-1.0
jpa-2.0
jaxrs-1.1
jca-1.6
jms-1.1
jaxws-2.2
jaxb-2.2
wmqJmsClient-1.1
wasJmsClient-1.1
mdb-3.1
38
Liberty features – Java EE 7 Full Platform
zOS
ND
Core
Base
New in
1Q16
New in
4Q15
New in
2Q15
New in
3Q15
zosConnect-1.2
zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
collectiveController-1.0 clusterMember-1.0
healthManager-1.0healthAnalyzer-1.0
Java EE 6
subset
couchdb-1.0
mongodb-2.0
wsSecurity-1.1
javaee-7.0
batchManagement-1.0
rtcomm-1.0 rtcommGateway-1.0
sipServlet-1.0 wsSecuritySaml-1.0 mediaServerControl-1.0
wsAtomicTransaction-1.2
webProfile-6.0
distributedMap-1.0
openid-2.0
openidConnectServer-1.0
openidConnectClient-1.0
osgiAppIntegration-1.0
spnego-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
javaMail-1.5
osgiConsole-1.0
json-1.0
timedOperations-1.0monitor-1.0
oauth-2.0
serverStatus-1.0
wab-1.0
blueprint-1.0
webProfile-7.0
eventLogging-1.0
requestTiming-1.0
adminCenter-1.0
concurrent-1.0
bells-1.0
samlWeb-2.0
httpWhiteboard-1.0
federatedRepository-1.0
constrainedDelegation-1.0
osgiBundle-1.0
passwordUtilities-1.0
bluemixUtility-1.0
apiDiscovery-1.0logstashCollector-1.0
servlet-3.1
jsp-2.3
jsf-2.2
ejbLite-3.2
jdbc-4.1
jndi-1.0
appSecurity-2.0
managedBeans-1.0
ssl-1.0
beanValidation-1.1
cdi-1.2
jpa-2.1
el-3.0
websocket-1.1
websocket-1.0
jsonp-1.0
jaxrs-2.0 jaxrsClient-2.0
concurrent-1.0
appClientSupport-1.0
ejbPersistentTimer-1.0
ejbHome-3.2
ejbRemote-3.2
ejb-3.2
mdb-3.2
j2eeManagement-1.1
jacc-1.5
jaspic-1.1
jca-1.7
jms-2.0
wmqJmsClient-2.0
wasJmsClient-2.0
jaxws-2.2
jaxb-2.2
batch-1.0 javaMail-1.5
39
•  WebSphere Application Server Liberty
– v8.5.5.6 – Full Java EE 7 platform support
– Available since 2Q2015
–  https://developer.ibm.com/wasdev/downloads/#asset/runtimes-8.5.5-wlp-javaee7
•  WebSphere Application Server traditional
– vNext – Full Java EE 7 platform support
– Cloud v9 Beta:
https://console.ng.bluemix.net/catalog/services/websphere-application-server/
– On-Premise v9 Beta:
https://www-01.ibm.com/marketing/iwm/iwmdocs/web/cc/earlyprograms/websphere/
wasob/index.shtml
WebSphere Support for Java EE 7
40
Overview
Java EE 8 Introduction
•  Java EE 8 Platform (JSR 366)
– Very early in development cycle
•  Content and schedule still likely to change
– Few child specifications have early draft reviews available
– Target date is 1H2017 for GA of platform specifications
Java EE 8 Introduction
42
•  JCache 1.0 (JSR 107)
–  Standard Cache API for Java objects
–  First spec to finalize (03/2015)
•  MVC 1.0 (JSR 371)
–  Model-View-Controller
–  Utilize existing Java EE technologies when applicable
•  Model (cdi, bv), View (jsp, facelets), Controller (jax-rs)
•  JSON-B 1.0 (JSR 367)
–  Binding complement to JSON-P in Java EE 7
•  Java EE Security 1.0 (JSR 375)
–  Modernization of security-related JSRs
•  Java EE Management 1.0 (JSR 373)
–  Supersede JSR 77 and utilize rest-based services (vs ejb)
–  Also, provide JSR 88-like deployment services
Java EE 8 – Major New Specifications
43
•  Servlet 4.0 (JSR 369)
–  HTTP 2 Support
–  Continued improvements to HTTP 1.1 support
•  CDI 2.0 (JSR 365)
–  Java SE model (not part of JDK)
–  More modular
•  JSF 2.3 (JSR 372)
–  Better integration with CDI and JSON via Ajax API
–  Integration with MVC 1.0
•  JSON-P 1.1 (JSR 374)
–  Complementary support for JSON-B 1.0
–  Java SE 8 support
•  JAX-RS 2.1 (JSR 370)
–  Server-Sent Events (SSE)
–  Integration with CDI, JSON-B, MVC, etc
Java EE 8 – Major Updated Specifications
44
Resources
Java EE Samples
•  WASDev GitHub site
–  https://github.com/WASdev?utf8=%E2%9C%93&query=sample.javaee7
–  Java EE 7 samples with instructions on deploying to both WebSphere Liberty and WebSphere traditional v9 Beta
–  The README.md file (as well as the GitHub page) have helpful configuration information
–  Following technologies are currently available with complete instructions for WebSphere
•  Web Sockets 1.0/1.1
•  Concurrency 1.0
•  JTA 1.2
•  JMS 2.0
•  Servlet 3.1
•  EL 3.0
•  JSON-P 1.0
•  JAX-RS 2.0
•  Java Batch 1.0
•  WASDev Posts to help you get started
–  https://developer.ibm.com/wasdev/docs/running-java-ee-7-samples-liberty-using-eclipse/
–  https://developer.ibm.com/wasdev/docs/running-the-java-ee-7-samples-on-was-liberty/
•  Official Java EE 7 GitHub site
–  https://github.com/javaee-samples/javaee7-samples
46 46
Sampling of Related Sessions…
•  PEJ-5296: Java EE 7 Overview
–  Monday, 10:30am-11:30am, Mandalay Bay North, South Pacific Ballroom A
•  PEJ-2876: Configuring WebSphere Application Server for Enterprise Messaging Needs
–  Monday, 12:00pm-1:00pm, Mandalay Bay North, Islander Ballroom G
•  PEJ-2139: Technical Deep Dive into IBM WebSphere Liberty
–  Monday, 3:00pm-4:00pm, Mandalay Bay North, South Pacific Ballroom A
•  PEJ-1603: IBM WebSphere Liberty in the Wild
–  Tuesday, 1:15pm-2:15pm, Mandalay Bay North, South Pacific Ballroom A
•  PEJ-6480: Don’t Wait! Developing Responsive Applications with Java EE 7
–  Tuesday, 1:15pm-2:15pm, Mandalay Bay North, Islander Ballroom G
•  PEJ-2151: Agile Development Using Java EE 7 with WebSphere Liberty Profile (LAB)
–  Wednesday, 8:30am-9:30am, MGM Grand Room 306
•  PEJ-1973: WAS Migration: Benefits, Planning, and Best Practices
–  Wednesday, 12:00pm-1:00pm, Mandalay Bay North, South Pacific Ballroom A
•  PEJ-1902: Migrate Java EE Applications to Cloud with Cloud Migration Toolkit
–  Wednesday, 2:30pm-12:15pm, Mandalay Bay North, Islander Ballroom G
•  PEJ-5303: OpenJPA and EclipseLink Usage Scenarios Explained
–  Thursday, 11:30am-12:15pm, Mandalay Bay North, South Pacific Ballroom A
47 47
Questions?
Notices and Disclaimers
49
Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission
from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of
initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS
DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE
USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM
products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers
have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in
which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and
discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or
their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and
interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such
laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law
Notices and Disclaimers Con’t.
50
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not
tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the
ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual
property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®,
FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG,
Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®,
PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®,
StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business
Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM
trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
Thank You
Your Feedback is Important!
Access the InterConnect 2016 Conference Attendee
Portal to complete your session surveys from your
smartphone,
laptop or conference kiosk.

More Related Content

What's hot (19)

Unit 06: The Web Application Extension for UML
Unit 06: The Web Application Extension for UMLUnit 06: The Web Application Extension for UML
Unit 06: The Web Application Extension for UML
 
50 New Features of Java EE 7 in 50 minutes
50 New Features of Java EE 7 in 50 minutes50 New Features of Java EE 7 in 50 minutes
50 New Features of Java EE 7 in 50 minutes
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 
J2EE - JSP-Servlet- Container - Components
J2EE - JSP-Servlet- Container - ComponentsJ2EE - JSP-Servlet- Container - Components
J2EE - JSP-Servlet- Container - Components
 
25+ Reasons to use OmniFaces in JSF applications
25+ Reasons to use OmniFaces in JSF applications25+ Reasons to use OmniFaces in JSF applications
25+ Reasons to use OmniFaces in JSF applications
 
Struts Introduction Course
Struts Introduction CourseStruts Introduction Course
Struts Introduction Course
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
 
Jsf Framework
Jsf FrameworkJsf Framework
Jsf Framework
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 
TY.BSc.IT Java QB U6
TY.BSc.IT Java QB U6TY.BSc.IT Java QB U6
TY.BSc.IT Java QB U6
 
Jsf
JsfJsf
Jsf
 
Struts course material
Struts course materialStruts course material
Struts course material
 
JEE Course - JEE Overview
JEE Course - JEE  OverviewJEE Course - JEE  Overview
JEE Course - JEE Overview
 
Java ee introduction
Java ee introductionJava ee introduction
Java ee introduction
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Angularj2.0
Angularj2.0Angularj2.0
Angularj2.0
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
 
Unit 01 - Introduction
Unit 01 - IntroductionUnit 01 - Introduction
Unit 01 - Introduction
 

Similar to InterConnect 2016 Java EE 7 Overview (PEJ-5296)

AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7WASdev Community
 
Glassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE IntroductionGlassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE IntroductionDanairat Thanabodithammachari
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGMarakana Inc.
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 javatwo2011
 
Java EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConJava EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConLudovic Champenois
 
Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Rohit Kelapure
 
What’s new in Java SE, EE, ME, Embedded world & new Strategy
What’s new in Java SE, EE, ME, Embedded world & new StrategyWhat’s new in Java SE, EE, ME, Embedded world & new Strategy
What’s new in Java SE, EE, ME, Embedded world & new StrategyMohamed Taman
 
Java ee 8 + security overview
Java ee 8 + security overviewJava ee 8 + security overview
Java ee 8 + security overviewRudy De Busscher
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352sflynn073
 
REST API 20.2 - Appworks Gateway Integration.pptx
REST API 20.2 - Appworks Gateway Integration.pptxREST API 20.2 - Appworks Gateway Integration.pptx
REST API 20.2 - Appworks Gateway Integration.pptxJason452803
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxGrace Jansen
 
Utilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with MicroservicesUtilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with MicroservicesJosh Juneau
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Kile Niklawski
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to strutsAnup72
 
Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Jagadish Prasath
 
Bala Sr Java Developer
Bala  Sr Java DeveloperBala  Sr Java Developer
Bala Sr Java DeveloperJava Dev
 
Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsChris Bailey
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC vipin kumar
 

Similar to InterConnect 2016 Java EE 7 Overview (PEJ-5296) (20)

AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7AAI-1713 Introduction to Java EE 7
AAI-1713 Introduction to Java EE 7
 
Glassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE IntroductionGlassfish JEE Server Administration - JEE Introduction
Glassfish JEE Server Administration - JEE Introduction
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
 
Java EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConJava EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseCon
 
Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010
 
What’s new in Java SE, EE, ME, Embedded world & new Strategy
What’s new in Java SE, EE, ME, Embedded world & new StrategyWhat’s new in Java SE, EE, ME, Embedded world & new Strategy
What’s new in Java SE, EE, ME, Embedded world & new Strategy
 
Java ee 8 + security overview
Java ee 8 + security overviewJava ee 8 + security overview
Java ee 8 + security overview
 
4. J2EE.pptx
4. J2EE.pptx4. J2EE.pptx
4. J2EE.pptx
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352
 
REST API 20.2 - Appworks Gateway Integration.pptx
REST API 20.2 - Appworks Gateway Integration.pptxREST API 20.2 - Appworks Gateway Integration.pptx
REST API 20.2 - Appworks Gateway Integration.pptx
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
Utilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with MicroservicesUtilizing JSF Front Ends with Microservices
Utilizing JSF Front Ends with Microservices
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
 
Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
 
Bala Sr Java Developer
Bala  Sr Java DeveloperBala  Sr Java Developer
Bala Sr Java Developer
 
Impact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java ToolsImpact2014: Introduction to the IBM Java Tools
Impact2014: Introduction to the IBM Java Tools
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 

More from Kevin Sutter

DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?
DevNexus 2019: MicroProfile and Jakarta EE - What's Next?Kevin Sutter
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileKevin Sutter
 
Bmc 4286-micro profile-a programming model for microservices-based applications
Bmc 4286-micro profile-a programming model for microservices-based applicationsBmc 4286-micro profile-a programming model for microservices-based applications
Bmc 4286-micro profile-a programming model for microservices-based applicationsKevin Sutter
 
Haj 4308-open jpa, eclipselink, and the migration toolkit
Haj 4308-open jpa, eclipselink, and the migration toolkitHaj 4308-open jpa, eclipselink, and the migration toolkit
Haj 4308-open jpa, eclipselink, and the migration toolkitKevin Sutter
 
Ham 4393-micro profile, java ee, and the application server
Ham 4393-micro profile, java ee, and the application serverHam 4393-micro profile, java ee, and the application server
Ham 4393-micro profile, java ee, and the application serverKevin Sutter
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Kevin Sutter
 
Bas 5676-java ee 8 introduction
Bas 5676-java ee 8 introductionBas 5676-java ee 8 introduction
Bas 5676-java ee 8 introductionKevin Sutter
 
InterConnect 2016, OpenJPA and EclipseLink Usage Scenarios (PEJ-5303)
InterConnect 2016, OpenJPA and EclipseLink Usage Scenarios (PEJ-5303)InterConnect 2016, OpenJPA and EclipseLink Usage Scenarios (PEJ-5303)
InterConnect 2016, OpenJPA and EclipseLink Usage Scenarios (PEJ-5303)Kevin Sutter
 
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphereAAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphereKevin Sutter
 
AAI 2235-OpenJPA and EclipseLink Usage Scenarios Explained
AAI 2235-OpenJPA and EclipseLink Usage Scenarios ExplainedAAI 2235-OpenJPA and EclipseLink Usage Scenarios Explained
AAI 2235-OpenJPA and EclipseLink Usage Scenarios ExplainedKevin Sutter
 

More from Kevin Sutter (10)

DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?DevNexus 2019:  MicroProfile and Jakarta EE - What's Next?
DevNexus 2019: MicroProfile and Jakarta EE - What's Next?
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfile
 
Bmc 4286-micro profile-a programming model for microservices-based applications
Bmc 4286-micro profile-a programming model for microservices-based applicationsBmc 4286-micro profile-a programming model for microservices-based applications
Bmc 4286-micro profile-a programming model for microservices-based applications
 
Haj 4308-open jpa, eclipselink, and the migration toolkit
Haj 4308-open jpa, eclipselink, and the migration toolkitHaj 4308-open jpa, eclipselink, and the migration toolkit
Haj 4308-open jpa, eclipselink, and the migration toolkit
 
Ham 4393-micro profile, java ee, and the application server
Ham 4393-micro profile, java ee, and the application serverHam 4393-micro profile, java ee, and the application server
Ham 4393-micro profile, java ee, and the application server
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1
 
Bas 5676-java ee 8 introduction
Bas 5676-java ee 8 introductionBas 5676-java ee 8 introduction
Bas 5676-java ee 8 introduction
 
InterConnect 2016, OpenJPA and EclipseLink Usage Scenarios (PEJ-5303)
InterConnect 2016, OpenJPA and EclipseLink Usage Scenarios (PEJ-5303)InterConnect 2016, OpenJPA and EclipseLink Usage Scenarios (PEJ-5303)
InterConnect 2016, OpenJPA and EclipseLink Usage Scenarios (PEJ-5303)
 
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphereAAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
AAI 2236-Using the New Java Concurrency Utilities with IBM WebSphere
 
AAI 2235-OpenJPA and EclipseLink Usage Scenarios Explained
AAI 2235-OpenJPA and EclipseLink Usage Scenarios ExplainedAAI 2235-OpenJPA and EclipseLink Usage Scenarios Explained
AAI 2235-OpenJPA and EclipseLink Usage Scenarios Explained
 

Recently uploaded

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 

Recently uploaded (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 

InterConnect 2016 Java EE 7 Overview (PEJ-5296)

  • 1. PEJ-5296 Java EE 7 Overview Kevin Sutter, STSM WebSphere Java EE Architect Twitter: @kwsutter LinkedIn: https://www.linkedin.com/in/kevinwsutter
  • 2. Please Note: 2 •  IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. •  Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. •  The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. •  The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. •  Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  • 3. Java: Broadest Industry Adoption 10,000,000 JAVA DEVELOPERS DEPLOYING TO 18 COMPLIANT APPLICATION SERVERS 3
  • 4. Java EE 7 Platform Jun 12, 2013 4
  • 5. The Year of Java EE 7 Note: Unsupported Platforms Note: Unsupported platforms“WebLogic 12.2.1 with full support for Java EE 7 is slated to be released in just months (the officially sanctioned timeline states calendar year 2015 which means the end of this year at the very latest)” https://blogs.oracle.com/reza/entry/ IBM Marketing Announce WAS V8.0 – First fully-supported Java EE 6 Server WAS V8.5.5.6 – First fully-supported Java EE 7 Server 5
  • 6. Java EE 7 Themes §  Batch §  Concurrency §  Simplified JMS §  More annotated POJOs §  Less boilerplate code §  Cohesive integrated platform DEVELOPER PRODUCTIVITY §  WebSockets §  JSON §  Servlet 3.1 NIO §  REST MEETING ENTERPRISE DEMANDS Java EE 7 6
  • 7. Top Ten Features in Java EE 7 1.  WebSocket client/server endpoints 2.  Batch Applications 3.  JSON Processing 4.  Concurrency Utilities 5.  Simplified JMS API 6.  @Transactional and @TransactionScoped 7.  JAX-RS Client API 8.  Default Resources 9.  More annotated POJOs 10.  Faces Flow 7
  • 8. Java API for WebSocket 1.0/1.1 •  Server and Client WebSocket Endpoint –  Annotated: @ServerEndpoint, @ClientEndpoint –  Programmatic: Endpoint •  Lifecycle events support •  Standard Packaging and Deployment @ServerEndpoint("/chat")
 public class ChatServer {
 @OnMessage
 public void chat(String m) { . . .
 } } Available Liberty v8.5.5.6 and WAS v9 Beta! 8
  • 9. Java API for WebSocket 1.0 @ServerEndpoint("/chat") public class ChatBean { static Set<Session> peers = Collections.synchronizedSet(...);
 
 @OnOpen
 public void onOpen(Session peer) {
 peers.add(peer);
 }
 
 @OnClose
 public void onClose(Session peer) {
 peers.remove(peer);
 }
 
 . . . Chat Server 9
  • 10. Java API for WebSocket 1.0 . . .
 
 @OnMessage public void message(String message) { for (Session peer : peers) {
 peer.getRemote().sendObject(message);
 }
 }
 } Chat Server (contd.) 10
  • 11. JSON Processing 1.0 •  API to parse and generate JSON •  Streaming API –  Low-level, efficient way to parse/generate JSON –  Similar to StAX API in XML world •  Object Model API –  Simple, easy to use high-level API –  Similar to DOM API in XML world Available Liberty v8.5.5.6 and WAS v9 Beta! 11
  • 12. { "firstName": "John", "lastName": "Smith", "age": 25, 
 "phoneNumber": [
 { "type": "home", "number": "212 555-1234" },
 { "type": "fax", "number": "646 555-4567" }
 ]
 } 
 JsonParser p = Json.createParser(...);
 JsonParser.Event event = p.next(); // START_OBJECT event = p.next(); // KEY_NAME event = p.next(); // VALUE_STRING String name = p.getString(); // "John” Java API for JSON Processing 1.0 Streaming API 12
  • 13. Batch Applications for Java Platform 1.0 •  Suited for non-interactive, bulk-oriented, and long-running tasks •  Batch execution: sequential, parallel, decision-based •  Processing Styles –  Item-oriented: Chunked (primary) –  Task-oriented: Batchlet Available Liberty v8.5.5.6 and WAS v9 Beta! 13
  • 14. Batch Applications 1.0 Concepts Metadata for jobs Manage batch process Batch process Independent sequential phase of job Chunk 14
  • 15. <step id="sendStatements"> <chunk item-count="3">
 <reader ref="accountReader"/> <processor ref="accountProcessor"/>
 <writer ref="emailWriter"/> </step> ...implements ItemReader {
 public Object readItem() {
 // read account using JPA } ...implements ItemProcessor { Public Object processItems(Object account) {
 // read Account, return Statement } ...implements ItemWriter { public void writeItems(List statements) {
 // use JavaMail to send email } Batch Applications 1.0 Chunked Job Specification 15
  • 16. Concurrency Utilities for Java EE 1.0 •  Extension of Java SE Concurrency Utilities API •  Provide asynchronous capabilities to Java EE application components •  Provides 4 types of managed objects –  ManagedExecutorService –  ManagedScheduledExecutorService –  ManagedThreadFactory –  ContextService •  Context Propagation Available Liberty v8.5.5.6 and WAS v9 Beta! 16
  • 17. Concurrency Utilities for Java EE 1.0 public class TestServlet extends HttpPServlet {
 @Resource(name="java:comp/DefaultManagedExecutorService")
 ManagedExecutorService executor;
 
 Future future = executor.submit(new MyTask());
 
 class MyTask implements Runnable {
 public void run() { 
 . . . // task logic
 }
 }
 }
 Submit Tasks to ManagedExecutorService using JNDI 17
  • 18. Java Message Service 2.0 •  New JMSContext interface •  AutoCloseable JMSContext, Connection, Session, … •  Use of runtime exceptions •  Method chaining on JMSProducer •  Simplified message sending Get More from Less Java EE 7 Available Liberty v8.5.5.6 and WAS v9 Beta! 18
  • 19. @Resource(lookup = "myConnectionFactory")
 ConnectionFactory connectionFactory; @Resource(lookup = "myQueue")
 Queue myQueue; public void sendMessage (String payload) {
 Connection connection = null;
 try {
 connection = connectionFactory.createConnection();
 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
 MessageProducer messageProducer = session.createProducer(myQueue);
 TextMessage textMessage = session.createTextMessage(payload);
 messageProducer.send(textMessage);
 } catch (JMSException ex) {
 //. . .
 } finally {
 if (connection != null) {
 try {
 connection.close();
 } catch (JMSException ex) { //. . .
 }
 }
 }
 } Application Server Specific Resources Boilerplate Code Exception Handling Java Message Service 2.0 Sending a Message using JMS 1.1 19
  • 20. Java Message Service 2.0 @Inject
 JMSContext context; @Resource(lookup = "java:global/jms/demoQueue")
 Queue demoQueue; public void sendMessage(String payload) {
 context.createProducer().send(demoQueue, payload);
 } Sending a Message 20
  • 21. Java API for RESTful Web Services 2.0 •  Client API •  Message Filters and Entity Interceptors •  Asynchronous Processing – Server and Client •  Common Configuration Available Liberty v8.5.5.6 and WAS v9 Beta! 21
  • 22. Java API for RESTful Web Services 2.0 // Get instance of Client Client client = ClientBuilder.newClient();
 
 // Get customer name for the shipped products String name = client.target("../orders/{orderId}/ customer")
 .resolveTemplate("orderId", "10")
 .queryParam("shipped", "true")
 .request()
 .get(String.class); Client API 22
  • 23. Contexts and Dependency Injection 1.1 •  Automatic enablement for beans with scope annotation and EJBs – “beans.xml” is optional •  Bean discovery mode – all: All types – annotated: Types with bean defining annotation (default) – none: Disable CDI •  @Vetoed for programmatic disablement of classes •  Global ordering/priority of interceptors and decorators Available Liberty v8.5.5.6 and WAS v9 Beta! 23
  • 24. Bean Validation 1.1 •  Alignment with Dependency Injection •  Method-level validation – Constraints on parameters and return values – Check pre-/post-conditions •  Integration with JAX-RS Java EE 7 Available Liberty v8.5.5.6 and WAS v9 Beta! 24
  • 25. Built-in Custom @Future
 public Date getAppointment() {
 //. . .
 } public void placeOrder( 
 @NotNull String productName,
 @NotNull @Max("10") Integer quantity,
 @Customer String customer) { 
 //. . .
 } Bean Validation 1.1 Method Parameter and Result Validation 25
  • 26. Java Persistence API 2.1 •  Schema Generation – javax.persistence.schema-generation.* properties •  Unsynchronized Persistence Contexts •  Bulk update/delete using Criteria •  User-defined functions using FUNCTION •  Stored Procedure Query •  Entity Graphs Available Liberty v8.5.5.6 and WAS v9 Beta! 26
  • 27. Servlet 3.1 •  Non-blocking I/O •  Protocol Upgrade – HttpUpgradeHandler – necessary for Web Sockets •  Security Enhancements – <deny-uncovered-http-methods>: Deny request to HTTP methods not explicitly covered by specified constaints Available Liberty v8.5.5.6 and WAS v9 Beta! 27
  • 28. Servlet 3.1 public class TestServlet extends HttpServlet
 protected void doGet(HttpServletRequest request,
 HttpServletResponse response) 
 throws IOException, ServletException {
 ServletInputStream input = request.getInputStream();
 byte[] b = new byte[1024];
 int len = -1;
 while ((len = input.read(b)) != -1) {
 . . .
 }
 }
 } Non-blocking I/O Traditional 28
  • 29. Servlet 3.1 AsyncContext context = request.startAsync();
 ServletInputStream input = request.getInputStream();
 input.setReadListener(
 new MyReadListener(input, context)); Non-blocking I/O: doGet 29
  • 30. Servlet 3.1 @Override
 public void onDataAvailable() {
 try {
 StringBuilder sb = new StringBuilder();
 int len = -1;
 byte b[] = new byte[1024];
 while (input.isReady() && (len = input.read(b)) != -1) {
 String data = new String(b, 0, len);
 System.out.println("--> " + data);
 }
 } catch (IOException ex) {
 . . .
 }
 }
 . . .
 Non-blocking read 30
  • 31. JavaServer Faces 2.2 •  Faces Flow •  Resource Library Contracts •  HTML5 Friendly Markup Support – Pass through attributes and elements •  Cross Site Request Forgery Protection •  Loading Facelets via ResourceHandler •  h:inputFile: New File Upload Component Available Liberty v8.5.5.6 and WAS v9 Beta! 31
  • 32. Java Transaction API 1.2 § @Transactional: Define transaction boundaries on CDI managed beans •  @TransactionScoped: CDI scope for bean instances scoped to the active JTA transaction Java EE 7 Available Liberty v8.5.5.6 and WAS v9 Beta! 32
  • 33. EJB 3.2 Servlet 3.1 CDI Extensions BeanValidation1.1 Batch 1.0 Web Fragments Java EE 7 JSRs JCA 1.7JMS 2.0JPA 2.1 Managed Beans 1.0 Concurrency 1.0 Common Annotations 1.1 Interceptors 1.2, JTA 1.2 CDI 1.1 JSF 2.2, JSP 2.3, EL 3.0 JAX-RS 2.0, JAX-WS 2.2 JSON 1.0 WebSocket 1.0 33
  • 35. Liberty features – including Java EE 7 zOS ND Core Base New in 1Q16 New in 4Q15 New in 2Q15 New in 3Q15 zosConnect-1.2 zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0 scalingController-1.0 scalingMember-1.0 dynamicRouting-1.0 collectiveController-1.0 clusterMember-1.0 healthManager-1.0healthAnalyzer-1.0 Java EE 6 subset couchdb-1.0 mongodb-2.0 wsSecurity-1.1 javaee-7.0 batchManagement-1.0 rtcomm-1.0 rtcommGateway-1.0 sipServlet-1.0 wsSecuritySaml-1.1 mediaServerControl-1.0 wsAtomicTransaction-1.2 webProfile-6.0 distributedMap-1.0 openid-2.0 openidConnectServer-1.0 openidConnectClient-1.0 osgiAppIntegration-1.0 spnego-1.0 collectiveMember-1.0 restConnector-1.0 sessionDatabase-1.0 ldapRegistry-3.0 webCache-1.0 javaMail-1.5 osgiConsole-1.0 json-1.0 timedOperations-1.0monitor-1.0 oauth-2.0 serverStatus-1.0 wab-1.0 blueprint-1.0 webProfile-7.0 eventLogging-1.0 requestTiming-1.0 adminCenter-1.0 concurrent-1.0 bells-1.0 samlWeb-2.0 httpWhiteboard-1.0 federatedRepository-1.0 constrainedDelegation-1.0 osgiBundle-1.0 passwordUtilities-1.0 bluemixUtility-1.0 apiDiscovery-1.0logstashCollector-1.0 scim-1.0 35
  • 36. Liberty features – Java EE 6 Web Profile zOS ND Core Base New in 1Q16 New in 4Q15 New in 2Q15 New in 3Q15 zosConnect-1.2 zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0 scalingController-1.0 scalingMember-1.0 dynamicRouting-1.0 collectiveController-1.0 clusterMember-1.0 healthManager-1.0healthAnalyzer-1.0 Java EE 6 subset couchdb-1.0 mongodb-2.0 wsSecurity-1.1 javaee-7.0 batchManagement-1.0 rtcomm-1.0 rtcommGateway-1.0 sipServlet-1.0 wsSecuritySaml-1.0 mediaServerControl-1.0 wsAtomicTransaction-1.2 webProfile-6.0 distributedMap-1.0 openid-2.0 openidConnectServer-1.0 openidConnectClient-1.0 osgiAppIntegration-1.0 spnego-1.0 collectiveMember-1.0 restConnector-1.0 sessionDatabase-1.0 ldapRegistry-3.0 webCache-1.0 javaMail-1.5 osgiConsole-1.0 json-1.0 timedOperations-1.0monitor-1.0 oauth-2.0 serverStatus-1.0 wab-1.0 blueprint-1.0 webProfile-7.0 eventLogging-1.0 requestTiming-1.0 adminCenter-1.0 concurrent-1.0 bells-1.0 samlWeb-2.0 httpWhiteboard-1.0 federatedRepository-1.0 constrainedDelegation-1.0 osgiBundle-1.0 passwordUtilities-1.0 bluemixUtility-1.0 apiDiscovery-1.0logstashCollector-1.0 scim-1.0 servlet-3.0 jsp-2.0 jsf-2.0 ejbLite-3.1 jdbc-4.0 jndi-1.0 appSecurity-2.0 managedBeans-1.0 ssl-1.0 beanValidation-1.0 cdi-1.0 jpa-2.0 36
  • 37. Liberty features – Java EE 7 Web Profile zOS ND Core Base New in 1Q16 New in 4Q15 New in 2Q15 New in 3Q15 zosConnect-1.2 zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0 scalingController-1.0 scalingMember-1.0 dynamicRouting-1.0 collectiveController-1.0 clusterMember-1.0 healthManager-1.0healthAnalyzer-1.0 Java EE 6 subset couchdb-1.0 mongodb-2.0 wsSecurity-1.1 javaee-7.0 batchManagement-1.0 rtcomm-1.0 rtcommGateway-1.0 sipServlet-1.0 wsSecuritySaml-1.0 mediaServerControl-1.0 wsAtomicTransaction-1.2 webProfile-6.0 distributedMap-1.0 openid-2.0 openidConnectServer-1.0 openidConnectClient-1.0 osgiAppIntegration-1.0 spnego-1.0 collectiveMember-1.0 restConnector-1.0 sessionDatabase-1.0 ldapRegistry-3.0 webCache-1.0 javaMail-1.5 osgiConsole-1.0 json-1.0 timedOperations-1.0monitor-1.0 oauth-2.0 serverStatus-1.0 wab-1.0 blueprint-1.0 webProfile-7.0 eventLogging-1.0 requestTiming-1.0 adminCenter-1.0 concurrent-1.0 bells-1.0 samlWeb-2.0 httpWhiteboard-1.0 federatedRepository-1.0 constrainedDelegation-1.0 osgiBundle-1.0 passwordUtilities-1.0 bluemixUtility-1.0 apiDiscovery-1.0logstashCollector-1.0 scim-1.0 servlet-3.1 jsp-2.3 jsf-2.2 ejbLite-3.2 jdbc-4.1 jndi-1.0 appSecurity-2.0 managedBeans-1.0 ssl-1.0 beanValidation-1.1 cdi-1.2 jpa-2.1 el-3.0websocket-1.1 websocket-1.0 jsonp-1.0 jaxrs-2.0 jaxrsClient-2.0 37
  • 38. Liberty features – Java EE 6 zOS ND Core Base New in 1Q16 New in 4Q15 New in 2Q15 New in 3Q15 zosConnect-1.2 zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0 scalingController-1.0 scalingMember-1.0 dynamicRouting-1.0 collectiveController-1.0 clusterMember-1.0 healthManager-1.0healthAnalyzer-1.0 Java EE 6 subset couchdb-1.0 mongodb-2.0 wsSecurity-1.1 javaee-7.0 batchManagement-1.0 rtcomm-1.0 rtcommGateway-1.0 sipServlet-1.0 wsSecuritySaml-1.0 mediaServerControl-1.0 wsAtomicTransaction-1.2 webProfile-6.0 distributedMap-1.0 openid-2.0 openidConnectServer-1.0 openidConnectClient-1.0 osgiAppIntegration-1.0 spnego-1.0 collectiveMember-1.0 restConnector-1.0 sessionDatabase-1.0 ldapRegistry-3.0 webCache-1.0 javaMail-1.5 osgiConsole-1.0 json-1.0 timedOperations-1.0monitor-1.0 oauth-2.0 serverStatus-1.0 wab-1.0 blueprint-1.0 webProfile-7.0 eventLogging-1.0 requestTiming-1.0 adminCenter-1.0 concurrent-1.0 bells-1.0 samlWeb-2.0 httpWhiteboard-1.0 federatedRepository-1.0 constrainedDelegation-1.0 osgiBundle-1.0 passwordUtilities-1.0 bluemixUtility-1.0 apiDiscovery-1.0logstashCollector-1.0 servlet-3.0 jsp-2.2 jsf-2.0 jdbc-4.0 jndi-1.0 appSecurity-2.0 managedBeans-1.0 ssl-1.0 beanValidation-1.0 cdi-1.0 jpa-2.0 jaxrs-1.1 jca-1.6 jms-1.1 jaxws-2.2 jaxb-2.2 wmqJmsClient-1.1 wasJmsClient-1.1 mdb-3.1 38
  • 39. Liberty features – Java EE 7 Full Platform zOS ND Core Base New in 1Q16 New in 4Q15 New in 2Q15 New in 3Q15 zosConnect-1.2 zosLocalAdapters-1.0zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0 scalingController-1.0 scalingMember-1.0 dynamicRouting-1.0 collectiveController-1.0 clusterMember-1.0 healthManager-1.0healthAnalyzer-1.0 Java EE 6 subset couchdb-1.0 mongodb-2.0 wsSecurity-1.1 javaee-7.0 batchManagement-1.0 rtcomm-1.0 rtcommGateway-1.0 sipServlet-1.0 wsSecuritySaml-1.0 mediaServerControl-1.0 wsAtomicTransaction-1.2 webProfile-6.0 distributedMap-1.0 openid-2.0 openidConnectServer-1.0 openidConnectClient-1.0 osgiAppIntegration-1.0 spnego-1.0 collectiveMember-1.0 restConnector-1.0 sessionDatabase-1.0 ldapRegistry-3.0 webCache-1.0 javaMail-1.5 osgiConsole-1.0 json-1.0 timedOperations-1.0monitor-1.0 oauth-2.0 serverStatus-1.0 wab-1.0 blueprint-1.0 webProfile-7.0 eventLogging-1.0 requestTiming-1.0 adminCenter-1.0 concurrent-1.0 bells-1.0 samlWeb-2.0 httpWhiteboard-1.0 federatedRepository-1.0 constrainedDelegation-1.0 osgiBundle-1.0 passwordUtilities-1.0 bluemixUtility-1.0 apiDiscovery-1.0logstashCollector-1.0 servlet-3.1 jsp-2.3 jsf-2.2 ejbLite-3.2 jdbc-4.1 jndi-1.0 appSecurity-2.0 managedBeans-1.0 ssl-1.0 beanValidation-1.1 cdi-1.2 jpa-2.1 el-3.0 websocket-1.1 websocket-1.0 jsonp-1.0 jaxrs-2.0 jaxrsClient-2.0 concurrent-1.0 appClientSupport-1.0 ejbPersistentTimer-1.0 ejbHome-3.2 ejbRemote-3.2 ejb-3.2 mdb-3.2 j2eeManagement-1.1 jacc-1.5 jaspic-1.1 jca-1.7 jms-2.0 wmqJmsClient-2.0 wasJmsClient-2.0 jaxws-2.2 jaxb-2.2 batch-1.0 javaMail-1.5 39
  • 40. •  WebSphere Application Server Liberty – v8.5.5.6 – Full Java EE 7 platform support – Available since 2Q2015 –  https://developer.ibm.com/wasdev/downloads/#asset/runtimes-8.5.5-wlp-javaee7 •  WebSphere Application Server traditional – vNext – Full Java EE 7 platform support – Cloud v9 Beta: https://console.ng.bluemix.net/catalog/services/websphere-application-server/ – On-Premise v9 Beta: https://www-01.ibm.com/marketing/iwm/iwmdocs/web/cc/earlyprograms/websphere/ wasob/index.shtml WebSphere Support for Java EE 7 40
  • 41. Overview Java EE 8 Introduction
  • 42. •  Java EE 8 Platform (JSR 366) – Very early in development cycle •  Content and schedule still likely to change – Few child specifications have early draft reviews available – Target date is 1H2017 for GA of platform specifications Java EE 8 Introduction 42
  • 43. •  JCache 1.0 (JSR 107) –  Standard Cache API for Java objects –  First spec to finalize (03/2015) •  MVC 1.0 (JSR 371) –  Model-View-Controller –  Utilize existing Java EE technologies when applicable •  Model (cdi, bv), View (jsp, facelets), Controller (jax-rs) •  JSON-B 1.0 (JSR 367) –  Binding complement to JSON-P in Java EE 7 •  Java EE Security 1.0 (JSR 375) –  Modernization of security-related JSRs •  Java EE Management 1.0 (JSR 373) –  Supersede JSR 77 and utilize rest-based services (vs ejb) –  Also, provide JSR 88-like deployment services Java EE 8 – Major New Specifications 43
  • 44. •  Servlet 4.0 (JSR 369) –  HTTP 2 Support –  Continued improvements to HTTP 1.1 support •  CDI 2.0 (JSR 365) –  Java SE model (not part of JDK) –  More modular •  JSF 2.3 (JSR 372) –  Better integration with CDI and JSON via Ajax API –  Integration with MVC 1.0 •  JSON-P 1.1 (JSR 374) –  Complementary support for JSON-B 1.0 –  Java SE 8 support •  JAX-RS 2.1 (JSR 370) –  Server-Sent Events (SSE) –  Integration with CDI, JSON-B, MVC, etc Java EE 8 – Major Updated Specifications 44
  • 46. Java EE Samples •  WASDev GitHub site –  https://github.com/WASdev?utf8=%E2%9C%93&query=sample.javaee7 –  Java EE 7 samples with instructions on deploying to both WebSphere Liberty and WebSphere traditional v9 Beta –  The README.md file (as well as the GitHub page) have helpful configuration information –  Following technologies are currently available with complete instructions for WebSphere •  Web Sockets 1.0/1.1 •  Concurrency 1.0 •  JTA 1.2 •  JMS 2.0 •  Servlet 3.1 •  EL 3.0 •  JSON-P 1.0 •  JAX-RS 2.0 •  Java Batch 1.0 •  WASDev Posts to help you get started –  https://developer.ibm.com/wasdev/docs/running-java-ee-7-samples-liberty-using-eclipse/ –  https://developer.ibm.com/wasdev/docs/running-the-java-ee-7-samples-on-was-liberty/ •  Official Java EE 7 GitHub site –  https://github.com/javaee-samples/javaee7-samples 46 46
  • 47. Sampling of Related Sessions… •  PEJ-5296: Java EE 7 Overview –  Monday, 10:30am-11:30am, Mandalay Bay North, South Pacific Ballroom A •  PEJ-2876: Configuring WebSphere Application Server for Enterprise Messaging Needs –  Monday, 12:00pm-1:00pm, Mandalay Bay North, Islander Ballroom G •  PEJ-2139: Technical Deep Dive into IBM WebSphere Liberty –  Monday, 3:00pm-4:00pm, Mandalay Bay North, South Pacific Ballroom A •  PEJ-1603: IBM WebSphere Liberty in the Wild –  Tuesday, 1:15pm-2:15pm, Mandalay Bay North, South Pacific Ballroom A •  PEJ-6480: Don’t Wait! Developing Responsive Applications with Java EE 7 –  Tuesday, 1:15pm-2:15pm, Mandalay Bay North, Islander Ballroom G •  PEJ-2151: Agile Development Using Java EE 7 with WebSphere Liberty Profile (LAB) –  Wednesday, 8:30am-9:30am, MGM Grand Room 306 •  PEJ-1973: WAS Migration: Benefits, Planning, and Best Practices –  Wednesday, 12:00pm-1:00pm, Mandalay Bay North, South Pacific Ballroom A •  PEJ-1902: Migrate Java EE Applications to Cloud with Cloud Migration Toolkit –  Wednesday, 2:30pm-12:15pm, Mandalay Bay North, Islander Ballroom G •  PEJ-5303: OpenJPA and EclipseLink Usage Scenarios Explained –  Thursday, 11:30am-12:15pm, Mandalay Bay North, South Pacific Ballroom A 47 47
  • 49. Notices and Disclaimers 49 Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law
  • 50. Notices and Disclaimers Con’t. 50 Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
  • 51. Thank You Your Feedback is Important! Access the InterConnect 2016 Conference Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk.