Creación de servicios web en weblogic

UN servicio web es un procedimiento remoto disponible para los clientes a través de TCP / IP, típicamente usando HTTP o SMTP como el transporte y XML para la codificación. El servicio web se describe utilizando la notación estándar XML llamado Descripción del servicio. Un servicio web cumple una única tarea o un conjunto de tareas.

Todos los detalles del servicio web están ocultas para el usuario, y el servicio es tanto de hardware como de software independiente. Esto anima a los desarrolladores de software para crear aplicaciones que consisten en pequeños, servicios individuales, que luego pueden ser utilizados solos o en grupos para realizar tareas más complejas.

Puede crear un servicio web de dos maneras: manualmente, a través de la creación de fuente de Java y los archivos de configuración, o el uso de un sistema de interfaz gráfica de usuario llamada WebLogic Workshop. En este artículo, se crea un servicio web de forma manual.

La definición de un servicio web

Antes de crear el servicio web, debe definir lo que hará. Esto le permite construir correctamente la interfaz que otras aplicaciones deben cumplir con si quieren comunicarse con su servicio web.

La decisión de diseño más básico es cuál de los dos tipos generales de servicios web que va a crear:

  • servicio síncrono
  • servicio asíncrono

UN servicio web sincrónica, que es el valor por defecto, comienza cuando el servicio web recibe un mensaje. Este servicio web responde inmediatamente.

servicios web síncronos son más útiles cuando el programa cliente requiere los datos devueltos por la solicitud inmediatamente. Un ejemplo de este tipo de datos es la actual cotización de bolsa para una empresa en particular.

Un asincrónico servicio web es asíncrona, por lo que los mensajes pueden intercambiarse libremente entre el cliente y el servicio web. Un mensaje de un lado no obliga a la otra para emitir el aviso correspondiente. Cuando un cliente envía un mensaje a un servicio web asíncrono, el cliente no espera a que un mensaje de respuesta del servicio web. El servicio web puede enviar un mensaje de vuelta al cliente en un momento posterior, pero no hay nada inherentemente corbatas este mensaje al mensaje original que el cliente ha enviado.

servicios web asíncronos son una buena opción cuando se está enviando la información que no requiere una respuesta. Por ejemplo, es posible que desee un envío de un mensaje a varios de sus servidores, dándoles un nuevo mensaje de bienvenida para mostrar a los usuarios.

La elección y la construcción de un componente de back-end

El propósito de su servicio web es permitir a los clientes remotos acceder a los servicios que proporciona. Estos servicios, llamados componente backend, tomar la forma de código Java. Usted puede construir su componente backend como uno de los siguientes:

  • Un método de un EJB de sesión sin estado
  • Un método de una clase Java

Video: Java Web Services ó Servicios Web Java (Cliente y Servidor)

  • Un método consumidor JMS

WebLogic puede hacer cualquiera de estos elementos disponibles como un servicio web. Esto hace que sea conveniente para empaquetar el código Java existente como un servicio web. Si ya ha creado EJB de sesión sin estado, puede empaquetar como un servicio web. O si existe el código en las clases regulares de Java, puede proporcionar acceso a su clase como un servicio web. También puede utilizar la mensajería JMS como un servicio de back-end para su servicio web.

La construcción de un servicio web síncrona

En esta sección, se construye un servicio web síncrona usando una clase Java regular y luego usando un EJB de sesión sin estado. En primer lugar, se debe escribir el componente de servidor. Esta será o bien una clase Java, un EJB sin estado, o un método de consumo de JMS.

Video: Oracle WebLogic 10.3 JAX-WS WebService Creation Guide

Trabajar con un componente de Java clase backend

Debe seguir algunas reglas cuando se implementa una operación de servicio web usando una clase Java:

  • No comience a las discusiones. Esta regla se aplica a todo el código Java que se ejecuta en el servidor WebLogic.
  • Definir un constructor predeterminado sin argumentos.
  • Definen como públicos los métodos de la clase Java que se expone como las operaciones de servicio web.

Debe escribir código Java flujos seguros porque WebLogic Server mantiene una única instancia de una clase Java que implementa una operación de servicio web, y cada invocación del servicio web utiliza esta misma instancia.

