The State of JavaArun GuptaJava Developer Advocate, Oracle
The following is intended to outline our generalproduct direction. It is intended for informationpurposes only, and may no...
Thank you Africa!
Oracle Strategy                  • Deliver a complete, open, integrated stack of                    hardware, infrastructu...
Open Source Strategy ComparisonOracle doesn’t really have an open                                                Whats the...
Middleware and Java in Oracle’s Strategy                         • Comprehensive foundation for building and running      ...
The Spectrum of Java       Servers    Desktop   Embedded     TV        Mobile    Card                                     ...
Priorities for our Java Platforms                                    Grow developer base                                  ...
Java Communities
How Java Evolves and Adapts                                Community Development of                              Java Tech...
JCP Reforms• Developers’ voice in the Executive Committee – SOUJava – Goldman Sachs – London Java Community – Alex Terraza...
JavaOne• JavaOne 2011 is coming – October 2-6, San Francisco with dedicated venue – 400+ sessions by Rock Star speakers• R...
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 byt...
String in Switch – Before JDK 7@Path("fruits")public class FruitResource {    @GET    @Produces("application/json")    @Pa...
String in Switch – After JDK 7@Path("fruits")public class FruitResource {    @GET    @Produces("application/json")    @Pat...
Automatic Resource Management – Before JDK 7@Resource(name=“jdbc/__default”)DataSource ds;@javax.annotation.PostConstructv...
Automatic Resource Management – After JDK 7@Resource(name=“jdbc/__default”)DataSource ds;@javax.annotation.PostConstructvo...
Multi-catch – Before JDK 7         out.println("</body>");         out.println("</html>");   }   catch (ServletException e...
Multi-catch – After JDK 7    out.println("</body>");    out.println("</html>");} catch (ServletException | MessagingExcept...
Java SE 8 Projects                     • Project Lambda                      – Lambda expressions                      – I...
JDK 8 – Fall/Winter 2012 Features from “Plan B”                    Other Things On Oracle’s Wish List* • Modularization   ...
OpenJDK Momentum
JDK7 Now Available                     • Download from oracle.com/javase                     • Download JDK               ...
Java for Client Platforms
Java Client Deployment                75m desktops updated/month                100% of Blu-ray Disc players              ...
Java Pioneered Rich Client ApplicationsBut developers had to learn multiple technologies
JavaFX Simplifies Application DevelopmentDevelopers focus on capabilities instead of technologies
JavaFX is the evolution of the Java rich client platform, designedto provide a lightweight, hardware accelerated UI platfo...
High-level ArchitectureDevelopers program to   high-level APIs                          JavaFX APIs & Scene Graph         ...
JavaFX RoadmapJan       May       Oct         CY 2011                  CY2012 Early   Public     GA       Mac OS, Linux   ...
Java ME 2011 Focus• ME.next to modernize platform• Integration of web technologies• New device APIs – Near-field communica...
Oracle Java ME Products• Commercial implementations – Oracle Java Wireless Client – Oracle Java Embedded Client• Developer...
Java Platform, Enterprise Edition
The Java EE Journey1998        2000               2002              2004                  2006               2008    2010 ...
Java EE 6 : Simplified Development and Deployment• Standardized POJO programming model• Simplified deployment descriptors•...
Open Source and Commercial ImplementationsJava EE 5: Widely Available    Java EE 6: Fast Uptake                           ...
GlassFish Areas of Focus• First to market for new platform versions• Continued emphasis on developer-friendly characterist...
GlassFish and WebLogic Together• Best open source application server with support from Oracle        • Best commercial app...
Beyond Java EE 6: Moving into the Cloud  •Develop  •Deploy  •Manage
Java EE Today – Roles and Responsibilities            Developer                          Deployer/Administrator           ...
Cloud Requires Data Center and Tenant Roles                          Developer                         Application Adminis...
Clouds Parting: Java EE 7• Cloud computing is the major theme  – Java EE as a managed environment  – Application packaging...
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 an...
A presentation isn’t an obligation,It’s a privilege.                               by Seth Godin       Thank you!
The State of JavaArun Gupta, arun.p.gupta@oracle.comJava Developer Advocate, Oracleblogs.oracle.com/arungupta, @arungupta
The State of Java under Oracle at JCertif 2011
Upcoming SlideShare
Loading in...5
×

The State of Java under Oracle at JCertif 2011

5,175

Published on

The State of Java under Oracle at JCertif 2011

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,175
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

The State of Java under Oracle at JCertif 2011

  1. 1. The State of JavaArun GuptaJava Developer Advocate, Oracle
  2. 2. The following is intended to outline our generalproduct direction. It is intended for informationpurposes only, and may not be incorporated intoany contract. It is not a commitment to deliver anymaterial, code, or functionality, and should not berelied upon in making purchasing decisions.The development, release, and timing of anyfeatures or functionality described for Oraclesproducts remains at the sole discretion of Oracle.
  3. 3. Thank you Africa!
  4. 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. 5. Open Source Strategy ComparisonOracle doesn’t really have an open Whats the business model? Isource-specific strategy. What we dont know. But if you donthave is an overall company have adoption, it wont matterstrategy: to deliver complete, what business model youopen, integrated solutions to our use. Companies that sellcustomers. Stacks of software and open source are prioritizinghardware that are built together community and adoptionand tested together and serviced over instant monetization.together. And open source is partof 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. 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. 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. 8. Priorities for our Java Platforms Grow developer base Grow adoption Increase competitiveness Adapt to change
  9. 9. Java Communities
  10. 10. How Java Evolves and Adapts Community Development of Java Technology Specifications
  11. 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. 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
  13. 13. Java Platform, Standard Edition
  14. 14. Photo from http://www.flickr.com/photos/jeffanddayna/2637637797/in/photostream/ under creative commons
  15. 15. 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 programmingAvailable Now • JSR 203: NIO.2
  16. 16. 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"; }. . .
  17. 17. 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"; } }. . .
  18. 18. Automatic Resource Management – Before JDK 7@Resource(name=“jdbc/__default”)DataSource ds;@javax.annotation.PostConstructvoid 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!");; } }}
  19. 19. Automatic Resource Management – After JDK 7@Resource(name=“jdbc/__default”)DataSource ds;@javax.annotation.PostConstructvoid startup() { try (Connection c = ds.getConnection(); Statement s = c.createStatement()) { // invoke SQL here } catch (SQLException ex) { System.err.println("ouch!"); }}
  20. 20. 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(); }
  21. 21. 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();}
  22. 22. 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
  23. 23. 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.
  24. 24. OpenJDK Momentum
  25. 25. 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
  26. 26. Java for Client Platforms
  27. 27. Java Client Deployment 75m desktops updated/month 100% of Blu-ray Disc players Millions of SIM cards Millions of feature phones
  28. 28. Java Pioneered Rich Client ApplicationsBut developers had to learn multiple technologies
  29. 29. JavaFX Simplifies Application DevelopmentDevelopers focus on capabilities instead of technologies
  30. 30. JavaFX is the evolution of the Java rich client platform, designedto provide a lightweight, hardware accelerated UI platform thatmeets tomorrow’s needs.
  31. 31. High-level ArchitectureDevelopers 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
  32. 32. JavaFX RoadmapJan May Oct CY 2011 CY2012 Early Public GA Mac OS, Linux WindowsAccess Beta ✔ ✔
  33. 33. 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
  34. 34. 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
  35. 35. Java Platform, Enterprise Edition
  36. 36. The Java EE Journey1998 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
  37. 37. 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
  38. 38. Open Source and Commercial ImplementationsJava EE 5: Widely Available Java EE 6: Fast Uptake Available Announced
  39. 39. 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
  40. 40. 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
  41. 41. Beyond Java EE 6: Moving into the Cloud •Develop •Deploy •Manage
  42. 42. Java EE Today – Roles and Responsibilities Developer Deployer/Administrator Java EE Container Provider
  43. 43. Cloud Requires Data Center and Tenant Roles Developer Application Administrator Java EE CloudContainer/Service ApplicationProvider Deployer Tenant 1 Tenant 2 Tenant n PaaS Administrator
  44. 44. 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
  45. 45. Java Tooling
  46. 46. Java Developer Tools
  47. 47. 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
  48. 48. A presentation isn’t an obligation,It’s a privilege. by Seth Godin Thank you!
  49. 49. The State of JavaArun Gupta, arun.p.gupta@oracle.comJava Developer Advocate, Oracleblogs.oracle.com/arungupta, @arungupta
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×