Hoy en dia el desarrollo de software esta enfocado al manejo de requerimientos cambiantes.El proceso de desarrollo debe permitir, no solo la adaptacion al cambio, sino tambien la reduccion del esfuerzo, el tiempo y los costos, a la vez que debe promover la escalabilidad, fabilidad y reutilizacion del software. Es por esto que el desarrollo de software basado en componentes surge como una linea de la ingenieria del software que construye y utiliza tecnicas para la implementacion de sistemas abiertos y distribuidos mediante el ensamblaje de partes reutilizables[17]. En este articulo se describen los principios de la arquitectura por componentes Java Enterprise Edition (JEE) y se presenta un caso practico de implementacion utilizando Enterprise Java Beans (EJB’s), Richfaces, Hibernate y Seam en su construccion. PALABRAS CLAVES: Arquitectura de software, Componente de software, Java, EJB, Hibernate, JEE, Richfaces, Seam, Stateless, Stateful, biyeccion, Facelets, Jboss.