HomeSitemapContact usBlog

Company

Author Archive

Basic Health check library for your application

April 19th, 2012 by
(http://blog.orange11.nl/2012/04/19/basic-health-check-library-for-your-application/)

For a few years now I have been running multiple Hippo projects. All the projects use multiple servers and services. The biggest one has over 15 servers in production. A standard hippo solution consists of site servers and cms servers. We also had some other servers for things like rss and integration. The complete landscape consists of apache/tomcat combinations, proxy servers and load balancers. All the servers are monitored using a special tool. In the beginning we made the load balancer call the a webpage. Later on we created pingers. Calling the pinger was easy for a load balancer and the proxy servers. By using a generic interface for a pinger we could also implement pingers to check ftp connections or external systems. Using the generic interface made it easy to create a custom monitor that just showed all the results of the pingers.

For new projects we wanted to have a similar solution. Therefore I decided to make a library available to create and interact with these pingers. The library consists of a generic interface and some default implementations.

Another part of the library is a version servlet that reads a manifest file to show you information about the actual artifact that is deployed.

In this blogpost I am going to explain the library and show you how to use it.

Read the rest of this entry »

Using the spring-data project and the mongodb adapter specifically

March 29th, 2012 by
(http://blog.orange11.nl/2012/03/29/using-the-spring-data-project-and-the-mongodb-adapter-specifically/)

In this blog post I want to share some of my experiences with the spring-data project. At Orange11 we have been working on a sample for the Axon Framework. We have created the Axon Trader. For the trader we use the MongoDB based event store. Therefore I also wanted to store the data for the query side in Mongodb. I was looking for the easiest way to store and retrieve documents from a mongodb instance. I decided to pick the spring-data mongodb library and I must admit that I do not regret that choice.

Read the rest of this entry »

Running Hippo CMS from Intellij

February 3rd, 2012 by
(http://blog.orange11.nl/2012/02/03/running-hippo-from-intellij/)

For a number of years we are doing hippo development using our beloved tool "Intellij". We can import the project using the pom. Deploying from within Intellij was done using the maven provided jetty integration to run the cms. Then we would run the site in another tomcat or as well from maven with jetty. Not very fast, but it works. In release 7.6 (I think) hippo changed the deployment model. They have provided a mechanism to use cargo from maven to start the cms as well as the site within one tomcat instance.

If you want to give the default mechanism a spin, create a new project using the hippo maven archetype and use the cargo integration to run the new project. Steps on how to do this and some links will be presented later on.

Not all developers are the same, maybe some of them still want to use cargo and others want to pick up the challenge and use a tool like eclipse to do the job. Therefore we want to have a mechanism that supports most of the developers out there.

In this blogpost I am going to show you how you can create a structure supporting all these different deployment options. Of course the demonstration that it works is done with Intellij.

Read the rest of this entry »

Embedding RSS in Hippo using the pipelines feature

December 13th, 2011 by
(http://blog.orange11.nl/2011/12/13/embedding-rss-in-hippo-using-the-pipelines-feature/)

Onehippologo

For one of the biggest Hippo projects I have been working on, we have created a custom rss solution. When we started the project, Hippo did not have an rss solution and we had some requirements for caching and reusability that we could not implement with standard hippo. A few years have passed and hippo is not what it used to be. Nowadays it has a lot more features and a lot less NullPointers (sorry guys, could not resist). About a week a go Jeroen Reijn told me about the Pipeline feature in Hippo. This feels like the right time to start thinking about a new solution for rss.

With this blog post I am going to show you a better way to create rss feeds with Hippo using the provided features of Hippo. I know there are plugins available for rss, still I think mine is better :-) . The solution is based on the Rome project and, as mentioned, the hippo pipelines.Romelogo small

Read the rest of this entry »

Gather content for Lucene from WordPress using Groovy

August 16th, 2011 by
(http://blog.orange11.nl/2011/08/16/gather-content-for-lucene-from-wordpress-using-groovy/)

I am learning about the capabilities of Lucene. Here at JTeam we have a few people that are specialized in Search using technology like Lucene and Solr. Therefore I want to have a higher level of knowledge of Lucene than I have now. So I started reading the Lucene in Action book. As I read a book I want to create some samples. When learning about Lucene you need to have content. I decided to gather content from my own website and use it for my Lucene learning.

First challenge, how to get the content from my website and give the content meaning? That is what this blog post is about. I take you on my journey from one end of the groovy spectrum (using the XMLSlurper) to the other end using the XMLRPCServerProxy. During this journey I will also explain some of the basics of the XMLRPC api of wordpress.

Read the rest of this entry »

Cleaning up your maven repository

August 1st, 2011 by
(http://blog.orange11.nl/2011/08/01/cleaning-up-your-maven-repository/)

A few days a go I was looking at a warning that my disk was getting to full. I just upgraded to apple osx lion. There were a few things that were related to the upgrade, but another large directory was the maven repository directory. The easy way out is to just remove everything, but I do not want to do that every week. Than I started to think about a solution to delete only part of the repository. As I like playing around with groovy, it must be a groovy script.

So what libraries or artifacts to remove? I want to remove all old snapshots and I want to remove old artifacts of which newer ones have been installed. In this blog post I explain the script, what it can and how it works.

Read the rest of this entry »

Combining java and node.js

July 28th, 2011 by
(http://blog.orange11.nl/2011/07/28/combining-java-and-node-js/)

I just wrote a new blogpost about a sample application I have created. The sample is combining a node.js front-end application with a axonframework java based backend. The following image gives you a good idea.

NodejsAxonRedisBlogpost

The front end contains a node.js application that uses the http library to obtain and send data a rest based application. Next to that it receives messages using the redis pub/sub mechanism from the the java backend. Using the now.js library these events are pushed by the server to all connected clients. The java backend is build using the springmvc rest capabilities. Commands are send to the Axonframework based business logic. Listeners for the events are registered and messages based on these events are published to the redis pub/sub mechanism.

If this got you interested, head over to my blog post.

http://www.gridshore.nl/2011/07/28/combining-java-and-node-js-through-redis-pubsub-and-a-json-remote-interface/

The new axon incubator and the google app engine project

July 6th, 2011 by
(http://blog.orange11.nl/2011/07/06/the-new-axon-incubator-and-the-google-app-engine-project/)

Some time ago we started adding modules or classes to axon that were not really the core of the system. The most important one of them is a MongoDB based event store. The amount of testing of this module was not as high as the other parts. It has not yet been tested in a production system. Still it was part of the core of Axon. Next to the MongoDB based event store we also developed a Google App Engine based event store. This was not in the core of axon, in fact it was only part of a sample project in Github. A few weeks a go we decided it would be better to add an incubator to axon and put these modules or classes that have not been tested as well as the core of axon in there. THe third module is the experimentation of Allard with a distributed command bus. Feel free to check out the code and use it or comment on it through the mailing list. But be warned that this code is under development and might therefore be less stable than the other parts of axon.

This blog post focusses on the Google App Engine module that can now be found in the incubator. I'll summarize the required changes to the axon framework so it can be used on google app engine. I did blog about this topic before, so I am not going into details for all the code, but point to the older blogpost where possible and focus on the new stuff.

Read the rest of this entry »

Learning Node.js

April 18th, 2011 by
(http://blog.orange11.nl/2011/04/18/learning-node-js/)

For projects and for some experiments I want to get a better way to do server push. With the new HTML 5 becoming the standard and therefore WebSockets becoming available in all mayor browsers, it seems that WebSockets is the way forward. A very nice implementation of WebSockets that is backwards compatible with older browsers is available through Socket.io. This is a Node.js library. Node.js brings JavaScript to the server. If you are as sceptic about this as I was, stay with me, you will like it after trying.

Within this blog post I want to share some of the things I learned while creating a sample application. The sample shows twitter integration for authentication, server push in a chat application that also shows the other persons that are online. The most important node.js libraries I use in the sample are: expressjs, socket.io, node-oauth, connect, jade and sass

Read the rest of this entry »

Using Spring social to connect your online profiles

March 15th, 2011 by
(http://blog.orange11.nl/2011/03/15/using-spring-social-to-connect-your-online-profiles/)

Some time a go I wrote an item on my personal blog about a sample that I created with the spring social project. I explained how to connect to linkedin. In this blog post I want to go one step further. I want to create an application that a user need to log in to. With that application I want to gather events from different online communities that are provided by spring-social out of the box. I will also provide some notes on upgrading my sample from Spring social M1 to Spring social M2.

Read the rest of this entry »