My desires when I study this technologies is improving the business proccess modeling, mixing in a clean way:

  • Human tasks –> (ADF Web apps design)
  • Web Services
  • Legacy technologies
  • Synchronize with business events
  • Define business rules

I think that controlling all this points, and with a good analysis system, you can get a great tool to manage the business information system, and so, managing good.
Today we will install all the platform to develop and deploy SOA applications.

Continue reading

Mi pretensión al estudiar estas tecnologías es mejorar el modelado de los procesos de negocio, mezclando de una forma clara:

  • Tareas humanas –> (ADF Web apps design)
  • Servicios web
  • Antiguas tecnologías
  • Sincronizar con eventos de negocio
  • Definición de Reglas de negocio

Me parece que controlando esto, y con un buen sistema de análisis, ofreces una gran herramienta para controlar los sistemas de información de un negocio, y por tanto dirigirlo muy bien.
Hoy vamos a instalar toda la plataforma para desarrollar y desplegar aplicaciones SOA.

Continue reading

I installed both packages in a Windows XP, in a VirtualBox machine. Chosen version: 11g – 10.3.3.

Yuou can download the packages from the Fusion MiddleWare downloads page.

To install WebLogic Server 10.3.3 download the package wls1033_win32.exe. And through the wizards we install it in C:\Oracle\Middleware. It is so easy.

After that we can create separated domains with the configuration tool in C:\Oracle\Middleware\wlserver_10.3\common\bin\config.cmd

I have installed it apart but the JDeveloper has an embed Weblogic which we can use. It gets the same directory if we install JDeveloper in the same Middleware directory.

To install JDeveloper 11.1.1.3.0 download jdevstudio11113install.jar. Execute: java -jar jdevstudio11113install.jar (same command for linux installation).

Install it in C:\Oracle\Middleware\jdev11113. It installs the new embed server apart from the last.

Use the JDK default for Weblogic installation: Sun SDK 1.6.0_18 (C:\Oracle\Middleware\jdk160_18)

It installs at the following path:

Installing JDeveloper

Vamos a instalar estos dos productos en un Windows XP, en una máquina de VirtualBox. La versión elegida es la 11g – 10.3.3.

Podemos descargar todo el software de la página de descargas de Fusion MiddleWare.

Para instalar WebLogic Server 10.3.3 descargaremos el paquete wls1033_win32.exe. Y a través de wizards lo instalaremos en C:\Oracle\Middleware. No tiene ninguna complicación más.

Luego podremos crear dominios separados con su herramienta de configuración en C:\Oracle\Middleware\wlserver_10.3\common\bin\config.cmd

Yo lo he instalado a parte pero con el paquete de JDeveloper viene un Weblogic embebido que podemos utilizar para nuestros desarrollos. Quedaría en el mismo directorio organizado si instalamos JDeveloper en el raíz de Middleware.

Para instalar JDeveloper 11.1.1.3.0 descargamos jdevstudio11113install.jar. Y ejecutamos: java -jar jdevstudio11113install.jar (ciertamente para linux es lo mismo).

Instalamos en C:\Oracle\Middleware\jdev11113. Esto lo haremos para que nos instale un nuevo servidor embebido del IDE separado del que instalamos antes.

Utilizaremos la JDK que trae por defecto la instalación de WebLogic: Sun SDK 1.6.0_18 (C:\Oracle\Middleware\jdk160_18)

Se instalara en el siguiente path:

Installing JDeveloper

En Cloud Colmputing la manera que tenemos de desplegar nuestra aplicaciones es a través de un plugin de Eclipse que despliega remotamente las aplicaciones. Este efecto lo podemos obtener con JDeveloper, añadiéndole un servidor Weblogic remoto, que esté un una máquina aparte a la tuya (en Amazon WS por ejemplo).

Esto puede ser muy útil para:

  • Montar un entorno de desarrollo ágil (RAD).
  • Desplegar las pruebas fuera de tu máquina local que suele ser muy lenta.
  • Como comentaba, para un Cloud Development Style con Oracle.
  • Para tener las aplicaciones separadas en capas, cada capa una máquina como a mi me gusta (escalabilidad, rendimiento).

Continue reading

