SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
The State of Java
Arun Gupta
Java Developer Advocate, Oracle
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.
Thank you Africa!
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
Open Source Strategy Comparison



Oracle doesn’t really have an open                                                What's the business model? I
source-specific strategy. What we                                                 don't know. But if you don't
have is an overall company                                                        have adoption, it won't matter
strategy: to deliver complete,                                                    what business model you
open, integrated solutions to our                                                 use. Companies that sell
customers. Stacks of software and                                                 open source are prioritizing
hardware that are built together                                                  community and adoption
and tested together and serviced                                                  over instant monetization.
together. And open source is part
of that.
 - Edward Screven, Chief Corporate Architect                                       - Jonathan Schwartz, CEO
                                                                                     http://news.cnet.com/8301-13505_3-9757417-16.html
  http://www.oracle.com/technetwork/issue-archive/2010/o40interview-086226.html
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
The Spectrum of Java



       Servers    Desktop   Embedded     TV        Mobile    Card


                                        BD-J

       Java EE    JavaFX               Java TV        MSA



                 Java SE                 Java ME            Java Card




                              Java language
Priorities for our Java Platforms



                                    Grow developer base

                                    Grow adoption

                                    Increase competitiveness

                                    Adapt to change
Java Communities
How Java Evolves and Adapts




                                Community Development of
                              Java Technology Specifications
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
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
Java Platform, Standard Edition
Photo from http://www.flickr.com/photos/jeffanddayna/2637637797/in/photostream/ under creative commons
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
Available Now
                • JSR 203: NIO.2
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";
    }
. . .
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";
          }
    }
. . .
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!");;
      }
    }
}
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!");
    }
}
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();
   }
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();
}
Java SE 8 Projects




                     • Project Lambda
                      – Lambda expressions
                      – Interface evolution
                      – Concurrent bulk data operations
                     • Modularity for Java SE
                     • Careful additions to the Java language
   Late 2012         • Annotations on Java types
JDK 8 – Fall/Winter 2012



 Features from “Plan B”                    Other Things On Oracle’s Wish List*
 • Modularization                          • Serialization fixes
                                           • Multicast improvements
  • Language and VM Support
                                           • Java APIs for accessing location, compass and other
  • Platform Modularization                    ”environmental” data (partially exists in ME)
                                           •   Improved language interop
 • Project Lambda
                                           •   Faster startup/warmup
  • Lambda Expressions                     •   Dependency injection (JSR 330)
  • Default Methods                        •   Include select enhancements from Google Guava
                                           •   Small Swing enhancements
  • Bulk Data Operations
                                           •   More security/crypto features, improved support for
 • Annotations on Java types (JSR 308)         x.509-style certificates etc
                                           •   Internationalization: non-Gregorian calendars, more
 • More Small Language Enhancements            configurable sorting
  • Project Coin part 2                    •   Date and Time (JSR 310)
                                           •   Process control API



                                         * Many of these will undoubtedly NOT make JDK 8.
OpenJDK Momentum
JDK7 Now Available


                     • Download from oracle.com/javase



                     • Download JDK
                     • openjdk.java.net
                     • Open project mailing lists

                     • Download NetBeans 7.0.1
                     • netbeans.org
                     • JDK 7 support
Java for Client Platforms
Java Client Deployment




                75m desktops updated/month

                100% of Blu-ray Disc players

                Millions of SIM cards

                Millions of feature phones
Java Pioneered Rich Client Applications
But developers had to learn multiple technologies
JavaFX Simplifies Application Development
Developers focus on capabilities instead of technologies
JavaFX is the evolution of the Java rich client platform, designed
to provide a lightweight, hardware accelerated UI platform that
meets tomorrow’s needs.
High-level Architecture
Developers program to
   high-level APIs                          JavaFX APIs & Scene Graph


                                                     UI Toolkit

                                Prism Graphics Engine              Media            Web
 Hardware acceleration &
    Software fallback                   DirectX                    Engine          Engine
                           Java 2D                  OpenGL
                                          3D


                                     Java Virtual Machine on Supported Platforms
