Es un lenguaje de esquema que especifica cómo describir formalmente los elementos en un documento de lenguaje de marcado extensible (XML) que es utilizado para describir la estructura y las restricciones de los contenidos de los documentos XML de una forma muy precisa consiguiendo así una percepción del tipo de documento con un nivel alto de abstracción. Fue desarrollado por el World Wide Web Consortium (W3C) y alcanzó el nivel de recomendación en mayo de 2001
XML Schema se usa en WSDL que es la especificación del WS-SOAP para poder definir la estructura de los datos y también es usado en WS-Security.En el caso de WSDL Based Validation es usado para evitar que lleguen peticiones SOAP no validas y/o corruptas y limitar a los WSDL definidos notificando los sobre los mensaje SOAP que no se ajusten a la definición WSDL
Puede ser usado en un sistema que recibe datos para ser procesados y deban cumplir ciertas estructuras como un servicio de la RENIEC que necesita tener información bajo cierta estructura. Otro ejemplo podría ser el que actualmente se usa para las facturas electrónicas actuales en las cuales está definido una estructura con los datos que deben ser recibidos por parte de la SUNAT para poder cruzar información.
Bibliografia
https://en.wikipedia.org/wiki/XML_Schema_(W3C)
https://es.wikipedia.org/wiki/XML_Schema
https://www.w3.org/2005/05/25-schema/guthula.html
domingo, 12 de junio de 2016
CORBA
Estándar definido por
OMG (Grupo de Administración de Objetos). Es un middleware que permite a los
componentes de software inter operar en un mismo ambiente sin importar el
lenguaje de desarrollo, tipo de red o plataforma.
Características:
- Independencia en el lenguaje de programación y sistema operativo: CORBA fue diseñado para liberar a los ingenieros de las limitaciones en cuanto al diseño del software.
- Posibilidad de interacción entre diferentes tecnologías: uno de los principales beneficios de la utilización de CORBA es la posibilidad de normalizar las interfaces entre las diversas tecnologías y poder así combinarlas.
- Activación de objetos: los objetos remotos no tienen por qué estar en memoria permanentemente, y se hace de manera invisible para el cliente
- Integración de software existente: se amortiza la inversión previa reutilizando el software con el que se trabaja, incluso con sistemas heredados.
- Transparencia de localización: el cliente no necesita saber donde ejecuta el servicio y el servicio no necesita saber donde ejecuta el cliente.
- Transparencia de distribución: ni cliente ni servidor necesitan saber si la aplicación está distribuida o centralizada, pues el sistema se ocupa de todo eso.
Elementos:
Características:
- Independencia en el lenguaje de programación y sistema operativo: CORBA fue diseñado para liberar a los ingenieros de las limitaciones en cuanto al diseño del software.
- Posibilidad de interacción entre diferentes tecnologías: uno de los principales beneficios de la utilización de CORBA es la posibilidad de normalizar las interfaces entre las diversas tecnologías y poder así combinarlas.
- Activación de objetos: los objetos remotos no tienen por qué estar en memoria permanentemente, y se hace de manera invisible para el cliente
- Integración de software existente: se amortiza la inversión previa reutilizando el software con el que se trabaja, incluso con sistemas heredados.
- Transparencia de localización: el cliente no necesita saber donde ejecuta el servicio y el servicio no necesita saber donde ejecuta el cliente.
- Transparencia de distribución: ni cliente ni servidor necesitan saber si la aplicación está distribuida o centralizada, pues el sistema se ocupa de todo eso.
Elementos:
- ORB:
provee un mecanismo de interfaz y de comunicaciones transparente entre la
referencia de un objeto y su implementación. Ofrece servicios de localización,
establecimiento de la conexión y la transmisión de llamadas de métodos y
valores de retorno.
- IIOP:
Protocolo para la comunicación entre ORBs a través de TCP/IP.
- IDL:
Se utiliza para definir la interfaz para un objeto Corba, independiente del
lenguaje en el que se está desarrollando.
- Object
Adapters: Proveen la implementación de tiempo de ejecución de la seguridad de
la aplicación, generación e interpretación de referencias de objetos, entre
otras.
- DII:
Permite al cliente aprender en tiempo de ejecución las operaciones soportadas
por el servidor y crear solicitudes, sin stub (pseudocódigo), que son enviadas
directamente del ORB.
- DSI:
Permite al servidor implementar una interface no conocida en tiempo de
ejecución.
Ventajas:
- Se adapta facilmente a los lenguajes de programación como JAVA y C++.
- Los componentes de CORBA son objetos que pueden programados en distintos lenguajes y ejecutarse sobre cualquier sistema operativo.
Desventajas:
- La interoperabilidad entre varios lenguajes no es muy buena.
- usa coneiones TCP/IP y HTTP solo por el puerto 80. Lo que complica su uso en el caso este activo el firewall.

