Está en la página 1de 51

TEMA: PROYECTO HOSPITAL EL SALVADOR

SECCIÓN: 02

CATEDRATICO: ING. Juan José Santos Escobar

INTEGRANTES: CARNET:

Carrillo Ángel Daniel Alejandro 25-1812-2020

Contreras Escobar Mauricio Alexander 25-3607-2020

Juan Francisco Cubas Ruiz 17-3856-2013

García Jiménez Manfred Josué 25-1782-2020

Zamora Raimundo William Oswaldo 17-1432-2020

FECHA DE ENTREGA: 26/11/2022


Índice

Introducción --------------------------------------------------------------------------------- 3

Objetivos generales y específicos ------------------------------------------------------ 4

Capítulo 1-------------------------------------------------------------------------------------- 5

Identificación del problema --------------------------------------------------------------- 5

Datos Generales de la Empresa--------------------------------------------------------- 6

Organigrama de la Empresa (incluir descripción) -----------------------------------7

Identificación del Problema (Incluir Diagrama de Identificación) --------------- 8

Levantamientos del requerimiento (hardware, software, sistema) ------------- 9

Capítulo 2------------------------------------------------------------------------------------- 12

Marco teórico de tecnologías implementadas en el proyecto.--------------------12

Capítulo 3------------------------------------------------------------------------------------- 11

Conclusiones -------------------------------------------------------------------------------- 4.0

Anexos ---------------------------------------------------------------------------------------- 5.0


1.0. Introducción

En el presente trabajo se mostrará la solución para el hospital de el salvador el

cual consiste en diseñar un sistema de registro y control de historial médico de los

pacientes, actualmente no cuentan con una organización digital de los usuarios

todo debe hacerse en papel lo cual entorpece la búsqueda rápida de un

diagnóstico previo o saber por lo que ingreso en el pasado.

La solución presentada al hospital de el salvador es utilizar herramientas de

software libre como los son NetBeans, apache server, glassfish. Los cuales nos

proporcionan una estructura de datos sólida y confiable y de fácil mantenimiento y

escalable al futuro.
Objetivos

General

 Desarrollar e implementar un sistema de datos de registros y control de

pacientes del Hospital El Salvador.

Específicos

• Diseñar el sistema de acuerdo con las necesidades del hospital.

• Diseñar una interfaz que permita gestionar de manera eficiente los datos de

pacientes.

• Desarrollar una base de datos estructurada en SQL para mantener

registros actuales de los pacientes.

• Realizar interfaces interactivas para el usuario para el manejo eficaz de los

datos que el proyecto almacenara.


Capítulo I

Identificación del problema

La presente investigación se basa en el hospital el Salvador, ubicado salón Centro

Americano, Av. De La Revolución 222, San Salvador departamento de san

Salvador, En este hospital estamos desarrollando un Sistema de registro y control

de historial médico de pacientes, que permita al personal disponer de la

información de los pacientes de manera ágil y oportuna, El desarrollo del Sistema

será llevado a cabo en plataforma de software libre, proponiendo un historial

médico que permita crear, guardar, buscar, actualizar y eliminar la información

medica de un paciente y de un médico en una computadora con el objetivo de

mejorar la eficiencia, calidad y seguridad y así no almacenar tantos datos en físico

y que todo los datos se guarden en el sistema a la cual el proyecto surge debido a

la necesidad de actualizar el sistema mediante el cual se gestionan los datos de

un hospital.

El sistema que utilizaban estaba muy anticuado, ya que todo se hacía por medio

de papeles y documentos. Para poder realizar esta actualización tecnológica, se

ha desarrollado una aplicación web que facilita la realización de las tareas de los

responsables del hospital, mediante la cual se podrá llevar un control de los

pacientes actuales y de los datos de estos, registrados previamente.

En los siguientes párrafos se explica el propósito de la aplicación de forma más

detallada. En primer lugar, no todo el mundo tendrá acceso. El uso está restringido

a los trabajadores del centro encargados del hospital, que serán los que
habitualmente harán uso de ella; Los pacientes serán registrados por el trabajador

la primera vez que asistan.

Primero se revisará si existe y, en caso de que no lo esté, se guardarán sus datos

(DNI, nombre y apellidos, dirección, teléfono, localidad, etc.).

Estos pacientes son aquellas personas que acuden al hospital, pero no tienen

acceso a la aplicación. En cuanto a los datos, se podrán concretar una vez el

paciente esté registrado. Se concretará la fecha de ingreso. Cuando se cree un

