Skip to main content
View by: Most Recent | Topic | Community | Webloggers   
Monthly Archives:    

Blogs by topic: Patterns

• Accessibility • Ajax • Blogging • Business • Community 
• Databases • Deployment • Distributed • Eclipse • Education 
• EJB • Extreme Programming • Games • GlassFish • Grid 
• GUI • IDE • Instant Messaging • J2EE • J2ME 
• J2SE • Jakarta • JavaFX • JavaOne • Jini 
• JSP • JSR • JXTA • LDAP • Linux 
• Mobility • NetBeans • Open Source • OpenSolaris • OSGi 
• P2P • Patterns • Performance • Porting • Programming 
• Research • RMI • RSS Feeds • Search • Security 
• Servlets • Struts • Swing • Testing • Tools 
• Virtual Machine • Web Applications • Web Design • Web Development Tools • Web Services and XML 


Last week's kickoff of FESI's research program went very well. There are a number of folks (>500) who are now following this blog on, and a number who have gotten involved.  While we wait for more folks, we'll be researching new technologies, the first being NOSQL databases.  If the kind of topics we're research interests you, please feel free to join the project;...
on May 5, 2010


This is the first edition of a new column I'll be writing each weekend titled " the Week in Review." In the column, I'll present all of the previous week's Java Today news items, a selection of blog posts, polls, and spotlights. I'll organize the presentation by categorizing the featured news items, so if, for example, your interest is JavaEE and GlassFish, you'll be...
on May 1, 2010
FESI Research Program Overview FESI is the Free and open source software Enterprise Solutions Institute. We are a research program designed to study tomorrow's internet technologies as a means to teach folks in the local workforce how to use technologies our customers will likely want to implement.  We also perform this research to prepare local engineers with the knowledge and...
on Apr 27, 2010

Open Source

Content available at:
on Apr 29, 2010


On April 28th, 2010, we will be kicking off the first phase of FESI's research.  This where we set up the project, and start to get our hands dirty. Attached is the flyer we will use to promote FESI and what we're trying to accomplish.  Hopefully it will help us get the word out to the local community. Also as the kickoff, we'll be participating with a networking group that meets...
on Apr 27, 2010


 We use the Java programming language. If you want to do a similar task, have a closer look at our work. Since ODT is part of the ODF  standard, which is well defined, XML-based and easy, this task should not be that complex - an so it is. The work was done by Tim Schäfer, he used the ODFDOM API  as an abstraction layer for ODF. Have a look at our work at...
on Mar 11, 2010
I took last week off to work on some Wicket web programming - seeing as my day-job is desktop programming (and also as a hedge against ending up jobless after Oracle buys Sun). I've done a lot of talks on API design, focusing on how to not "paint yourself into a corner" in terms of backward compatibility. There is a complementary subject - API usability, that deserves equal consideration....
on Jul 5, 2009
CRUD (create-read-update-delete) is a repetitive code in Java EE projects but it can be isolated in a unique class through the usage of JPA annotations and Generics - a class I call CRUDEntityFacade. This is not a new pattern and the goal of this blog entry is just to prepare you to read my next entries about JAXB and JPA together. I am doing really nice things with Jersey and Glassfish, and...
on Apr 19, 2009
What is the fundamental premise of messaging, and how is it different from RPC? Essentially, messaging focuses on the concept of loosely coupled, event/information delivery; between one or more producers, and one or more consumers. RPC focuses on the concept of tightly coupled synchronous functional invocation; between a client and a server. What would happen if we applied cajo technology to...
on Jun 19, 2008
Normally I see abstract classes named as AbstractClass. But when there are many abstract classes that requires typing at least AbstractC when using code completion. Therefore I suggest that abstract classes be named ClassAbstract so that code completion is more usable. "Abstract" is a modifier on the class name anyway and it doesn't need to be in the primary position. What do you think? I know...
on Dec 18, 2007
Footprint Project is gaining momentum since its stable release, with a growing number of JUGs and other groups using the library to produce signed certificates for events and courses. Some of these early adopters are asking me how to modify the way Footprint publish the certificates, and also if there is a set of configuration they can use in order to avoid checkout the project from the SVN...
on Nov 6, 2007
Given the enthusiastic feedback to the Take That .NET! blog entry; I thought I might expound a bit upon a small, but highly important bit, at the end of the example. Oftentimes service objects implement a large, rich interface. Other times service objects implement several interfaces, grouping their functionality into distinct logical concerns. Quite often, a client needs only to use a small...
on Dec 7, 2006
Child number two has kept me away from the blogosphere. As I write this, señor Nelson Jr. is busily learning how to access and destroy objects. Next up: garbage collection. I found this article on JavaBlogs the other morning and while technically speaking it's an old topic, it seems one that none of us ever tire of talking about. If you tire of talking about it, then you'll probably...
on Jul 11, 2006
Steve Metsker's and my recent book, Design Patterns in Java, has had a sample chapter posted at InformIT: Adapter. If you're not familiar with Adapters, or need to brush up on them, you might find this chapter helpful. (The extract didn't include our solutions; let me know if you need help.)
on Jul 2, 2006
Steve Metsker and I have co-written Design Patterns in Java, available from Addison-Wesley. This is a workbook-style book, updating Steve's earlier Design Patterns Java Workbook and Design Patterns in C#. It covers the same 23 patterns as Design Patterns, but adds some different perspective and a number of challenges to help you make sure you understand the patterns. It's targeted to...
on May 15, 2006
With complex enterprise systems, we often times find ourselves with lots of 'flags' or 'types' within our database tables. Utilizing Hibernate's UserType facility, we can handle these types in such a way that will carry extra behavior and information within your domain models. You probably all have them, those VARCHAR(2) or VARCHAR(1) fields in your tables that describe the type or source of the...
on Dec 14, 2005
In the open-spatial Java community we have a problem: XML I know that does not sound like much of a problem, as long as you are an XML god. Spatial data has a habit of being very large and breaking to existing XML tools and assumptions. This blog post is not about that. There are three projects I am going to talk about today: GeoTools - open source java GIS toolkit GeoAPI - interfaces for OGC/...
on Jul 24, 2005
Gregor Hohpe SOA - Same Old ArchitectureI often have angst about how my relatively narrow focus on webpresentation technologies, and faces in specific, is potentially careerlimiting.  Therefore, I'm taking steps to look up and look around.Mr. Hohpe's talk is such a step.  He has so much to say about SOA, andappears to understand the software development practice on its own...
on Mar 5, 2005
As a followup to my initial post I have included generics within Predicate(s) to make them virtually resistent to ClassCastException(s). After some additional experimentation with the ideas that I presented in my initial blog I noticed that it was quite easy to create situations in which ClassCastException(s) were possible. For example the following modifcation caused this situation. foreach(C....
on Jan 20, 2005


What it means to speak German fluently and to be able of C++ Several years ago one of our key coders moved from the south of Germany (where our HQ is located at the Black Forest) to the cold and rainy north, so we had to to find a suitable substitute. After screening lots of applications, we picked few to invite for an interview. It declared the candidate's ability to speak German and C++. So she...
on Feb 20, 2010