RSS

Blog posts tagged with 'web restful'

BONDADES DEL SERVICIO WEB

Las aplicaciones web, se despliegan desde un servidor web para facilitar la interacción de un usuario por la intranet o internet a través de un navegador. La relación entre el usuario y una aplicación web,  hoy en día se traduce en una iniciativa y facilidad del servicio, debido a que el usuario podrá utilizar todos o varios de los servicios que ofrece una aplicación web, simplemente conectado a internet, en consecuencia será una actividad discrecional del usuario, el acceder a las aplicaciones de la banca, el comercio, o de la salud, entre otras,  sin estar sujeto a limitaciones de horario, barreras de uso o disponibilidad de un interlocutor para poder ejecutar una transacción.

Para nuestra compañía Cidsa SAS, uno de los aspectos fundamentales del servicio es el desarrollo de servicios web Soap para fortalecer la interoperabilidad entre las aplicaciones web, y es ahí,  donde hablamos de los servicios web para dinamizar la interacción entre aplicaciones o plataformas. 

Un servicio web Soap, básicamente cuenta con dos puntos para interconectarse, uno quien porporciona el servicio y otro quien lo consume, en sí, cada uno en un extremo es un servicio. Estos servicios pueden interconectarse a través de la red. En una arquitectura orientada a servicios, cualquier interacción punto a punto implica dos endpoints; uno que proporciona un servicio, y otro de lo consume.  Cada endpoint  que se sitúan en ambos "extremos" de la red que sirve de canal de comunicación entre ellos. Cada  endpoint se especifica mediante un URI (esquema://máquina/directorio/archivo#fragmento), corresponde a un identificador general, pero no de localización exacta,  como si le corresponde a la URL.  Más adelante haremos una definición más precisa entre la URI y la URL

Esencialmente se pueden definir dos tipos de servicios los Web Soap y los  Web Restful, los primeros utilizan mensaje  XML y el standar SOAP (Simple Object Acces Protocol) los cuales se escriben en un lenguale WSDL (Web Services Description Language), que es un lenguaje basado en XML para definir las interfaces sintácticamente.  Los segundos, WeB Rest (Representational State Transfer web services), se integran con HTTP que son los servicios basados en SOAP, no requieren mensajes XML o definiciones del servicio en forma de fichero WSDL. 

Para nuestros lectores dispondremos de un ejemplo básico de un servicio  web soap, implementado en WSDL. 

POST /v3sias/wslibrary/WServiceCum.asmx HTTP/1.1
Host: portal.jltcolombia.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://webcidsa/sias/WSLibrary/WServiceCum/CrearPoliza"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <CrearPoliza xmlns="http://webcidsa/sias/WSLibrary/WServiceCum">
      <IdUser>int</IdUser>
      <opoliza>
        <IdPoliza>int</IdPoliza>
        <IdSucursal>int</IdSucursal>
        <IdPuntoVenta>int</IdPuntoVenta>
        <IdProducto>int</IdProducto>
        <IdTipoPoliza>int</IdTipoPoliza>
        <NumeroPoliza>string</NumeroPoliza>
        <FechaSolicitud>dateTime</FechaSolicitud>
        <LugarExpedicion>int</LugarExpedicion>
        <FechaExpedicion>dateTime</FechaExpedicion>
        <FechaVigenciaDesde>dateTime</FechaVigenciaDesde>
        <FechaVigenciaHasta>dateTime</FechaVigenciaHasta>
        <FechaPago>dateTime</FechaPago>
        <TipoTasa>int</TipoTasa>
        <TasaAplicada>decimal</TasaAplicada>
        <IndLiquidaIvaGastos>boolean</IndLiquidaIvaGastos>
        <ValorAsegurado>decimal</ValorAsegurado>
        <ValorPrima>decimal</ValorPrima>
        <ValorIva>decimal</ValorIva>
        <ValorGastos>decimal</ValorGastos>
        <ValorIvaGastos>decimal</ValorIvaGastos>
        <ValorOtros>decimal</ValorOtros>
        <ValorTotal>decimal</ValorTotal>
        <ProcentajeComision>decimal</ProcentajeComision>
        <ValorComision>decimal</ValorComision>
        <IvaComision>decimal</IvaComision>
        <IdEjecutivo>int</IdEjecutivo>
        <IdGerente>int</IdGerente>
        <NumeroCertificado>string</NumeroCertificado>
        <FechaRadicacion>dateTime</FechaRadicacion>
        <IdTomador>int</IdTomador>
        <IdResponsablePago>int</IdResponsablePago>
        <IdAseguradora>int</IdAseguradora>
        <IdSucursalAseguradora>int</IdSucursalAseguradora>
        <IndPrimaUnica>boolean</IndPrimaUnica>
        <DescripcionInteres>string</DescripcionInteres>
        <CodigoMoneda>int</CodigoMoneda>
        <TasaCambio>decimal</TasaCambio>
        <IndCoaseguro>boolean</IndCoaseguro>
        <IndMAgentes>boolean</IndMAgentes>
        <IndMGerencias>boolean</IndMGerencias>
        <IndMSucursales>boolean</IndMSucursales>
        <IndMEjecutivos>boolean</IndMEjecutivos>
        <DescripcionBienAsegurado>string</DescripcionBienAsegurado>
        <ValorAseguradoBien>decimal</ValorAseguradoBien>
        <NumeroContrato>string</NumeroContrato>
        <TipoRiesgo>int</TipoRiesgo>
        <FechaDesde>dateTime</FechaDesde>
        <FechaHasta>dateTime</FechaHasta>
        <ValorContrato>decimal</ValorContrato>
        <Notas>string</Notas>
        <IdCodigoTipoAnotacion>int</IdCodigoTipoAnotacion>
      </opoliza>
      <oamparos>
        <Amparos>
          <IdPoliza>int</IdPoliza>
          <IdAmparo>int</IdAmparo>
          <ValorAsegurado>decimal</ValorAsegurado>
          <ValorPrimaAmparo>decimal</ValorPrimaAmparo>
          <SumaValorAsegurado>boolean</SumaValorAsegurado>
          <InvVigente>boolean</InvVigente>
          <TasaAplicada>decimal</TasaAplicada>
          <FechaVigenciaDesde>dateTime</FechaVigenciaDesde>
          <FechaVigenciaHasta>dateTime</FechaVigenciaHasta>
          <PorcentajeDistribucionContrato>decimal</PorcentajeDistribucionContrato>
        </Amparos>
        <Amparos>
          <IdPoliza>int</IdPoliza>
          <IdAmparo>int</IdAmparo>
          <ValorAsegurado>decimal</ValorAsegurado>
          <ValorPrimaAmparo>decimal</ValorPrimaAmparo>
          <SumaValorAsegurado>boolean</SumaValorAsegurado>
          <InvVigente>boolean</InvVigente>
          <TasaAplicada>decimal</TasaAplicada>
          <FechaVigenciaDesde>dateTime</FechaVigenciaDesde>
          <FechaVigenciaHasta>dateTime</FechaVigenciaHasta>
          <PorcentajeDistribucionContrato>decimal</PorcentajeDistribucionContrato>
        </Amparos>
      </oamparos>
      <ocoaseguros>
        <Coaseguros>
          <IdPoliza>int</IdPoliza>
          <IdAseguradora>int</IdAseguradora>
          <Porcentaje>decimal</Porcentaje>
          <IndLider>boolean</IndLider>
        </Coaseguros>
        <Coaseguros>
          <IdPoliza>int</IdPoliza>
          <IdAseguradora>int</IdAseguradora>
          <Porcentaje>decimal</Porcentaje>
          <IndLider>boolean</IndLider>
        </Coaseguros>
      </ocoaseguros>
      <oagentes>
        <Agentes>
          <IdPoliza>int</IdPoliza>
          <IdAgente>int</IdAgente>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Agentes>
        <Agentes>
          <IdPoliza>int</IdPoliza>
          <IdAgente>int</IdAgente>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Agentes>
      </oagentes>
      <ogerencias>
        <Gerencias>
          <IdPoliza>int</IdPoliza>
          <IdGerencia>int</IdGerencia>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Gerencias>
        <Gerencias>
          <IdPoliza>int</IdPoliza>
          <IdGerencia>int</IdGerencia>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Gerencias>
      </ogerencias>
      <oejecutivos>
        <Ejecutivos>
          <IdPoliza>int</IdPoliza>
          <IdEjecutivo>int</IdEjecutivo>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Ejecutivos>
        <Ejecutivos>
          <IdPoliza>int</IdPoliza>
          <IdEjecutivo>int</IdEjecutivo>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Ejecutivos>
      </oejecutivos>
      <osucursales>
        <Sucursales>
          <IdPoliza>int</IdPoliza>
          <IdSucursal>int</IdSucursal>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Sucursales>
        <Sucursales>
          <IdPoliza>int</IdPoliza>
          <IdSucursal>int</IdSucursal>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Sucursales>
      </osucursales>
    </CrearPoliza>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <CrearPolizaResponse xmlns="http://webcidsa/sias/WSLibrary/WServiceCum">
      <CrearPolizaResult>
        <Id>long</Id>
        <IdBien>long</IdBien>
        <Mensaje>string</Mensaje>
      </CrearPolizaResult>
    </CrearPolizaResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

A continuación se muestra un ejemplo de solicitud y respuesta para SOAP 1.2. Es necesario reemplazar los marcadores de posición que aparecen con valores reales.

POST /v3sias/wslibrary/WServiceCum.asmx HTTP/1.1
Host: portal.jltcolombia.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <CrearPoliza xmlns="http://webcidsa/sias/WSLibrary/WServiceCum">
      <IdUser>int</IdUser>
      <opoliza>
        <IdPoliza>int</IdPoliza>
        <IdSucursal>int</IdSucursal>
        <IdPuntoVenta>int</IdPuntoVenta>
        <IdProducto>int</IdProducto>
        <IdTipoPoliza>int</IdTipoPoliza>
        <NumeroPoliza>string</NumeroPoliza>
        <FechaSolicitud>dateTime</FechaSolicitud>
        <LugarExpedicion>int</LugarExpedicion>
        <FechaExpedicion>dateTime</FechaExpedicion>
        <FechaVigenciaDesde>dateTime</FechaVigenciaDesde>
        <FechaVigenciaHasta>dateTime</FechaVigenciaHasta>
        <FechaPago>dateTime</FechaPago>
        <TipoTasa>int</TipoTasa>
        <TasaAplicada>decimal</TasaAplicada>
        <IndLiquidaIvaGastos>boolean</IndLiquidaIvaGastos>
        <ValorAsegurado>decimal</ValorAsegurado>
        <ValorPrima>decimal</ValorPrima>
        <ValorIva>decimal</ValorIva>
        <ValorGastos>decimal</ValorGastos>
        <ValorIvaGastos>decimal</ValorIvaGastos>
        <ValorOtros>decimal</ValorOtros>
        <ValorTotal>decimal</ValorTotal>
        <ProcentajeComision>decimal</ProcentajeComision>
        <ValorComision>decimal</ValorComision>
        <IvaComision>decimal</IvaComision>
        <IdEjecutivo>int</IdEjecutivo>
        <IdGerente>int</IdGerente>
        <NumeroCertificado>string</NumeroCertificado>
        <FechaRadicacion>dateTime</FechaRadicacion>
        <IdTomador>int</IdTomador>
        <IdResponsablePago>int</IdResponsablePago>
        <IdAseguradora>int</IdAseguradora>
        <IdSucursalAseguradora>int</IdSucursalAseguradora>
        <IndPrimaUnica>boolean</IndPrimaUnica>
        <DescripcionInteres>string</DescripcionInteres>
        <CodigoMoneda>int</CodigoMoneda>
        <TasaCambio>decimal</TasaCambio>
        <IndCoaseguro>boolean</IndCoaseguro>
        <IndMAgentes>boolean</IndMAgentes>
        <IndMGerencias>boolean</IndMGerencias>
        <IndMSucursales>boolean</IndMSucursales>
        <IndMEjecutivos>boolean</IndMEjecutivos>
        <DescripcionBienAsegurado>string</DescripcionBienAsegurado>
        <ValorAseguradoBien>decimal</ValorAseguradoBien>
        <NumeroContrato>string</NumeroContrato>
        <TipoRiesgo>int</TipoRiesgo>
        <FechaDesde>dateTime</FechaDesde>
        <FechaHasta>dateTime</FechaHasta>
        <ValorContrato>decimal</ValorContrato>
        <Notas>string</Notas>
        <IdCodigoTipoAnotacion>int</IdCodigoTipoAnotacion>
      </opoliza>
      <oamparos>
        <Amparos>
          <IdPoliza>int</IdPoliza>
          <IdAmparo>int</IdAmparo>
          <ValorAsegurado>decimal</ValorAsegurado>
          <ValorPrimaAmparo>decimal</ValorPrimaAmparo>
          <SumaValorAsegurado>boolean</SumaValorAsegurado>
          <InvVigente>boolean</InvVigente>
          <TasaAplicada>decimal</TasaAplicada>
          <FechaVigenciaDesde>dateTime</FechaVigenciaDesde>
          <FechaVigenciaHasta>dateTime</FechaVigenciaHasta>
          <PorcentajeDistribucionContrato>decimal</PorcentajeDistribucionContrato>
        </Amparos>
        <Amparos>
          <IdPoliza>int</IdPoliza>
          <IdAmparo>int</IdAmparo>
          <ValorAsegurado>decimal</ValorAsegurado>
          <ValorPrimaAmparo>decimal</ValorPrimaAmparo>
          <SumaValorAsegurado>boolean</SumaValorAsegurado>
          <InvVigente>boolean</InvVigente>
          <TasaAplicada>decimal</TasaAplicada>
          <FechaVigenciaDesde>dateTime</FechaVigenciaDesde>
          <FechaVigenciaHasta>dateTime</FechaVigenciaHasta>
          <PorcentajeDistribucionContrato>decimal</PorcentajeDistribucionContrato>
        </Amparos>
      </oamparos>
      <ocoaseguros>
        <Coaseguros>
          <IdPoliza>int</IdPoliza>
          <IdAseguradora>int</IdAseguradora>
          <Porcentaje>decimal</Porcentaje>
          <IndLider>boolean</IndLider>
        </Coaseguros>
        <Coaseguros>
          <IdPoliza>int</IdPoliza>
          <IdAseguradora>int</IdAseguradora>
          <Porcentaje>decimal</Porcentaje>
          <IndLider>boolean</IndLider>
        </Coaseguros>
      </ocoaseguros>
      <oagentes>
        <Agentes>
          <IdPoliza>int</IdPoliza>
          <IdAgente>int</IdAgente>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Agentes>
        <Agentes>
          <IdPoliza>int</IdPoliza>
          <IdAgente>int</IdAgente>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Agentes>
      </oagentes>
      <ogerencias>
        <Gerencias>
          <IdPoliza>int</IdPoliza>
          <IdGerencia>int</IdGerencia>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Gerencias>
        <Gerencias>
          <IdPoliza>int</IdPoliza>
          <IdGerencia>int</IdGerencia>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Gerencias>
      </ogerencias>
      <oejecutivos>
        <Ejecutivos>
          <IdPoliza>int</IdPoliza>
          <IdEjecutivo>int</IdEjecutivo>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Ejecutivos>
        <Ejecutivos>
          <IdPoliza>int</IdPoliza>
          <IdEjecutivo>int</IdEjecutivo>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Ejecutivos>
      </oejecutivos>
      <osucursales>
        <Sucursales>
          <IdPoliza>int</IdPoliza>
          <IdSucursal>int</IdSucursal>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Sucursales>
        <Sucursales>
          <IdPoliza>int</IdPoliza>
          <IdSucursal>int</IdSucursal>
          <Porcentaje>decimal</Porcentaje>
          <IndicadorPrincipal>boolean</IndicadorPrincipal>
        </Sucursales>
      </osucursales>
    </CrearPoliza>
  </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <CrearPolizaResponse xmlns="http://webcidsa/sias/WSLibrary/WServiceCum">
      <CrearPolizaResult>
        <Id>long</Id>
        <IdBien>long</IdBien>
        <Mensaje>string</Mensaje>
      </CrearPolizaResult>
    </CrearPolizaResponse>
  </soap12:Body>
</soap12:Envelope>

 

 

 

 

back to top