Hobione's Weblog

Living & Breathing in Web 2.0 Era

JavaOne 2009: Day four

This is it. Last day of JavaOne or may be the last JavaOne. No body knows what’s going to happen to JavaOne under Oracle umbrella. I just hope for the best and wising to come back again right here in San Francisco. The entire general session was hosted by James Gosling. He handed Duke awards to several outstanding project team include Terracotta.org and Grameen Foundation.org etc.  The project name for Grameen Foundation is MIFOS.  I do feel connected to Grameen foundation and their effort to defeat global poverty and also support Dr. Yunus.

IMG_0117 IMG_0118 IMG_0119

Conversations and Page Flows on the Java: I took this session with Dan Allen who is the author of Seam in Action book. He talked the concept that Seam and Spring Web Flow both introduce, a conversation context whose purpose is to maintain state that pertains to a use case across a series of pages. Dan also covered,

  • The definition of a page flow
  • How page flows are developed in Seam
  • How page flows are developed in Spring Web Flow
  • Seam’s ad hoc conversations

He recommended use Seam with ICEfaces since ICEfaces is a single page application but Spring will work as well.  In JSF 2.0, this conversation scope will be part of the framework.

One to one discussion with ICEfaces core Developer, Judy:  Here are some of her tips for my current HR training application:

  • Add a search to find a class
  • Eliminate white spaces
  • Break code to more XHTML files
  • Show stuff only it is needed on the page
  • Every action has to be happen in 1 (one) second

Here is the picture with me and Judy:  Thank you Judy for your helful tips and sat down with me while everyone was rushing to go home in Friday afternoon.  Appreciated.
Judy
Bye bye JavaOne, bye bye San Francisco.  It was such a quick 5 days for me.  My head is stuff full of good information, hopefully I get to use some these tips and techniques before I forget ’em.  Until next time I will be tune in Tony Bennett – I left my heart in San Francisco and Scott McKenzie or with Global Deejays.

June 5, 2009 Posted by | JavaOne | Leave a comment

JavaOne 2009: Day three

1. Unit Testing That Sucks Less: Small Things Make a Big Difference: Neal Ford talked about different testing tools like Jester, MockRunner, Hamcrest, Groovy, RSpec/EasyB, and Selenium. He showed how Groovy can help test java code. He also mentioned about Unitils.org as well with dbUnit.

2. Writing Killer JavaServer Faces 2.0 UI Components:   Kito Mann showed ease of use and component development in JSF 2.0.  He demoed and did walk through process of creating UI components.  He introduced few facelets tag like, <ui:repeat>, <f:ajax>.  He talked about annotation and resource hanler as well.

3. Visual JavaFX Techlonogy-Based Design with JFXBuilder:   I was very excited to take this session.  Josh Doenias and Jeff martin did an excellent job to demostrate thier live code demo.  They developed a movie database application using drag and drop JFXBuilder tool.  The tool only has been around six months but I do see a great future of this tool and looking forward to use it in near future. Here is the tuturioal for Databox.

4. Best Practices for Large-Scale Web Sites: Lessons from eBay: * Randy Shoup, had worked for Oracle in 8 year now Distinguished Architect in eBay.  He gave an outstanding presentation in Javaone.   Here are interesting inside information he gave us during the session:

  • Over 80 millions active users
  • 100,000 line of code get released every two weeks
  • 16,000 java application server a day
  • No HTTP session
  • No EJBs

Here are 5 best practices for Internet Scale:

  1. Partition Everything: If you cant split it, you cant scale it.
  2. Asynchrony Everywhere
  3. Automate Everything
  4. Remember Everything Fails
  5. Embrace Inconsistency
Randy Shoup RandyRandy @ eBay

5. Keeping a Relational Perspective for Optimizing the Java Persistence API (JPA):   Debu and Reza took a deep dive to JPA and explained how to use JPA in details.  Here some keynotes I jotted down from this session:

  1. De-normalize tables
  2. DDL runs faster then DML
  3. Lazy loading: How and When will it load:  Look for user name.  It is a good candidate for eager loading.  Searing for Blob, it could be a lazy loading candidate.
  4. Native query: Be careful.
  5. Name queries
  6. Why is caching important
  7. Add second level cache
  8. Locking table, use diagnostic tool (i.e. Terracotta)
Debu and Reza email Pavillion

My co-worker and I had a long discussion after took this session and here we came up with this desgin to share middle tier from different modules in iDMS application.

