Sve Especificacion Tecnica Web Services

download Sve Especificacion Tecnica Web Services

If you can't read please download the document

Transcript of Sve Especificacion Tecnica Web Services

ZOFRI - SVEEspecificacin Tcnica de Servicios WebVersin 1.1 14/07/2010

ndice1. 1.1 1.2 2. 3. Objetivo del Documento Definiciones, Acrnimos y Abreviaciones Referencias Introduccin Especificacin Tcnica de Invocacin de Servicios Web 3.1 Estndares de Comunicacin 3.2 Seguridad 3.3 Definicin Tcnica 3.3.1 Estructura de Entrada SOAP Servicio Web 3.3.2 Estructura Salida SOAP del Servicio Web 4. 4.1 4.2 4.3 4.4 5. 5.1 6. 6.1 6.2 Invocacin de Servicios Web Autenticacin e Inicio de Sesin Servicio con estructura simple de entrada / salida Servicio con estructura compleja de entrada / salida Valores opcionales en los Servicios Web Ejemplos de Invocacin de Servicios Web Ejemplo de llamada a WS desde cliente Java con Axis modalidad One-Way Anexo Estndares Productos 3 3 3 4 4 4 4 6 6 6 10 10 12 13 14 19 19 22 22 27

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 2 de 27

1. Objetivo del DocumentoEl objetivo del presente documento es describir la Especificacin Tcnica de los Servicios Web del Servicio de Visacin Electrnica - ZOFRI, necesaria para las integraciones con los usuarios externos. 1.1 Definiciones, Acrnimos y AbreviacionesDefinicin WebService WebMethod Token Significado Servicio Web que contiene WebMethods para poder brindar funcionalidad e informacin de otros sistemas. Mtodo Web que implementa una determinada funcionalidad dentro de un Servicio Web. Cadena de caracteres alfanumricos utilizado para identificar unvocamente una sesin de usuario en el sistema SVE. Significado Hypertext Transfer Protocol Secure (Protocolo seguro de transferencia de hipertexto) Simple Object Access Protocol (Protocolo Simple de Acceso a Objetos) Servicio de Visacin Electrnica Universal Description, Discovery and Integration http://www.uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm Unicode Transformation Format-8 (formato de codificacin de caracteres Unicode) http://www.utf8.com/ Extensible Markup Language (Lenguaje de Etiquetado Extensible) World Wide Web Consortium (Consorcio de la Red mundial de Redes) http://www.w3.org/ Web Services Interoperability Organization http://www.ws-i.org/ Web Services Description Language (Descriptor de Lenguaje de Servicios Web) Significado

Acrnimo HTTPS SOAP SVE UDDI UTF-8 XML W3C WS-I WSDL

Abreviacin No Aplica

1.2

ReferenciasTtulo No Aplica Fecha Autor

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 3 de 27

2. IntroduccinEl siguiente documento contiene las definiciones tcnicas respecto a los Servicios Web que Zofri S.A. pondr a disposicin para que las Empresas Usuarias como los Organismos Externos puedan integrarse con el Servicio de Visacin Electrnica (SVE). En estas definiciones se tomaron como base las especificaciones Basic Profile v1.0 del organismo WS-I para cubrir de esta manera los aspectos de interoperabilidad como de seguridad.

