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

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
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nation
Arun Gupta
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
Agora Group
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
Codecamp Romania
 
Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)Java EE 7 (Hamed Hatami)
Java EE 7 (Hamed Hatami)
Hamed Hatami
 

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 under Oracle at JCertif 2011

Bala Sr Java Developer
Bala  Sr Java DeveloperBala  Sr Java Developer
Bala Sr Java Developer
Java Dev
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATEST
Jesy George
 

Similaire à The State of Java under Oracle at JCertif 2011 (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

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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

The State of Java under Oracle at JCertif 2011

  • 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