JavaFX Roadmap

Jan       May       Oct

         CY 2011                  CY2012
 Early   Public     GA       Mac OS, Linux
                   Windows
Access    Beta
  ✔        ✔
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
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
Java Platform, Enterprise Edition
The Java EE Journey

1998        2000               2002              2004                  2006               2008    2010



            J2EE 1.2        J2EE 1.3    J2EE 1.4        Java EE 5             Java EE 6
            Servlet, EJB,   JCA,        WebSvcs,        JPA, EJB3,            More POJOs, Web
            JSP, JMS,       JAAS,       JMX,            Annotations,          Profile, EJBLite,
            Mail, …         XML, CMP,   Deployment,     Faces, …              Restful WS,
                            …           …                                     Injection, …




                                                              Web Services
                                                                          Simplicity
                                                                                          Cloud
Java EE 6 : Simplified Development and Deployment


• Standardized POJO programming model
• Simplified deployment descriptors
• Simplified APIs
• Dependency injection
• RESTful web services
• Web Profile
                        Java Classes*                         Lines of Code*   Lines of XML*




 * Based on a Sample POJO/JPA/REST Based Application Built for JavaOne
Open Source and Commercial Implementations



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

                               Available




                               Announced
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
GlassFish and WebLogic Together

• Best open source application server with support from Oracle        • Best commercial application server for transactional Java EE
                                                                       applications and in near future, Java EE 6 Full Profile
• Open source platform of choice for OSGi or EE6 Web/Full Profile
                                                                      • Platform of choice for standardization
• Focus on latest Java EE standards and community OSS innovation
                                                                      • Focus on lowest operational cost and mission critical applications
• Certified interoperability and integration with Fusion Middleware
                                                                      • Best integration with Oracle Database, Fusion Middleware & Fusion
                                                                       Applications




                      Production Java                                                            Production Java
                   Application Deployment                                                     Application Deployment


             Oracle GlassFish Server                                                    Oracle WebLogic Server
Beyond Java EE 6: Moving into the Cloud




  •Develop
  •Deploy
  •Manage
Java EE Today – Roles and Responsibilities



            Developer                          Deployer/Administrator

                               Java EE




                          Container Provider
Cloud Requires Data Center and Tenant Roles



                          Developer                         Application Administrator

                                      Java EE Cloud




Container/Service                                                                       Application
Provider                                                                                Deployer




                           Tenant 1             Tenant 2                Tenant n




                                       PaaS Administrator
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
Java Tooling
Java Developer Tools
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
A presentation isn’t an obligation,
It’s a privilege.
                               by Seth Godin




       Thank you!
The State of Java
Arun Gupta, arun.p.gupta@oracle.com
Java Developer Advocate, Oracle
blogs.oracle.com/arungupta, @arungupta

Contenu connexe

Tendances

Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Arun Gupta
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Arun Gupta
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overviewsbobde
 
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.
 
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010Arun Gupta
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Shreedhar Ganapathy
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011Arun Gupta
 
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012Arun Gupta
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nationArun Gupta
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Arun Gupta
 
Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0Arun Gupta
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Agora Group
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Arun Gupta
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Codecamp Romania
 
OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6glassfish
 
Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Hamed Hatami
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudArun Gupta
 

Tendances (20)

Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
 
Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011Java EE 6 workshop at Dallas Tech Fest 2011
Java EE 6 workshop at Dallas Tech Fest 2011
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overview
 
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
 
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
Tools Coverage for the Java EE Platform @ Silicon Valley Code Camp 2010
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained
 
GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011GlassFish 3.1 at JCertif 2011
GlassFish 3.1 at JCertif 2011
 
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nation
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3
 
Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0
 