3. Especificacin Tcnica de Invocacin de Servicios Web3.1 Estndares de Comunicacin Los Servicios Web del Servicio de Visacin Electrnica ZOFRI se implementarn de acuerdo con las especificaciones WSDL v1.1, SOAP v1.1, UDDI v2.0 y XML v1.0, esto con el objetivo de incorporar las recomendaciones de la WS-I definidas en la especificacin Basic Profile v1.0 y de esta manera asegurar la interoperabilidad entre los sistemas. SOAP (Simple Object Access Protocol) es un protocolo ligero destinado al intercambio de informacin estructurada en un entorno descentralizado, distribuido y define cmo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Los mensajes se intercambian entre el cliente y el servidor a travs de los Servicios Web, estos poseen una estructura XML y estn descritos por el XML Schema contenido en el WSDL, siguiendo los estndares de la W3C y la especificacin de WSI antes mencionada. El estndar de codificacin que utilizan en los mensajes XML es UTF-8. 3.2 Seguridad Ciertos servicios se acceden a travs de una conexin segura HTTPS, el cual se encuentra implementado a travs del protocolo Secure Sockets Layer v3.0. HTTPS es un protocolo de red basado en el protocolo HTTP, destinado a la transferencia segura de datos de hipertexto, es decir, es la versin segura de HTTP. Para los Servicios Web de integracin con las Empresas Usuarias y con Organismos Externos (Ej: Aduana) que se encuentren en la modalidad HTTPS, el mecanismos de seguridad ser One-Way, es decir, el cliente debe asegurarse que el servidor es el que corresponde y no otro, esto previo a realizar la invocacin de los Servicios Web. Una vez realizada la verificacin, se establecer una conexin segura de tipo HTTPS donde la informacin transmitida se trasmite por un canal encriptado.

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 4 de 27

Por ejemplo, para el servicio requiere de autenticacin a travs de usuario y clave, se utiliza el Servicio Web HTTPS de Login, el cual recibe adems el Rut de la empresa usuaria y Rut de la Agencia de Aduana en los casos que se desee iniciar una sesin representando los mismo. Una vez que se validan correctamente los datos ingresados, el sistema inicia una sesin y retorna un Token (Llave de seguridad) con el cual se ejecutan los siguiente Servicios Web. El Token obtenido debe ser enviado en el Header del mensaje SOAP. En cada ejecucin de un Servicio Web se entrega un nuevo Token de Sesin el cual debe ser utilizado en la prxima invocacin a un Servicio Web. El Token de Sesin entonces, es un valor de ingreso/salida que se va renovando con cada llamada a una operacin, siempre y cuando la validacin del ltimo Token enviado sea exitosa.

En la invocacin de lo servicios se valida adems que el usuario posea el perfil necesario para poder ejecutar la operacin.

En caso de que la sesin expire, se debe invocar nuevamente el Servicio Web de Login, el cual se detalla en el apartado Autenticacin e Inicio de Sesin de este documento.

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 5 de 27

3.3 Definicin Tcnica 3.3.1 Estructura de Entrada SOAP Servicio Web La estructura de entrada a un Servicio Web est representada en el siguiente ejemplo. En el mismo se puede observar la estructura estndar del protocolo SOAP: Envelope, Header y Body (ver SOAP, seccin Anexo). En el Header o cabecera se encuentra el token de sesin. En el Body o cuerpo del mensaje SOAP, se encuentra la llamada a la operacin conjuntamente con los parmetros.

token_sesion valor_parametro_1 valor_parametro_i

Donde:token_sesion Es un valor alfanumrico de 144 caracteres. Por ejemplo: 3721dd0d9a04ce9c4-.14506bd9-34.b-729b-481e_2e31-976f4.f4c026b4108.0085f-7618d2d8a042e0c4-91-5.67d0-349bd7.9b-28be42d3_271fe46f8c.2db014840d8.f Isimo parmetro de la operacin. Isimo valor para el isimo parmetro de la operacin. Es el nombre del webmethod, es decir la operacin ejecutada.

valor_parametro_i nombreOperacion

3.3.2 Estructura Salida SOAP del Servicio Web La estructura de salida del Servicio Web est ordenada de la siguiente manera: en el Header o cabecera se puede observar datos de sesin como as tambin datos de respuesta. Los datos que se retornan aqu son: el Token de sesin y el cdigo, severidad y mensaje de respuesta. En el Body se encuentra el retorno de la operacin. Ms adelante se muestra que esta informacin puede ser un tipo de dato simple o complejo.

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 6 de 27

La siguiente es una estructura de salida cuando el Mtodo Web se ejecuta correctamente sin ninguna excepcin.

token_sesion Cdigo_Respuesta Mensaje_Respuesta Severidad_Respuesta