registro, se generará un registro.

Este registro permitirá conocer todos los datos del paciente, e identificar si se

encuentra en la base de datos o no y las incidencias que todavía no se han

resuelto. Cabe destacar que, en caso de que sea necesario realizar una búsqueda

para saber si los datos del paciente se encuentran disponible o no, el sistema

facilitará una de búsqueda el cual devolverá los datos del paciente simplemente

indicando su id o su nombre. El trabajador también podrá llevar un control del

acceso al hospital. Es decir, cada vez que entre o salga, indicará el sexo de dicho

paciente y automáticamente el sistema guardará el acceso en la base de datos,

junto con la fecha y hora en la que ha entrado o salido.


Datos Generales de la Empresa

Nombre de la propuesta: Almacén de documentos de un hospital

Empresa u organización en la que se desarrollara: Hospital el salvador

Ubicación: salón Centro Americano, Av. De La Revolución 222, San Salvador

departamento de san Salvador

Actividad principal de la empresa u organización:

-Almacenar documentos de cada paciente en base de datos

-Registrar pacientes atendidos


Organigrama de la empresa
Identificación del problema (Diagrama de Identificación)
Levantamiento del requerimiento (hardware, software, sistema).

Para poder llevar a cabo nuestra propuesta del sistema SDP dentro de la empresa

necesitaremos los siguientes requisitos:

Hardware

• PC para encargado o administrador del sistema.

• PC, utilidad como servidor.

• PC para las distintas áreas donde se utilizará el sistema en la empresa.

Software

• Servidor de bases de datos.

• Sistema operativo Windows 7 (o superior).

• App Front-end (usuario)

• Versiones de JDK y

Sistema

• Procesador Intel Core i5 10400 12 MB 2.9GHZ

• Sistema Operativo Windows 10, 64 bit, español.

• Memoria (RAM) – 4GB, 2 Dos canales SDRAM DDR3 a 1600 MHZ.

Disco duro de 1 TB.


Capítulo 2

Marco teórico de tecnologías implementadas en el proyecto.

1. JavaScript

JavaScript es un lenguaje de programación creado para cumplir con las

necesidades del paisaje envolvente del internet. Desde su concepción, ha crecido

en popularidad y utilidad, y ahora está presente no solo en el desarrollo web.

JavaScript es la insignia del desarrollo web interactivo y, como resultado, es

universal en esta industria.

¿Para qué sirve JavaScript?

En el contexto actual, JavaScript se utiliza para todo, gracias a la introducción de

Node.js. Esta tecnología crea software robusto para empresas en todo el mundo.

Organizaciones como LinkedIn y Medium lo implementan al construir plataformas

para que los usuarios tengan acceso a sus servicios.

Lo que se puede hacer con JavaScript abarca diferentes tipos de software, como

juegos, programas de computadora, aplicaciones web y hasta tecnologías de


blockchain. JavaScript es posiblemente el lenguaje de programación más popular

de la web.

JavaScript para desarrollo web

El uso más popular de JavaScript es para el desarrollo web, y es una de las

herramientas más poderosas que un desarrollador puede tener en sus manos. Los

desarrolladores usan JavaScript en esta área para añadir interactividad y

funciones que mejoren la experiencia del usuario y hagan a internet mucho más

disfrutable. JavaScript se ha expandido más allá del desarrollo de interfaz, que es

donde comenzó. Recientemente, JavaScript ha llegado al back-end, o dorsal de

desarrollo web. Esto quiere decir que los desarrolladores tienen acceso de interfaz

a métodos

CRUD (Create, Read, Update, Destroy; en español: Crear, Leer, Actualizar,

Destruir) y hasta puede utilizarse en el motor de un sitio web.

• Interactividad de interfaz o front-end: el desarrollo web mejora solamente

por el aumento de la interactividad y funciones que JavaScript ofrece.

• Aplicaciones Web: las aplicaciones web son similares a los sitios, pero en

su lugar pueden empacarse en una caja más compacta, que mejora el

control de la seguridad y otros aspectos.

• Juegos de navegador: los navegadores web actuales han cambiado

mucho; los desarrolladores pueden crear juegos robustos que funcionan en

ellos.

• Desarrollo web dorsal o back-end: el desarrollo web se ha

transformado tanto, que JavaScript puede utilizarse para gestionar el

backend de sitios y aplicaciones.


2. Bootstrap.

Bootstrap es un marco de desarrollo front-end gratuito y de código abierto para la

creación de sitios web y aplicaciones web. Diseñado para permitir el desarrollo

