Creando SDOs en Business Components

La especificación de Service Data Objects nos permite crear interfaces a nuestra capa de negocio para que podamos exponer funcionalidad ya existente como WebServices. En JDeveloper 11g los Business Components ya soportan la creación de SDOs, en este articulo presentaré como trabajar con esta funcionalidad.

Partimos de un proyecto base con BC. Hay que tener cuidado con las asociaciones y view links que se tengan en el proyecto ya que en algunos casos se pueden presentar inconvenientes por referencias que pueden causar un loop infinito. El modelo de datos y la estructura de mi aplicación quedan así

image

El Application Module es el que va a tener el WebService que se crea y este WebService a su vez contiene la información de los SDOs y sus operaciones. Los SDOs van a estar representados por los ViewObjects que queramos exponer. Si dentro del VO o dentro del AM tenemos métodos que queramos exponer también lo podemos hacer así como también ViewCriterias que tengamos definidas.

Para invocar el asistente de la creación del servicio nos vamos a la sección Service Interface dentro del AM y creamos una nueva interfaz. Al final de la creación de la interfaz vamos a tener un WebService bajo el AM y SDOs bajo cada uno de los VOs así como también su correspondiente XSD el cual va definir la estructura de los datos.

image

El último factor que tienen que tener en cuenta es que los SDOs tienen su propio deployment profile para poder ser desplegados en el servidor de aplicaciones

image

Para poder probar nuestro servicio podemos abrir el descriptor del WebService (archivo.WSDL) y ver en la última parte del archivo la ubicación de la interface

imageY cuando entramos esta dirección en nuestro servidor podemos directamente probar las operaciones que hayamos expuesto directamente.

image