Donde:token_sesion Es un valor alfanumrico de 144 caracteres. Por ejemplo: 3721dd0d9a04ce9c4-.14506bd9-34.b-729b-481e_2e31-976f4.f4c026b4108.0085f-7618d2d8a042e0c4-91-5.67d0-349bd7.9b-28be42d3_271fe46f8c.2db014840d8.f Es el cdigo de la respuesta en formato numrico. Ej. 105 Es el mensaje de respuesta. Ej. Estructura XML del documento no vlida Es el nivel de severidad de la respuesta. Los niveles de severidad pueden ser: O (Ok), I(Info), W (Warning), E (Error). nombreOperacion respuesta Es el nombre del webmethod, es decir la operacin ejecutada. Es la respuesta del servicio Web contenida en el tag la cual puede corresponder a un tipo simple (String, Long, Boolean) o complejo (DocumentoEO, SesionEO, etc). En el caso de los tipos complejos, la definicin del objeto se incluye dentro del WSDL del servicio.

Cdigo_Respuesta Mensaje_Respuesta Severidad_Respuesta

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 7 de 27

La siguiente es una estructura de salida cuando el Mtodo Web se ejecuta con una excepcin controlada en el mismo.

token_sesion Cdigo_Respuesta Mensaje_Respuesta Severidad_Respuesta

Donde:token_sesion Es un valor alfanumrico de 144 caracteres. Por ejemplo: 3721dd0d9a04ce9c4-.14506bd9-34.b-729b-481e_2e31-976f4.f4c026b4108.0085f-7618d2d8a042e0c4-91-5.67d0-349bd7.9b-28be42d3_271fe46f8c.2db014840d8.f Es el cdigo de la respuesta del error en formato numrico. Para este caso siempre es -1 Es el mensaje de la respuesta del error producido. Es el nivel de severidad de la respuesta. Para este caso siempre es E (Error) Es el nombre del webmethod, es decir la operacin ejecutada.

Cdigo_Respuesta Mensaje_Respuesta Severidad_Respuesta nombreOperacion

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 8 de 27

La siguiente es una estructura de salida cuando el Mtodo Web se ejecuta con una excepcin No controlada en el mismo.

env:Server Fallo_Descripcion Fallo_Error

Donde:Fallo_Descripcion Fallo_Error Es una descripcin acerca del error producido. Es el error completo con traza del error producido.

En este caso se debe utilizar el ltimo token recuperado si se desea realizar una nueva invocacin de un Servicio Web.

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 9 de 27

4. Invocacin de Servicios Web4.1 Autenticacin e Inicio de Sesin Como se explic en la seccin anterior, previa a la invocacin de cualquier Servicio Web del sistema, es preciso realizar la autenticacin contra el servidor del SVE. La autenticacin de usuario e inicio de sesin se realizan a travs de la invocacin del Servicio Web de Sesin donde el cliente debe invocar en primera instancia el Servicio Web login, mediante el cual se ingresan los datos usuario / clave (obligatorios), Rut de Empresa y Rut de Agencia de Aduana, los cuales son opcionales. En caso de xito, se inicia una sesin en el servidor a travs de un Token generado. El token en la invocacin del Servicio Web de login debe ser vaco. El WSDL del servicio para Iniciar Sesin es: http:///svePerfilacionWSN/Sesion?WSDL Un ejemplo de invocacin al servicio para realizar el Login se muestra en el siguiente XML:

juan.rojas ro83ja 4650516 6 23940242 9

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 10 de 27

Cuando la respuesta es exitosa, en el Header del mensaje SOAP se retorna el Token de sesin con el cual se podr realizar la posterior llamada a los servicios del sistema SVE. En el cuerpo del mensaje SOAP se retorna el objeto Usuario con los datos principales del mismo. Por ejemplo:

67221803520f5c9b4-.e830c7c9-a4.5-b2c5-4ae7_cce18c38-b.c4305451be6.d4a10-712b823c20f7c0b0-9e-3.cfc0-34950b.c4-2a774c7e_1c188b3c83.5e50b861d9a.0 0 Se ejecut correctamente el servicio. O juan.rojas Rojas Prez Juan Manuel Auditor 23769254 3 [email protected] Importadora INDUROPA LTDA. INDUROPA LTDA