receptivo de sitios web móviles , Bootstrap proporciona una colección de sintaxis

para diseños de plantillas.

Como marco, Bootstrap incluye los conceptos básicos para el desarrollo web

receptivo, por lo que los desarrolladores solo necesitan insertar el código en un

sistema de cuadrícula predefinido. El marco Bootstrap se basa en lenguaje de

marcado de hipertexto ( HTML ) , hojas de estilo en cascada ( CSS ) y JavaScript .

Los desarrolladores web que utilizan Bootstrap pueden crear sitios web mucho

más rápido sin perder tiempo preocupándose por los comandos y funciones

básicos.

¿Para qué sirve Bootstrap?

Bootstrap hace realidad el diseño web receptivo. Hace posible que una página

web o aplicación detecte el tamaño y la orientación de la pantalla del visitante y

adapte automáticamente la visualización en consecuencia. El enfoque móvil


primero asume que los teléfonos inteligentes , las tabletas y las aplicaciones

móviles para tareas específicas son las principales herramientas de los empleados

para realizar el trabajo. Bootstrap aborda los requisitos de esas tecnologías en el

diseño e incluye componentes de interfaz de usuario , diseños, herramientas de

JavaScript y el marco de implementación. El software está disponible recompilado

o como código fuente .

3. CSS

¿Qué es CSS?

CSS son las siglas en inglés para «hojas de estilo en cascada» (Cascading Style

Sheets). Básicamente, es un lenguaje que maneja el diseño y presentación de las

páginas web, es decir, cómo lucen cuando un usuario las visita. Funciona junto

con el lenguaje HTML que se encarga del contenido básico de las páginas.

Se les denomina hojas de estilo cascada porque puedes tener varias hojas y una

de ellas con las propiedades heredadas (o en cascada) de otras.

¿Para qué sirve CSS?


Con CSS se crean reglas para decirle a nuestro sitio web cómo se quiere mostrar

la información y guardar los comandos para elementos de estilo (como fuentes,

colores, tamaños, etc.) separados de los que configuran el contenido.

Ventajas de CSS

El lenguaje CSS tiene la ventaja de ser mucho más simple, por lo que implica

menos código y probabilidad de errores, así como una mayor velocidad de carga y

facilidad de lectura.

Al desarrollar una página web es necesario hacer énfasis en la importancia de los

elementos visuales para comunicar un mensaje. La presentación de los datos de

una empresa y la usabilidad de la plataforma son factores fundamentales para

atraer visitantes al sitio y retener su atención en el contenido que presentas.

4. SASS

Sass es un procesador CSS.

Un preprocesador CSS es una herramienta que nos permite generar, de manera

automática, hojas de estilo, añadiéndoles características que no tiene CSS, y que

son propias de los lenguajes de programación, como pueden ser variables,

funciones, selectores anidados, herencia, etcétera.


Estas características de los procesadores nos permiten, además, que el CSS que

se genera sea más fácil de mantener y más reutilizable.

SASS dispone de dos formatos diferentes para la sintaxis, lo que hace se traduce

en dos extensiones de fichero diferentes: .sass y .scss

El primero en salir fue .sass y se caracteriza, al igual que Stylus y coffeescript para el

lenguaje de programación Javascript, en no hacer uso de llaves ni punto y coma

final, en busca de la simplicidad y eliminación de ruido.

Ventajas de utilizar Sass

El uso de una herramienta como Sass proporciona una serie de ventajas, como

son las siguientes:

• Reduce el tiempo para crear y mantener el CSS.

• Permite tener una organización modular de los estilos, lo cual es vital para

proyectos grandes.

• Proporciona estructuras avanzadas propias de los lenguajes de

programación, como variables, listas, funciones y estructuras de control.

• Permite generar distintos tipos de salida, comprimida, normal o minimizada,

trabajando tanto en desarrollo como en producción, además se hace una

forma muy fácil.

• Permite vigilar los ficheros, de tal manera que, si ha habido un cambio en la

hoja de estilos, se regenera automáticamente (modo watch).

• Tiene muy pocas dependencias, sobre todo la nueva versión, que es

dartsass. En las anteriores versiones se dependía de muchas librerías de


Ruby y era un poco engorroso de instalar, pero con la nueva versión, la

instalación es muy fácil.

• Existen muchas herramientas asociadas, muchas librerías hechas con Sass

y una comunidad muy importante de usuarios.

5. JPA (Java Persistence API)

JPA es la propuesta estándar que ofrece Java para implementar un Framework

Object Relational Mapping (ORM), que permite interactuar con la base de datos

por medio de objetos, de esta forma, JPA es el encargado de convertir los objetos

Java en instrucciones para el Manejador de Base de Datos (MDB).

A la hora de desarrollar, los programas modernos modelan su información

utilizando objetos (Programación Orientada a Objetos), pero las bases de datos

utilizan otros paradigmas: las relaciones ("Tablas") y las claves externas que las

relacionan. Esta diferencia entre la forma de programar y la forma de almacenar

da lugar a lo que se llama "desfase de impedancia" y complica la persistencia de

los objetos. JPA es un modelo basado en POJO para la persistencia estándar

para el ORM. Es parte de la especificación de EJB 3 y sustituye a beans de

entidad. Los beans de entidad se definen como parte de la especificación de EJB

2.1 y no habían logrado impresionar a la industria como una solución completa

para la persistencia por varias razones:


Los beans de entidad son componentes pesados y están estrechamente unidos a

un servidor Java EE. Esto hace que sean menos adecuados que POJOs ligeros,

que son más convenientes para su reutilización.

Los beans de entidad son difíciles de desarrollar y desplegar.

Los beans de entidad BMP te obligan a utilizar JDBC, mientras que los beans de

entidad CMP son altamente dependientes en el servidor de Java EE para su

configuración y la declaración de ORM. Estas restricciones afectan el

funcionamiento de la aplicación.

JPA toma las mejores ideas de las tecnologías de la persistencia de otros. Se

define un modelo de persistencia estándar para todas las aplicaciones Java. JPA

puede ser utilizado como la solución tanto para la persistencia de Java SE y Java

EE.

¿Cómo funciona JPA?

Dado que es una especificación, JPA no proporciona clase alguna para poder

trabajar con la información. Lo que hace es proveernos de una serie de interfaces

que podemos utilizar para implementar la capa de persistencia de nuestra

aplicación, apoyándonos en alguna implementación concreta de JPA.

Servidor Glassfish

El servidor Glassfish es un puente en cuanto a complimiento de Java Enterprise,

este parte utilizando como base Sun Java System Application Server.
La primera capa incluyo los contenedores mas importantes definidos en un

servidor de aplicaciones, el contenedor Web el cual gestiona el ciclo de vida de los

Servlet y el contendor EJB que gestiona el ciclo de vida de los Bean del negocio.

El servidor web permite la comunicación distribuida entre los clientes y el servidor

utilizando los protocolos HTTP/HTTPS, a su mismo nivel se encuentra el soporte

de presentación JSF (Java Server Faces), Persistencia (JPA) servicios web y

mensajería (JMS).

Glassfish cuenta con un dominio que define un conjunto de propiedades, recursos

e instancias de servidores de aplicaciones, la definición de dominio permite

flexibilizar y organizar la instalación de servidores de aplicaciones, ya que se

pueden asignar distintos dominios dentro de un mismo host. Las aplicaciones y

recursos instaladas en un dominio son dependientes de los otros dominios. Para

permitir distintos dominios que puedan estar en marcha al mismo tiempo, cada

dominio utilizado distintos puestos de servicio y administración.


El instalador de Glassfish crea un dominio por defecto llamado “domain1” y en el

crea un servidor llamado “server”, con un servidor en el dominio ya podemos

comenzar a desplegar aplicaciones, pero en instalaciones un poco complejas es

habitual encontrarnos con un dominio que alberga varios servidores que puedan

estar repartidos a su vez por distintas maquinas.

El servidor por defecto también tiene una serie de funciones administrativas

especiales el cual se le denomina Domain Administration Server (DAS). Cuando

se inicia un dominio el DAS se encarga de iniciar la consola de administración y de

sincronizar la configuración entre todos los servidores administrativos.

Toda la configuración del dominio de guarda en un archivo denominado

domain.xml en la ruta: domains/dominio/config. En el fichero se encuentran todos

los detalles sobre los distintos elementos definidos en el dominio.

Las herramientas de administración mas conocidas con las que cuenta Glassfish

son:

• La consola de administración

• Asadmin

• Servicios REST

• Update Tool

• Java Management Extensions


• IDE: para este caso no es una herramienta de Glassfish en sí, pero tanto como

Eclipse como NetBeans se integran perfectamente con Glassfish.


JAVAEE8 funcionalidad interfaces y sus tipos.

Las interfaces funcionales son interfaces que tienen un método a implementar, es

decir, un método abstracto. Esto significa que cada interfaz creada que respeta

esta premisa se convierte automáticamente en un interfaz funcional.

El compilador reconoce esas interfaces y permite que estén disponibles para los

que los desarrolladores trabajen, por ejemplo, con expresiones lambda.

Interfaces funcionales presentadas en JDK, que son:

• Supplir

La letra T significa que es genérico, y en este caso significa que la operación get(),

cuando se ejecute, nos devolverá algo y puede ser de cualquier tipo. No

necesitamos pasar un argumento, lo llamamos y recibimos como un proveedor,

veamos un ejemplo:

Aquí estamos llamando al método generate() desde la Api Stream, que necesita
un

Supplier para ser ejecutado.

• Consumidor y Biconsumidor Recibimos su clase:


Es una interfaz simple, lo opuesto al Supplier. Recibe una variable genérica, hace

algo con ella y luego no devuelve nada. Ejemplo:

Tenemos una lista de enteros y para imprimir estos números en consola podemos

usar forEach. Recibe una variable (numero) y hace algo con ella. En este caso, se

imprime en consola y no devuelve nada al usuario.

• Predico y BiPredicado.

La clase Predicate tiene un metodo llamado test, que recibe un argumento y

devuelve un booleano. Podemos concluir que este metodo se utiliza para validar

hipotesis, y vemos en el codico

Para este ejemplo, obtuvimos una lista de números enteros que se compone de

los números: 1, 2, 3, 4 y 5.

Y nuevamente, usaremos la API Stream. Vamos a convertir nuestra lista en un

Stream a través del.stream(), luego usaremos .filter(), y es en este pequeño donde

ocurre la magia con el Predicate.


Nuestro filtro de método necesita un Predicate para ejecutarse y, como hemos

visto antes, validará una hipótesis y nos devolverá Verdadero o Falso.

Java Eclipse Link

JPA es una especificación que indica cómo se debe realizar la persistencia

(almacenamiento) de los objetos en programas Java. Fíjate en que destaco la

palabra "Especificación" porque JPA no tiene una implementación concreta, sino

que, como veremos enseguida, existen diversas tecnologías que implementan

JPA para darle concreción.

Aunque forma parte de Java empresarial, las implementaciones de JPA se

pueden emplear en cualquier tipo de aplicación aislada, sin necesidad de usar

ningún servidor de aplicaciones, como una mera biblioteca de acceso a datos.

Dado que es una especificación, JPA no proporciona clase alguna para poder

trabajar con la información. Lo que hace es proveernos de una serie de interfaces

que podemos utilizar para implementar la capa de persistencia de nuestra

aplicación, apoyándonos en alguna implementación concreta de JPA.


Es decir, en la práctica significa que lo que vas a utilizar es una biblioteca de

persistencia que implemente JPA, no JPA directamente. Más adelante, veremos

algunas de estas implementaciones, pero, mientras tanto, conviene saber qué

funcionalidades definen estas interfaces en la especificación, mediante las

interfaces del diagrama anterior, ya que luego serán las que utilices con cada

implementación concreta.

Tecnología JSP (Java Server Pages)

La tecnología JavaServer Pages permite generar contenido Web dinámico como,

por ejemplo, archivos HTML, DHTML, XHTML y XML, para incluirlos en una

aplicación Web. Los archivos JSP son una forma de implementar contenido de

páginas dinámico del lado del servidor. Los archivos JSP permiten a un servidor

Web como, por ejemplo, Apache Tomcat, añadir contenido dinámicamente a las

páginas HTML antes de enviarlas al navegador que las solicita.

Cuando se despliega un archivo JSP en un servidor Web que proporciona un

motor de servlets, se procesa previamente en un servlet que se ejecuta en el

servidor.

Esto contrasta con JavaScript™ en el lado del cliente (dentro de códigos

<SCRIPT>), que se ejecuta en un navegador. Una página JSP resulta ideal para

tareas para tareas cuya ejecución es más adecuada en el servidor como, por

ejemplo, acceder a bases de datos o llamar a beans de Enterprise Java™. Puede

crear y editar un archivo JSP en el editor HTML añadiendo su propio texto e

imágenes utilizando HTML, códigos JSP o JavaScript, incluyendo código fuente

Java dentro de los códigos de scriptlet. Normalmente, los archivos JSP tienen la
extensión de archivo .jsp. Asimismo, la especificación JSP recomienda que los

archivos de fragmento JSP tengan la extensión de archivo .jspf. Si no se sigue

este convenio, el validador de JSP tratará los fragmentos JSP como archivos JSP