Java 7 workshop
Java 7 workshopJava 7 workshop
Java 7 workshop
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 
OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6
 
Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)
 
Glass Fishv3 March2010
Glass Fishv3 March2010Glass Fishv3 March2010
Glass Fishv3 March2010
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
 

Similaire à The State of Java: Oracle's Strategy and Priorities for Java Platforms

Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1sandeep54552
 
Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)Ryan Cuprak
 
Java: Create The Future Keynote
Java: Create The Future KeynoteJava: Create The Future Keynote
Java: Create The Future KeynoteSimon Ritter
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cBruno Borges
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote presoArtur Alves
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8PT.JUG
 
The JAVA Training Workshop in Ahmedabad
The JAVA Training Workshop in AhmedabadThe JAVA Training Workshop in Ahmedabad
The JAVA Training Workshop in AhmedabadTOPS Technologies
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 
Trends and future of java
Trends and future of javaTrends and future of java
Trends and future of javaCsaba Toth
 
Internship softwaretraining@ijse
Internship softwaretraining@ijseInternship softwaretraining@ijse
Internship softwaretraining@ijseJinadi Rashmika
 
Bala Sr Java Developer
Bala  Sr Java DeveloperBala  Sr Java Developer
Bala Sr Java DeveloperJava Dev
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATESTJesy George
 

Similaire à The State of Java: Oracle's Strategy and Priorities for Java Platforms (20)

Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1Enterprise java unit-1_chapter-1
Enterprise java unit-1_chapter-1
 
Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)
 
JavaOne 2010 Keynote
JavaOne 2010 Keynote JavaOne 2010 Keynote
JavaOne 2010 Keynote
 
Java: Create The Future Keynote
Java: Create The Future KeynoteJava: Create The Future Keynote
Java: Create The Future Keynote
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
 
Java keynote preso
Java keynote presoJava keynote preso
Java keynote preso
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8
 
Java training in ahmedabad
Java training in ahmedabadJava training in ahmedabad
Java training in ahmedabad
 
The JAVA Training Workshop in Ahmedabad
The JAVA Training Workshop in AhmedabadThe JAVA Training Workshop in Ahmedabad
The JAVA Training Workshop in Ahmedabad
 
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
Trends and future of java
Trends and future of javaTrends and future of java
Trends and future of java
 
Noonan_resume
Noonan_resumeNoonan_resume
Noonan_resume
 
Pramod-Sr.Java
Pramod-Sr.JavaPramod-Sr.Java
Pramod-Sr.Java
 
JavaOne Update zur Java Plattform
JavaOne Update zur Java PlattformJavaOne Update zur Java Plattform
JavaOne Update zur Java Plattform
 
Internship softwaretraining@ijse
Internship softwaretraining@ijseInternship softwaretraining@ijse
Internship softwaretraining@ijse
 
Bala Sr Java Developer
Bala  Sr Java DeveloperBala  Sr Java Developer
Bala Sr Java Developer
 
New Resume
New ResumeNew Resume
New Resume
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATEST
 
Java EE for the Cloud
Java EE for the CloudJava EE for the Cloud
Java EE for the Cloud
 

Plus de Arun Gupta

5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdfArun Gupta
 
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019Arun Gupta
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesArun Gupta
 
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerSecure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerArun Gupta
 
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Arun Gupta
 
Why Amazon Cares about Open Source
Why Amazon Cares about Open SourceWhy Amazon Cares about Open Source
Why Amazon Cares about Open SourceArun Gupta
 
Machine learning using Kubernetes
Machine learning using KubernetesMachine learning using Kubernetes
Machine learning using KubernetesArun Gupta
 
Building Cloud Native Applications
Building Cloud Native ApplicationsBuilding Cloud Native Applications
Building Cloud Native ApplicationsArun Gupta
 
Chaos Engineering with Kubernetes
Chaos Engineering with KubernetesChaos Engineering with Kubernetes
Chaos Engineering with KubernetesArun Gupta
 