Cuando la respuesta es fallida, es decir, cuando el usuario no pueda autenticarse por alguna razn, ya sea porque no existe, su cuenta no se encuentra activa su clave es incorrecta, el Token es siempre un valor negativo igual a -1, lo cual significa que es un Token invlido para realizar operaciones. El valor -1 tambin se retorna cuando la sesin ha expirado por tiempo de inactividad, en cuyo caso se debe invocar nuevamente al servicio de login. Por ejemplo:

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 11 de 27

-1 MELG08 No fue posible autenticar el usuario. Verifique sus datos e intente nuevamente. W

4.2 Servicio con estructura simple de entrada / salida Luego de haber realizado el Login, el usuario podr realizar la invocacin de un servicio del sistema SVE utilizando para ellos el Token generado por ste ltimo. El siguiente ejemplo es la llamada a un Servicio Web que recibe un parmetro simple y retorna un tipo simple. Para el ejemplo se utiliz el tipo de dato String como tipo de entrada y un tipo de dato entero como salida. Entrada al servicio:

67221803520f5c9b4-.e830c7c9-a4.5-b2c5-4ae7_cce1-8c38b.c4305451be6.d4a10-712b823c20f7c0b0-9e-3.cfc0-34950b.c4-2a774c7e_1c188b3c83.5e50b861d9a.0 ARG

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 12 de 27

Salida del servicio:

3125dd0a970dc09b4-.14e0bbc9-34.f-42eb-4a11_8e519966-f.3410b603a05.90d43-1058d2a870d200b4-91-e.b7c0-349fd4.eb-2ab148d5_2916ef6381.bd00a4539dd.3 0 Se ejecut correctamente el servicio. O 1

4.3 Servicio con estructura compleja de entrada / salida El siguiente es un ejemplo de la llamada a un Servicio Web que recibe un parmetro complejo (En este ejemplo se utiliza el objeto Filtros) y retorna un array de objetos del tipo Persona. Las clases y los paquetes del ejemplo son slo a modo ilustrativo, lo que significa que los mismos pueden no existir en el Sistema SVE. Entrada al servicio:

3125dd0a970dc09b4-.14e0bbc9-34.f-42eb-4a11_8e519966-f.3410b603a05.90d43-1058d2a870d200b4-91-e.b7c0-349fd4.eb-2ab148d5_2916ef6381.bd00a4539dd.3 Alvar Ma

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 13 de 27

Salida del servicio:

3125dd0a159dc09b4-.14e0bbc9-34.f-42eb-4a11_8e519966-f.3410b603a05.90d43-1058d2a870d200b4-91-e.b7c0-349fd4.eb-2ab148d5_2916ef6381.bd00a4539dd.4 0 Se ejecut correctamente el servicio. O Alvarado 2345 Mauro Alvarez 7632 Maria

4.4 Valores opcionales en los Servicios Web Para el ingreso de valores opcionales o el no ingreso de un valor, para Servicios Web en los cuales se enva un documento XML como parmetro (Ej: Visacin de Documentos) o se invoca un Servicio Web con parmetros Tipados (Ej: Long, Date, Double, etc), se debe tener en cuenta las siguientes consideraciones: 1 No incluir el nodo opcional en la estructura XML. 2 Incluir el nodo opcional pero acompaado con el atributo xsi:nil="true" y la definicin xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" en el nodo principal de la estructura XML. En el caso de Servicios Web tipados, la definicin xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" se debe incluir en el tag soapenv:Envelope del mensaje SOAP.

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 14 de 27

Por ejemplo, supongamos que tenemos la siguiente estructura XML como parmetro de un Servicio Web: 10 Texto de Prueba

Ahora deseamos que el valor de no sea ingresado al sistema debido a que el mismo es opcional. Para ello deberemos enviar el XML segn las opciones antes mencionadas: 1 Texto de Prueba

o 2 Texto de Prueba

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 15 de 27

Segn lo indicado, para el caso de un Servicio Web con datos Tipados, la invocacin del dato opcin para este caso se podr realizar como se muestra en la siguiente figura:

Nota: La definicin de los elementos opcionales en la estructura XML, se indica en el esquema XSD asociado a la operacin. En el caso de los Servicios Web Tipados, esta definicin se encuentra en el XSD incluido dentro del WSDL que los define.

Las definiciones antes mencionadas se encuentra de acuerdo a lo definido por la W3C respecto XML Schema, para revisar la documentacin de la norma respecto a estos puntos se puede consultar en:

http://www.w3.org/TR/xmlschema-0/Secciones 2.2.1 Occurrence Constraints y 2.9 Nil Values respectivamente.

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 16 de 27

En el caso de que un parmetro (nodo) del servicio se informe, el mismo deber incluir al menos un valor, por ejemplo, para el caso de un parmetro tipo entero se deber informa al menos: 0

Siendo incorrecto que se informe de la siguiente manera:

Lo mismo sucede con el resto de los tipos de datos (Date, Long, Double, etc), siendo la excepcin el tipo de dato String, para el cual ser posible informarlo de la siguiente manera:

En este caso, el valor de corresponde a texto=, lo cual, desde el punto de vista de los sistemas, es distinto a informar texto=null. Respecto a los Servicios Web Tipados que poseen parmetros donde se puede recibir un arreglo de valores (por ejemplo, una lista de Rut), si no se desean enviar valores se deber mantener la estructura base del parmetro. Por ejemplo, en la siguiente definicin existe un parmetro tipado (Long) denominado numeroProvisorio, el cual puede recibir una lista de valores numricos: 20102553 20109278 20108392

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 17 de 27

Si no se desea enviar valores para este parmetro, la estructura correcta a utilizar es la siguiente:

Como se mencion anteriormente, esta definicin se debe respetar para cualquier otro tipo de parmetro que permita el ingreso de un arreglo de valores.

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 18 de 27

5. Ejemplos de Invocacin de Servicios Web5.1 Ejemplo de llamada a WS desde cliente Java con Axis modalidad One-Way A continuacin se presenta un ejemplo completo de invocacin y consumo de un Servicio Web, desde una estacin cliente, utilizando para el Framework Axis.package tst.ws; import javax.xml.rpc.holders.StringHolder; import import import import import import import import import import bo.utl.sve.zofri.cl.holders.RespuestaHolder; cl.zofri.sve.prf.wsn.Login; cl.zofri.sve.prf.wsn.LoginResponse; cl.zofri.sve.prf.wsn.Sesion; cl.zofri.sve.prf.wsn.SesionServiceLocator; cl.zofri.sve.prm.wsn.Exec; cl.zofri.sve.prm.wsn.ExecResponse; cl.zofri.sve.prm.wsn.Servicios; cl.zofri.sve.prm.wsn.ServiciosServiceLocator; eo.prf.sve.zofri.cl.UsuarioEO;