autónomos normales y se pueden generar errores de compilación.

La Especificación Sun Microsystems JSP 1.2 ofrece la posibilidad de crear

códigos JSP personalizados. Los códigos personalizados simplifican las acciones

complejas y ofrecen a los desarrolladores un mayor control del contenido de las

páginas. Los códigos personalizados se recopilan en una biblioteca (taglib). Un

archivo descriptor de biblioteca de códigos (taglib.tld) es un documento XML que

proporciona información sobre la biblioteca de códigos, incluido el nombre

abreviado de la taglib, la descripción de la biblioteca y las descripciones de código.

Consulte la Especificación Sun Microsystems JSP 1.2 para obtener más

información. Para utilizar bibliotecas de códigos personalizadas de JSP 1.2, puede

importar la biblioteca de códigos .tld y los archivos .jar al proyecto para utilizarlos o

asociarlos como proyectos de biblioteca Web. También puede hacer referencia a

un archivo

TDL utilizando un URI.

Servlet

¿Qué es un Servlet? . Esta pregunta me la siguen haciendo bastantes personas

con los desarrollos modernos . ¿Ya no se usan los Servlets , han pasado a la

historia? . ¿Son tecnologías antiguas? . Vamos a verlo todo un poco a detalle .

Para empezar hay que entender que un Servlets es el concepto más básico de

componente web a nivel de Java EE. Se trata de una clase que genera una

página
HTML.

Algo en principio muy muy sencillo : package

com.arquitecturajava; import

java.io.IOException; import java.io.PrintWriter;

import javax.servlet.ServletException; import

javax.servlet.annotation.WebServlet; import

javax.servlet.http.HttpServlet; import

javax.servlet.http.HttpServletRequest; import

javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class ServletHola

*/

@WebServlet("/ServletHola") public class

ServletHola extends HttpServlet { private

static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest


request, HttpServletResponse response)

throws ServletException, IOException

