Archive for the ‘Java - J2ee’ Category

Mule, the famous opensource ESB introduced

Wednesday, July 2nd, 2008

Mule-Logo

Mule is the most widely used open source Enterprise Service Bus (ESB). It is a lightweight Java-based messaging framework that allows you to quickly and easily connect your applications and enable them to exchange data. It allows you carrying (routing) data between applications within your intranet or across the Internet.

Ross Mason, coofondator of Mulesource was in Paris this week to introduce the new version of their solution ESB Mule 2.0.
One of the major changes seems to be the configuration file which is much easier: you do not need to specify Mule Classes, but only include some key words.

Difference between Inversion of Control and Dependency Injection

Sunday, March 9th, 2008

I’ve always wondered what was the difference between Inversion of Control and Dependency Injection

This article answered exactly to that question!

Inversion of Control and Dependency Injection

Java Solutions for flash

Friday, February 29th, 2008

Yesterday, I was looking for flash video and found this interesting article.

It talks about java solutions as the open source Red5!!

Liferay : the ideal portal?

Thursday, January 10th, 2008

I have been searching for an ideal cms (Content Management System) for few days now.
I would prefer finding a java based solution for it should closer to the technologies i am using though it is not an obligation.

So here are my my user experience conclusions. But I have not finished yet!

  1. Joomla (php)
    Joomla is done in php + MySQL. Very easy to install.
    The community is strong. You can easily add new components with Add-ons. The most important is probably Joom!Fish which is the best multi-lingual Add-on.
    It is very easy to edit and post articles. Except maybe the relationship section-category which is not very explained enough in the documentations.
    The default editor used is TinyMCE but it can be changed to other ones. But the image-insertion is not very easy. But it seems that the next version (1.5) will resolve this.
    The administration pages are simple and well distributed.
    There are many page templates (free or quite cheap!) and you can change the web site skins very easily.
    I think it is a nice experience even for a pure java developer
    ;)
    Another CMS very light but even easier to use is plume cms…
  2. Plume CMS (php)
    The easiest CMS approach I’ve ever seen. In the first 5 minutes you can add a menu with pages.
    The online editor is user friendly. It does only that but it does it well!
  3. Plone (Python)
    Well documented. The user interface is very nice: editor with image processing.
  4. Infoglue (Java)
    Easy to deploy. I really think that it is a nice project but the first steps are very difficult.
    And the documentations are not efficient enough… I would suggest you to begin with the tutorial in video!
    The aim of the hole project is to separate the content from the structure.
    You can add your own components that are configured by using some velocity scripting.
    The beginning is very slow but it is quite powerful. You can specify configure a template for your component and then use it anywhere you want by putting the content in the right folder.
    The problem comes when an exception is thrown or there is one parameter which has not been correctly filled!
    The default package does not include French language.
    A nice project but diffcult to understand and configure. Needs time.
  5. Alfresco (Java)
    It is mostly an ECM (Enterprise Content Management). It is well organized and seems to have interesting access rules facilities.
  6. Exo Platform (Java)
    Different products which work together with a protlet concept:
    Exo Portal which contains some Web Content Accessibilityand Enhanced Security. The hole webpage content (navigation menus, news, etc.) depend on on the user role and profile.
    In Exo Portal, you can add containers and portlets.
    EXo portlet container service is a facade to the portlet API.
    Exo ECM which is the content management component.
    The documentation is not well organized and sometimes does not existent at all! For example, I lost some precious time to launch the applications… just because it is not written anywhere that you should not use the classic “startup.bat” for tomcat but a certain “exo-run.bat”.
  7. Liferay (java)
    As Exo portal, one of interesting aspect in Liferay Portal is the portlet concept. The back-office is maybe more flexible compared to Exo portal. In my opinion, the Exo Platform architecture seems attractive but the first approach you have in such case is the first sample, where you are supposed to compare different aspects.
    In this case, I should admit that I felt much more comfortable with Liferay’s sample:
    If it is not that easy to configure from scratch your website (for you need to know more about the portlet architecture or dependencies), at least you can alter the current website components, add/modify news, articles, etc
    The most efficient opensource portal in my experience is Liferay.
    Many documentations (many video tutorials for the user part) give you the explanations you need. The sample with tomcat is the liferay.com website. The fact that it is the hole website is much more interesting than a simple “hello world”!

    In Liferay 4.2.x, the pages are OScached, so the display is fluid. During the website annd portlets development, you will have to make sure about how to deal with the server cache. Make sure that the display is really what you have: for example, there is a css_cached.jps which is OScached whereas css.jsp. So during the development, I put the hole content in css.jsp.
    In Liferay 4.3.x, the theme pages are written in Velocity (*.vm). So the pages are really nicer to develop.
    The portlet behavior seems very interesting. The added value is that the licence is so opened that you can modify the code for your purpose, modify the basics portlets etc and apply the changes from one website to another.
    The portal is divided in two seperate website projects which you can add in your EDI workspace (I use Eclipse): one is “portal” and the other “ext”.
    The first one contains the hole project packages and files. The second one is where you will develop your extended components. It can contain nearly anything: your own themes (look-and-feel), page layouts, structures (page content types)… One thing quite annoying is that the default page generated are not xhtml compliant. Then, it is quite easy to configure the projects to clean, start, build, deploy etc. (ant tools).

Conclusions : I don’t think there is one CMS portal that is the perfect one but I beleive that regarding to the technologies used and the functionalities policies, some solutions are much more efficient than others. Liferay is probably one of those.

(more…)

XWiki : a nice wiki in java

Sunday, October 7th, 2007

I was searching for a nice wiki to work with few thousands of pages.

I selected 4 wikis that answered to my needs (according to www.wikimatrix.org !): twiki, jspwiki, confluence and xwiki.

I tested with 2000 files: xwiki and confluence gave the best performances.

I found XWiki interesting for few reasons:

  1. easy to include scripts on your pages with Velocity and Groovy
  2. user friendly interfaces (thought Confluence is very nice also)
  3. the document version control
  4. the document organisation

The link:

fckeditor : the editor for java

Thursday, June 14th, 2007

I you are looking for a nice wysiwyg editor to integrate in your java web application, that link should answer to your needs:

http://wiki.fckeditor.net/Developer’s_Guide/Integration/Java

The image upload is very efficient: when you choose an image from your desktop, it uploads it and you find it in your document were you can resize it or move it.

If you link a document from your desktop, it will send it to the server.

There are some little bugs left as : when the folder images, flash or … do not exist, it will throw an exception.
But you can modify the classes…

Hello world

Thursday, June 14th, 2007

I should begin this blog by telling the reason of its existence.
A clever fellow told me that in our days it is not reasonable not to have a blog professionally speaking. So I decided to describe my own experiences.