public class wsTestOneWay { public void invokeWSOneWay() throws Exception { // Definicion de variables y objetos de contexto String xmlPrm = ""; String resultado = ""; Exec parametersExec = new Exec(); Login parametersLogin = new Login(); UsuarioEO usuarioEO = new UsuarioEO(); LoginResponse loginResponse; ExecResponse execResponse; StringHolder token = new StringHolder(); RespuestaHolder respuesta = new RespuestaHolder(); try {

System.setProperty("javax.net.debug","all"); // Especificar la ubicacin del archivo de Almacn de

Confianza // (truststore) con los certificados digitales validos del Servidor System.setProperty("javax.net.ssl.trustStore", "C:\\bea103\\wlserver_10.3\\server\\lib\\DemoTrust.jks"); System.setProperty("javax.net.ssl.trustStorePassword", "DemoTrustKeyStorePassPhrase"); // Creacin del Objeto locator del Servicio Web de 'Sesion' SesionServiceLocator locatorSes = new SesionServiceLocator(); // Seteo del EndPoint del Servicio Web de 'Sesion', // (esto puede ser un parmetro configurable para la aplicacin) locatorSes.setEndpointAddress("SesionSoapPort", "https://localhost:7002/svePerfilacionWSN/Sesion"); // Obtencin del objeto de Servicio para la invocacin al Servicio Web Arquitectura y Diseo de la solucin. Versin Template: 1.0 Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 19 de 27

Sesion ses = locatorSes.getSesionSoapPort(); // Definicin de usuario y clave para el Metodo Web 'login' // (estos pueden ser un parmetro del mtodo actual o configurable para la aplicacin cliente) String usuario = "jperez"; String clave = "clave123"; // Seteo de los parmetros de entrada para el Metodo Web 'login' parametersLogin.setUsuario(usuario); parametersLogin.setClave(clave); // Invocacin al Mtodo Web 'login' loginResponse = ses.login(parametersLogin, token, respuesta); // Obtencin de la respuesta, la cual corresponde a un objeto de tipo UsuarioEO usuarioEO = loginResponse.get_return(); // Visualizacin de la respuesta en la consola System.out.print("Ejecucin 'login' OK : " + usuarioEO.getNombre() + " " + usuarioEO.getApellidos() + "\n\n"); // Creacin del Objeto locator del Servicio Web de 'Servicios' ServiciosServiceLocator locatorSrv = new ServiciosServiceLocator(); // Seteo del EndPoint del Servicio Web de 'Servicios', // (esto puede ser un parmetro configurable para la aplicacin) locatorSrv.setEndpointAddress("ServiciosSoapPort", "http://localhost:7001/sveParametrosWSN/Servicios"); // Obtencin del objeto de Servicio para la invocacin al Servicio Web Servicios srv = locatorSrv.getServiciosSoapPort(); // Seteo de los parmetros de ingreso para el Metodo Web 'exec' xmlPrm = " "; // Seteo de los parmetros de entrada para el Metodo Web 'exec' parametersExec.setXmlPrm(xmlPrm); // Invocacin al Mtodo Web 'exec' execResponse = srv.exec(parametersExec, token, respuesta); // Obtencin de la respuesta resultado = execResponse.get_return(); // Visualizacin de la respuesta en la consola System.out.print("Ejecucin 'exec' OK: " + resultado + "\n\n"); } catch (Exception e) { System.out.print("Ejecucin ERROR: " + e.getMessage()+ "\n\n"); Arquitectura y Diseo de la solucin. Versin Template: 1.0 Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 20 de 27

throw e; } } }

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 21 de 27

6. AnexoA continuacin se detallan los estndares y productos en orden alfabtico. 6.1 EstndaresEstndar Servicios Web Los Servicios Web son un conjunto de aplicaciones o de tecnologas con capacidad para interoperar en la Web. Estas aplicaciones o tecnologas intercambian datos entre s con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a travs de la Web. Los Servicios Web proporcionan mecanismos de comunicacin estndares entre diferentes aplicaciones, que interactan entre s para presentar informacin dinmica al usuario. Para proporcionar interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo tiempo sea posible su combinacin para realizar operaciones complejas, es necesaria una arquitectura de referencia estndar. Para esto es que la definicin de un Servicio Web se realiza a travs de su WSDL (ver Anexo) el cual contiene la descripcin del Servicio Web que se podra traducir en el contrato que se establece entre el usuario y el que brinda el servicio. Pgina Principal http://www.w3.org/2002/ws/ http://www.w3.org/2002/ws/Activity Documentacin http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb http://www.w3schools.com/webservices/default.asp

Definicin

Descripcin

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 22 de 27

Estndar

SOAP v1.1 (Simple Object Access Protocol) SOAP es un protocolo ligero destinado al intercambio de informacin estructurada en un entorno descentralizado y distribuido. SOAP define cmo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Estructura de un mensaje SOAP ... ... ...

Definicin

