En este artÃculo crearemos un modelo de persistencia para nuestra pequeña aplicación de gestión de empleados. Basado en un anterior post donde creamos una aplicación básica de JDeveloper.
Sobre el proyecto en el menú contextual, New > EJB > Entities From Tables. Vamos a utilizar la tecnologÃa EJB 3.0, anotando los beans de entidad como JPA 2.0:

Seleccionamos las tablas Departaments y Employees.
Como vimos en un artÃculo anterior, se puede obtener el diagrama de una base de datos ya hecha. Yo me lo he creado en el paquete lebrijo.diagrams:

Podemos crear un New > EJB Diagram, y arrastrando las entidades anteriormente creada, tendremos el dibujo entero:

En los dos beans refactorizaré el atributo employees por manager, ya que define más claramente la relación.

Esto se actualiza automáticamente en el diagrama de EJB (en teoria, en realidad hay que volver a arrastrar las entidades).
Como último ejercicio, podemos crear la consulta de encontrar por nombre, ampliando la anotación de consultas de la entidad Employees:
@Entity
@NamedQueries({
@NamedQuery(name = "Employees.findAll", query = "select o from Employees o")
,
@NamedQuery(name = "Employees.findByName", query = "select o from Employees o where o.firstName like :p_name")
})
En un artÃculo anterior vimos como asegurar un Web Service con autenticación básica (esto podrÃa servir para cualquier página en nuestra aplicación). Esto lo hacÃamos creando usuarios en el DefaultAuthenticator de Weblogic (user).
Hoy vamos a crear un SQLAuthenticator en Weblogic, de forma que tome esos usuarios y grupos de la base de datos.
Read the rest of this entry »
Parece una obviedad que la mejor herramienta para desarrollar sobre Weblogic/OracleDB es JDeveloper. Pero para mi, hasta ahora, no era tan obvio, ya que Eclipse es mi IDE preferido, ya que es el estándar para el desarrollo JAVA (Jboss, Spring, Android,…).
Si tu arquitectura es Oracle/Weblogic, no tienes miedo al cambio y tu obsesión es incrementar tu productividad, tu herramienta es JDeveloper. Voy a hacer una serie de artÃculos tratando de demostrar este punto. Pero si quieres ir abriendo boca te recomiendo que veas este video, veras como puede ser realmente sencillo hacer aplicaciones RIA en entornos empresariales muy complejos.
Read the rest of this entry »
Veamos como implementar la persistencia en un proyecto de Eclipse con el estándar JPA implementado por EclipseLink.
Nos basaremos en el proyecto de Eclipse creado en el artÃculo anterior. En las propiedades (botón derecho) del proyecto añadimos el “poder” de manejar Entidades JPA, añadiendo el Facet:

Utilizaremos EclipseLink 1.1.2 ya que es la implementación de JPA por defecto en WebLogic 11g.
Generar Entidades desde las tablas
Sobre el proyecto en el menu contextual (botón derecho), JPA > Generate Entities from Tables… Elegimos la conexión SCHOOL creada anteriormente, y las tablas REGISTRY y SCHOOLCERTIFICATES. Generando las entidades en el paquete lebrijo.school.model:

Para mantener la coherencia de JPA debemos añadir un Identificador a todas las clases, Registry lo tiene, pero a SchoolCertificates hay que añadÃrselo:

Es muy interesante observar el fichero src/META-INF/persistence.xml, como se configura la conexión y se mapean las entidades.
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="school" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
 <class>lebrijo.school.model.Registry</class>
 <class>lebrijo.school.model.Schoolcertificate</class>
<properties>
<property name="eclipselink.target-server" value="WebLogic_10"/>
<property name="eclipselink.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
<property name="eclipselink.jdbc.url" value="jdbc:oracle:thin:@192.168.0.7:1521:xe"/>
<property name="eclipselink.jdbc.user" value="school"/>
<property name="eclipselink.jdbc.password" value="school"/>
<property name="eclipselink.logging.level" value="FINEST"/>
</properties>
 </persistence-unit>
