Adam Bien's Weblog

Saturday Jan 30, 2010

Free JUG Session In Hamburg - Real World Java EE Patterns - Rethinking Best Practices

At 02.02.2010, 8 P.M. I'm going to give a free JUG talk about Java EE 6 / 5 cool stuff and best practices in Hamburg.
We will discuss the relation between Contexts and Dependency Injection (CDI / JSR-299), Dependency Injection for Java (JSR-330) and EJB 3.1 - the lightweight components :-) Also the new Java EE 6 stuff like: stereotypes, interceptors, decorators, validation, REST + EJB 3.1 are going to be covered.
The Java EE 6 impact on architecture, build and test will be discussed as well. Heretical questions are especially welcome - this is a JUG session so it should be interactive fun.


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Monday Dec 28, 2009

W-JAX 2009 Sessions And Workshop Evaluation Results

---------------------------------------------------------------------
Session: Real World Java EE Patterns - Rethinking Best Practices

(Rating system: 1=excellent, 2=good, 3=fair, 4=unsatisfactory, 5=inadequate)

Speaker competence:			1.0
Coherence of presentation:		1.3
Useful information for your work:	1.6
New ideas presented:			1.2
Total:					1.3

Comments:

---------------------------------------------------------------------
Session: Was schafft man in 60 Minuten? - Live "On Stage" Java EE 6 Hacking

(Rating system: 1=excellent, 2=good, 3=fair, 4=unsatisfactory, 5=inadequate)

Speaker competence:			1.1
Coherence of presentation:		1.4
Useful information for your work:	1.9
New ideas presented:			1.7
Total:					1.5

Comments:

---------------------------------------------------------------------
Session: Cloud Computing ohne Buzzwords - Und wie sieht die Zukunft aus?

(Rating system: 1=excellent, 2=good, 3=fair, 4=unsatisfactory, 5=inadequate)

Speaker competence:			1.2
Coherence of presentation:		1.2
Useful information for your work:	2.0
New ideas presented:			1.7
Total:					1.5

Comments:

---------------------------------------------------------------------
Session: The Future Of Enterprise Java

(Rating system: 1=excellent, 2=good, 3=fair, 4=unsatisfactory, 5=inadequate)

Speaker competence:			1.3
Coherence of presentation:		1.7
Useful information for your work:	2.4
New ideas presented:			2.4
Total:					1.9

Comments:

---------------------------------------------------------------------

For your information:

Average of all speakers

Speaker competence:			1.5
Coherence of presentation:		1.8
Useful information for your work:	2.4
New ideas presented:			2.3
Total:					2.0

---------------------------------------------------------------------
W-JAX 2009 was a great conference - I really enjoyed it!


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Tuesday Nov 17, 2009

Upcoming (2009-2010) Java EE 5/6 Workshops and Events - Some Free

  1. A workshop about "Pragmatic Enterprise Architectures" in Munich - there are already enough registrations - it will take place. I plan to explain how to create pragmatic, but maintainable architectures - of course with real world examples.
  2. January 2010 at the OOP conference - a talk about cloud computing and a Java EE 6 "Rethinking Best Practices" tutorial / workshop.
  3. I will give a talk at Java User Group Hamburg - probably about Java EE 6 stuff. Preliminary date: 02.02.2010
  4. Februaray 2010, ejugdays 2010 - Spring vs.  EJB "talk" with Juergen Hoeller, Pragmatic Java EE Architectures workshop and a session about "Xtreme Lightweight EJB" :-).
  5. March 2010, at Scanconf.se in Gothenborg  a session about Java EE 6


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Monday Oct 26, 2009

Upcoming (2009-2010) Java EE 5/6 Workshops and Events - Some Free

