Adam Bien's Weblog
Free Java EE 6 Workshop - For Students In Bonn
I will give a workshop - almost without slides, spending the majority of the (3h) time in the IDE (NetBeans this time, IntelliJ is also possible, but we will have definitely no time for the installation of all the nice Eclipse plugins :-)). It seems like this workshop is free for students.
We will have 3h for develop something in Java EE 6 - its more than enough. We will need 10 minutes to install the IDE, application server and database (double-click on the installation of NetBeans 6.8 "Java Edition":-)) - then we can start. So I will probably, in addition to the abstract, implement and explain testing, mocking, integration tests, batch processing, CDI, JMS and probably connectors and refine the JSF 2 view. Also looking forward to the SDC conference in gothenburg - unfortunately I can only spend few hours in this nice city. There will be no time for a porter...Posted at 10:29PM Mar 14, 2010 by Adam Bien in Events | Kommentare[3]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices
Killing Some Bloat in Gothenburg - With Java EE 6
I will spend few hours in Gothenburg at the SDC 2010 conference and give a talk with the title "Lightweight Killer Apps with Nothing But Vanilla Java EE 6". I'm really curious whether my first slide will look familiar to you - people outside Sweden are thinking, that it is the Golden Gate Bridge, what is entirely wrong.
I will have some time after the session. So if you have some questions, want to discuss, or hack some code - just ping me. I planned to spend more time in Gothenburg - a really nice city. Because of the project (over)load, probably caused by the general Java EE 6 take off :-), - I will only spend few hours.Posted at 10:28PM Mar 07, 2010 by Adam Bien in Events | Kommentare[0]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices
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.
Posted at 04:07PM Jan 30, 2010 by Adam Bien in Events | Kommentare[10]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices
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!
Posted at 10:34AM Dec 28, 2009 by Adam Bien in Events | Kommentare[0]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices
Upcoming (2009-2010) Java EE 5/6 Workshops and Events - Some Free
- 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.
- January 2010 at the OOP conference - a talk about cloud computing and a Java EE 6 "Rethinking Best Practices" tutorial / workshop.
- I will give a talk at Java User Group Hamburg - probably about Java EE 6 stuff. Preliminary date: 02.02.2010
- Februaray 2010, ejugdays 2010 - Spring vs. EJB "talk" with Juergen Hoeller, Pragmatic Java EE Architectures workshop and a session about "Xtreme Lightweight EJB" :-).
- March 2010, at Scanconf.se in Gothenborg a session about Java EE 6
Posted at 09:41AM Nov 17, 2009 by Adam Bien in Events | Kommentare[4]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices
Upcoming (2009-2010) Java EE 5/6 Workshops and Events - Some Free
I will talk at the following events / give following classes:
- International Java Professional Day in Frankfurt / Langen and explain why I like standards as architect and developer
- 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.
- A workshop about "Pragmatic Enterprise Architectures" in Munich.
- January 2010 at the OOP conference - a talk about cloud computing and a Java EE 6 "Rethinking Best Practices" tutorial / workshop.
- Februaray 2010, ejugdays 2010 - Spring vs. EJB "talk" with Juergen Hoeller, Pragmatic Java EE Architectures workshop and a session about "Xtreme Lightweight EJB" :-).
- March 2010, at Scanconf.se in Gothenborg a session about Java EE 6
Posted at 10:12AM Oct 26, 2009 by Adam Bien in Events | Kommentare[1]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices
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:
- 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.
- 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 :-)
- 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).
- (Ultra) Lightweight Java EE 5/6 - the killer-platform for lean and maintainable applications in Darmstadt (28.09-30.09.09).
Posted at 10:35AM Aug 28, 2009 by Adam Bien in Events | Kommentare[2]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices
Upcoming Java EE 5/6 Workshops and Events - Some Free
- 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.
- 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.
- 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.
- 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. - Xtreme Lightweight Architectures (XLAs) with Java EE 6 (JUG Dresden) - free event.
- 08.10 @rheinjug - abstract and topic still work in progress :-) - will be free.
Posted at 07:02PM Aug 10, 2009 by Adam Bien in Events | Kommentare[0]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices
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 :-)).
Posted at 09:55AM Jul 06, 2009 by Adam Bien in Events | Kommentare[7]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices
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>
Posted at 11:15PM Jun 11, 2009 by Adam Bien in Events | Kommentare[3]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices

