the state of java under oracle at jcertif 2011

50
Arun Gupta Java Developer Advocate, Oracle The State of Java

Upload: arun-gupta

Post on 29-Nov-2014

5.574 views

Category:

Technology


0 download

DESCRIPTION

The State of Java under Oracle at JCertif 2011

TRANSCRIPT

Page 1: The State of Java under Oracle at JCertif 2011

Arun GuptaJava Developer Advocate, Oracle

The State of Java

Page 2: The State of Java under Oracle at JCertif 2011

The following is intended to outline our general

product direction. It is intended for information

purposes only, and may not be incorporated into

any contract. It is not a commitment to deliver any

material, code, or functionality, and should not be

relied upon in making purchasing decisions.

The development, release, and timing of any

features or functionality described for Oracle's

products remains at the sole discretion of Oracle.

Page 3: The State of Java under Oracle at JCertif 2011

Thank you Africa!

Page 4: The State of Java under Oracle at JCertif 2011

Oracle Strategy

• Deliver a complete, open, integrated stack of

hardware, infrastructure, database, middleware, and

business applications

• Exploit processor, systems, storage, and networking

trends to deliver breakthrough innovations by combining

Oracle software with Sun hardware

• Integrate components of Oracle’s software stack to

provide unique value to customers

Page 5: The State of Java under Oracle at JCertif 2011

Open Source Strategy Comparison

Oracle doesn’t really have an open

source-specific strategy. What we

have is an overall company

strategy: to deliver complete,

open, integrated solutions to our

customers. Stacks of software and

hardware that are built together

and tested together and serviced

together. And open source is part

of that.

What's the business model? I

don't know. But if you don't

have adoption, it won't matter

what business model you

use. Companies that sell

open source are prioritizing

community and adoption

over instant monetization.

- Edward Screven, Chief Corporate Architect - Jonathan Schwartz, CEO

http://www.oracle.com/technetwork/issue-archive/2010/o40interview-086226.htmlhttp://news.cnet.com/8301-13505_3-9757417-16.html

Page 6: The State of Java under Oracle at JCertif 2011

Middleware and Java in Oracle’s Strategy

• Comprehensive foundation for building and running

custom and packaged applications• Extremely well integrated

• Industry-leading reliability and performance

• Unified development and management

• Basis for Oracle Fusion applications

• Built with and for Java technology

Page 8: The State of Java under Oracle at JCertif 2011

Priorities for our Java Platforms

Grow developer base

Grow adoption

Increase competitiveness

Adapt to change

Page 9: The State of Java under Oracle at JCertif 2011

Java Communities

Page 10: The State of Java under Oracle at JCertif 2011

How Java Evolves and Adapts

Community Development of

Java Technology Specifications

Page 11: The State of Java under Oracle at JCertif 2011

JCP Reforms

•Developers’ voice in the Executive Committee–SOUJava

–Goldman Sachs

–London Java Community

–Alex Terrazas

•JCP starting a program of reform–JSR 348: Towards a new version of the JCP

Page 12: The State of Java under Oracle at JCertif 2011

JavaOne

•JavaOne 2011 is coming– October 2-6, San Francisco with dedicated venue

– 400+ sessions by Rock Star speakers

•Regional JavaOnes– Brazil

– Russia

– India

– China

•More coming this/next year

Page 13: The State of Java under Oracle at JCertif 2011

Java Platform, Standard Edition

Page 14: The State of Java under Oracle at JCertif 2011
Page 15: The State of Java under Oracle at JCertif 2011

Photo from http://www.flickr.com/photos/jeffanddayna/2637637797/in/photostream/ under creative commons

Page 16: The State of Java under Oracle at JCertif 2011

Available Now

Java SE 7 Highlights

• JSR 334: Java language enhancements (Project Coin)

• JSR 292: New bytecode to speed dynamic languages

on the JVM

• JSR 166y: New Fork/Join framework for concurrent

programming

• JSR 203: NIO.2

Page 17: The State of Java under Oracle at JCertif 2011

String in Switch – Before JDK 7

@Path("fruits")

