TSSJS – Presentation Slides Now Available!

I'm Speaking at TheServerSide Java Symposium Our slides from TheServerSide Java Symposium are now available online for a limited time! You can view the presentations below, or click on the title link to view/download them on slideshare.

1. GWT Roundup: An Overview of Google’s Web Toolkit and Hybrid Integration, presented by Scott Selikoff.

2. Throw Away All The Rules. Now What Process Do You Follow?, presented by Jeanne Boyarsky.

Live from TSSJS – Closing Keynote

Currently sitting listening to Cameron McKenzie, the MC this event, who is presenting the final keynote for TheServerSide Java Symposium.  Jeanne and I both missed out blogging during the previous session as she was giving her talk on process management and I was taking part in a client-side web panel discussion.

1.  Pervasive Java

Cameron says, “The Learner Will Eclipse the Teacher”, and he’s referring to the fact that Java is being used in new and unique manners.  New frameworks and languages are being built on top of Java and gaining support from active communities every day.

Cameron also quotes James Gosling, who gave the opening key note for the symposium and said, “You can create whatever you want”.

2. Job Security
Cameron talks about the most desired Java-based skill sets on monster, such as WebSphere, EJB, Spring, etc.

3. A Year of Revolutions
Cameron reminds us that in the past year, the technology of today helped to spawn the types of revolutions that haven’t been seen since the printing press.  In this manner, the revolutions may not have succeeded with the technology.

Cameron compares today’s developers to the first printing press, or in more nerd-like terms, Star Trek’s Zefram Cochrane, who brought a new age of human civilization based on fundamental changes in technology.

4.  We’re driving the revolution
Developers have become very democratic and community oriented and have helped grow technology in very unique and often unexpected ways.

Even though we might not be the developers who wrote the social media applications Egypt and Libya used, we have contributed in our own ways that have driven the ‘moment’, such as posting, bug fixing, flaming posts, helping, as well as drinking and socializing.  He joking points out, the Greek meaning of the word Symposium is a social event of drinking and celebration.

Cameron points out that there are certain things we should and should not judge.  For example, if Facebook changes its privacy settings, we should be judging it to know if we’re all effected by the actions of that company.

5.  Life as a Java Developer
Cameron tells a story about Hennig Brand who discovered phosphorus while searching for gold, by boiling urine and experimenting on the residue.  The result was one of the first elements in history to be isolated, that doesn’t occur free in nature.   Cameron then says that for a Java Developer, “Every day is like boiling massive vats of urine”, which received much laughter from the audience.

6.  We are the Revolution
Cameron tells the story about how companies trade, use, and track user information, often without their knowledge.  Companies then make decisions about this data that effect customers but never openly admit how they arrive at these decisions.

Cameron was working in Canada and discovered personal data was being transmitted and despite promises of protection, none of the data was secure.  He wrote letters and spoke up and was able to get the company to slow down and reconsider its plan.

Conclusion
Cameron concluded the talk by thanking the sponsors, vendors, speakers, and participants for taking part in the symposium and helping to build a better, stronger develop community.

Live from TSSJS – Lightweight J2EE with Adam

For my final TheServerSide Java Symposium breakout session for the day, I am attending “Lightweight Application Development with Java EE 6” presented by Adam Bien.  Adam’s talk is in part an attempt to bring former J2EE developers (myself included) back to the table who may have been driven off by previous, heavy-weight J2EE implementations, such as J2EE 1.4.

Adam spends most of his presentation actually building a simple Java EE 6 application on the fly, using Casino/Police/Mafia metaphor (since this conference is in Las Vegas).  I’ll try to capture the highlights in this blog, but the code itself says volumes about how simple to use Java EE 6 has become.  He develops in NetBeans IDe 6.9.1 with Glassfish as a web server, deploying everything as a WAR.

1.  Simplifying Code with Annotations
Java EE 6, like Java EE 5 before it, solves a lot of complexity and deployment issues through Java 1.5’s creation of annotations.  Adam shows a code example of a Stateless session bean is essentially just a POJO with the @Stateless annotation.  The only required import is “javax.ejb.Stateless” for the annotation to reference.

2.  Interceptors
Java EE 6 supports @Interceptors that redirect business methods for a better separation of POJOs and business logic.  Serves as a filter for business methods.

3.  Dependency Injection
The @Inject tag allows you create instances of related objects that live as long as the parent module.  Easy to create events and inject them into classes.

4.  Qualifiers
Adapted from Spring, helps control event ordering as far as which observer gets the message.  The annotation @Qualifier is used on the class level with a @Retention and @Target parameters.  The listener can then be updated to only listen to events of particular types or values.  Furthermore, they can be use for filtering on events which is useful for batch processing.

5.  Messaging
Java EE 6 supports @Asynchronous annotation for creating messaging handlers.

6.  Interfaces
Similar to previous versions of J2EE, you can define an interface for a session bean and use references to the interface instead of the concrete class.  Compiler throws an error if you try to inject an interface with no concrete implementation.

7.  J2EE and Spring
Adam recommends not mixing the two, and building entirely in Spring xor J2EE 5 or 6.  The features are very similar between the two and mixing them can be complicated.  One of the major new features of Java EE 6 is REST integration.

Conclusion
Adam did not present any slides, but built a quite impressive Java EE 6 application on the fly with very little code.  Everything he built deployed instanteously on his MacBook, and was accessible from the web browser right away.  Adam pointed out not all computers or operating systems build as quickly.

I asked Adam if he would be posting his code online since it was quite educational.  He said he will once he is back in Germany.