Monday, October 24, 2011

Java One 2011 last day (6th of October)

1. Java Community Keynote
Video is available here.

2. Java EE Cluster Management Strategies by Chris Kasso (Principal Member of Technical Staff Oracle) and Jennifer Chou (Senior Member of Technical Staff Oracle) and Thomas Mueller (Principal Member of Technical Staff Oracle)
GlassFish development team members explained the main challenges while building Java EE cluster. Interesting talk. Could not find the slides.
Main topics and quotes:

Cluster management life cycle challenges:
- Configuration
- Monitoring
- Failures

Management strategies:
Centralized configuration management - data replication, highly available storage, operation replication (deploy,update). Server is NOT processing user requests.
Standalone instances - User or the 3rd party system do the work. Additional work vs freedom.
Distributed management - Master + "Standby masters". All servers are processing requests (Resin).

Instance management :
Centralized per-host controller talk to OS to start/stop services.

3. CDI Today and Tomorrow (open panel)
Panel was lead by Arun Gupta from GlassFish team. Panel members:
Pete Muir, RedHat, Spec Lead for CDI 1.1
Sivakumar Thyagarajan, GlassFish team
Davis Blevins, Apache OpenWebBeans
Reza Rahman, CanDI

Nothing really new. JBoss Weld will be taken as a reference implementation for the CDI 1.1

Quotes:
All existing CDI implementations already have a JavaSE mode
But CDI won't be in JDK
CDI 1.1 would have SE mode specified