Share middle tier in between different modules.

June 4, 2009 Posted by | JavaOne | Leave a comment

JavaOne 2009: Day two

I was lazy this morning so I skipped the General Session.  They had a big announcement on Java 7 and JEE 6.  Oh well, I was tired.   So anyway, here are some of my favorite sessions of the day.

1. Maven:  Took this session with John F Smart, a New Zealand java geek.  It was very helpful session.  He talked about <exclusion> tag in maven and showed pom.xml in gui view.  He mentioned about project inheritance  in Maven.  Super pom file –> Child pom file.  So what kind of stuff can you put in super pom file?  Answer was, stuff you share across and easy to maintain.  He mentioned about centralize reporting and also talked about Inheritance: Bottom up and Aggregation: Up down.

Word of advice:  If you want to make it standard, you want to make it available everywhere.

2. Resfull Webservices:  Took this session with Marc Hadley and Paul Sandoz.  They have touched in various area using JAX-RS includes:

  • Mapping URLs to java class files and methods
  • Handling HTTP request for common HTTP methods
  • Obtaining parameters from the HTP request
  • Using MIME media types and mapping representations to MIME media types and Java Programming language types

Marc mentioned to be careful with regular expression.  He showed a sweet command for Firefox browser: about:config.
Future: Restful 2.0 is underway.  Mime multipart, templating and more integration with JSF 2.0.  Here is the slide show.

3. HtmlUnit: Testing Web app: Daniel Gredler and Ahmed Ashour explained how a top-to-bottom integration testing works and ensuring Web application quality.   HtmlUnit is a 7 years old product, 100% java, open source.  It runs inside the JVM.  It does integration testing, screen scrapting.  They also explained,

  • The two approaches to Web app integration testing: browser simulation and browser driving.
  • The cons of the browser simulation approach.
  • The pros of the browser simulation approach.
  • Key extension points provided by HtmUnit.

Daniel also mentioned about JSF Unit as well.


4. Coding Soap and Rest together (TS-4883): Martin Grebac and Jakub Podlesak explained when you need soap and when you need rest.

Why SOAP:

  • Contract already known
  • Security
  • QoS: No functionl requirement

Why Rest:

  • Simplicity
  • Scalability
  • Serendipity

They also mentioned about not to fall into RPC over HTTP and annotation.  He indicated Rest-RPC hybrid and gave a demo with JavaFX with webservices (soap).
Link: metro.dev.java.net

Java EE 6, Glashfish V3 and Hudson demo:  I have attended to a GlassFish 2009 unconference party at the Hotel St. Regis where they have a demo setup for all upcoming products.  I talked and networked with several Sun employees and product managers about their products.  It was very nice to meet them in person and discuss  as well.  I have brought up our Glassfish support issue with Glassfish product manager, Abijit and Nazrul.  Kohsuke Kawaguchi gave me a brief introduction on Hudson continuous integration and how to set up a test automation environment.  It was very informative.  BTW, Hudson has a plugin for CA Harvest as well.

Good News:  A hot development can be done with JavaEE with Glassfish V3 and light Ejb3 also available as well. *

Glassfish Unconference EE 6 Java = Everywhere

5. BOF: JavaServer Faces Platform and Ajax: State of Union:  This was my first Bird of Feather in this year.

  1. Ted Goddard (ICEfaces Framework)
  2. Andy Schwartz (Oracle ADF Faces / Trinidad)
  3. Alexandr Smirnov (RichFaces [Ajax4JSF])

Ted Godder-ICEFaces

Each of these individuals is a JavaServer Faces 2.0 Expert Group member who has contributed to the specification.  It was a demo and Q&A session.

6. BOF: Writing a JavaServer Faces 2.0 Compoenent:  Jim Driscoll and Ryan Lubke showed how easy to write fully reusable JSF composite component using Facelets, XHTML tags.

7.  BOF: SOA: Aaron Mulder* from Chariotsolutions explained many of the key open-source options: Java Architecture for XML binding (JAXB), SOAP and REST (CXF, Axis), ESBs (OpenESB, Mule, ServiceMix, JBossESB), messaging (ActiveMZ), goverance (Galaxy), BPEL (ActiveBPEL, ODE) and more.  Arron gave a big-picutre view of how you can start building an SOA with low-cost tools.  Click here for the slide.  I have discussed Arron with our current iDMS architecture and he suggested that adding web services in our service layer make things slow down unless we have a reason to have web services in place.  He also mentioned about Spring Web Services as well since we are already using Spring for our Service layer in iDMS.

