Report from JavaOne 2009 Major Themes  Other News Demonstrations Future 16 th  June 2009 Wouter van Reeven & Lucas Jellema
Overview <ul><li>Cloud </li></ul><ul><li>Social </li></ul><ul><li>Mobile </li></ul><ul><li>Rich (AJAX, Push, Fx) </li></ul...
Cloud <ul><li>Levels of Cloud facilities </li></ul>
The Cloud – threads <ul><li>What is offered from the cloud? </li></ul><ul><li>What benefits are gained? </li></ul><ul><li>...
Cloud providers <ul><li>IaaS & Stack aaS </li></ul><ul><ul><li>Amazon EC2 & S3, Sun, EMC </li></ul></ul><ul><li>PaaS  </li...
More Cloud types <ul><li>Development as a Service </li></ul><ul><li>Gaming as a Service </li></ul><ul><ul><li>Runescape </...
Example Cloud Usage <ul><li>Amazon S3 – storage </li></ul><ul><ul><li>$0.18 per Gb per month </li></ul></ul><ul><ul><li>$0...
Demo <ul><li>Deeplink Navigation across the cloud </li></ul><ul><li>Service API on SaaS application </li></ul><ul><li>Regi...
SOA across the cloud: data & operations SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Validation Service Serv...
SOA across the cloud: UI / Navigation / Process/Presentation SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Po...
Demonstrating Deep Link Navigation SaaS A Service API RSS <ul><li>To Do list shows task “Handle promotion for Employee Sco...
Demonstrating the SaaS Service API <ul><li>Create a new Employee  </li></ul><ul><li>Call the SaaS API to propagate the new...
Demonstrating cross-cloud event listeners SaaS A App D Service API Service API RSS listener registration <ul><li>Register ...
Social <ul><li>140 </li></ul><ul><li>Social Networking sites </li></ul><ul><ul><li>Twitter, Flickr, Facebook, Hyves, MySpa...
Open Social API
Open Social API
Open Social API
OpenSocial API <ul><li>API implemented by major social applications </li></ul><ul><ul><li>REST API </li></ul></ul><ul><ul>...
Project Apache ESME <ul><li>Enterprise Social Messaging Experiment (ESME)  </li></ul><ul><ul><li>secure and highly scalabl...
Social trends <ul><li>Integration between Social sites </li></ul><ul><ul><li>Embeddable widgets </li></ul></ul><ul><li>Mak...
Social trends <ul><li>Social Networking features in Development Tools </li></ul><ul><ul><li>Chat in IDE, Twitter in build ...
 