In Cloud Computing the way to deploy our applications is through an eclipse plug-in. We can feel this effect with JDeveloper, adding a remote WebLogic server, it is out of your local machine (at Amazon WS for example).

This can be useful for:

  • Implement an agile development environment (RAD).
  • Deploy for testing out of your machine becouse local use to be slower.
  • As I comment, for Oracle Cloud Development Style.
  • Having apps layer separated, as Ilike(scalability, performance).

Continue reading

Después del rodeo inicial que me he marcado, intentando cubrir la capa de negocio con Spring/Eclipse y luego con EJB 3. Si queremos desarrollar con el framework de Oracle ADF, nuestra mejor opción es ADFbc (business components). La razón es simple, está mucho mejor integrada con las capas superiores (Data Controls y Vistas) que EJB, ya que es la solución de referencia de la casa (Oracle).

Continue reading

After explore diferent ways, trying to cover the business layer with Spring/Eclipse and after that with EJB 3. If you want to develop with Oracle ADF framework, our best choice is ADFbc (business components). The reason, simple, it is better integrated with top layers (data controls and view) than EJB, this is the reference solution of the company (Oracle).

Continue reading

Basándonos en un artículo anterior en el que mostrábamos como hacer una pantalla maestro detalle, hoy le vamos a añadir una caja donde se mostrará el detalle donde podremos modificar los datos de los empleados.

También es útil saber como se hacen las Listas de Valores con esta tecnología, y veremos un ejemplo de como exportar la tabla detalle a Excel.

Aplicación ejemplo en HRApplication.zip.

Continue reading

Based on an earlier post where show how to make a master detail page, today we will add a box where we will be able to modify the aployee data.

It is useful too to know how to make List of Values (combos) with this technology, and see an example of how to export the detail table to Excel.

Example application in HRApplication.zip.

Continue reading

En entornos administrativos nos podemos encontrar con la exigencia de un tipo de formulario master/detail. Por ejemplo para navegar los empleados que tienen cierto departamento, o los clientes que adquirieron cada uno de nuestros productos.

Basándonos en la aplicación de Recursos Humanos de Oracle haremos un maestro detalle para navegar por los departamentos de la empresa.

Aplicación ejemplo en HRApplication.zip.

Continue reading

Normalmente en todos los proyectos web, queremos que todas las páginas tengan una apariencia coherente en todo nuestro sitio, para mejorar la usabilidad. Lo más habitual en web es poner como parte fija la cabecera (con el login por ejemplo), un menú en la parte superior o lateral, y un pié:

  • Y que estas partes (que forman la plantilla) se incluyan en todas las páginas que desarrollemos sin necesidad de volver a repetir todo.
  • Que cualquier modificación sobre la plantilla se refleje automaticamente en todo nuestro sitio, sin tocar el resto.
  • Y, si es posible, en mi editor WYSIWYG se vea todo (esto en Eclipse no es posible de momento).

Continue reading

Usually, in all our web projects, we want all the pages have a coherent style in ehole site, to improve the usuability. The usual strategy is fix the header (with the login for example), a menu in the top or both sides, and a footer.

  • And all this parts are included in all our pages with no repeat the code.
  • Every change in the template will show in whole site.
  • And, if is possible, our WYSIWYG editor shows me the design (it is not possible with Eclipse for the moment).

Continue reading

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:

Creating persistence model

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:

Entity-RelationShip diagram

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

EJB diagram

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

Refactoring manage relation

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")
})

In this post we will create a persistence model for our little employee management application. Based on an earlier post where we created a basic JDeveloper Web application.

Over the project with contextual menu, New > EJB > Entities From Tables. We will use the EJB 3.0 technology, annotating entity beans as JPA 2.0:

Creating persistence model

Select Departaments and Employees tables.

As seen in an earlier post, we can obtain the ER diagram from a made data base. I created it in the package lebrijo.diagrams:

Entity-RelationShip diagram

We can create a New > EJB Diagram, and drag-drop the created entities, we have the whole draw:

EJB diagram

I refactored the employees attribute by manager, because it defines the relationship better.

Refactoring manage relation

This is refreshed automatically to the EJB diagram (theory, in practice I have to drag the entities again).

As last exercise, we can create the ‘find by name’ query, in the query annotation at Employees entity:

@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")
})