Ventajas:
- Se adapta facilmente a los lenguajes de programación como JAVA y C++.
- Los componentes de CORBA son objetos que pueden programados en distintos lenguajes y ejecutarse sobre cualquier sistema operativo.
Desventajas:
- La interoperabilidad entre varios lenguajes no es muy buena.
- usa coneiones TCP/IP y HTTP solo por el puerto 80. Lo que complica su uso en el caso este activo el firewall.


WCF y REST
Windows Communication Foundation (WCF) es un marco de trabajo para la creación de aplicaciones orientadas a servicios. Con WCF, es posible enviar datos como mensajes asincrónicos de un extremo de servicio a otro. Un extremo puede ser un cliente de un servicio que solicita datos de un extremo de servicio. Los mensajes pueden ser tan simples como un caracter o una palabra enviados como XML, o tan complejos como un flujo de datos binarios.
Fundamentos de WCF
WCF es un motor de ejecución y un conjunto de APIs para la creación de sistemas que envíen mensajes entre servicios y clientes. Se utilizan la misma infraestructura y API tanto para crear aplicaciones que se comuniquen entre sí en el mismo sistema, como para aplicaciones en equipos separados en distintas compañías que se comuniquen a través de Internet.
Mensajería y extremos
WCF se basa en la noción de comunicación basada en mensajes
Protocolos de comunicaciones
Un elemento requerido de la pila de la comunicación es el protocolo de transporte. Los mensajes se pueden enviar a través de intranets e Internet utilizando transportes comunes, como HTTP y TCP
Patrones de mensajes
WCF admite varios patrones de mensajería, incluida la comunicación de solicitud-respuesta unidireccional y dúplex.Los transportes diferentes admiten patrones de mensajería diferentes y, por consiguiente, afectan a los tipos de interacciones que admiten. El tiempo de ejecución y las API de WCF también le ayudan a enviar mensajes de manera segura y fiable.
Ventajas
- WCF esta oriendato a servicios.
- Interoperable.
- Admite varios tipos de mensajes Admite Metadatos de servicios .
- Es seguro ya que permite cifrar los mensajes.
- Mensajes confiables y en cola.
- Extensible Compatible con AJAX y REST
Desventajas
- Es una tecnologia que pertenece a Microsoft y que mejora su rendimiento si se comunica con las tecnologías de la misma empresa.
- La seguridad a nivel de mensaje afecta la interoperabilidad y el redimiento.
REST
Utiliza es un estilo de arquitectura software únicamente XML y HTTP. Cada URL representa un objeto sobre el que puedes realizar POST, GET, PUT y DELETE .
Rest es mas escalable que WCF.
Mejor rendimiento que WCF.
Portabilidad de los componentes moviendo código de programa con la información
Fuentes
https://msdn.microsoft.com/es-es/vstudio/aa663324.aspx
https://msdn.microsoft.com/es-es/library/bb332338.aspx
https://msdn.microsoft.com/es-es/library/ms731082(v=vs.110).aspx
https://en.wikipedia.org/wiki/Representational_state_transfer
Suscribirse a:
Entradas (Atom)