JavaOne day one
First day of JavaOne. I got my Starbucks "Non-Fat, No Whip, Grande Mocha" and headed for Mosconne ... here are my notes from the sessions I attended.
General Session: morning
- introductions from John Gage
- talked about the sensors used throughout the conference, enter / level room, ir beams on all the doors
- using RFID to check access to the sessions
- power is being measured at the conference. and there's CO2 sensors.
- video ... who will you be today ...
- Rich Green:
- announcements today
- are you told which search engine to use
- consumers are making choices ... even in the enterprise ... hand held devices
- lots of competition for consumers' eye balls, they now have choices
- need intuitive / easy / simple compeling environment
- Ian Freed, amazon.com kindle
- device, content and services
- change book into another book, newspaper, browser
- uses 3G wireless
- buy the book, sent to the device
- Rikko Sakaguchi, Sony Ericsson
- walkman phones
- java core to the technology strategy and vision
- the screen/desktop is less and less important ... it now just a view port into the networked services.
- rich internet apps: great UI,
- need collaboration: developers, designers, artists ... small teams working together
- creating the experience can take "too long"
- people building on the work of others.
- demo:
- connected life, integrated social network feeds. built using JavaFX, facebook, twitter and flickr. move from browser to desktop
- JavaFX 2D and 3D demos with videos
- mobile devices: 2.2 billion devices, one runtime, one interface.
- JavaFX roadmap
- Java 6 update 10 preview release
- july: SDK early access
- fall JavaFX Desktop 1.0
- spring: JavaFX ____ and TV 1.0
- Glassfish v3: modular design
- new kernel 98K, loads in 1 second
- modular components: http listener, sip, etc.
- Sun largest provider of open source software
- glassfish, strong growing community, rate is increasing
- mysql, 65,000 downloads / day
- netbeans, wasn't only about java (other languages) join the eco systems, 44% growth year/year
- OpenJDK, latest ubuntu release 8.04, redhat / fedora
- bring technologies together to create a services platform, Project Hydrazine
- a platform to design, build, deploy, manage services
- Find, Merge, Deploy, Share, Monetize
- Project Insite
- new advertizing models, actions of users
- JavaFX will have instrumentation, access user data
- Jonanthan Schwartz:
- battle emerging for next platform ...
- reach more devices on the planet
- need to make it compeling
- java platform, more insite into the content, how users operate, we are out-of-the-loop
- this will all be free, travel where ever the market will go
- Neil Young:
- Rocking in the free world
- java.com/neil_young
- sound challenges years ago
- BlueRay demo
- battle emerging for next platform ...
JRuby: What, Why, How ... Do it Now
- Ruby, simple, productive, and fun.
- main language is writen in C
- pure object oriented language, no primitives
- dynamically typed, "duck typing". very loosely typed
- classes and modules, single inheritence
- blocks ... anonymous methods, pass around and invoke
- quick tour: metaprogramming, open classes, special handlers
- JRuby: it's just ruby on top of the Java platform, improvements: native threading, better performance
- Interactive Ruby Demo:
- What are people doing with JRuby?
- Swing: framework tools / projects: cheri, monkeybars
- Tooling: NetBeans is the most popular
- Pretty Graphics: ruby-processing library
- Intoducing Ruby on Rails:
- full stack web framework (MVC)
- written in ruby
- convention over configuration
- don't repeat yourself, how DRY is your code
- agile development environment
- Why JRuby on Rails
- greatly simplified application development
- create apps quicky
- deploy to app server
- easy integration with exiting java technology
- better performance
- Production JRuby on Rails
- Oracle's Mix
- Suns Mediacast
- ThoughtWorks' Mingle
- Sonar - code/project analysis tool
JAX-RS: The Java API for RESTful Web Services
- REST Primer
- www.inoq.com
- Give everything an ID ... a URI, everything has to have one
- Link things together, send receive data
- use standard methods: GET, POST, PUT, DELETE
- multiple representations:
- formats: XML, JSON, XHTML
- maximize reach
- support content negotiation:
- stateless communications, long lived identifiers, avoid sessions, all needed data is within the request
- common patterns;
- Container, Item example: Atom publishing protocol
- Map, Key, Value: example: Amazon S3
- Key benefits:
- server side: scaling, straightforward failover, cacheable, reduced coupling
- client side: bookmarkable, experiment in browser, broad language support, choice of data formats
- Everything is an ID
- Thing == resource class
- ID provided by @Path annotation
- Link Things together
- UriInfo, info about deployment context
- UriBuilder, construct URIs
- Use std methods
- @GET, @POST, @PUT, @DELETE, @HEAD
- @HttpMethod
- Mutiple repesentations:
- @PRoduceMime, @ConsumeMime
- Demo: expose java system properties
- Need to get the firefox plugin called "poster", very cool
- JavaSE RuntimeDelegate
- Jersey supports Grizzly
- In public review, july final draft, final release in september
- BOF @ 8:30 BOF-5613 - Jersey: RESTful Web Services Made Easy
General Session: afternoon
- Project Hydrazine
- Java EE 6
- Theme ... rightsizing, flexibility, focus on segments of development community, simplify
- Profiles: resource injection, security, naming
- web profile
- uses the JSR process
- Pruning: certain technologies optional, depricated interfaces / features
- Extensibility:
- embrace open source libraries and frameworks
- level playing field for extensions
- scripting languages as first-class citizens
- More ease of development: focusing on the web container
- annotations across web apis
- no editing of web.xml
- self-registering third-party libraries
- restful web services (jax-rs): example for activity log
- scripting as an extension
- Glassfish v3:
- Modularity
- extensible
- OSGi-based
- small foot-print, fast startup
- multiple containers: ejb, web, scripting
- mutliple language support: Jruby/rails, Jython/django, groovy/grails, javascript
- Java SE 6:
- web servces api
- scripting languages
- updated db apis
- swing enhance
- monitoring / management
- compiler apis
- pluggale interface
- 2008:
- over 7 million java developers, 700,000 jdk/month, 90.7% of PCs have java pre-installed
- avg 48 million / month, JRE downloads
- OpenJDK:
- ubuntu core installed
- apple has announced SE6 on leopard
- Java SE roadmap:
- performance release JRE 6u5p, setting new records
- JRE 6u10
- 7 next summer
- SE 7:
- modularity
- support more code reuse, first-class modules
- define a concrete file format, JAM
- OSGi bundles
- multiple langs
- remove lang dependancies in the JVM
- JRuby is first customer
- bytecode for dynamic invocation
- DaVinci Project
- rich client support
- Applets are back: new runtime: 6u10, shrink inital download size, quickstart
- modularity
- JavaFX Applets: take applets from the web page to the desktop (demoed on windows)
- Wanting a media codec within the JDK, on2 technology into the javafx technology, any video anywhere
- Demo: Parleys.com
- Demo: Live Connect
- Demo: Blending Worlds: bridging developers and designers
Secure Mashups and OpenAJAX
- Origin, today 200 toolkits
- Initiatives to drive interop; between components and browers
BOF: Jersey: RESTful Web Services made easy
- JSR-311
- in NetBeans 6.1, Glassfish v2/v3 update center
- release 1.0 in September
- join users@jersey.dev.java.net
- Features:
- WADL
- JSON with JaxB Beans
- Good support with jMaki
- Containers:
- IoC
- MVC
- client: great for testing
- Reload
- Comet
- Demos
- Secure PUT & POST
- SunSPOT
- smatch.com
BOF: REST vs. SOA - can we all just get along