Enterprise Deployement Platform

Description

The Entreprise Deployment Platform (EDP) will be the base for enterprise applications developed by Exsolvi. The goal of EDP is to provide a standards based, enterprise grade platform based on best practises in terms of design and technology.

Components

  • Language
  • Technology
  • Application server
  • Version control
  • Build system
  • Dependency resolution
  • Continous Integration platform

Language

The EDP will use Java for these reasons:

  • Open source
  • Large community
  • Enterprise grade
  • Development team has prior experience

Technology

Basically there are two choises:

  • Home brewn solution based on Spring and Tomcat + additional components
    • Pros
      • Light weight
      • Easy to get started and to understand
      • Does not require a full blown app-server
    • Cons
      • Does not scale well
      • No coherent solution (based on best of bread).
  • EJB3 on either JBoss or Glassfish.
    • Pros
      • Enterprise grade
      • Standardized
      • Scales well
    • Cons
      • Complex
      • EJB3 is a fairly 'new' standard.
      • Requires ful blown app-server (Free solutions are limited, basically only JBoss and Glassfish).

Technology

Basically there are two choises:

  • JBoss
  • Glassfish

Both looks promising. The scuttlebutt says JBoss is slow in terms of release cycles. But currently there is just a new release out the door so the EDP should be able to live on that for a while. Glassfish is strong candidate but is still a little bit to unmature. We will settle with JBoss for now but Glassfish will stay under the looking glass.

Version control

The Linux kernel is build with the help of GIT. That pretty much sums it up! ;)

Build system

Ant or Maven seems to be fairly common. Maven is more that just a building system - it's a project management system. Maven is probably very well working but seems to miss good Eclipse integration. This is show stopper. Ant on the other hand seems to be very widly used. Ant used in conjuction with Ivy will make a nice couple.

Dependency resolution

Maven or Ivy. As mentioned above Maven lacks good Eclipse integration. Ivy on the hand seems to work seamless with Ant (which works very well with Eclipse). Ivy also seems to do a pretty good job based on the demos and tutorials on the net.

Continous integration platform

Currenly it seems like CruiseControl is very popular. Works for me. Update: Seems like Hudson is a cool guy. Trying it out.

 
entreprise_deployment_platform.txt · Last modified: 2009/01/25 15:13 by david
Recent changes RSS feed Creative Commons License Driven by DokuWiki Made on Mac