I will talk at the following events / give following classes:

  1. International Java Professional Day in Frankfurt / Langen and explain why I like standards as architect and developer
  2. W-JAX conference in Munich. I will give a keynote with the title: "Future Of Enterprise Java - Reloaded", a workshop about lean and efficient Java EE 6 architectures, a free style hacking session and a talk about cloud computing. We will have an openspace, open-ended :-) workshop / conversation about EJB / Java EE as well.
  3. A workshop about "Pragmatic Enterprise Architectures" in Munich.
  4. January 2010 at the OOP conference - a talk about cloud computing and a Java EE 6 "Rethinking Best Practices" tutorial / workshop.
  5. Februaray 2010, ejugdays 2010 - Spring vs.  EJB "talk" with Juergen Hoeller, Pragmatic Java EE Architectures workshop and a session about "Xtreme Lightweight EJB" :-).
  6. March 2010, at Scanconf.se in Gothenborg  a session about Java EE 6 
Because of my Java EE work / project load, I had to cancel some JUG events / talks. Sorry for that... 


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Friday Aug 28, 2009

Java (EE) (JUG) Events in Zurich, Dresden, Hamburg and Darmstadt

Do you have some heretical questions regarding Java (EE), architecture, patterns or design? I will try to answer them - during the following events:

  1. Real World Java EE Patterns and Best Practices in Zurich (08.09). Will also definitely take place - already 46 registrations! But: don't worry, I set the max number of attendees to 999 :-).  The last time there were too many registrations, so that we had to repeat the workshop. I will loosely cover the contents from book during the workshop, but the ultimate aim will be to explain the essential and maintainable Java EE 5/6 architectures (JSF 2, EJB 31, JPA, JCA, JMS, REST in concert with AJAX, Domain Driven Design, SOA and RIA) with lot of source code and tools. The content of this workshop was chosen by the participants in last years workshop in rapperswil. We will try to kill as many superfluous and bloated patterns, best practices and frameworks, as only possible. 
  2. Xtreme Lightweight Architectures (XLAs) with Java EE 6 (JUG Dresden) - free event. This event is open ended - at least we can spend some time in a pub afterwards - in case you have still some questions - or even worse - you still believe that Java EE is bloated :-)
  3. Java EE 5 and 6 Patterns 5-day Workshop in Hamburg (25.10. - 29.10). We will have enough time to develop a whole application from scratch - even in different variants (REST, SOA, Domain Driven Design).
  4. (Ultra) Lightweight Java EE 5/6 - the killer-platform for lean and maintainable applications in Darmstadt (28.09-30.09.09).


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Monday Aug 10, 2009

Upcoming Java EE 5/6 Workshops and Events - Some Free

  1. Java EE 5/6 Patterns in Hamburg 31.08 - 04.09.2009. Already enough registrations - will take place. I will explain some theory, but actually we will develop together the whole week a Java EE 5/6 application with EJB 3.X, JPA, JMS, JSF 2.0 considering patterns, best practices. I always try to answer all questions - in best case with working code.
  2. Real World Java EE Patterns and Best Practices in Zurich (08.09). Will also definitely take place - already 15 registrations! The last time there were too many participants, so that we had to repeat the workshop. I will loosely cover the contents from book during the workshop, but the ultimate aim will be to explain the essential and maintainable Java EE 5/6 architectures with lot of source code and tools. The content of this workshop was chosen by the participants in last years workshop in rapperswil. We will try to kill as many superfluous and bloated patterns, best practices and frameworks, as only possible.
  3. Maintainable Java EE applications in Munich (12.10-14.10.2009): a 3-day "power" workshop. The last time we developed together an "Oktoberfest Chicken Delivery Service" application with Java EE 5 in 3-days - installation of the appserver, IDE and database included. This year we will develop something else. What? It depends on the attendees - Xtreme Training :-). Regardless what Use Cases you will choose, we will develop everything from scratch with "production" quality.
  4. Efficient Enterprise Architectures with Java in Munich (12.10. - 14.10.2009). In this workshop I will cover the approaches, best practices for developing efficient and maintainable enterprise architectures. Especially the conceptual background / decisions and questions like: 
    - Do we need architectures?
    - How important is documentation? Is it possible to be DRY?
    - BASE vs. ACID
    - (Domain) Objects vs. Services (Procedures)
    - What about cloud computing?
    - How to choose a framework?
    - Extreme scaling
    - Efficient projects and team-building
    - Real works tools, frameworks and libraries
    - Monitoring, profiling and testing
    -(...) and everything else you will ask for. 
  5. Xtreme Lightweight Architectures (XLAs) with Java EE 6 (JUG Dresden) - free event.
  6. 08.10 @rheinjug - abstract and topic still work in progress :-) - will be free.
