• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Powering the Next Generation Services with Java Platform - Spark IT 2010
 

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

on

  • 3,655 views

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

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

Statistics

Views

Total Views
3,655
Views on SlideShare
3,429
Embed Views
226

Actions

Likes
0
Downloads
75
Comments
0

9 Embeds 226

https://blogs.oracle.com 83
http://blogs.oracle.com 72
http://blog.arungupta.me 32
http://blogs.sun.com 22
http://www.slideshare.net 8
http://cache.baidu.com 4
http://planets.sun.com 2
http://webcache.googleusercontent.com 2
http://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • Powering the Next Generation TM Services with Java Platform Arun Gupta, GlassFish Guy Oracle Corp blogs.sun.com/arungupta, @arungupta
    • #sparkit Indian Top-10 trends on twitter
    • 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)
    • 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
    • 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 range of adapters: communications, databases, EIS, etc. • Very easy to use through Netbeans IDE
    • 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/
    • 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, ...
    • 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/
    • 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 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
    • Extensible
    • Java EE 6 Ease-of-use • More annotations • More POJOs • Less XML > Optional “web.xml”, “faces- config.xml” • Simplified packaging
    • 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 line of communication • Atmosphere: POJO-based portable framework
    • JVM
    • Co-hosting Java EE & Dynamic Langs • GlassFish runs dynamic language applications along side Java EE apps with security, scalability, Java language and APIs benefits.
    • 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
    • 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
    • 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
    • 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 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
    • Project Jigsaw
    • 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
    • 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; }
    • JDK 7 #2: Multi-Lingual VM • InvokeDynamic / JSR 292 • New bytecode for Dynamic languages • 2-3x more efficient code generation
    • 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 ...
    • 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, 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 };
    • 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": case "bar": processFooOrBar(s); break; case "baz": processBaz(s); // fall-through default: processDefault(s); break; }
    • 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(); } }
    • Improved Type Inference for Generic Instance Creation Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); Map<String, List<String>> anagrams = new HashMap<>();
    • 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
    • Development • Team collaboration > Presence > Chat > Continuous integration > Issue Tracking > Team Member Status Resources • Cloud Plug-In • Web on Web • ...
    • Powering the Next Generation TM Services with Java Platform Arun Gupta, GlassFish Guy Oracle Corp blogs.sun.com/arungupta, @arungupta 48