Herramientas Utilizadas
-NetBeans 6.5 RC2 + Servidor de Aplicacion: JBoss
Diseño de la Solución
-La solución se basa en una pagina web alojada en un servidor de aplicaciones, en este caso elegimos JBoss, el cual puede ser cambiado a cualquier otro, por ejemplo, Tomcat o Glassfish. Bajo esta estructura cualquier usuario registrado se podra conectar a travez de internet, o bien solo a traves del la subred del departamento segun sean los requerimientos, para poder acceder a la pagina en la cual podra realizar la solicitud de la sala que necesite utilizar.
-Para el cumplimiento de los requerimientos de desarrollo se utilizaron las siguientes herramientas:
JSF: JavaServer Faces
- Es un framework para aplicaciones JAVA basadas en web que simplifica el desarrollo de GUI en aplicaciones J2EE. JSF usa JavaServer Pages JSP’s como la tecnología que permite hacer el despliegue de las páginas, pero también se puede acomodar a otras tecnologías como XUL.
- Los principales componentes de la tecnología JavaServer Faces son:
Un API y una implementación de referencia para: representar componentes UI y manejar su estado; manejo de eventos, validación del lado del servidor y conversión de datos; definir la navegación entre páginas; soportar internacionalización y accesibilidad; y proporcionar extensibilidad para todas estas características.
Una librería de etiquetas JavaServer Pages (JSP) personalizadas para dibujar componentes UI dentro de una página JSP.
Hibernate
-Es una herramienta de Mapeo objeto-relacional para la plataforma Java (y disponible también para .Net con el nombre de NHibernate) que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) que permiten establecer estas relaciones.
-Hibernate es software libre, distribuido bajo los términos de la licencia GNU LGPL.
-Hibernate busca solucionar el problema de la diferencia entre los dos modelos de datos coexistentes en una aplicación: el usado en la memoria de la computadora (orientación a objetos) y el usado en las bases de datos (modelo relacional). Para lograr esto permite al desarrollador detallar cómo es su modelo de datos, qué relaciones existen y qué forma tienen. Con esta información Hibernate le permite a la aplicación manipular los datos de la base operando sobre objetos, con todas las características de la POO. Hibernate convertirá los datos entre los tipos utilizados por Java y los definidos por SQL. Hibernate genera las sentencias SQL y libera al desarrollador del manejo manual de los datos que resultan de la ejecución de dichas sentencias, manteniendo la portabilidad entre todos los motores de bases de datos con un ligero incremento en el tiempo de ejecución.
Diagramas
Flujo de Paginas vistas por el usuario
Pagina de inicio
En esta página el usuario podrá ingresar por medio de su rut y clave a la página principal, en caso de estar correcto el loguin, donde podrá elegir la sala a la cual quiere hacer una reserva. En caso de fallar en el loguin, se redirigirá a la misma página actual sin ningún cambio.
Pagina principal
Una vez que se entra al sistema por medio del loguin, el usuario tendrá una bienvenida personalizada, gracias a un control de sesión, y este podrá elegir por medio de la GUI que muestra un mapa con las salas del departamento, la sala en la que desea hacer una reserva. En caso de querer salir en el extremo superior derecho existe un botón para regresar a la página de inicio.
Pagina Para Petición de Salas
Dentro de esta página al usuario se le mostrara en un comienzo la peticiones de la sala en la cual está dentro de la semana actual, luego si el usuario quiere elegir otro día, puede hacerlo por medio del calendario que se encuentra disponible bajo la imagen de referencia de la sala. Luego de encontrar el día y la ubicación dentro de la semana y el bloque correspondiente, el usuario puede llenar los campos de petición de sala y hacer la petición. En caso de estar desocupada la sala, esta será reservada y se anunciara al usuario acerca de su correcta inscripción. En caso de estar reservado el bloque se anunciara al usuario de no tener la posibilidad de hacer la petición en ese horario. Para salir de esta página y volver a la página principal basta con presionar el botón que se encuentra en la esquina superior derecha.