June 2, 2009 Posted by | Java core | Leave a comment

JavaOne 2009: Day One

Attended the general session with Johathan Schwartz, chief executive officer and president of Sun Microsystems.  The highlight was, how Java has evolved in past 14 years.  Java is everywhere from a small device to all the way to Mars. He brought eBay as an example.  eBay is a 100% java shop, $60 billion merchandises were sold in 2008, 60 million transaction per second.  Other guest presenter were, Blackberry, Blue-ray, Intel (Atom processor).  JavaFx was big part of the whole session.  James Gosling showed about RuneScape game and mentioned about store.java.com. It was nice being witness of Larry Ellison and Scott McNealy‘s handshake to watch live.

What does a leadership mean? It means Courage.
1. Ejb 3.1
2. Servlet 3.0: Annotation was introduced, no web.xml, asynchronous servlet

Spent rest of the day in Java Pavillion to network and discussed issues with Icefaces, Liferay, Teracotta, Spring and many other vendors.  I had a face to face conversation with Brian Chan, the Liferay Portal inventor.  He gave few web urls as a Liferay real life example.   www.nba.com is one of them.  I met with Wesley Reisz in Liferay booth who is a contract employee for U.S Army and seriously thinking to use Liferay instead of  Glassfish Web Space.  By the way, Glassfish Web Space is built on Liferay portal.

liferayBooth

I also met Judy Guglielmin, who is the core developer for ICEfaces api.  We had a great conversation about ICEfaces and also about my current application that I have been working on.  She gave me ICEFaces T-Shirt for all my teammates.  THANK U, Judy.

June 2, 2009 Posted by | JavaOne | Leave a comment

JavaOne 2009: Java University & CommunityOne

JavaOne! Wow!  What a kool place to be as a Java Developer.  Actually this is the best conference for any Java Developers that is loaded with stuff and not much fluff.  I have been pumped up to attend this year JavaOne since my Team Lead and Branch Manager have approved the request. This is my third years in JavaOne so my cohort and I’ve decided to come a day early to explore the beautiful San Francisco a little closer.  We wanted to take a bike ride yesterday (May 31, 2009) and cross the Golden Gate bridge but weather was not in our favor instead we went to see Coit tower, that was awesome.  We had some world best Clam Chowder at the Fishermen’s Whraf and smoke some good Cigar.  It was fun.

JavaOne has grown so much. They are adding more stuff every year. Today I have attended in general sessions for little bit with David Douglas.  Cloud computing was hot topic.

Cloud computing

I supposed to attend in whole day a special session on SOA but I only able to take the first half of the course. I think it was kind of boring because instructor chose to deliver the concept of SOA instead of how to do it method.  I do understand that SOA is a complicated concept to teach in eight hours but anyway, I have taken these following Community One sessions after lunch hour:

1. Glassfish application ServerAdam Bien gave us a tour of Glassfish Admin Gui for V3 and talked about how a Portal server can run in Glassfish.  He refused to make comments on Oracle app server vs future of Glassfish server.  www.glassfish.org/portal.  Adam also mentioned about jFluidProfiler, a new way to profile a java application.

2. JSF/Portlet/Ajex Push: Ed Burn and Neil Griffins talked about JSF 2.0 and how Icefaces will behave with this new version of JSF.  One good thing out of many in JSF 2.0, it has built in Facelets support, which is very cool.  Ed explained Inter Portlet communication VS. Inter Browser communication.   Neil showed that how easy to build composite components in JSF 2.0.  Question was asked about ICEfaces + Clustering, Neil told us to go look at his blog for it.

3. Hibernate ScalibilityTerracotta.org showed how it can help to high-scale Spring and Hibernate reference application.  Terracotta is a open source project and current version is 3.1.  Terracotta received Duke’s choice award in last day of conference. Highlights of topics are:

  1. When to use second level cache
  2. When to detach your conversation
  3. Recognize non-relational data
  4. Open session in view
  5. Examinator use case:
    • Password reset
    • Single signon

4. What do we need to know about creating and running a scalable websiteZembly.com presented some cool tricks and tips to create Facebook application.  Shared their experience of weekly one hour holistic testing before product gets released.

June 1, 2009 Posted by | JavaOne | 1 Comment