How to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAMHow to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAMArun Gupta
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Arun Gupta
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Arun Gupta
 
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitMastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitArun Gupta
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeArun Gupta
 
Container Landscape in 2017
Container Landscape in 2017Container Landscape in 2017
Container Landscape in 2017Arun Gupta
 
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftJava EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftArun Gupta
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersArun Gupta
 
Thanks Managers!
Thanks Managers!Thanks Managers!
Thanks Managers!Arun Gupta
 
Migrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to ContainersMigrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to ContainersArun Gupta
 

Plus de Arun Gupta (20)

5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf
 
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
 
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerSecure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using Firecracker
 
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019
 
Why Amazon Cares about Open Source
Why Amazon Cares about Open SourceWhy Amazon Cares about Open Source
Why Amazon Cares about Open Source
 
Machine learning using Kubernetes
Machine learning using KubernetesMachine learning using Kubernetes
Machine learning using Kubernetes
 
Building Cloud Native Applications
Building Cloud Native ApplicationsBuilding Cloud Native Applications
Building Cloud Native Applications
 
Chaos Engineering with Kubernetes
Chaos Engineering with KubernetesChaos Engineering with Kubernetes
Chaos Engineering with Kubernetes
 
How to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAMHow to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAM
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
 
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitMastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv Summit
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's Landscape
 
Container Landscape in 2017
Container Landscape in 2017Container Landscape in 2017
Container Landscape in 2017
 
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftJava EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShift
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developers
 
Thanks Managers!
Thanks Managers!Thanks Managers!
Thanks Managers!
 
Migrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to ContainersMigrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to Containers
 

Dernier

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Dernier (20)

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