El elemento raz de todo mensaje SOAP es el nodo Envelope. El mismo contiene todo el mensaje XML correspondiente al estndar. Luego se encuentra el nodo de cabecera (Header) el cual es un nodo opcional. El mismo contiene informacin especfica de la aplicacin (como por ejemplo autenticacin, mensajes adicionales, etc). Descripcin Luego de la cabecera se encuentra el nodo Body, el cual es requerido y corresponde con el cuerpo que contiene la informacin del mensaje SOAP. Por ltimo aparece el nodo Fault, el mismo solo est presente en caso de que se produzca una excepcin en el sistema, por lo cual representa un error en la ejecucin del mtodo. Si hay un elemento de error, debe aparecer como un elemento secundario del elemento Body y solo un elemento de error (Fault) puede aparecer en un mensaje SOAP. El elemento de error SOAP tiene los siguientes sub elementos:Sub Elemento Descripcin Cdigo de identificacin del error. Resumen del error Informacin acerca del causal del error Informacin especfica del error

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 23 de 27

Pgina Principal Documentacin

http://www.w3.org/TR/soap/ http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ http://www.w3schools.com/soap/soap_intro.asp

Estndar Definicin

WSDL v1.1 (Web Services Description Language) WSDL es un lenguaje basado en XML para describir Servicios Web y cmo acceder a ellos. Las principales caractersticas de los WSDL son: WSDL es un Lenguaje de Descripcin de Servicios Web estndar WSDL est escrito en XML

Descripcin

WSDL es un documento XML WSDL se utiliza para describir los Servicios Web WSDL tambin se utilizo para ubicar los Servicios Web WSDL es una recomendacin del la W3C

Pgina Principal Documentacin

http://www.w3.org/TR/wsdl http://www.w3schools.com/WSDL/default.asp

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 24 de 27

Estndar

XML v1.0 (Extensible Markup Language) XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. XML es un lenguaje muy similar a HTML pero su funcin principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a travs de diferentes aplicaciones. Las tecnologas XML son un conjunto de mdulos que ofrecen servicios tiles a las demandas ms frecuentes por parte de los usuarios. XML sirve para estructurar, almacenar e intercambiar informacin. A continuacin se presenta un ejemplo de un documento XML:

Definicin

Descripcin

Pgina Principal

http://www.w3.org/TR/REC-xml/ http://www.w3c.es/divulgacion/guiasbreves/tecnologiasXML

Documentacin http://www.w3.org/XML/1999/XML-in-10-points.es.html

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 25 de 27

Estndar Definicin

XML Schema v1.1 (o XML Schema Definition (XSD)) XML Schema o XSD es un Lenguaje de Esquemas escrito en XML, utilizado para validar estructuras XML. Un XML Schema define la estructura de debe tener un documento XML y se utiliza tanto para validar la forma como el contenido. Un Esquema XML: define los elementos que pueden aparecer en un documento define los atributos que pueden aparecer en un documento define qu elementos son los elementos secundarios define el orden de los elementos secundarios define el nmero de elementos secundarios define si un elemento est vaco o puede incluir texto define los tipos de datos para elementos y atributos define por defecto y valores fijos para elementos y atributos

Descripcin

A continuacin se presenta un ejemplo de un Esquema XML:

Pgina Principal Documentacin

http://www.w3.org/XML/Schema http://www.w3.org/TR/xmlschema-0/ http://www.w3schools.com/Schema/

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 26 de 27

6.2 ProductosProducto Axis Axis es un Framework OpenSource desarrollado por Apache Software Foundation, utilizado en el SVE para el consumo de Servicios Web externos a la aplicacin (Client-Side), esto con el fin de lograr la integracin con otros sistemas. Axis es una implementacin de SOAP y posee varias utilidades y APIs para la generacin y despliegue de Servicios y Clientes Web.Axis Server y Cliente requieren de Java 1.3 o superior. Para poder utilizar este framework el servidor debe ser de tipo J2EE y debe contar con las siguientes libreras instaladas en el mismo. /lib/axis.jar

Descripcin

Requerimientos

lib/commons-discovery.jar /lib/commons-logging.jar /lib/jaxrpc.jar /lib/saaj.jar /lib/wsdl4j.jar

Pgina Principal

http://ws.apache.org/axis/ http://ws.apache.org/axis/java/index.html

Documentacin http://ws.apache.org/axis/java/client-side-axis.html

Arquitectura y Diseo de la solucin.

Versin Template: 1.0

Fecha:14/07/10

ZOFRI - SVE

Confidencial

Pgina 27 de 27