Para un ejemplo de la implementación de una operación de servicio web WebLogic con una clase Java, vaya al directorio siguiente:

WL_HOMEsamplesserversrcexampleswebservicesbasicjavaclass

dónde WL_HOME se refiere al directorio principal de su instalación de WebLogic Server. En un sistema Windows, este directorio es normalmente C: beaweblogic81.

El Listado 1 muestra una clase Java que se puede utilizar como un componente de servidor. Esta clase de Java contiene un solo método, llamado sampleMethod, que acepta un int y devuelve una cadena.

Listado 1: Clase Java Componente backend

com.dummies.ejb- paquete
SampleBackendComponent clase pública
{
Cadena sampleMethod pública (int num)
{
interruptor (num)
{
Caso 1: return “Uno” -
Caso 2: return “Dos” -
Caso 3: volver “Tres” -
Caso 4: volver “Cuatro” -
Caso 5: volver “Cinco” -
Caso 6: volver “Seis” -
Caso 7: return “Seven” -
Caso 8: return “Ocho” -
Caso 9: return “Nine” -
caso 10: return “Diez” -
default: return “un número” -
}
}
}

Video: Instalación y Configuraciones Básicas del Servidor WebLogic

Trabajar con un componente EJB de sesión sin estado backend

También puede optar por construir su componente de back-end como un EJB de sesión sin estado. Escribir código Java para un EJB de sesión sin estado para un servicio web no es diferente a escribir un EJB autónomo.

En el descriptor de despliegue web services.xml, se puede especificar que una operación de servicio web es una manera, lo que significa que la aplicación cliente que invoca el servicio web no espera una respuesta. Cuando se escribe el código Java para el método EJB que implementa este tipo de operación, se debe especificar que devuelve void.

Al elegir entre usar un EJB o un componente backend clase Java, tenga en cuenta las otras formas en las que se utilizará el componente de servidor. Si el componente de back-end se accede comúnmente como un EJB, construirlo como un EJB. Esto le permite utilizar el mismo código tanto para su EJB y servicios web.

Considerablemente se requieren más recursos para llamar a un servicio web que llamar a un EJB. Debido a esto, es común para crear todos los componentes de back-end como EJB y luego permitir que las aplicaciones externas para acceder a los componentes de back-end como servicios web. Sus propias aplicaciones locales, que se ejecutan en la misma red que el servidor WebLogic, pueden utilizar el método de llamada EJB más rápido.

El Listado 2 muestra el archivo de frijol que implementa el componente EJB backend. El componente EJB backend es casi el mismo que el componente backend clase Java. La principal diferencia es el código adicional que se utiliza para apoyar el EJB.

Listado 2: EJB backend Componente

com.dummies.ejb- paquete
importar javax.ejb *. -
importación java.rmi *. -
importar javax.swing *. -
SampleBean clase pública implementa SessionBean
{
STX privada SessionContext
// métodos requeridos, no utilizados por este tipo de grano
public void ejbCreate () {}
ejbRemove public void () {}
ejbActivate public void () {}
ejbPassivate public void () {}
// colocador para el SessionContext
setSessionContext pública vacío (SessionContext CTX)
{
ctx = this.stx-
}
// el método de muestreo
Cadena sampleMethod pública (int num)
lanza RemoteException
{
interruptor (num)
{
Caso 1: return “Uno” -
Caso 2: return “Dos” -
Caso 3: volver “Tres” -
Caso 4: volver “Cuatro” -
Caso 5: volver “Cinco” -
Caso 6: volver “Seis” -
Caso 7: return “Seven” -
Caso 8: return “Ocho” -
Caso 9: return “Nine” -
caso 10: return “Diez” -
default: return “un número” -
}
}

Video: Crear y consumir un web service en C# usando Visual Studio 2015 | WCF | Programando en C#

}

Debe especificar que el frijol es un EJB sin estado en el archivo ejb-jar.xml, que se muestra en el Listado 3. Puede utilizar muchos nodos y atributos.

Listado 3: El archivo ejb-jar.xml para un componente backend

‘Http://java.sun.com/dtd/ejb-jar_2_0.dtd`gt;



SampleObject
com.dummies.ejb.SampleHome
com.dummies.ejb.Sample
com.dummies.ejb.SampleBean
Apátrida
Envase


Artículos Relacionados