Zembly
Demo <ul><li>Show Zembly </li></ul>
Mobile <ul><li>“ SmartPhones are becoming predominant platform for consumers to interact with businesses” </li></ul><ul><l...
Sun wants to… <ul><li>Bring JavaFX to all mobile devices </li></ul><ul><ul><li>However: currently only some SonyEricsson a...
Rich (Ajax, Push, Fx) <ul><li>Enhancing User Experience </li></ul><ul><ul><li>Attractive & interactive (Web 2.0): media, A...
Server Push <ul><li>Push: server sends messages to client </li></ul><ul><li>HTTP does not allow Server to call Client </li...
Server Push <ul><li>Server Push is often called ‘comet style’ or ‘ reverse Ajax’ </li></ul><ul><li>The Grizzly framework p...
Demo <ul><li>Comet Style Application using Grizzly on Glassfish </li></ul>
Java FX <ul><li>JavaFX 1.2 released </li></ul><ul><ul><li>Not fully upward compatible </li></ul></ul><ul><ul><li>Introduce...
AJAX vs. JavaFX
AJAX vs. JavaFX <ul><li>AJAX (DHTML) </li></ul><ul><li>Really fancy things very browser dependent </li></ul><ul><ul><li>HT...
Integrating JavaFX and JSF <ul><li>JavaFX runs as applet in HTML page </li></ul><ul><ul><li>Multiple applets allowed </li>...
Demo <ul><li>Integrate JavaFX widget in JSF application </li></ul>
Product launch <ul><li>NetBeans 6.7 (beta) </li></ul><ul><li>JavaFX 1.2 </li></ul><ul><li>Glassfish v3  (prelude) </li></u...
Interoperability <ul><li>Make components work together </li></ul><ul><ul><li>Integrating Client technologies (Flex in HTML...
Interoperability
Interoperability <ul><li>REST </li></ul><ul><ul><li>http(s) + JSON/CSV/Text/XML/… </li></ul></ul><ul><ul><li>Simple compar...
WS* <ul><li>Metro seems to replace Apache AXIS as defacto standard WS* implementation </li></ul><ul><li>JAX-WS (JEE 5/J2SE...
Demo <ul><li>Publish Web Service from J2SE 6 application </li></ul>
Event Processing <ul><li>Complex Event Processing vs. Intelligent Event Processing (?) </li></ul><ul><ul><li>SQL-like synt...
James Gosling’s Toy Show <ul><li>Java & Blue Tooth & WII </li></ul><ul><li>MIFOS – open source web application for Micro F...
Future <ul><li>JEE 6 (September 2009, Glassfish v3) </li></ul><ul><li>Java 7 (Modularization) (February 2010) </li></ul><u...
Time for a drink <ul><li>Question and Answers first? </li></ul><ul><li>Presentations will be on our blog </li></ul>
Upcoming SlideShare
Loading in...5
×

Report From JavaOne 2009 - part 3

1,364

Published on

Report From JavaOne 2009 - part 3

Published in: Technology, News & Politics
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,364
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • Report From JavaOne 2009 - part 3

    1. 1. Report from JavaOne 2009 Major Themes Other News Demonstrations Future 16 th June 2009 Wouter van Reeven & Lucas Jellema
    2. 2. Overview <ul><li>Cloud </li></ul><ul><li>Social </li></ul><ul><li>Mobile </li></ul><ul><li>Rich (AJAX, Push, Fx) </li></ul><ul><li>Interoperability & Services </li></ul><ul><li>Future </li></ul>
    3. 3. Cloud <ul><li>Levels of Cloud facilities </li></ul>
    4. 4. The Cloud – threads <ul><li>What is offered from the cloud? </li></ul><ul><li>What benefits are gained? </li></ul><ul><li>How are latency, security, regulations, availability, administration handled? </li></ul><ul><li>Integrate cloud infrastructure with on-site IT facilities and applications? </li></ul><ul><li>How to prevent lock in with a specific cloud provider? </li></ul>
    5. 5. Cloud providers <ul><li>IaaS & Stack aaS </li></ul><ul><ul><li>Amazon EC2 & S3, Sun, EMC </li></ul></ul><ul><li>PaaS </li></ul><ul><ul><li>Google AppEngine (Python, Java Web) </li></ul></ul><ul><ul><li>Amazon </li></ul></ul><ul><ul><li>Microsoft Azure </li></ul></ul><ul><ul><li>Heroku (Rails) </li></ul></ul><ul><li>SaaS </li></ul><ul><ul><li>SalesForce.com, Google Apps & Gmail, .. </li></ul></ul>
    6. 6. More Cloud types <ul><li>Development as a Service </li></ul><ul><li>Gaming as a Service </li></ul><ul><ul><li>Runescape </li></ul></ul><ul><li>Distribution as a Service </li></ul><ul><ul><li>Apple Store, Java Store, Nokia Store, … </li></ul></ul><ul><ul><li>Sell your book (Second Hand, Print on demand) </li></ul></ul><ul><li>Community as a Service </li></ul><ul><li>Service as a Service – VOIP, IM, Maps </li></ul>
    7. 7. Example Cloud Usage <ul><li>Amazon S3 – storage </li></ul><ul><ul><li>$0.18 per Gb per month </li></ul></ul><ul><ul><li>$0.10 per Gb data transfer </li></ul></ul><ul><li>Create (or reuse) Amazon account </li></ul><ul><li>Specify Credit Card details </li></ul><ul><li>Install S3 FireFox Plugin </li></ul>
    8. 8. Demo <ul><li>Deeplink Navigation across the cloud </li></ul><ul><li>Service API on SaaS application </li></ul><ul><li>Register Cross Cloud Event Listener </li></ul>
    9. 9. SOA across the cloud: data & operations SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Validation Service Service API Service API Service API RSS internal internet listener registration service dependency injection LDAP Export Service API CMS Social API
    10. 10. SOA across the cloud: UI / Navigation / Process/Presentation SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Portlet API Portlet API RSS Deep link Interface CMS internal internet Deep link Interface Portlet API Portlet API ToDo RSS RSS News HTML Pages Social API
    11. 11. Demonstrating Deep Link Navigation SaaS A Service API RSS <ul><li>To Do list shows task “Handle promotion for Employee Scott” </li></ul><ul><li>Selecting this task will bring up a popup loaded through a deep link into SaaS A </li></ul><ul><ul><li>Presenting the ‘Update Job’ page with the details of Scott loaded </li></ul></ul>Portlet API HTML Pages Workflow Engine ToDo News
    12. 12. Demonstrating the SaaS Service API <ul><li>Create a new Employee </li></ul><ul><li>Call the SaaS API to propagate the new employee record </li></ul><ul><ul><li>Right after succesful transaction commit </li></ul></ul><ul><li>Inspect the new record in the SaaS UI </li></ul>SaaS A App D Service API RSS HTML Pages Portlet API
    13. 13. Demonstrating cross-cloud event listeners SaaS A App D Service API Service API RSS listener registration <ul><li>Register App D’s Update Employee service as Event Listener for SaaS event </li></ul><ul><li>Update a salary in the SaaS UI </li></ul><ul><li>Event is routed to the remote listener that calls the App D Service API that “does something with it” </li></ul>Portlet API DB
    14. 14. Social <ul><li>140 </li></ul><ul><li>Social Networking sites </li></ul><ul><ul><li>Twitter, Flickr, Facebook, Hyves, MySpace, LinkedIn, Plaxo Pulse, Ning, YouTube, … </li></ul></ul><ul><li>social, virale interaction, collaboration and content sharing; fast, brief, push, media, short lived, cross boundary, event-linked, activity & location, increasingly mobile, multi-channel, through various web-sites and services </li></ul>
    15. 15. Open Social API
    16. 16. Open Social API
    17. 17. Open Social API
    18. 18. OpenSocial API <ul><li>API implemented by major social applications </li></ul><ul><ul><li>REST API </li></ul></ul><ul><ul><li>JavaScript API </li></ul></ul><ul><li>API supported by Apache Shindig </li></ul><ul><ul><li>iGoogle gadget server </li></ul></ul><ul><ul><li>Your private social network </li></ul></ul>
    19. 19. Project Apache ESME <ul><li>Enterprise Social Messaging Experiment (ESME) </li></ul><ul><ul><li>secure and highly scalable microsharing and micromessaging platform </li></ul></ul><ul><ul><li>Apache Incubator </li></ul></ul><ul><ul><li>Based on LIFT and Scala </li></ul></ul><ul><ul><li>Private (enterprise) Twitter </li></ul></ul><ul><ul><ul><li>Bit like Yammer </li></ul></ul></ul>
    20. 20. Social trends <ul><li>Integration between Social sites </li></ul><ul><ul><li>Embeddable widgets </li></ul></ul><ul><li>Make money out of public space social networking </li></ul><ul><ul><li>Create widgets that attract people </li></ul></ul><ul><ul><li>Use social communities for product launch </li></ul></ul><ul><li>Social Networking features in Enterprise products – Portals, Web Applications </li></ul>
    21. 21. Social trends <ul><li>Social Networking features in Development Tools </li></ul><ul><ul><li>Chat in IDE, Twitter in build tool, RSS in SVN </li></ul></ul><ul><li>Development Community sites </li></ul><ul><ul><li>Project Kenai (Sun) </li></ul></ul><ul><ul><ul><li>Plugin for NetBeans </li></ul></ul></ul><ul><ul><li>Google Code, SourceForge </li></ul></ul><ul><ul><li>SlideShare </li></ul></ul><ul><li>Zembly </li></ul>
    22. 23. Zembly
    23. 24. Demo <ul><li>Show Zembly </li></ul>
    24. 25. Mobile <ul><li>“ SmartPhones are becoming predominant platform for consumers to interact with businesses” </li></ul><ul><li>Bilions of mobile devices running Java </li></ul><ul><ul><li>Including SimCards </li></ul></ul><ul><li>Running internet from a desktop is an old fashioned thing </li></ul><ul><li>Mobile devices have access to services like GPS, presence, SMS, BlueTooths </li></ul>
    25. 26. Sun wants to… <ul><li>Bring JavaFX to all mobile devices </li></ul><ul><ul><li>However: currently only some SonyEricsson and LG models (not yet available) </li></ul></ul><ul><ul><li>The Common Profile – mini(mal) JVM </li></ul></ul><ul><li>Larry says he envisions Oracle Sun to produce NetBooks and mobile devices (?) </li></ul><ul><ul><li>Along with Android (Java based) phones </li></ul></ul><ul><li>(promote) use of Java to exploit more capabilities in mobile devices </li></ul>
    26. 27. Rich (Ajax, Push, Fx) <ul><li>Enhancing User Experience </li></ul><ul><ul><li>Attractive & interactive (Web 2.0): media, AJAX, data visualization, animation, … </li></ul></ul><ul><ul><li>Active User Interface : Server Push </li></ul></ul><ul><li>RIA: Flex/Flash, Silverlight, JavaFX </li></ul><ul><li>DHTML – JQuery, Dojo, EXT-JS, … </li></ul><ul><ul><li>Enhancing, integrated with JSF, JSP... (PHP, Python) </li></ul></ul><ul><li>JMaki ?? </li></ul>
    27. 28. Server Push <ul><li>Push: server sends messages to client </li></ul><ul><li>HTTP does not allow Server to call Client </li></ul><ul><ul><li>Server can only respond to a request </li></ul></ul><ul><ul><li>A bit like homing pidgeons… </li></ul></ul><ul><li>So Client calls Server and server reponds…. when it has a message </li></ul>Browser Server Browser Browser X
    28. 29. Server Push <ul><li>Server Push is often called ‘comet style’ or ‘ reverse Ajax’ </li></ul><ul><li>The Grizzly framework provides Server Push support in Glassfish </li></ul><ul><li>Servlet 3.0 provides aysnchronous facilities that allow long-running requests to be handled </li></ul><ul><li>Atmosphere is a new project that does Grizzly for any Web container (Tomcat, Jetty, JBoss,…) </li></ul>
    29. 30. Demo <ul><li>Comet Style Application using Grizzly on Glassfish </li></ul>
    30. 31. Java FX <ul><li>JavaFX 1.2 released </li></ul><ul><ul><li>Not fully upward compatible </li></ul></ul><ul><ul><li>Introduces controls: button, input fields, checkbox, button, slider, radio button, … </li></ul></ul><ul><ul><li>Chart Components: bar, bubble, area, pie, line, 3D </li></ul></ul><ul><ul><li>Libraries for WebServices: REST, RSS, ATOM </li></ul></ul><ul><li>Authoring tools for Designers: end of 2009 </li></ul><ul><li>JavaFX Mobile – it is released, but not widely… </li></ul>
    31. 32. AJAX vs. JavaFX
    32. 33. AJAX vs. JavaFX <ul><li>AJAX (DHTML) </li></ul><ul><li>Really fancy things very browser dependent </li></ul><ul><ul><li>HTML 5 CANVAS tag for drawing graphics (2D APIs) </li></ul></ul><ul><ul><li>VIDEO tag for media support </li></ul></ul><ul><li>JavaScript performance varies </li></ul><ul><ul><li>Safari, Google Chrome are pretty good </li></ul></ul><ul><li>“ Threads” – Web Workers in FF 3.1 </li></ul><ul><li>Off-line: Fluid, Prism, Appcelerator </li></ul><ul><li>JavaFX </li></ul><ul><li>Immature </li></ul><ul><li>Mobile support ‘wip’ </li></ul><ul><li>Multi-platform </li></ul><ul><ul><li>runs as applet in browser </li></ul></ul><ul><ul><li>2-way integrated through JS </li></ul></ul><ul><li>Leverage Java platform </li></ul><ul><li>Rich Media support </li></ul><ul><li>Runs disconnected (off-line) </li></ul>
    33. 34. Integrating JavaFX and JSF <ul><li>JavaFX runs as applet in HTML page </li></ul><ul><ul><li>Multiple applets allowed </li></ul></ul><ul><ul><li>Parameters passed into JavaFX program </li></ul></ul><ul><li>JavaScript can access JavaFX program – pass parameters and call methods </li></ul><ul><li>JavaFX program can call JavaScript functions and (beta feature) manipulate DOM directly </li></ul><ul><li>Use Case: JavaFX applets to add animation, rich visualization & media support to JSF app </li></ul>
    34. 35. Demo <ul><li>Integrate JavaFX widget in JSF application </li></ul>
    35. 36. Product launch <ul><li>NetBeans 6.7 (beta) </li></ul><ul><li>JavaFX 1.2 </li></ul><ul><li>Glassfish v3 (prelude) </li></ul><ul><li>Later in 2009 </li></ul><ul><li>Spring Framework 3.5 (fall?) </li></ul><ul><li>Oracle Fusion Middleware 11g (1 st July) </li></ul>
    36. 37. Interoperability <ul><li>Make components work together </li></ul><ul><ul><li>Integrating Client technologies (Flex in HTML,…) </li></ul></ul><ul><ul><li>Client to Server </li></ul></ul><ul><ul><li>Across Technology Stacks </li></ul></ul><ul><ul><li>From event producer to event consumer </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><ul><li>Across vendors </li></ul></ul><ul><li>Multi Language JVM </li></ul><ul><ul><li>Scala, Groovy, JRuby, JavaScript, Java, … </li></ul></ul>
    37. 38. Interoperability
    38. 39. Interoperability <ul><li>REST </li></ul><ul><ul><li>http(s) + JSON/CSV/Text/XML/… </li></ul></ul><ul><ul><li>Simple compared to SOAP/WS* </li></ul></ul><ul><ul><li>Supported by JAX-RS (and Jersey) </li></ul></ul><ul><li>Frequently used for RIA to Business or Data Service </li></ul><ul><ul><li>For example JavaFX 1.2 has REST & RSS libraries </li></ul></ul><ul><ul><li>OpenSocial has REST API for server-server </li></ul></ul><ul><li>Need for more structure than ‘WADL’ </li></ul><ul><ul><li>Describe data format </li></ul></ul>
    39. 40. WS* <ul><li>Metro seems to replace Apache AXIS as defacto standard WS* implementation </li></ul><ul><li>JAX-WS (JEE 5/J2SE 6) makes most of Java-WS interaction declarative (annotation based) </li></ul><ul><li>Little or no support for Asynchronous Services </li></ul><ul><li>Surprising J2SE 6 feature: publish a WebService on a given end-point </li></ul><ul><ul><li>Useful for mock services for testing, receiving response from asynchronous service, … </li></ul></ul>
    40. 41. Demo <ul><li>Publish Web Service from J2SE 6 application </li></ul>
    41. 42. Event Processing <ul><li>Complex Event Processing vs. Intelligent Event Processing (?) </li></ul><ul><ul><li>SQL-like syntax, visual diagramming, CQL </li></ul></ul><ul><li>Embedding IEP in Java Application </li></ul><ul><li>Detecting Patterns </li></ul><ul><ul><li>Correlation, aggregation, exception </li></ul></ul><ul><ul><li>Continuous streams of events </li></ul></ul>
    42. 43. James Gosling’s Toy Show <ul><li>Java & Blue Tooth & WII </li></ul><ul><li>MIFOS – open source web application for Micro Finance (http://www.mifos.org/) </li></ul><ul><ul><li>New developers wanted! </li></ul></ul><ul><li>Project Bixby (Sun & Volkswagen, real time) </li></ul><ul><li>PlaySim, Java Card 3.0 (Java on SimCards) </li></ul><ul><li>DukeBox (www.check1two.com) </li></ul><ul><li>BlueJay – Java IDE for training/learning </li></ul><ul><li>Visuvi - picture recognition </li></ul><ul><li>Neil Young’s Car… </li></ul>
    43. 44. Future <ul><li>JEE 6 (September 2009, Glassfish v3) </li></ul><ul><li>Java 7 (Modularization) (February 2010) </li></ul><ul><ul><li>24/7 Java availability </li></ul></ul><ul><li>Java FX (mobile, authoring, on TV/BluRay) </li></ul><ul><li>Java Store (Fall 2009) </li></ul><ul><li>Sun Cloud </li></ul><ul><li>Java, Sun & Oracle (?) </li></ul><ul><ul><li>Oracle Open World, October 2009 </li></ul></ul>
    44. 45. Time for a drink <ul><li>Question and Answers first? </li></ul><ul><li>Presentations will be on our blog </li></ul>

    ×