Because of my current project load, I will try to limit my "training gigs", but will participate at least in the mentioned here.


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Monday Jul 06, 2009

Lean Java EE 6 Without Spring And Spring 3.0 In Java EE 6 World: Summary and Conclusion (eJug Session)

It turned out, that both components models are surprisingly similar. You could migrate an EJB 3.1 based application, almost without any additional effort to Spring (search and replace for annotations). It is even possible to run an EJB 3.1 applications without ANY modification just tweaking Spring a bit. 

Although both technologies are almost identical from the programming model perspective - the philosophy is totally different. Spring "is not just a glue-framework" (Juergen clarified that), rather than complete solution - the full stack. Spring was architected as a layer above the actual application server. The idea: you can upgrade your APIs updating Spring and not touching the application server. This is especially important if you have to use the "heavyweights" application servers (=they come with at least with one DVD to install and the installation takes several hours :-)) without having any control about the version. The Dependency Injection is only a small part of the framework. Spring offers you from DI, over Spring MVC with REST support (similar to JAX-RS) and even monitoring. It actually replaces the most parts of the application servers with own services.

What was also interesting - Spring is exactly NOT Convention Over Configuration. The idea is to configure everything is needed explicitly, without relying on conventions. But you don't have to configure everything over and over again - you can use "Stereotypes" for that purpose. Stereotypes are "Meta-Annotations". So you can introduce your own annotations, using "annotation inheritance". Then you only will have to use your own shortcuts (e.g. @Service, @ServiceFacade etc.). 

The philosophy of EJB 3.1 is exactly the opposite. It is not a complete solution, rather than "only" a component model for transactional, serverside applications. It comes with a set of suitable conventions, so you don't have to configure anything an rely on the existing conventions. Neither annotations (except @Stateless), nor XML-configuration is needed. The EJB infrastructure has to be available at the application server - so you only have to deploy your application - without the EJB-"framework" (Glassfish EJB 3 container is about 700kB) bits. The DI are not as sophisticated as Spring's, JSR-299 or JSR-330, but actually absolutely sufficient for most projects (at least my projects :-)).

EJB 3.1 components are aimed to run directly on the server, without any indirections. This also means: you can only use EJB 3.1 in case your application server has support for it. But: I also saw some projects using openEJB container to run EJB 3.1 on tomcat :-). Whats also true: SAP, IBM Websphere, BEA Weblogic, Oracle OC4J, JBoss 4 and 5, openEJB / Geronimo and Glassfish v2 (+several others) comes already with EJB 3 support. In that case your components become vendor neutral. You can move them around, without changing any EJB 3.X setting (JPA is harder to port across different providers). You will, however, have to test them on different servers. 

Spring will support parts of the Java EE 6 specification - except the @Stateless annotations :-). We (Juergen Hoeller, eJug audience and me) discussed a bit longer this issue. We have different opinions on this: If I were SpringSource, I would support @Stateless and few EJB 3.1 annotation to make the transition more easy. Juergen said it would be hard to support @Stateless in completely compliant way - and he would expect some criticism then. But: the differences could be documented - so there should be no problems as well at this point.

In the practice, however, the support issue may be important as well. It is more and more important to provide the support for the full stack from one company. I guess in future you will see SpringSource only (e.g. dm server), and Java EE 6 only solutions. These decisions will be not driven by technical, rather than political / strategic reasons. Imagine Spring will run on a commercial application server in production and something goes wrong. Such support issues could be really "exciting". Some of my involvements in the resolution of "multi-vendor J2EE-only" support cases were already funny enough in the past :-).

