Powering the Next Generation
                  TM
Services with Java Platform




Arun Gupta, GlassFish Guy
Oracle Corp
bl...
#sparkit
Indian Top-10
trends on
twitter
Evolution of Java
                                                    JDK 1.4                        JDK 1.6
             ...
The Java Eco-System
                            6.5+ M     250+ M    850+ K    > 2.6 Billion
                 $2.8B      J...
Standards-based
Role specialization: Communication,
Enterprise, BPM, Web 2.0, ..
Converged
Applications
Credits: http://scrapetv.com/News/News%20Pages/Business/images-2/one-billion-dollars.jpg
Robust
http://langpop.com/
Service
Composition


              12
• Enterprise Service Bus
• Service engines: BPEL, Intelligent Event Processing,
  XSLT, Data Mashup, Encoding, etc
• Wide ...
SOAP Web Services

• High-performance, extensible, easy-to-use Web
  services stack
• Secure, Reliable and Transactions We...
RESTful Web Services

• Annotation-driven API to build RESTful Web services
  > Resources / Methods / Representations
• Ra...
SIP Applications

• Standard (JSR 116, 289) for developing and deploying
  communications applications
• Adds SIP servlet ...
Java EE is a monolith
   One size fits all
Java EE 6 Web Profile 1.0
●Fully functional mid-sized profile
    ● Actively discussed in the Java EE 6 Expert Group and
 ...
Extensible
Java EE 6 Ease-of-use

• More annotations
• More POJOs
• Less XML
  > Optional “web.xml”, “faces-
    config.xml”
• Simpli...
Ajax




• Java Server Faces 2.0
  > Integrated Ajax support
  > Facelets as templating language
Reverse Ajax / Comet
• Comet
  > Techniques that enable a server to push data to client browsers
    through an HTTP open ...
JVM
Co-hosting Java EE & Dynamic Langs
• GlassFish runs dynamic language applications along side
  Java EE apps with security,...
Pluggable Web Framework


  JSF       Grails        ...         Rails      Merb          ...   Django         ...

       ...
JavaFX Vision
  JavaFX is the platform for creating and delivering
              Rich Internet Applications
          acro...
Java FX

• http://javafx.com/
• Declarative Scripting Language
  > Syntax Java-like with shades of JavaScript
  > For cont...
JavaFX Authoring Tool
Space is big. Really big. You just won’t believe
how vastly, hugely, mind bogglingly big it is. I
mean, you may think it’s...
Project Jigsaw
JDK 7 #1: Modularity
• Address the “jar hell”
• Enables scale down
• Improve performance
  > Download & Startup Time
• Dep...
Declaring that a class belongs to a module

module M;
package P;

public class Foo { ... }
Defining a module in module-inf...
JDK 7 #2: Multi-Lingual VM
• InvokeDynamic / JSR 292
• New bytecode for Dynamic languages
• 2-3x more efficient code gener...
JDK 7 - Other Key Features
• G1 GC: Lower pause times & better predictability
• Project Lambda (aka Closures)
• NIO.2: Fil...
JDK 7 #3: Project Coin




            Credits: http://www.flickr.com/photos/joeshlabotnik/2143212474/