public class FruitResource {

@GET

@Produces("application/json")

@Path("{name}")

public String getJson(@PathParam("name")String name) {

if (name.equals("apple") || name.equals("cherry") || name.equals("strawberry"))

return "Red";

else if (name.equals("banana") || name.equals("papaya"))

return "Yellow";

else if (name.equals("kiwi") || name.equals("grapes") || name.equals("guava"))

return "Green";

else if (name.equals("clementine") || name.equals("persimmon"))

return "Orange";

else

return "Unknown";

}

. . .

Page 18: The State of Java under Oracle at JCertif 2011

String in Switch – After JDK 7

@Path("fruits")

public class FruitResource {

@GET

@Produces("application/json")

@Path("{name}")

public String getJson(@PathParam("name")String name) {

switch (name) {

case "apple": case "cherry": case "strawberry":

return "Red";

case "banana": case "papaya":

return "Yellow";

case "kiwi": case "grapes": case "guava":

return "Green";

case "clementine": case "persimmon":

return "Orange";

default:

return "Unknown";

}

}

. . .

Page 19: The State of Java under Oracle at JCertif 2011

Automatic Resource Management – Before JDK 7

@Resource(name=“jdbc/__default”)

DataSource ds;

@javax.annotation.PostConstruct

void startup() {

Connection c = null;

Statement s = null;

try {

c = ds.getConnection();

s = c.createStatement();

// invoke SQL here

} catch (SQLException ex) {

System.err.println("ouch!");

} finally {

try {

if (s != null)

s.close();

if (c != null)

c.close();

} catch (SQLException ex) {

System.err.println("ouch!");;

}

}

}

Page 20: The State of Java under Oracle at JCertif 2011

Automatic Resource Management – After JDK 7

@Resource(name=“jdbc/__default”)

DataSource ds;

@javax.annotation.PostConstruct

void startup() {

try (Connection c = ds.getConnection(); Statement s = c.createStatement()) {

// invoke SQL here

} catch (SQLException ex) {

System.err.println("ouch!");

}

}

Page 21: The State of Java under Oracle at JCertif 2011

Multi-catch – Before JDK 7

out.println("</body>");

out.println("</html>");

} catch (ServletException ex) {

Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);

} catch (MessagingException ex) {

Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);

} catch (IOException ex) {

Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);

} finally {

out.close();

}

Page 22: The State of Java under Oracle at JCertif 2011

Multi-catch – After JDK 7

out.println("</body>");

out.println("</html>");

} catch (ServletException | MessagingException | IOException ex) {

Logger.getLogger(TestServlet.class.getName()).log(Level.SEVERE, null, ex);

} finally {

out.close();

}

Page 23: The State of Java under Oracle at JCertif 2011

Late 2012

• Project Lambda

– Lambda expressions

– Interface evolution

– Concurrent bulk data operations

• Modularity for Java SE

• Careful additions to the Java language

• Annotations on Java types

Java SE 8 Projects

Page 24: The State of Java under Oracle at JCertif 2011

JDK 8 – Fall/Winter 2012

• Modularization

• Language and VM Support

• Platform Modularization

• Project Lambda

• Lambda Expressions

• Default Methods

• Bulk Data Operations

• Annotations on Java types (JSR 308)

• More Small Language Enhancements

• Project Coin part 2

Features from “Plan B”

• Serialization fixes

• Multicast improvements

• Java APIs for accessing location, compass and other ”environmental” data (partially exists in ME)

• Improved language interop

• Faster startup/warmup

• Dependency injection (JSR 330)

• Include select enhancements from Google Guava

• Small Swing enhancements

• More security/crypto features, improved support for x.509-style certificates etc

• Internationalization: non-Gregorian calendars, more configurable sorting

• Date and Time (JSR 310)

• Process control API

Other Things On Oracle’s Wish List*

* Many of these will undoubtedly NOT make JDK 8.

Page 25: The State of Java under Oracle at JCertif 2011

OpenJDK Momentum

Page 26: The State of Java under Oracle at JCertif 2011

JDK7 Now Available

• Download JDK

• openjdk.java.net

• Open project mailing lists

• Download NetBeans 7.0.1

• netbeans.org

• JDK 7 support

• Download from oracle.com/javase

Page 27: The State of Java under Oracle at JCertif 2011

Java for Client Platforms

Page 28: The State of Java under Oracle at JCertif 2011

100% of Blu-ray Disc players

Millions of SIM cards

Millions of feature phones

Java Client Deployment

75m desktops updated/month

Page 29: The State of Java under Oracle at JCertif 2011

Java Pioneered Rich Client ApplicationsBut developers had to learn multiple technologies

Page 30: The State of Java under Oracle at JCertif 2011

JavaFX Simplifies Application DevelopmentDevelopers focus on capabilities instead of technologies

Page 31: The State of Java under Oracle at JCertif 2011

JavaFX is the evolution of the Java rich client platform, designed

to provide a lightweight, hardware accelerated UI platform that

meets tomorrow’s needs.

Page 32: The State of Java under Oracle at JCertif 2011

UI Toolkit

Java 2DDirectX

3DOpenGL

JavaFX APIs & Scene Graph

Hardware acceleration &

Software fallback

Developers program to

high-level APIs

High-level Architecture

Java Virtual Machine on Supported Platforms

Prism Graphics Engine Media

EngineWeb

Engine

Page 33: The State of Java under Oracle at JCertif 2011

JavaFX Roadmap

Mac OS, Linux

CY2012CY 2011

Jan May Oct

Early

Access✔

Public

Beta✔

GAWindows

Page 34: The State of Java under Oracle at JCertif 2011

Java ME 2011 Focus

• ME.next to modernize platform

• Integration of web technologies

• New device APIs

– Near-field communication, Sensors, Accelerometers, etc

• Scalable, high performance runtime solutions

