Welcome

Welcome to our blog about all kind of topics that are related to software development. We blog about:

SOA, BPM, EDA, ECM and all the other buzz words. Beware some post might not be so common as you think. We are not scared to go against main stream thoughts.

Technologies like java, maven, springframework, OSGi and front end technologies and frameworks like jQuery, DWR, Flex.

Finally to make this happen we need tools and of course a Mac (well some of us do). So we blog about that as well.

Technorati

Add to Technorati Favorites

Linked in

We now have a linked in group, join the group if you are a regular reader and want to see who else reads this blog.

Injecting Domain objects with Spring

s2-logoUsing Spring, it is easy to inject any instance with its dependencies, as long as the instance is managed by the Spring container. This typically means that the to-be injected beans are configured in the XML configuration. However, sometimes, it is impossible or ugly design to have objects managed by the Spring container. For example, when using a Rich Domain Model , your application will instantiate domain objects that contain domain logic, and thus need their dependencies to be injected.

A commonly seen strategy to inject these dependencies is to call a static method from the constructor. This static method will inject the newly instantiated instance with its dependencies using a reference to Spring’s application context. Although this method seems effective, it is purely limited to dependency injection. Spring offers a lot more, such as transaction support and security.

Spring’s load time weaving capabilty offers a more complete way to inject your unmanaged instances, making them no different than any spring managed instance.

Continue reading Injecting Domain objects with Spring

Flex remoting without configuring the client

For a while I am experimenting with flex. I wrote quite some posts about flex and security and I started writing about the Springframework BlazeDS Integration project. One thing that I do not really like about the configuration is the way to configure the remoting. All the hassle with the service-config.xml that needs to be available on the client as well as on the server. Not really nice. Using the maven way of creating a jar with these config files and unzipping this jar into the web server project as well as the client flex project is a way. Still, not ideal when developing in your ide when you want to add a new remote service.

What is the arternative? On the serverside, the mentioned spring project is doing a good job. You do not have to configure all endpoints. But you still need something on the client.

This post talks about a mechanism to enable you to loose all this configuration on the client

Continue reading Flex remoting without configuring the client

Connecting to Hippo ecm using a springframework connector

hippo_logo.gifSince my last article about springframework and hippo “Roadtrip from springframework to hippo 7” I have made a lot of changes to the code and moved my project to the hippo forge. With this post I want to explain what I have changed and in some situations why. I will not repeat the stuff I already talked about in the previous post. One of the biggest areas I made changes in, is the stability of the solution. I used the Circuit Breaker implementation as discussed by Allard in his post “Bring some stability to your architecture“. Stability comes with reconnect options and a component that guards the repository. In case of to many errors the connections are closed and after a certain cool down period, new connections are created.

One remark I like to make is about the connection pool. This pool is probably not production ready. I did not do any performance tests and it is a bit rough around the edges.

That said, let’s move on and start talking about the solution.

Continue reading Connecting to Hippo ecm using a springframework connector

Creating the flex client using Spring ActionScript

Picture 4.pngflexlogo.pngIn my previous post I have created a flex client with a BlazeDS back-end using the spring blazeds integration. If you are familiar with the springframework, the configuration became a lot easier at the server side. Still I had some problems to get it easier at the client as well. I still needed the services-config.xml file with some destinations in it. In the side note I already mentioned another way of creating the client using Spring-ActionScript project. As it turns out, you do not really need Spring-ActionScript to loose the configuration. Still it gives you some help and I like to experiment with it a litle bit.

This post is going through the steps to refactor the current books-overview sample application of mine into a cleaner project using Spring-ActionScript.

Continue reading Creating the flex client using Spring ActionScript

Wow, springframework enters the ActionScript and flex domain

Some time a go I had a chat with Alef Arendsen. We talked about flex and the integration with springframework. As a lot of you know, I wrote a few posts about that topic. We talked about what the springframework could do to make life easier for spring developers when using flex and BlazeDS. At that time I did not expect that springsource would jump into this the way they do now. I see already two projects

This sounds almost to good to be true. Combining my springframework knowledge with flex and ActionScript. Maybe I should create a flex front-end talking using BlazeDS to a Hippo Back-end. Of course the application is running on OSGi :-)

Oke, that is something I am not going to talk about in this post. I am going to talk about the new spring flex projects and my first impression. This post is about the BlazeDS integration.

Continue reading Wow, springframework enters the ActionScript and flex domain

Building Spring DM server compliant OSGi bundles with Maven

s2-logo

Recently, SpringSource released the first version of their DM server. The SpringSource DM Server provides the ability to build enterprise web applications. In the basis, S2DM is a fine mixture of Equinox and Tomcat.

Building OSGi-based web applications was already possible, but it is tedious and error prone work. The typical hello-world example was easy to get going, but as soon as Hibernate or any other framework that helps in larger applications show up, so do your good old class loading problems. For classes to be visible in OSGi, a bundle must declare an Import-Package entry in the Manifest file. Chances are small that Hibernate (even if it were packaged as an OSGi bundle) has these entries for your persistent classes. This is where S2DM server comes in. It allows the more-than-hello-world web applications to be deployed in an environment where you can benefit from the best of OSGi, without the class loading misery. To do this, they have included some extra Manifest entries that are translated to OSGi-compliant directives at load time.

Comparable to the WAR, or better, EAR file, S2DM server supports the PAR file. A PAR file is much like a Jar, with some special headers in the Manifest file, containing all your bundle jars. Some of these jars may contain web bundles, while other typically contain domain classes or the service layer implementation. Contrary to EAR files, a PAR should only contain your own code. It is best practice to deploy frameworks and third party libraries separately. I’ll explain why later on.

With enterprise applications come enterprise development processes, using continuous integration, build servers and maven. In this post, I’ll lay out what you need to get maven to build S2DM server compliant bundles, and better, PAR files.

Continue reading Building Spring DM server compliant OSGi bundles with Maven

Roadtrip from springframework to Hippo 7

hippo_logo.gifspringlogo.pngAt the moment I am doing a proof of concept for a customer together with two developers from the customer and a developer from Hippo. We are using the future product of hippo, Hippo 7. It is a nice technology stack using JackRabbit for the content repository and wicket as a view technology for the cms. The guys from Hippo are working very hard to come up with the first release of Hippo 7. This release has been rebuild from the ground up. One of the requirements for the project is a webservice that accesses the hippo repository and returns some information from the repository. That is what this post is about.

This post will talk about connecting to the hippo repository using the spring framework. I’ll show a very basic (not production ready) connection pooling into the repository. Using this connection, the spring webservices project will step in and take over. Using spring-ws I am exposing a search into the documents.

Feel free to post a comment if you have questions, the sources are again available on google code.

Continue reading Roadtrip from springframework to Hippo 7

My first source contribution to springframework

I have reached a new Milestone. More than three years ago I blogged about a framework called Rome. This is a framework that enables you to create Rss feeds without to much hassle. I found the framework and created a base class that was put into springmodules. This blogpost Creating-an-rss-feed-with-spring-and-Rome explains what I have [...]