Collection of Literals
final List<Integer> piDigits =
    Collections.unmodifiableList(Arrays.asList(
          3, 1, 4, 1...
String in “switch” statements
String s = ...
switch(s) {
  case "foo":
   processFoo(s);
   break;
}
String in “switch” statements
String s = ...
switch(s) {
 case "quux":
   processQuux(s);
   // fall-through
    case "foo...
Automatic Resource Management
static String readFirstLineFromFile(String path) throws IOException {
      BufferedReader b...
Improved Type Inference for
Generic Instance Creation
Map<String, List<String>> anagrams =
   new HashMap<String, List<Str...
NetBeans 6.9
•    Visual JavaFX GUI Editing
•    JDK 7
•    Spring 3
•    Zend and CakePHP
•    Improved productivity with...
Development

• Team collaboration
  >   Presence
  >   Chat
  >   Continuous integration
  >   Issue Tracking
  >   Team M...
Powering the Next Generation
                  TM
Services with Java Platform



Arun Gupta, GlassFish Guy
Oracle Corp
blo...
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
Upcoming SlideShare
Loading in …5
×

Powering the Next Generation Services with Java Platform - Spark IT 2010

3,378 views
3,181 views

Published on

Powering the Next Generation Services with Java Platform - Spark IT 2010

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

No Downloads
Views
Total views
3,378
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
76
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Powering the Next Generation Services with Java Platform - Spark IT 2010

  1. Powering the Next Generation TM Services with Java Platform Arun Gupta, GlassFish Guy Oracle Corp blogs.sun.com/arungupta, @arungupta
  2. #sparkit Indian Top-10 trends on twitter
  3. Evolution of Java JDK 1.4 JDK 1.6 JDK 1.3 JDK 1.1 (NIO) (Rhino, JAX-WS) (Hotspot) Java released on wicked.neato.org J2EE 1.4 Jini J2EE 1.2 (Web Services) JavaFX 1.0 Java EE 6 '95 '96 '97 '98 '99 '00 '01 '02 '03 '04 '05 '06 '07 '08 '09 '10 '11 Java JSP / J2EE 1.3 Java EE 5 Card Servlets (Connectors) (Ease-of-use) 2.0 JDK 1.0 J2SE 1.2 J2SE 1.5 J2SE 1.7 (Generics, (Modularity, Annotation) Dyn Langs, Coin)
  4. The Java Eco-System 6.5+ M 250+ M 850+ K > 2.6 Billion $2.8B Java Dev. JavaFX GlassFish Java Powered In Java runtime Downloads Phones $3B world wide Per month App Servers Java Mobile Game Market > 6 Billion > 40.0 Java Cards Million Deployed Multi-Function 850+ M Blu-ray Disc Digital TVs & Printers PCs with Devices Set-Top Boxes Java
  5. Standards-based
  6. Role specialization: Communication, Enterprise, BPM, Web 2.0, ..
  7. Converged Applications
  8. Credits: http://scrapetv.com/News/News%20Pages/Business/images-2/one-billion-dollars.jpg
  9. Robust
  10. http://langpop.com/
  11. Service Composition 12
  12. • Enterprise Service Bus • Service engines: BPEL, Intelligent Event Processing, XSLT, Data Mashup, Encoding, etc • Wide range of adapters: communications, databases, EIS, etc. • Very easy to use through Netbeans IDE
  13. SOAP Web Services • High-performance, extensible, easy-to-use Web services stack • Secure, Reliable and Transactions Web services • Interoperable with .NET • Transport agnostic • Very easy to use through IDEs support • https://metro.dev.java.net/
  14. RESTful Web Services • Annotation-driven API to build RESTful Web services > Resources / Methods / Representations • Rapid creation of RESTful WS from JPA entity classes and patterns • Generation of JavaScript client stubs • Test client generation for testing RESTful web services • Very easy to use through IDEs support • Jersey, RESTEasy, Restlet, CXF, ...
  15. SIP Applications • Standard (JSR 116, 289) for developing and deploying communications applications • Adds SIP servlet support on top of Java EE / GlassFish • Allows Converged Java EE, SIP applications • Test client generation for testing SIP services. • Very easy to use through IDEs support • https://sailfin.dev.java.net/
  16. Java EE is a monolith One size fits all
  17. Java EE 6 Web Profile 1.0 ●Fully functional mid-sized profile ● Actively discussed in the Java EE 6 Expert Group and outside it ● Technologies ● Servlets 3.0, JSP 2.2, EL 2.2, Debugging Support for Other Languages 1.0, JSTL 1.2, JSF 2.0, Common Annotations 1.1, EJB 3.1 Lite, JTA 1.1, JPA 2.0, Bean Validation 1.0, Managed Beans 1.0, Interceptors 1.1, Context & Dependency Injection 1.0, Dependency Injection for Java 1.0
  18. Extensible
  19. Java EE 6 Ease-of-use • More annotations • More POJOs • Less XML > Optional “web.xml”, “faces- config.xml” • Simplified packaging
  20. Ajax • Java Server Faces 2.0 > Integrated Ajax support > Facelets as templating language
  21. Reverse Ajax / Comet • Comet > Techniques that enable a server to push data to client browsers through an HTTP open line of communication • Atmosphere: POJO-based portable framework
  22. JVM
  23. Co-hosting Java EE & Dynamic Langs • GlassFish runs dynamic language applications along side Java EE apps with security, scalability, Java language and APIs benefits.
  24. Pluggable Web Framework JSF Grails ... Rails Merb ... Django ... Servlet Spec Rack WSGI Web JRuby Jython Container Container Container V3 Kernel Grizzly JVM Key GlassFish v3 Modules Java Framework Python Framework Web Framework Ruby Framework Interface
  25. JavaFX Vision JavaFX is the platform for creating and delivering Rich Internet Applications across all the screens of your life JavaFX is Powered by Java
  26. Java FX • http://javafx.com/ • Declarative Scripting Language > Syntax Java-like with shades of JavaScript > For content designers and media engineers • Facilitates rapid GUI development • Runs on the Java Virtual Machine • Richness of Java development
  27. JavaFX Authoring Tool
  28. Space is big. Really big. You just won’t believe how vastly, hugely, mind bogglingly big it is. I mean, you may think it’s a long way down the road to the chemist, but that’s just peanuts to space. — Douglas Adams, The Hitchhiker’s Guide to the Galaxy
  29. Project Jigsaw
  30. JDK 7 #1: Modularity • Address the “jar hell” • Enables scale down • Improve performance > Download & Startup Time • Dependencies can now be more clearly defined JDBC Logging NIO JavaBeans AWT, ... JMX JNDI Applet RMI CORBA
  31. Declaring that a class belongs to a module module M; package P; public class Foo { ... } Defining a module in module-info.java file module M @1.0 { requires N @2.1; requires L @0.5; }
  32. JDK 7 #2: Multi-Lingual VM • InvokeDynamic / JSR 292 • New bytecode for Dynamic languages • 2-3x more efficient code generation
  33. JDK 7 - Other Key Features • G1 GC: Lower pause times & better predictability • Project Lambda (aka Closures) • NIO.2: File system & Asynchronous APIs > Directory search, Symbolic Links, Listen to changes in file system • Some change ...
  34. JDK 7 #3: Project Coin Credits: http://www.flickr.com/photos/joeshlabotnik/2143212474/
  35. Collection of Literals final List<Integer> piDigits = Collections.unmodifiableList(Arrays.asList( 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 9 )); final List<Integer> piDigits = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 9]; final Set<Integer> primes = { 2, 7, 31, 127, 8191, 131071, 524287 };
  36. String in “switch” statements String s = ... switch(s) { case "foo": processFoo(s); break; }
  37. String in “switch” statements String s = ... switch(s) { case "quux": processQuux(s); // fall-through case "foo": case "bar": processFooOrBar(s); break; case "baz": processBaz(s); // fall-through default: processDefault(s); break; }
  38. Automatic Resource Management static String readFirstLineFromFile(String path) throws IOException { BufferedReader br = new BufferedReader(new FileReader(path)); try { return br.readLine(); } finally { br.close(); } } static String readFirstLineFromFile2(String path) throws IOException { try (BufferedReader br = new BufferedReader(new FileReader(path)) { return br.readLine(); } }
  39. Improved Type Inference for Generic Instance Creation Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); Map<String, List<String>> anagrams = new HashMap<>();
  40. NetBeans 6.9 • Visual JavaFX GUI Editing • JDK 7 • Spring 3 • Zend and CakePHP • Improved productivity with Java EE 6 • ... http://wiki.netbeans.org/NetBeans_69
  41. Development • Team collaboration > Presence > Chat > Continuous integration > Issue Tracking > Team Member Status Resources • Cloud Plug-In • Web on Web • ...
  42. Powering the Next Generation TM Services with Java Platform Arun Gupta, GlassFish Guy Oracle Corp blogs.sun.com/arungupta, @arungupta 48

×