In this second edition, they have added 6 more J2EE design patterns in addition to the 15 patterns covered in first edition.
The new patterns are: Context Object, Application Controller, Application Service, Business Object, Domain Store, Web Service Broker.
Note that all the patterns have been fully revised and updated, including new implementation strategies with new code samples.
Checkout the book here.
What do you think of the new edition / new patterns?
-
Core J2EE Patterns Second Edition Released (12 messages)
- Posted by: Srinivasa Rao Chintala
- Posted on: June 16 2003 05:32 EDT
Threaded Messages (12)
- Core J2EE Patterns Second Edition Released by David Jones on June 16 2003 12:25 EDT
- Download PDF file by William Wanderley on June 16 2003 13:15 EDT
-
Download PDF file by David Jones on June 16 2003 03:51 EDT
- Does anyone could give me a copy of the ebook about it? by wp rusty on June 16 2003 08:56 EDT
- Patterns available on java.sun.com by Simon Brown on June 17 2003 05:04 EDT
- PDF Download by Mark Pfeifer on June 18 2003 08:00 EDT
-
Download PDF file by David Jones on June 16 2003 03:51 EDT
- Download PDF file by William Wanderley on June 16 2003 13:15 EDT
- Context Object / Appplication Service by Corby Page on June 16 2003 13:15 EDT
- Context Object / Appplication Service by genri como on June 17 2003 11:27 EDT
- better for more complex applications by Brandon Ridenour on August 30 2004 07:49 EDT
- Worth Buying? by Renato Mascardo on June 16 2003 13:45 EDT
- Worth Buying? by Stepan Samarin on June 17 2003 03:02 EDT
- Core J2EE Patterns Second Edition Released by nayak hussain on June 17 2003 01:25 EDT
-
Core J2EE Patterns Second Edition Released[ Go to top ]
- Posted by: David Jones
- Posted on: June 16 2003 12:25 EDT
- in response to Srinivasa Rao Chintala
I went to the talk at Java One and was pretty happy to see that they had gotten together with Martin Fowler to discuss the patterns in the book.
His book on Patterns is extremely good and although not J2EE based it is well worth a read.
http://www.amazon.com/exec/obidos/tg/detail/-/0321127420/qid=1055780661/sr=8-1/ref=sr_8_1/102-6215672-6310528?v=glance&s=books&n=507846
David -
Download PDF file[ Go to top ]
- Posted by: William Wanderley
- Posted on: June 16 2003 13:15 EDT
- in response to David Jones
Will it be available to free downaload too ?
Thanks,
William. -
Download PDF file[ Go to top ]
- Posted by: David Jones
- Posted on: June 16 2003 15:51 EDT
- in response to William Wanderley
Not that I am aware off -
Does anyone could give me a copy of the ebook about it?[ Go to top ]
- Posted by: wp rusty
- Posted on: June 16 2003 20:56 EDT
- in response to David Jones
You know I am in India,I could not get it.
So does anyone can give me a copy of the ebook about it?
My Email:wprusty@fescomail.net -
Patterns available on java.sun.com[ Go to top ]
- Posted by: Simon Brown
- Posted on: June 17 2003 05:04 EDT
- in response to William Wanderley
In one of the sessions I went to, I'm pretty sure the speakers said that the new patterns would be documented alongside the existing ones on java.sun.com.
Simon
- blog -
PDF Download[ Go to top ]
- Posted by: Mark Pfeifer
- Posted on: June 18 2003 08:00 EDT
- in response to William Wanderley
I thought I remember they said a free PDF download would be made available shortly after the conference.
Mark -
Context Object / Appplication Service[ Go to top ]
- Posted by: Corby Page
- Posted on: June 16 2003 13:15 EDT
- in response to Srinivasa Rao Chintala
Context Object is a great pattern. Definitely something I should be more disciplined about applying to my code.
Application Service is a pattern that I have found very useful for MDB's, not so much for SLSB's. For an MDB the onMessage() method has a clearly defined responsibility, parsing the JMS Message object to retrieve the application data that will be passed into the Application Service method.
But when I have attempted to apply Application Service to session facades, I just end up with a bunch of code that looks like this:
public ResultObject facadeMethod1( String arg1 )
{
return ServiceObject.serviceMethod1( arg1 );
}
public ResultObject facadeMethod2( String arg1 )
{
return ServiceObject.serviceMethod2( arg1 );
}
...and so on. Since the facade now performs no useful function, it ends up reducing the readability and maintainability of my code, and I just end up refactoring the Application Service into the Session Facade.
The article claims this is a no-no, because "the business logic potentially gets duplicated among different facades." In practice, I have never found this to be a problem, since I refactor the facades as aggressively as I refactor code at the other tiers.
The other argument I have heard against this sort of arrangement is that I have now bound my service logic too tightly to the Session Bean component model. But all in all, SLSB is a pretty lightweight component model, and converting a SLSB to a POJO is a pretty trivial task. With a refactoring IDE, I could do a few hundred of them in a couple of hours if I had to. To me, that's a small potential price to pay to improve my code readability now.
What experiences have others had with this pattern? -
Context Object / Appplication Service[ Go to top ]
- Posted by: genri como
- Posted on: June 17 2003 11:27 EDT
- in response to Corby Page
The Application Service pattern looks very similar to the 'Mediator' pattern (from GoF).
The Mediator defines an object(service) that encapsulates how a set of objects interact. It promotes loose coupling by keeping objects from referring to each other explicitly and lets you vary their interaction independently.
Any thoughts.
Genri -
better for more complex applications[ Go to top ]
- Posted by: Brandon Ridenour
- Posted on: August 30 2004 07:49 EDT
- in response to Corby Page
the intent of the Application Service pattern is not to have facades do nothing at all, it is to provide another layer of granularity in composing complex applications.
If you use facades on top of a domain model, you have no place to structure reusable fucntionality that operates on multiple objects.
basically, functionality that operates on multiple objects or object types typically should not be placed in the domain model (for various reasons). At the same time, if you include this functionality directly into a facade, it is not reusable in other use cases.
Actually, i think this pattern fills a critical missing piece of J2EE structural architecture for large, complex projects. -
Worth Buying?[ Go to top ]
- Posted by: Renato Mascardo
- Posted on: June 16 2003 13:45 EDT
- in response to Srinivasa Rao Chintala
I know that his was the top seller at JavaOne this year and was wondering if anyone has had a chance to read it yet. Is the second edition worth buying if I own the first edition already?
-rjm -
Worth Buying?[ Go to top ]
- Posted by: Stepan Samarin
- Posted on: June 17 2003 03:02 EDT
- in response to Renato Mascardo
It'd be great if publisher could provide discount for those ppl that already got the first edition... -
Core J2EE Patterns Second Edition Released[ Go to top ]
- Posted by: nayak hussain
- Posted on: June 17 2003 01:25 EDT
- in response to Srinivasa Rao Chintala
Is it possible to download this document from web?