I hope this is a unbiased description of this event - otherwise please feel free to drop me an email or comment. The eJug meeting was well organized at a nice venue - the upcoming sessions are interesting as well. My (English) slides are based on some contents from my "Real World Java EE Patterns" book -the slides should be available for download from eJug. See the German (eJug) summary as well. Thanks Juergen Hoeller for the invitation

Btw. I will cover some "extreme" EJB 3.1 / REST with Convention Over Configuration approaches in the upcoming Java Magazin (German only :-)). 


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Thursday Jun 11, 2009

Eager Loading Problem - Closed My Linked In Account

<private>

Because I got more and more emails and notifications and had no time for several month to even initially create a profile skeleton, I closed my LinkedIn account. I just have no time to maintain it. It was, however, interesting how many updates I got for very few contacts I had. I got updates from people who knew people, who know other people and they are in touch. Somehow interesting, but I do not exactly know how to leverage (this probably precious :-)) information.

It reminds me on the JPA-Entities eager loading problem, where you load with the first entity and get the whole tree (database) back... 

You can still reach me via this blog, twitter or email. LinkedIn, however, is a really interesting Java application :-). Sorry for any inconvenience.

</private>  

 


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Friday May 29, 2009

JAX 2009 Session And Workshop Evaluations

---------------------------------------------------------------------
Session: Premature Encapsulation is the Root of all Evil

(Rating system: 1=excellent, 2=good, 3=fair, 4=unsatisfactory, 5=inadequate)

Speaker competence: 1.1
Coherence of presentation: 1.4
Useful information for your work: 1.7
New ideas presented: 1.7
Total: 1.5

Comments:

---------------------------------------------------------------------
Session: JSF, SOAP, REST, EJB 3.1, JPA, Test und Interceptoren in 60 Minuten

(Rating system: 1=excellent, 2=good, 3=fair, 4=unsatisfactory, 5=inadequate)

Speaker competence: 1.2
Coherence of presentation: 1.6
Useful information for your work: 2.1
New ideas presented: 1.6
Total: 1.6

Comments:

---------------------------------------------------------------------
Session: Produktives Java EE 6 – Rethinking Best Practices – Killing Patterns 

(Rating system: 1=excellent, 2=good, 3=fair, 4=unsatisfactory, 5=inadequate)

Speaker competence: 1.0
Coherence of presentation: 1.8
Useful information for your work: 1.8
New ideas presented: 1.5
Total: 1.5

Comments:

---------------------------------------------------------------------
Session: To RCP Or Not To RCP - Muss es immer ein RCP-Framework sein?

(Rating system: 1=excellent, 2=good, 3=fair, 4=unsatisfactory, 5=inadequate)

Speaker competence: 1.1
Coherence of presentation: 1.3
Useful information for your work: 1.6
New ideas presented: 1.3
Total: 1.3

Comments:

---------------------------------------------------------------------

For your information:

Average of all speakers

Speaker competence: 1.6
Coherence of presentation: 1.9
Useful information for your work: 2.5
New ideas presented: 2.4
Total: 2.1

---------------------------------------------------------------------

I really enjoyed this year's JAX. Some of the sessions were motivated by comments / entries from this blog :-).


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Wednesday May 13, 2009

"Lean Service / Domain Driven Components with Java EE 6 - without Spring" - Free JUG Session

I was invited by Juergen Hoeller, the ejug lead and co-founder of Spring, to talk about Java EE 6 components. I submitted the session with the title "Lean Service / Domain Driven Components with Java EE 6 - without Spring" ...and he accepted it :-). This meeting could be interesting, Juergen will talk about "Spring 3.0 in a Java EE 6 World" so the two sessions should complement each other. This event will end with an open discussion (with Juergen and me ) about "Building Components in 2010".We met us already on stage during the JAX conference several years ago. I enjoyed the session - it was really constructive. We discussed EJB 3 vs. Spring or similar topic.

Thanks to Juergen Hoeller for the invitation!


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Interviews/About
My Recent Book
Java One 2009
CommunityOne East N.Y.C
JavaONE 2008 Interview
Search
...the last 150 posts
...the last 10 comments
greenfire.dev.java.net
Links
my.netbeans.org
Visitors
License