</persistence>
Aquà os dejo el zip del proyecto eclipse tras estas modificaciones.
En capitulos anteriores hemos definido la arquitectura Oracle EE, hemos instalado Oracle XE y la conectamos con nuestro Eclipse, y diseñamos el modelo de datos para nuestra aplicación de Ejemplo.
Ahora toca crear un proyecto básico en Eclipse para Weblogic.
Read the rest of this entry »
Considero JDeveloper como una buena herramienta para el diseño de bases de datos por algunas razones:
- Es capaz de navegar muy bien las bases de datos Oracle.
- Tiene un editor de esquema ER muy bueno.
- Es capaz de modificar la base de datos cuando estás modificando el esquema.
De la misma web de Oracle podemos descargar la última versión de JDeveloper para nuestro sistema operativo. Instalarlo no implica mucha dificultad, basta con tener la JDK de Java.
Read the rest of this entry »
Oracle XE es la implementación ligera de la Base de Datos versión 10g para desarrolladores y DBAs que quieran hacer pruebas en local.
Se instala descargando un ejecutable de la web de Oracle. Yo he instalado la versión Windows, virtualizando Windows XP sobre VirtualBox (>>) en mi Ubuntu.
Para administrar la Base de Datos tenemos una aplicación web en http://192.168.0.7:8080/apex/:

Para que os hagáis una idea de los requisitos de hardware, en la instalación básica en mi sistema, la base de datos ocupa 605 MB de RAM y 880 MB de disco duro. Se ve en la figura anterior.
Ahora crearemos la base de datos que va a alojar los datso de nuestra aplicación. Sobre la misma aplicación web vamos a Administration > Database Users > Create User, y creamos el usuario school con la misma passsword, seleccionando todos los privilegios del sistema:

Con esto hemos creado el esquema school con un usuario que tiene todos los privilegios para desarrollar sobre la base de datos.
Antes de hacer una conexión remota debemos activar la opción Administration>Manage HTTP Access > Available from local server and remote clients, en la aplicación web de administración.
Una vez hecho esto podemos conectarnos desde cualquier aplicación: Eclipse, JDeveloper, PL/SQL Developer, SQLDeveloper,… En la siguiente figura muestro como conectarse desde eclipse ya que es nuestro IDE de cabecera, y además de un pantallazo muestra todos la configuración necesaria para la conexión:

OEPE (Oracle Enterprise Pack for Eclipse), es una distribución de Eclipse afinada por Oracle para conectarse a sus bases de datos y desarrollar con sus tecnologÃas.
- Trae ya configurado el plugin para que la perspectiva de Administración de la BBDD sea capaz de ver todos los tipos de objetos (paqetes, vistas, sinónimos,…).
- Predescargado Weblogic, para instalarlo de un clic. Y con facilidades para desarrollar planes de despliegue sobre el.
- Sus librerÃas de JSF, y los conectores SCA con Spring.
Si desarrollas Java sobre Eclipse, con los productos de Oracle detrás (SGBD y WebLogic), está bien por lo menos conocer que existe esta distro de Eclipse.
En esta entrada veremos como podemos conectar Netbeans a una Base de Datos, en mi caso trabajo con Oracle, por tanto la tomaremos de ejemplo.
Utilizaremos el estándar JDBC, basado en java para conexiones remotas de BBDD.
Read the rest of this entry »
PHPMyAdmin es un administrador de la base de datos MySQL. Aplicación de administración desarrollada en PHP.
Podemos publicarla en un servidor web y administrar de forma segura nuestro SGBD MySQL de forma remota, con el único requisito de tener un navegador web.
Read the rest of this entry »
October 18th, 2007
7:00
MySQL
Instalaremos un servidor de base de datos en red MySQL sobre un Debian etch. Read the rest of this entry »