XML Interface for Network Services ( XINS ) es una tecnología de código abierto para la definición e implementación de aplicaciones de Internet, que impone un enfoque orientado a las especificaciones. [ 1 ]
Enfoque orientado a las especificaciones
El enfoque orientado a las especificaciones es la base de XINS:
- Primero es necesario redactar las especificaciones;
- A partir de estas especificaciones, se genera la documentación y el código;
- Entonces podrán comenzar tanto las pruebas como la implementación.
A partir de las especificaciones, XINS es capaz de generar:
Componentes de la tecnología XINS
Técnicamente, XINS se compone de lo siguiente:
- Un formato de especificación basado en XML para proyectos, API , funciones, tipos y códigos de error.
- Un protocolo RPC de estilo POX (denominado Convención de Llamada Estándar XINS ), compatible con navegadores web ( parámetros HTTP de entrada, XML de salida).
- Una herramienta para generar documentación legible por humanos a partir de las especificaciones.
- Una herramienta para generar WSDL a partir de las especificaciones.
- Una tecnología basada en Log4j para el registro de eventos (llamada Logdoc), que ofrece un formato de especificación, internacionalización de los mensajes de registro, generación de documentación HTML y generación de código.
- Una biblioteca Java para llamar a funciones XINS, el marco de cliente XINS/Java ; en xins-client.jar.
- Un contenedor del lado del servidor para implementaciones de API XINS basadas en Java, el XINS/Java Server Framework ; en xins-server.jar. Esto es como un contenedor de servlets para API XINS.
- Una biblioteca Java con algunas funcionalidades comunes, utilizada tanto por el marco de cliente XINS/Java como por el marco de servidor XINS/Java: la biblioteca común XINS/Java , en xins-common.jar.
Un tutorial introductorio llamado XINS Primer guía al lector paso a paso, con instrucciones fáciles de seguir e ilustradas con capturas de pantalla.
Desde la versión 1.3.0, el marco de trabajo del servidor XINS/Java admite no solo llamadas de estilo POX, sino también SOAP y XML-RPC . Además, admite la conversión mediante XSLT . A partir de la versión 2.0, también admite JSON y JSON-RPC .
XINS es de código abierto y se distribuye bajo la licencia BSD liberal . [ 2 ]
Presupuesto
Todos los archivos de especificación XINS están en formato XML simple . En comparación con SOAP , WSDL , UDDI , etc., el formato es extremadamente sencillo. Incluyen especificaciones para proyectos, listas de entornos, API, funciones, tipos y códigos de error.
A continuación se muestra un ejemplo de definición de proyecto XINS.
<proyecto nombre= "MyProject" dominio= "com.mycompany" > <api nombre= "MyAPI" > <impl/> <entornos/> </api> </proyecto>Aquí hay un ejemplo de especificación de una lista de entorno:
<entornos> <entorno id= "netarray" url= "http://xins.users.mcs2.netarray.com/myproject/xins/" /> </entornos>Ejemplo de un archivo de especificación de API:
<api name= "MyAPI" > <description> Mi primera API de XINS </description> <function name= "Hello" /> </api>Un ejemplo de definición de función:
<function name= "Hello" > <description> Saluda a la persona indicada . </description> <input> <param name= "name" required= "true" > <description> El nombre de la persona a la que se va a saludar. </description> </param> </input> <output> <param name= "greeting" required= "true" > <description> El saludo construido . </description> </param> </output> </function>Protocolo RPC
La convención de llamada estándar XINS es un protocolo RPC sencillo basado en HTTP. La entrada consiste en parámetros HTTP, mientras que la salida es un documento XML. Este enfoque lo hace compatible con navegadores web convencionales .
Ejemplo de solicitud:
http://somehost/someapi/?_convention=_xins-std&_function=SayHello&firstName=John&lastName=Doe
Ejemplo de una respuesta exitosa:
<resultado> <param name= "greeting" > ¡Hola John Doe! </param> </resultado>Competencia
No se conocen productos que ofrezcan un enfoque integrado para el desarrollo orientado a especificaciones, similar a XINS. Sin embargo, existen varios marcos de trabajo y bibliotecas que proporcionan funcionalidades similares a partes individuales de XINS, entre las que se incluyen:
- JWSDP : Colección de diversas tecnologías XML y SOAP para el lenguaje de programación Java .
- Apache Axis : Marco de trabajo basado en Java para implementaciones SOAP.
- Codehaus XFire : Ídem.
- Protocolo de servicio web hessiano : alternativa binaria a la convención de llamada estándar XINS. [ 3 ]
Referencias
Enlaces externos
- Sitio web de XINS
- Preguntas frecuentes
- Protocolos de Internet
- Bibliotecas de Java (lenguaje de programación)
- Estándares basados en XML
- Servicios web
- Especificaciones del servicio web