Wednesday, January 18, 2006

Infravio Signs Strategic Partnership with IPT

IPT (BTW, you will notice that IPT has a fancy new website) has recently signed an agreement with Infavio to distribute the company's flagship Infravio X-Registry Platform(TM) and provide sales and front-line support for Infravio in Europe.

I hope we will land deals on the top of this excellent product.

Thursday, January 12, 2006

EJB container or not EJB container

The following is how I recently compared EJB container and POJOs.
I really want to find out if people disagree or agree with those arguments. The idea is to find out how to justify the use of an EJB container.

Enterprise JavaBeans, EJBs. J2EE EJB containers provide component clustering, load-balancing, and application state replication for Web and EJB applications. They provide optimized high availability and process monitoring infrastructures that can be deployed in mission critical environments with no single point of failure.
EJB containers not only provide integrated security, transaction and management support but they are usually highly optimized, hence providing extremely fast response times and high throughput rates. Moreover, concurrency and locking models for EJBs enable high level of concurrent access without sacrificing data consistency.
EJB containers also provide support for event or message oriented programming. EJB containers provide transaction-aware concurrent components that are driven by java messages. This provides more robust and reliable message driven components compared to traditional message clients.

An alternative to using EJB container is to build applications using Plain Old Java Objects, POJOs. This requires a sophisticated framework like Spring, which conceals much complexity from the developer.
If the Spring framework simplify development by providing transaction support, inversion of control etc. it requires additional components to be used to achieve standard enterprise-grade features like clustering, high availability, event driven programming. Such components are usually available as open source solutions. For example, a clustering solution could be based on JBoss Cache. However, this not only complicates the deployment but introduce vendor locking dependencies.