{ PrintWriter writer = response.getWriter();

writer.println("<html>");

writer.println("<body>"); writer.println("hola");

writer.println("</body>");

writer.println("</html>");

Un servlet es una clase en el lenguaje de programación Java, utilizada para

ampliar las capacidades de un servidor. Aunque los servlets pueden responder a

cualquier tipo de solicitudes, estos son utilizados comúnmente para extender las

aplicaciones alojadas por servidores web, de tal manera que pueden ser vistos

como applets de Java que se ejecutan en servidores en vez de navegadores web.

Este tipo de servlets son la contraparte Java de otras tecnologías de contenido

dinámico Web, como PHP y ASP.NET.

La palabra servlet deriva de otra anterior, applet, que se refiere a pequeños

programas que se ejecutan en el contexto de un navegador web.

El uso más común de los servlets es generar páginas web de forma dinámica a

partir de los parámetros de la petición que envíe el navegador web.

JavaServer Faces(JSF)

La tecnología JavaServer Faces es un framework de interfaz de componentes de

usuarios del lado del servidor para las aplicaciones web basadas en la tecnología

Java. Los principales componentes de la tecnología JSF son:


• Una API para:Representar componentes de Interfaz de Usuario (UI) y

gestionar su estado.

o Manejar eventos, validar en el servidor y conversión de datos. o

Definir la navegación de páginas.

o Soporte de internacionalización y accesibilidad.

• Dos librerías de etiquetas JSP personalizadas para expresar componentes

en una página JSP y enlazar los componentes a objetos del servidor.

El modelo de programación bien definido y las librerías de etiquetas facilitan la

construcción y mantenimiento de las aplicaciones web con Interfaces de Usuario

(UI) de servidor. Con un mínimo esfuerzo se podría:

• Poner componentes en una página mediante etiquetas de componentes.

• Enlazar eventos generados por componentes con código de la aplicación

en el servidor.

• Relacionar componentes UI en una página con datos del servidor.

• Construir una UI con componentes reutilizables y extensibles.

• Salvar y restaurar el estado de la UI más allá de la vida de las peticiones.


JSF es una especificación desarrollada por la Java Community Process.

Actualmente existen cuatro versiones de esta especificación:

• JSF 1.0 (11-03-2004)


 JSF 1.1 (27-05-2004) – Especificación JSR-

127: http://jcp.org/en/jsr/detail?id=127

 JSF 1.2 (11-05-2006) – Especificación JSR-


252: http://jcp.org/en/jsr/detail?id=252
• JSF 2.0 (12-08-2009) - Especificación JSR-314 (JSF 2.0)

Por hacer un resumen, JSF proporciona:

1. Una clara separación entre vista y modelo.

2. Desarrollo basado en componente, no en peticiones.

3. Las acciones del usuario se ligan muy fácilmente al código en el servidor.

4. Creación de familias de componentes visuales para acelerar el desarrollo.

5. Ofrece múltiples posibilidades de elección entre distintos desarrollos.

Ventajas e inconvenientes

Existen numerosas ventajas que hacen que JSF sea una tecnología apropiada

para el desarrollo de aplicaciones web:

• Una de las grandes ventajas de la tecnología JavaServer Faces es que

ofrece una clara separación entre el comportamiento y la presentación. Las

aplicaciones Web construidas con tecnología JSP conseguían parcialmente

esta separación. Sin embargo, una aplicación JSP no puede mapear

peticiones HTTP al manejo de eventos específicos del componentes o

manejar elementos UI como objetos con estado en el servidor.

• La tecnología JavaServer Faces permite construir aplicaciones Web que

implementan una separación entre el comportamiento y la presentación

tradicionalmente ofrecidas por arquitectura UI del lado del cliente. JSF se

hace fácil de usar al aislar al desarrollador del API de Servlet.

• La separación de la lógica de la presentación también le permite a cada

miembro del equipo de desarrollo de una aplicación Web enfocarse en su


parte del proceso de desarrollo, y proporciona un sencillo modelo de

programación para enlazar todas las piezas.

• Otro objetivo importante de la tecnología JavaServer Faces es mejorar los

conceptos familiares Disadvantage de componente-UI y capa-Web sin

limitar a una tecnología de script particular o un lenguaje de marcas.

Aunque la tecnología JavaServer Faces incluye una librería de etiquetas

JSP personalizadas para representar componentes en una página JSP, los

APIs de la tecnología JavaServer Faces se han creado directamente sobre

el API JavaServlet. Esto permite hacer algunas cosas: usar otra tecnología

de presentación junto a JSP, crear componentes propios personalizados

directamente desde las clases de componentes, y generar salida para

diferentes dispositivos cliente. Así, se podrán encapsular otras tecnologías

como Ajax en componentes JSF, haciendo su uso más fácil y productivo, al

aislar al programador de ellas.

• JavaServer Faces ofrece una gran cantidad de componentes opensource

para las funcionalidades que se necesiten. Los componentes Tomahawk de

MyFaces y ADFFaces de Oracle son un ejemplo. Además, también existe

una gran cantidad de herramientas para el desarrollo IDE en JSF al ser el

estándar de JAVA.

• La tecnología JavaServer Faces proporciona una rica arquitectura para

manejar el estado de los componentes, procesar los datos, validar la

entrada del usuario, y manejar eventos.

• Además, ofrece una rápida adaptación para nuevos desarrolladores.


No obstante, el uso de JavaServer Faces también tiene un conjunto de
desventajas:

• Su naturaleza como estándar hace que la evolución de JSF no sea tan

rápida como pueda ser la de otros entornos como WebWork, Wicket, Spring

, etc.

Netbeans

Descripción

NetBeans es un entorno de desarrollo integrado libre, orientado principalmente al

desarrollo de aplicaciones Java. La plataforma NetBeans permite el desarrollo de

aplicaciones estructuradas mediante un conjunto de componentes denominados

“módulos”. Cada uno de estos módulos sería un archivo Java conteniendo un

conjunto de clases que interactarán con las APIs de NetBeans. El objetivo de esta

arquitectura es favorecer el desarrollo de funcionalidades de forma independiente

y la reutilización de componentes.

Las principales características de NetBeans son las siguientes:

• Proporciona una base modular y extensible para el desarrollo de

aplicaciones, la Plataforma NetBeans.

• Esta plataforma incluye servicios para el control del interfaz de usuario, la

configuración, el almacenamiento, las ventanas, etc. El IDE está

desarrollado con la misma metodología módular, por lo que puede

extenderse incluyendo módulos con funcionalidades determinadas.

• Aunque está ideado para el desarrollo Java, permite el desarrollo en otros

lenguajes, como PHP o Python, mediante paquetes adicionales.


PrimeFaces.

Cuando utilizas la tecnología JSF para la vista de una aplicación Web, no puedes

menos que sentir que te faltan componentes más potentes, y con más versatilidad.

Para suplir estas carencias existen varias empresas que compiten con distintos

frameworks, y que nos hacen la vida más fácil. Hoy presentamos a uno de ellos

que nos viene de tierras turcas: PrimeFaces.

El punto fuerte de PrimeFaces es la sencillez de instalación y lo poco pesado que

es. El mantenerlo liviano, sin complicaciones a la hora de instalarlo, es decir, sin

dependencias ni configuraciones, hace que podamos estar usándolo en unos

pocos segundos. Veremos en este artículo cómo hacerlo, y nos introduciremos en

uno de los frameworks más populares en el mundo JSF.

Algunas características de PrimeFaces

Enumero algunas de las cosas que nos ofrece PrimeFaces son:

• Un interesante conjunto de componentes (editor HTML, autocompletado,

gráficas,...)

• Soporte para Ajax, basándose en el estándar JSF 2.0 Ajax API

• Sin dependencias, ni configuraciones, además de ser muy ligero (1802Kb

en su versión 3.5)

• Soporte para interfaces de usuario sobre dispositivos móviles, nos provee

de un kit para este menester.


• Múltiples temas de a paciencia, listos para usar.

• La documentación, para mi forma de entender, está muy currada y

organizadita

• Amplia difusión del framework, con lo cual existe una comunidad que

respalda al proyecto.

Podría seguir enumerando cosas, pero para mí estas son las más importantes.

Creando un proyecto Web con JSF

Lo primero que haremos es crear un nuevo proyecto Web:

Pulsamos "Next" y elegimos el servidor en el que queramos que se despliegue la

aplicación, en mi caso tengo Glassfish 3.1.2 instalado:


De nuevo "Next" y le decimos que queremos usar JavaServer Faces como

framework para la aplicación Web que vamos a crear:

Pulsando "Finish" tendremos el proyecto creado con la siguiente estructura:


Configurando el proyecto para usar PrimeFaces

Como indiqué en las características de PrimeFaces, la instalación es nula, y lo

vamos a ver ahora, veremos que, con añadir la librería al proyecto, y añadiendo

una línea en el código de la página ya lo tendremos operativo.

Para añadir la librería al proyecto, cada uno puede operar como desee, yo voy a

crear una librería global, ya que así luego ya la tengo creada para sucesivos

proyectos. Pero insisto, cada uno debe hacerlo como sea su costumbre, o la

necesidad de cada caso.

Para crear la librería global nos vamos a la pestaña de proyecto ("Projects" en la

zona derecha de la pantalla), y pulsamos con el botón derecho sobre el nombre

del proyecto, eligiendo las propiedades de este ("Properties"), accederemos a la

siguiente pantalla, en la que tendremos que elegir la categoría "Libraries":


Pulsamos en añadir librería ("Add library"), le damos el nombre deseado a la

librería que vamos a crear. Yo le he dado el nombre "Genbetadev" pero sería más

lógico crearla con el nombre "PrimeFaces3.5" por ejemplo:

Una vez definida, le añadimos el fichero .jar correspondiente:


Pulsamos en OK, y ya tenemos "instalado" PrimeFaces para poder usarlo en

nuestro proyecto. Lo escribo entre comillas, porque como veis, no hemos tenido

que configurar nada de nada, simplemente añadir la librería, lo cual es el colmo de

la sencillez.

Probando que funciona en una página

Ahora editaremos la página index.xhtml que se ha creado por defecto en el

proyecto y añadiremos la siguiente línea en la cabecera de esta:


Acto seguido añadimos alguno de los componentes de PrimeFaces, desplegamos

el proyecto y vemos el resultado:

Con esto vemos que PrimeFaces está funcionando, y estamos listos para usar

cualquiera de los componentes que nos ofrece. Iremos profundizando en

sucesivos artículos en este framework.


Capítulo 3
Conclusión

Llegamos a la conclusión de que es necesaria un sistema de información digital

para poder agilizar los procesos que se realizan en el Hospital y que actualmente

se hacen en físico o mano. Por lo que la solución que estamos ofreciendo es una

página web la cual se creó o creara con el lenguaje de programación Java y a

partir de esto se automatizaran algunos de los procesos para guardar información.

Por lo que para realizar dicha acción se contara con un equipo de trabajo de cinco

personas y a partir de los datos recolectados de la problemática en cuestión, se

iniciara el proyecto. Por lo que todos trabajaremos de la mano para brindar el mejor

servicio posible y tratar de agilizar los tiempos de desarrollo y cubrir todos los

ángulos posibles. Con esto lo que buscamos es que El Hospital pueda resolver su

problemática en la medida de

lo posible.
. Anexos

También podría gustarte