A medida que las ciencias de la computación evolucionan, los requerimientos de software son cada vez más exigentes, esto quiere decir que se desea que este sea confiable, robusto, flexible, desarrollado en el menor tiempo posible y con la menor cantidad de recursos, para poder afrontar esta nueva era en el desarrollo de software los expertos trabajan arduamente ofreciéndonos nuevas herramientas. Entre los avances mas importantes se encuentra la programación orientada a objetos, en torno a esta los últimos años se realizaron grandes avances, entre los más importantes están los patrones de diseño y la plataforma J2EE, que juntos forman una herramienta que permite el desarrollo de aplicaciones empresariales que promete cumplir con las nuevas necesidades.