The State of Java: Oracle's Strategy and Priorities for Java Platforms

  • 1. The State of Java Arun Gupta Java Developer Advocate, Oracle
  • 2. 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.
  • 4. 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
  • 5. Open Source Strategy Comparison Oracle doesn’t really have an open What's the business model? I source-specific strategy. What we don't know. But if you don't have is an overall company have adoption, it won't matter strategy: to deliver complete, what business model you open, integrated solutions to our use. Companies that sell customers. Stacks of software and open source are prioritizing hardware that are built together community and adoption and tested together and serviced over instant monetization. together. And open source is part of that. - Edward Screven, Chief Corporate Architect - Jonathan Schwartz, CEO http://news.cnet.com/8301-13505_3-9757417-16.html http://www.oracle.com/technetwork/issue-archive/2010/o40interview-086226.html
  • 6. 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
  • 7. The Spectrum of Java Servers Desktop Embedded TV Mobile Card BD-J Java EE JavaFX Java TV MSA Java SE Java ME Java Card Java language
  • 8. Priorities for our Java Platforms Grow developer base Grow adoption Increase competitiveness Adapt to change
  • 10. How Java Evolves and Adapts Community Development of Java Technology Specifications
  • 11. 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
  • 12. 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
  • 14.
  • 16. 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 Available Now • JSR 203: NIO.2
  • 17. 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"; } . . .
  • 18. 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"; } } . . .
  • 19. 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!");; } } }
  • 20. 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!"); } }
  • 21. 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(); }
  • 22. 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(); }
  • 23. Java SE 8 Projects • Project Lambda – Lambda expressions – Interface evolution – Concurrent bulk data operations • Modularity for Java SE • Careful additions to the Java language Late 2012 • Annotations on Java types
  • 24. JDK 8 – Fall/Winter 2012 Features from “Plan B” Other Things On Oracle’s Wish List* • Modularization • Serialization fixes • Multicast improvements • Language and VM Support • Java APIs for accessing location, compass and other • Platform Modularization ”environmental” data (partially exists in ME) • Improved language interop • Project Lambda • Faster startup/warmup • Lambda Expressions • Dependency injection (JSR 330) • Default Methods • Include select enhancements from Google Guava • Small Swing enhancements • Bulk Data Operations • More security/crypto features, improved support for • Annotations on Java types (JSR 308) x.509-style certificates etc • Internationalization: non-Gregorian calendars, more • More Small Language Enhancements configurable sorting • Project Coin part 2 • Date and Time (JSR 310) • Process control API * Many of these will undoubtedly NOT make JDK 8.
  • 26. JDK7 Now Available • Download from oracle.com/javase • Download JDK • openjdk.java.net • Open project mailing lists • Download NetBeans 7.0.1 • netbeans.org • JDK 7 support
  • 27. Java for Client Platforms
  • 28. Java Client Deployment 75m desktops updated/month 100% of Blu-ray Disc players Millions of SIM cards Millions of feature phones
  • 29. Java Pioneered Rich Client Applications But developers had to learn multiple technologies
  • 30. JavaFX Simplifies Application Development Developers focus on capabilities instead of technologies
  • 31. JavaFX is the evolution of the Java rich client platform, designed to provide a lightweight, hardware accelerated UI platform that meets tomorrow’s needs.
  • 32. High-level Architecture Developers program to high-level APIs JavaFX APIs & Scene Graph UI Toolkit Prism Graphics Engine Media Web Hardware acceleration & Software fallback DirectX Engine Engine Java 2D OpenGL 3D Java Virtual Machine on Supported Platforms
  • 33. JavaFX Roadmap Jan May Oct CY 2011 CY2012 Early Public GA Mac OS, Linux Windows Access Beta ✔ ✔
  • 34. 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
  • 35. 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
  • 37. The Java EE Journey 1998 2000 2002 2004 2006 2008 2010 J2EE 1.2 J2EE 1.3 J2EE 1.4 Java EE 5 Java EE 6 Servlet, EJB, JCA, WebSvcs, JPA, EJB3, More POJOs, Web JSP, JMS, JAAS, JMX, Annotations, Profile, EJBLite, Mail, … XML, CMP, Deployment, Faces, … Restful WS, … … Injection, … Web Services Simplicity Cloud
  • 38. Java EE 6 : Simplified Development and Deployment • Standardized POJO programming model • Simplified deployment descriptors • Simplified APIs • Dependency injection • RESTful web services • Web Profile Java Classes* Lines of Code* Lines of XML* * Based on a Sample POJO/JPA/REST Based Application Built for JavaOne
  • 39. Open Source and Commercial Implementations Java EE 5: Widely Available Java EE 6: Fast Uptake Available Announced
  • 40. 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
  • 41. GlassFish and WebLogic Together • Best open source application server with support from Oracle • Best commercial application server for transactional Java EE applications and in near future, Java EE 6 Full Profile • Open source platform of choice for OSGi or EE6 Web/Full Profile • Platform of choice for standardization • Focus on latest Java EE standards and community OSS innovation • Focus on lowest operational cost and mission critical applications • Certified interoperability and integration with Fusion Middleware • Best integration with Oracle Database, Fusion Middleware & Fusion Applications Production Java Production Java Application Deployment Application Deployment Oracle GlassFish Server Oracle WebLogic Server
  • 42. Beyond Java EE 6: Moving into the Cloud •Develop •Deploy •Manage
  • 43. Java EE Today – Roles and Responsibilities Developer Deployer/Administrator Java EE Container Provider
  • 44. Cloud Requires Data Center and Tenant Roles Developer Application Administrator Java EE Cloud Container/Service Application Provider Deployer Tenant 1 Tenant 2 Tenant n PaaS Administrator
  • 45. 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
  • 48. 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
  • 49. A presentation isn’t an obligation, It’s a privilege. by Seth Godin Thank you!
  • 50. The State of Java Arun Gupta, arun.p.gupta@oracle.com Java Developer Advocate, Oracle blogs.oracle.com/arungupta, @arungupta