4. Serialization: Tips, Traps, and Techniques by Steve Poole (Software Engineer IBM)
Steven is a JDK team member. A good metaphor was used to explain serialization tips - human teleportation.
Still looking for the slides :(
I'll pay more attention to this topics later on.

5. Java EE and Spring/MVC Shoot-out by Reza Rahman and Rohit Kelapure (IBM)
The drums of war thunder once again. From the other way around a good summary of JavaEE vs Spring features in one presentation. So it's up to you to decide which one is better for your particular problem. But I still don't understand why JSF is better than any of the Spring MVC presentation. You are free to have  your own opinion.

Slides are here.

 

That above is the last part of my JavaOne 2011 review posts, please contact me with your feedback.

Wednesday, October 19, 2011

Java One 2011 Day 4 (5th of October)

1. Building Secure, Interactive, Scalable Web Applications Easily on JVM with Lift by David Pollak (Lift Web Framework creator) and Indrajit Raychaudhuri (Committer Lift Web Framework)
A nice demonstration of the Lift Web Framework possibilities. Remind me both JSF and Portlets. Definetly should try this out.
Still looking for the slides.
Main topics and quotes:
Foursquare uses Lift
Some recommended matherials:
http://exploring.liftweb.net/master/index.html
http://simply.liftweb.net/
GitHub: https://github.com/tjweir/liftbook/

2. Project Coin in Action: Using New Java SE 7 Language Features in Real Code by Stuart Marks (Principal Member of Technical Staff Oracle)
One more about JDK 7 features. Recommended.
Slides here.

3. The Road to Java EE 7: Is It All About the Cloud? (panel discussion)
The panel consisted of the following people:
--Adam Bien, Consultant, Author, Java EE Expert
--David Blevins, Apache Software Foundation
--Emmanuel Bernard, JBoss Platform Architect, Red Hat
--Reza Rahman, Senior Software Engineer/Community Outreach Activist, Caucho Technology
--Linda DeMichiel, Java EE 7 Specification Lead, Oracle

Main topics and quotes:
Things to be small in EE 7
Change of deployment model
Containers should be lighter
API's first than cloud
Right step would be to have a cloud which supports JavaEE
Multi-tenancy should be addressed as a feature
PaaS deployment are missing business details
JavaEE 7 is not just about the cloud but service provisioning
Multi-tenancy is the challenge
Many JSR's are focused in the usage improvement
XML descriptors would probably come back

4. Asynchronous Job Execution in the Cloud by Alex Snaps (Senior Software Engineer Terracotta)
Alex summed up all problems which we are facing when doing a Task Scheduling and execution in a cluster and cloud.
Slides are here.
A PR talk about Terracotta products.

5. Patterns and Best Practices for CDI by Reza Rahman (Senior Software Engineer/Community Outreach Activist Caucho Technology) and Ryan Cuprak (e-Formulation Analyst Dassault Systemes)
The presentation is now available here.
The presentation on my mind is quite controversial. Probably the only interesting part is about scopes.
My conclusion:
CDI is a kind of unfinished spec with a lot of provider specific features.

6. Experiences with Java EE-Enabled PaaS by Anil Saldhana (Lead Middleware Security Architect Red Hat) and Scott Stark (Vice President - Technology Red Hat Inc)
Guys from RedHat presented main features of the OpenShift - Java PaaS from JBoss. I liked simply explanation about "what's in there". BTW Puppet again. Security aspect was also covered.
It's a pity that I could not find the demo code.
Slides are here.
Recommended to all that wanted to start with JavaEE PaaS.

Friday, October 14, 2011

Java One 2011 Day 3 (4th of October)

Straight to the presentations:

1. Java Strategy Keynote
Once again you are welcome to see the full video:
http://medianetwork.oracle.com/video/player/1176404813001

2. Java Enterprise Applications in the Cloud: Fast, Fun, and Easier Than Ever by Gordon Dickens (Consultant/Instructor/Mentor Chariot Solutions) and Stefan Schmidt (Software Engineer Spring Roo VMware)
I was very impressed by the presentation. Simply because it took us a lot of time to have an app deployed to GAE and now it's done ... very fast. OK this is a petclinic/pizza shop app, but is has all the infrastructure. DB reverse engineering feature is awesome.

By now found only this one:
https://github.com/gordonad/spring-roo-heroku


3. Infinispan by Manik Surtani (RedHat, spec lead for JSR-347)
First time I heard about Infinispan at GeeCon this year. Emmanuel Bernard mentioned it during his Hibernate OGM presentation. Infinispan is the distributed transactional KV storage. JBoss insist that Infinispan is more DataGrid or Distributed cache than a KV NoSQL storage.
Could not find the presentation slides :(.

4. Java EE on Google App Engine: CDI to the Rescue by Ales Justin (Software Developer Red Hat inc.)
Basically the presentation was a case study on how to use CDI (JBoss Weld) with GAE and why it's needed. Have only a few notes about it. Probably it was not very useful for me.Could not find any material about this talk by now. I'll try to add some later on.

5. Strategies and Best Practices for Highly Scalable Java Persistence Applications by Doug Clarke and Gordon Yorke (both from Oracle)
Great presentation with a set of practical advices on JPA optimizations.
Could not find the slides for this particular presentation but found Gordon' slides about EclipseLink:


Main topics and quotes:
Measure performance in regression
Providers have profilers already
Inspect @Cachable
Mapping optimization - balancing between Single table and Table per class
Use @Embedded or @Embeddable instead of @OneToOne
Pay attention to collections
Use projection, pagination, named queries, query caches
Keep number of managed entities small
Threads could be bottleneck on synchronization access
Consider locking

6. JSR 343: What's Coming in Java Message Service 2.0 by Clebert Suconic (Principal Developer and HornetQ project lead Red Hat) and Reza Rahman (Senior Software Engineer/Community Outreach Activist Caucho Technology)
A great overview of the upcoming and existing JMS features.
Still looking fro slides.
Topics and quotes:
JSR 343 - JMS 2.0 early draft
JMS has many wrappers just because it's not comfortable to work with it
JMS 2.0 is about API improvement
Reducing number of classes
Attention to multi-tenancy

7. Are Your Garbage Collection Logs Speaking to You? by Kirk Pepperdine (Performance Specialist Kodewerk Ltd.)
It's always a pleasure to be at Java Champion presentation. Very informative. A reminder that GC logs is important to read and systematically analyze. Looking for slides.

8. How Do You Update Your Java EE App in Production? by Jevgeni Kabanov (CTO ZeroTurnaround)
A presentation from JRebel creator. Quite interesting analysis of existing situation on product redeploy in production. LiveRebel product PR. But there are two tools that I decided to invest my time to Chef and Puppet



General stuff:
Try out SpringRoo with Heroku, CloudBees and CloufFoundry

Java One 2011 Day 2 (3rd of October)

On the Conference second day JavaOne moved to it's own place. Oralce OpenWorld stayed at Moscone Center and JavaOne moved to Hilton San Francisco, Nikko and Parc 55.

1. JavaOne Technical Keynote

Could be found at http://medianetwork.oracle.com/video/player/1176404809001

You should watch it. No comments.

2. Best Practices for Migrating Spring Applications to Java EE 6 by Bert Ertman and Paul Bakker from Luminis Technologies

Quite a controversial topic, but quite interesting from the technical perspective. Starting from this particular talk I understand that JBoss started a war with SpringSource for the 1st place among JavaEE platforms.

 




 

Topics:

Spring is the proprietary framework developed by a vendor who is in virtualization business

Spring does not support JavaEE

Spring + Tomcat is slower not faster than modern JavaEE containers

AOP = Evil

Source code could be found here.

2. Continuous Integration with Jenkins by Kohsuke Kawaguchi
It's nice to see the Hudson/Jenkins creator. Great talk but the first part was quite abstract and targeted to prove that Jenkins it better than Hudson and that Eclipse is wrong by supporting the last one. Still could not find the slides.

Interesting topics:
Jenkins now is not only the CI server but the code reviewer and test system. Kohsuke showed a useful integration with Gerrit, when the tests are run against the local branch before the code is pushed to a server.
This could not be reproduced for the mercurial, but there is a workaround for SVN.


3. Apache Cassandra for Java Developers by Nate McCall @zznate
Nate quickly explained the Cassandra basics and jumped to the API (Hector). The presenter speed was quite high so I tried to do my best to be on the same page. As a result a could not remember most of the presentation :(

GitHub: https://github.com/zznate/cassandra-tutorial
https://github.com/zznate/hector-examples
Main topics and quotes:
Cassandra has no ACID transactions
Static/Dynamic column families
Pre-calculated query results
Column family templates - analogue of Spring JDBCTemplate
Take a look at Hector JPA (GitHub)

4. Project Jigsaw: Putting It Together by Mark Reinhold (Chief Architect, Java Platform Group)
Mark explained the problems his team faced while developing new packaging/module system for Java. Could not find the slides.

5. JVM Bytecode for Dummies (and the Rest of Us Too) by Charles Nutter (JRuby Architect Engine Yard)
Charles probably the first person who explained using simple examples what is bytecode actually is. I'll probably post more in this topic later on.
The first person who answered the question about finally block :)



6. Simplify Your JMS Code with Spring by Bruce Snyder (Senior Software Engineer SpringSource)
Bruce explained features and usage of JMS template in Spring. Some of the stuff I already knew, some of it I was not.
Slides.
GitHub: https://github.com/bsnyder/spring-jms-examples



General topics:
Pay attention to the Arquillian framework

Thursday, October 13, 2011

Java One 2011 Day 1 (2nd of October)

This was not actually the JavaOne first day. Some sort of training day :) Keynotes, main presentations as well as exhibition and demo are starting at Day 2.
Impressions:
Moscone center is really HUGE. I haven't seen anything that could be compared to this place. Probably the one of the biggest exhibition centers in the world.
Presentations:
1. MySQL: Don't Be a Rookie Forever—Be in Command (Line) by Giuseppe Maxia @datacharmer
Great talk. Quite technical. Found a lot of stiff for myself. Felt satisfied because I'm not the only one who are using MySQL command line. Recommended to watch the presentation, read the author books. Listed below. Topics and quotes:

Giuseppe recommends to use Unix pipes for query execution. Aliases is very useful (i.e. alias myself =mysql). There are batch mode and table mode for the query results. Functions usage with $(function).



2. Importing and Exporting Data Between Hadoop and MySQL by Sarah Sproehnle
Interesting talk. Found a lot of interesting about Hadoop and it's tools. Sqoop allows to import data from RDBMS to have some sort of general data storage in Hadoop. Hive is the SQL for NoSQL.
Now I know more about Cloudera products.
Slides are here.

3. Explaining the EXPLAIN in MySQL by Ronald Bradford
Everything about EXPLAIN that I didn't know and always tried to find out. Slides.

4. JCP members panel
A very disappointing talk for me because the JUG's are weak in Ukraine and in particular in Kyiv. JCP members explained the new JCP approach to the specification development. New approach means that JUG should should influence more on the expert groups. Because specs developed only by vendors expert groups are far away from the "trenches" and not useful on a real projects.

Books:
Unix power tools
Big data analysis with Hadoop MapReduce (article)