JDBC,HIBERNATE Y SPRING
Instalacion del Jdk Java Windows 7
Java Web: Problemas con el puerto 8080
Introduccion A los Orm
JSP - Standard Tag Library (JSTL) Tutorial
Patron Dao
Uso de JSTL
Hibernate Framework Introduccion
viernes, 1 de abril de 2016
Java Web: Problemas con el puerto 8080
Java Web: Problemas con el puerto 8080
Problema
El puerto 8080 lo utilizan por defecto los servidores JEE como GlassFish, Tomcat y JBoss para las aplicaciones Web.Normalmente no deberíamos tener ningún problema si utilizamos uno de estos contenedores y trabajamos con MySQL (Puerto 3306) y SQL Server (Puerto 1433).
El problema se presenta en las siguientes situaciones:
- Si queremos utilizar dos servidores JEE al mismo tiempo en la misma maquina.
- Si queremos utilizar Oracle XE.
Solución
La solución está en configurar cada uno de estos servidores Java EE con un puerto diferente, en algunos casos se puede optar por cambiar el puerto de Oracle XE.
Cambiar el puerto de Oracle XE
1.- Cargamos la consola SQL*Plus
C:\Users\Gustavo> sqlplus /nolog
2.- Iniciamos sesión como super usuario.
SQL> connect / as sysdba
Connected.
3.- Verificamos el puerto actual.
SQL> select dbms_xdb.gethttpport from dual;
GETHTTPPORT
2.- Iniciamos sesión como super usuario.
SQL> connect / as sysdba
Connected.
3.- Verificamos el puerto actual.
SQL> select dbms_xdb.gethttpport from dual;
GETHTTPPORT
-----------
8080
4.- Cambiamos el puerto a 8090.
SQL> begin
2 dbms_xdb.sethttpport('8090');
3 end;
4 /
PL/SQL procedure successfully completed.
4.- Verificar el nuevo puerto.
SQL> select dbms_xdb.gethttpport from dual;
GETHTTPPORT
-----------
8090
Listo, Oracle XE ya no dará problemas.
4.- Cambiamos el puerto a 8090.
SQL> begin
2 dbms_xdb.sethttpport('8090');
3 end;
4 /
PL/SQL procedure successfully completed.
4.- Verificar el nuevo puerto.
SQL> select dbms_xdb.gethttpport from dual;
GETHTTPPORT
-----------
8090
Listo, Oracle XE ya no dará problemas.
Instalacion del JDK JAVA WINDOWS 7
Instalacion del JDK JAVA WINDOWS 7
Pues muchos me han pedido o me han preguntado como se instala el JDK en Windows 7, ya que anteriormente publiqué como se instalaba tanto para Windows XP y para Windows Vista.
El tutorial sigue siendo el mismo, claro algunas cosas pueden cambiar, veamos el tutorial:
Antes de empezar necesitamos descargar el Java Development Kit o mejor conocido como elJava JDK desde la página de Java o mejor dicho de la página de Sun.
Descargar JDK – Java Development Kit
Una vez descargado dicho archivo, le damos doble clic para que empiece la instalación del mismo. Y nos aparecerá una pantalla como esta:
“Leemos” el contrato de Usuario Final, y le damos Clic en Accept >
Si queremos cambiar la capeta de instalación le podemos dar clic en Change… e instalarla donde quiera, Yo la dejé en la ruta por default. Y después le damos Next.
Empezará la instalación del Java JDK y tendremos que esperar unos minutos, dependiendo del rendimiento de tu equipo de computo.
Al terminar la instalación del Java JDK, nos pedirá la carpeta de destino donde se tiene que instalar el JRE de Java, este es importante instalarlo, para que se ejecuten los programas hecho en Java.Yo dejé la ruta por default. Damos Clic en Next >.
Empezará la instalación de Java JRE y dependerá del funcionamiento de nuestro equipo, cuanto dure esta instalación, por lo general dura unos pocos minutos.
Una vez que haya terminado la instalación del Java JRE, le daremos clic en Finish y terminará la instalación de Java JDK y Java JRE.
Todavía aquí no termina esto, si no que hay que configurar las variables de entorno para que podamos “compilar” desde la Consola de Comandos de Windows 7.
Damos Clic Derecho a Mi PC y nos vamos a Propiedades. Y nos aparecerá una ventana donde aparece la información de nuestro sistema, Damos clic en Configuración Avanzada del Sistema, que se encuentra a la izquierda. Y nos debe de aparecer una ventana como esta:
Nos vamos a la pestaña de Opciones Avanzadas y damos clic en Variables de Entorno
Buscamos en las Variables del sistema, la variable llamada Path y le damos clic en Editar
Se abrirá una nueva ventana y le agregamos esto: ;C:\Program Files\VERSION DE TU JAVA\binsi es que dejamos la ruta por default del instalador, si lo metiste en otra carpeta, deberás poner la dirección donde se encuentra instalado el JDK. Y damos Clic en Aceptar.
Después ahi mismo en Variables del Sistema, crearemos una nueva variable llamada Classpath y tendrá la dirección de nuestro src.zip en este caso sería esta: ;C:\Program Files\Java\VERSION DE TU JAVA\src.zip y le damos clic en Aceptar.
Le damos Clic en Aceptar en Variables de Entorno y en la Ventana de Opciones Avanzadas.
Ahora nos iremos a la Consola de Comandos de Windows 7, o al famoso CMD, una vez abierto escribimos javac y deberá mostrar este contenido.
Y si se muestra esto, quedó instalado el Java JDK en nuestro sistema de Windows 7, y podemos crear los programas y compilarlos desde la consola de comandos. O lo que es mejor, instalar un IDE como Eclipse o JCreator. En lo personal uso el Eclipse.
Introducción a los ORM
En este tema vamos a empezar a explicar qué ese un ORM e Hibernate , pero empecemos con los ORM.
Las siglas ORM significan “Object-Relational mapping” 1) y en castellano es “Mapeo Objeto-Relacional”.
El ORM es simplemente el código que escribimos para guardar el valor de nuestras clases en una base de datos relacional. Simplemente éso.
Es decir, es un framework de persistencia de nuestros datos a una base de datos.
Veamos un ejemplo en el que suponemos que estamos desarrollando el programa Itaca para la consellería de educación:
El programa tendrá la clase
Profesor
tal y como vemos en el siguiente diagrama UML:
Pero los objetos de la clase
Profesor
finalmente se deberán guardar en filas de la tabla de la base de datos llamada Profesor
:
El código Java que, dado un objeto
Profesor
, genera una fila en la tabla Profesor
o la borra o la actualiza, etc, es un ORM. Así de sencillo.
Ahora te estarás preguntando, ¿y para éso necesito un curso entero del? ¡Si yo llevo años haciendo eso con JDBC!.
Si pero:
Si pero:
- ¿Cuántas veces has llamado a
setString(int parameterIndex,String x)
para pasar los datos a unjava.sql.PreparedStatement
y poder almacenarlos en la base de datos?
Demasiadas veces y ¡ estoy harto de hacerlo!.
- ¿Y qué hay del código de JDBC cuando la clase
Profesor
incluye unjava.util.Set
o unjava.util.List
o simplemente herencia de otras clases.?
- Ese código no debe tocarse mientras no se deje la empresa ya que se corre el peligro de que nada vuelva a funcionar.
- ¿Y de hacer las validaciones antes de guardarlo?¿No estas harto de comprobar que la propiedad
nombre
no está vacía?
- La próxima vez que compruebe que un String no es
null
y que tras hacer untrim()
aún quedan caracteres me rapo el pelo y me hago budista.
- ¿Recuerdas el día en el que el DBA 2) te pidió que cambiaras el nombre de varias columnas de la base de datos?
- Estuve semanas revisando el código para estar seguro de que no me había dejado ninguna línea sin cambiar. Al volver a casa mi hijo ya no me conocía.
Dejando a parte esta pequeña broma, usar JDBC directamente tiene muchos problemas. Lo normal es que para evitar toda esta repetición de código los programadores empecemos a hacernos nuestras utilidades que nos ahorran mucho esfuerzo. Estas utilidades son el principio de un ORM. Gavin King pensó lo mismo 3) y acabó haciendo Hibernate.
Es decir que Hibernate es simplemente una serie de clases Java 4) que nos ayudaran a insertar, leer, actualizar borrar nuestros objetos en la base de datos.
Hibernate
¿Cuál ha sido el éxito de Hibernate? Mi opinión es la siguiente:
- No depende de estándares, lo que hace que pueda añadir funcionalidades mas rápidamente.
- Al igual que JDO no es necesario implementar interfaces o heredar de clases.
- Realiza sólo una cosa y la hace bien: Sólo se puede persistir a bases de datos relacionales, a diferencia de JDO que permite otros tipo de repositorios.
Hibernate
Después de dar un repaso a todas las tecnologías de persistencia, ¿Por qué un curso de Hibernate en vez de un curso de JPA? Realmente este curso trata de Hibernate e Hibernate con JPA con lo que vamos a tener lo mejor de ambos mundos.
Para hacer la persistencia de nuestros objetos Java a la base de datos hay que indicar cómo se debe realizar dicha persistencia. Para ello hay dos métodos:
- Ficheros XML
- Anotaciones en el código.
Las anotaciones que tiene Hibernate son actualmente las del estándar de JPA. De esa forma al ver las anotaciones de hibernate estaremos viendo las de JPA.Cuando veamos los ficheros XML usaremos los ficheros propietarios de Hibernate, así también veremos cómo funciona realmente Hibernate.
En cuanto al API de Java , vamos a ver únicamente el API de Hibernate.
¿Y por qué no dar sólo JPA sobre Hibernate ?
JPA sigue siendo un estándar de JCP , lo que conlleva un proceso lento de nuevas versiones y funcionalidades. Usando Hibernate directamente tendremos acceso a las funcionalidades específicas de Hibernate que no están cubiertas en el estándar de JPA y tampoco hay que ser tan estricto.
JPA sigue siendo un estándar de JCP , lo que conlleva un proceso lento de nuevas versiones y funcionalidades. Usando Hibernate directamente tendremos acceso a las funcionalidades específicas de Hibernate que no están cubiertas en el estándar de JPA y tampoco hay que ser tan estricto.
Hibernate ha funcionado con éxito muchos años en Java sin necesidad de JPA, así que no vamos a perder ahora todas las ventajas de ofrece Hibernate frente a JPA.
Resumiendo , éste va a ser un curso de Hibernate en el que muchas de las cosas que expliquemos será usando el estándar de JPA.
SoapUI
SoapUI
SoapUI es una de código abierto aplicación de pruebas de servicios web para arquitecturas orientadas a servicios (SOA) y las transferencias de estado representacional (REST).
Su funcionalidad abarca web del servicio de inspección, invocación, el desarrollo, la simulación y la burla , pruebas funcionales, pruebas de carga y cumplimiento.
Una versión comercial, SoapUI Pro , que se centra principalmente en características diseñadas para mejorar la productividad, también fue desarrollado por el software Eviware .
En 2011, SmartBear Software adquirió Eviware. [ 2 ]
SoapUI fue lanzado inicialmente en SourceForge en septiembre de 2005. Se software libre , licenciado bajo los términos de la Licencia Pública de la Unión Europea
Desde el lanzamiento inicial, SoapUI ha sido descargado más de 2.000.000 veces.
Está construido en su totalidad en la plataforma Java , y utiliza oscilación de la interfaz de usuario . Esto significa que SoapUI es multiplataforma .
Hoy en día, también es compatible con SoapUI IDEA , Eclipse y NetBeans .
SoapUI puede probar en SOAP y REST servicios web, JMS, AMF, así como realizar cualquier HTTP (S) y llamadas JDBC.
SoapUI
Las características principales incluyen:
inspección de los servicios Web
Los servicios Web que invoca
desarrollo de servicios Web
Los servicios Web de simulación y burlones
servicios web funcional, carga, cumplimiento y de seguridad
SoapUI Pro [ editar ]
SoapUI Pro es la versión de la empresa comercial. SoapUI Pro añade una serie de mejoras en la productividad al núcleo SoapUI, que están diseñados para aliviar muchas tareas recurrentes cuando se trabaja con SoapUI.
Característica | Beneficio | |
---|---|---|
la cobertura WSDL | Analizar los mensajes de petición / respuesta para ver lo bien que se está probando un contrato WSDL / burlado / usa. | |
refactorización WSDL | actualizar automáticamente las peticiones / respuestas / afirmaciones cuando el WSDL subyacente. | |
proyectos de composite | Trabajar juntos en un equipo en sus proyectos de pruebas de servicios web. | |
La gestión de requisitos | Administrar, importación y exportación de los requisitos del proyecto y vincularlos a los casos de prueba. | |
editor solicitud basada en formularios | Para facilitar la edición y la comprensión de los mensajes de petición tanto para usuarios técnicos y no técnicos. | |
Descripción general visor de mensajes | Para obtener una visión general de la / maqueta de petición / respuesta correspondiente mensaje supervisado. | |
solicitud editor basado en árbol / respuesta | Para facilitar la navegación y la comprensión de los mensajes más grandes. | |
inspector de la tabla | Para dar rápidamente una visión general del contenido del mensaje tabular. | |
inspector de esquema | Para facilitar la inspección y la depuración del contenido del mensaje. | |
inspector de XML | Para facilitar la inspección y la depuración del contenido del mensaje. | |
inspector de Doc | Para facilitar la comprensión del contenido del mensaje. | |
DataSource TestStep | Para facilitar la creación de pruebas basadas en datos. | |
DataSink TestStep | Facilita la recogida de datos a utilizar en las pruebas posteriores o para la presentación de informes externos. | |
DataGen TestStep | Para simplificar las pruebas completa de interfaces complejas. | |
asistentes de transferencia de la propiedad | Para facilitar la creación de casos de prueba complejos / flujos de mensajes. | |
XPath aserción Wizards | Para facilitar la creación de afirmaciones XPath para los pasos TestRequest y MockResponse. | |
XPath Wizards | Facilita la creación de expresiones XPath en muchas situaciones. | |
Los informes integrados | Proporcionar resúmenes de las pruebas funcionales para el seguimiento y la gobernabilidad. | |
biblioteca de scripts Groovy | Facilita la reutilización y secuencias de comandos de escenarios complejos. | |
escritorio con pestañas | Facilita la administración de escritorio con varios editores. | |
Descubrimiento de la API | Capacidad para crear pruebas soapUI basado en el tráfico HTTP capturada que se generan a partir de las acciones del usuario (por ejemplo, de la navegación por un sitio web) |
lunes, 28 de marzo de 2016
MVC MODELO VISTA CONTROLADOR
Modelo vista controlador (MVC)
Modelo Vista Controlador (MVC) es un estilo de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos.
Se trata de un modelo muy maduro y que ha demostrado su validez a lo largo de los años en todo tipo de aplicaciones, y sobre multitud de lenguajes y plataformas de desarrollo.
- El Modelo que contiene una representación de los datos que maneja el sistema, su lógica de negocio, y sus mecanismos de persistencia.
- La Vista, o interfaz de usuario, que compone la información que se envía al cliente y los mecanismos interacción con éste.
- El Controlador, que actúa como intermediario entre el Modelo y la Vista, gestionando el flujo de información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno.
El modelo es el responsable de:
- Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento.
- Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser: "Si la mercancía pedida no está en el almacén, consultar el tiempo de entrega estándar del proveedor".
- Lleva un registro de las vistas y controladores del sistema.
- Si estamos ante un modelo activo, notificará a las vistas los cambios que en los datos pueda producir un agente externo (por ejemplo, un fichero por lotes que actualiza los datos, un temporizador que desencadena una inserción, etc.).
El controlador es responsable de:
- Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
- Contiene reglas de gestión de eventos, del tipo "SI Evento Z, entonces Acción W". Estas acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a las vistas puede ser una llamada al método "Actualizar()". Una petición al modelo puede ser "Obtener_tiempo_de_entrega ( nueva_orden_de_venta )".
Las vistas son responsables de:
- Recibir datos del modelo y los muestra al usuario.
- Tienen un registro de su controlador asociado (normalmente porque además lo instancia).
- Pueden dar el servicio de "Actualización()", para que sea invocado por el controlador o por el modelo (cuando es un modelo activo que informa de los cambios en los datos producidos por otros agentes).
El flujo que sigue el control generalmente es el siguiente:
- El usuario interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botón, enlace, etc.)
- El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la acción solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de un gestor de eventos (handler) o callback.
- El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada a la acción solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra del usuario). Los controladores complejos están a menudo estructurados usando un patrón de comando que encapsula las acciones y simplifica su extensión.
- El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para el usuario donde se refleja los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra). El modelo no debe tener conocimiento directo sobre la vista. Sin embargo, se podría utilizar el patrón Observador para proveer cierta indirección entre el modelo y la vista, permitiendo al modelo notificar a los interesados de cualquier cambio. Un objeto vista puede registrarse con el modelo y esperar a los cambios, pero aun así el modelo en sí mismo sigue sin saber nada de la vista. El controlador no pasa objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista para que se actualice. Nota: En algunas implementaciones la vista no tiene acceso directo al modelo, dejando que el controlador envíe los datos del modelo a la vista.
- La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.
Suscribirse a:
Entradas (Atom)