Page 35: The State of Java under Oracle at JCertif 2011

Oracle Java ME Products

• Commercial implementations

– Oracle Java Wireless Client

– Oracle Java Embedded Client

• Developer products

– Java ME SDK

– Java Card SDK

– LWUIT

– NetBeans IDE Mobility Pack

Page 36: The State of Java under Oracle at JCertif 2011

Java Platform, Enterprise Edition

Page 37: The State of Java under Oracle at JCertif 2011

The Java EE Journey

1998 2000 2002 2004 2006 2008 2010

J2EE 1.2

Servlet, EJB,

JSP, JMS,

Mail, …

J2EE 1.3

JCA,

JAAS,

XML, CMP,

J2EE 1.4

WebSvcs,

JMX,

Deployment,

Java EE 5

JPA, EJB3,

Annotations,

Faces, …

Java EE 6

More POJOs, Web

Profile, EJBLite,

Restful WS,

Injection, …

Web Services

Simplicity

Cloud

Page 38: The State of Java under Oracle at JCertif 2011

Lines of Code* Lines of XML*Java Classes*

* Based on a Sample POJO/JPA/REST Based Application Built for JavaOne

Java EE 6 : Simplified Development and Deployment

• Standardized POJO programming model

• Simplified deployment descriptors

• Simplified APIs

• Dependency injection

• RESTful web services

• Web Profile

Page 39: The State of Java under Oracle at JCertif 2011

Available

Announced

Java EE 5: Widely Available Java EE 6: Fast Uptake

Open Source and Commercial Implementations

Page 40: The State of Java under Oracle at JCertif 2011

GlassFish Areas of Focus

• First to market for new platform versions

• Continued emphasis on developer-friendly characteristics & popular OSS

• Production quality deployment features

– Clustering in current 3.1 release

– Web & Full Profile Java EE6 applications

• Shared components with WebLogic Server

– Ref Implementation APIs: JPA, JAX-RS, JSF, JAX-WS, JSTL, JAXP, JAXB, CDI

– Web server plug-ins

• Certified Interoperability with WebLogic

– Web Services, OAM, RMI

Page 41: The State of Java under Oracle at JCertif 2011

Oracle WebLogic Server

Production Java Application Deployment

Oracle GlassFish Server

Production Java Application Deployment

• Best commercial application server for transactional Java EE applications and in near future, Java EE 6 Full Profile

• Platform of choice for standardization

• Focus on lowest operational cost and mission critical applications

• Best integration with Oracle Database, Fusion Middleware & Fusion Applications

GlassFish and WebLogic Together

• Best open source application server with support from Oracle

• Open source platform of choice for OSGi or EE6 Web/Full Profile

• Focus on latest Java EE standards and community OSS innovation

• Certified interoperability and integration with Fusion Middleware

Page 42: The State of Java under Oracle at JCertif 2011

Beyond Java EE 6: Moving into the Cloud

•Develop

•Deploy

•Manage

Page 43: The State of Java under Oracle at JCertif 2011

Java EE Today – Roles and Responsibilities

Deployer/AdministratorDeveloper

Container Provider

Java EE

Page 44: The State of Java under Oracle at JCertif 2011

Cloud Requires Data Center and Tenant Roles

Tenant 1 Tenant 2 Tenant n

PaaS Administrator

Application AdministratorDeveloper

Container/Service

Provider

Application

Deployer

Java EE Cloud

Page 45: The State of Java under Oracle at JCertif 2011

Clouds Parting: Java EE 7

• Cloud computing is the major theme

– Java EE as a managed environment

– Application packaging reflecting new roles

– Application isolation and versioning

– In-place application upgrade

• Also significant Web Tier updates

– Web sockets, HTML5/JSF, standard JSON, NIO.2

• JSRs approved by the JCP !

– JSR 342: Java Platform Enterprise Edition 7

• More candidate component JSRs

– JSR 236 : Concurrency Utilities for Java EE

– JSR 107: JCache

– JSR 347: DataGrids for Java EE

Page 46: The State of Java under Oracle at JCertif 2011

Java Tooling

Page 47: The State of Java under Oracle at JCertif 2011

Java Developer Tools

Page 48: The State of Java under Oracle at JCertif 2011

NetBeans 2011

• Over 1,000,000 active users

• NetBeans 7.0.1

– JDK 7 and Java editor support

– Glassfish 3.1 support, WLS and Oracle database support improvements

– Maven 3 and HTML 5 editing support

• Two planned releases for 2011

• More information

– http://download.netbeans.org/7.0/

– http://netbeans.org/community/releases/roadmap.html

Page 49: The State of Java under Oracle at JCertif 2011

A presentation isn’t an obligation,

It’s a privilege.by Seth Godin

Thank you!

Page 50: The State of Java under Oracle at JCertif 2011

Arun Gupta, [email protected] Developer Advocate, Oracle

blogs.oracle.com/arungupta, @arungupta

The State of Java