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

Report From JavaOne 2009 - part 3

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