Tendencias en la integración de sistemas y desafíos en la integración móvil
Laboratorio de Integración de Sistemas
Transcript of Laboratorio de Integración de Sistemas
Taller de Sistemas de Información Geográficos
Empresariales
Aplicaciones Empresariales y GIS
INCO - Facultad de Ingeniería – Montevideo, Uruguay 2
Motivación
Sistema de Información Geográfica
Sistema de Información Geográfica
Aplicación EmpresarialAplicación
Empresarial
Aplicación EmpresarialAplicación
Empresarial
Aplicación EmpresarialAplicación
Empresarial
Aplicación EmpresarialAplicación
Empresarial
INCO - Facultad de Ingeniería – Montevideo, Uruguay 3
Aplicaciones EmpresarialesMiddlewareSOA y ESBArquitectura y Tecnologías GISAlternativas de Integración
Agenda
Taller de Sistemas de Información Geográficos Empresariales
Aplicaciones Empresariales
INCO - Facultad de Ingeniería – Montevideo, Uruguay 5
Una Aplicación Empresarial es una aplicación de software desarrollada para administrar las operaciones, activos y recursos de una empresa
Ejemplos: Contabilidad, Seguimiento de envíos, Servicio al cliente, Nómina de empleados
Características: persistencia de datos, grandes volúmenes de datos, varias Interfaces de Usuario, integración con otras aplicaciones, acceso concurrente a datos.
Aplicaciones Empresariales
INCO - Facultad de Ingeniería – Montevideo, Uruguay 6
El proceso de desarrollo de una aplicación empresarial involucra al menos:o Programadores de aplicaciones
o Administradores de base de datos
o Diseñadores de interfaz de usuario
o Integradores de aplicaciones
Complejidades: Administración, Matenibilidad, Escalabilidad,
Interoperabilidad, Seguridad, Confiabilidad, Accesibilidad y Usabilidad, Internacionalización
Aplicaciones Empresariales
INCO - Facultad de Ingeniería – Montevideo, Uruguay 7
“Layers” es un estilo arquitectónico que comúnmente se utiliza para las Aplicaciones Empresariales
En este esquema las capas más altas utilizan servicios definidos por las capas más bajas
Esta división lógica entre capas de funcionalidad pueda basarse en distintas responsabilidades
Arquitectura en Capas (Layers)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 8
Microsoft Patterns & Practices. Microsoft Application Architecture Guide v2.0
Arquitectura en Capas (Layers)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 9
Las capas antes presentadas pueden estar ubicadas en la misma locación física (tier) o en diferentes locaciones físicas
Si se encuentran en locaciones físicas diferentes, existen fronteras físicas que deben ser tomadas en cuenta en el diseño
Arquitectura Física (Tiers)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 10
Este enfoque minimiza el número de servidores requeridos
Minimiza el impacto en performance inherente a la comunicación entre capas de diferentes lugares físicos
Sin embargo, compartir el mismo hardware, puede impactar la performance, por ejemplo, al acceder a recursos compartidos
Deployment No Distribuido
INCO - Facultad de Ingeniería – Montevideo, Uruguay 11
Este enfoque permite configurar el hardware según las necesidades de cada capa
Esto permite ajustar las necesidades de escalabilidad según cada capa de la aplicación
Sin embargo, el uso de componentes distribuidos, impacta la performance a la hora de realizar llamadas remotas entre diferentes locaciones físicas
Deployment Distribuido
INCO - Facultad de Ingeniería – Montevideo, Uruguay 12
Cliente / Servidor2-Tier3-TierN-Tier
Deployment Distribuido (N-Tiers)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 13
Cliente / Servidor
Microsoft Patterns & Practices. Microsoft Application Architecture Guide v2.0
Deployment Distribuido (N-Tiers)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 14
3-Tier
Microsoft Patterns & Practices. Microsoft Application Architecture Guide v2.0
Deployment Distribuido (N-Tiers)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 15
4-Tier
Microsoft Patterns & Practices. Microsoft Application Architecture Guide v2.0
Deployment Distribuido (N-Tiers)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 16
Integración de Aplicaciones Empresariales (EAI) es la tarea de hacer que aplicaciones desarrolladas de forma independiente trabajen de forma conjunta con el fin de compartir datos y procesos de negocio
Integración de Aplicaciones
INCO - Facultad de Ingeniería – Montevideo, Uruguay 17
Al integrar Aplicaciones Empresariales surgen varios desafíos:o Las redes no son confiables
o Las redes son lentas
o Las aplicaciones son diferentes a nivel de lenguajes de programación, formato de
datos, etc
o El cambio en las aplicaciones es inevitable
Integración de Aplicaciones
INCO - Facultad de Ingeniería – Montevideo, Uruguay 18
Históricamente se han utilizado distintos enfoques para la integración:o Transferencia de archivos
o Base de datos compartidao Invocación de procedimientos remotos
Comunicación sincrónica
o Mensajería Comunicación asincrónica
o A nivel de Interfaz de Usuario
Integración de Aplicaciones
INCO - Facultad de Ingeniería – Montevideo, Uruguay 19
Existen plataformas que facilitan el desarrollo e integración de aplicaciones empresariales
Las mismas brindan soluciones a varios de los problemas presentados
Permiten que el desarrollador se concentre en los aspectos relevantes para el negocio
.Net FrameworkJakarta Enterprise Edition (JEE)
Plataformas de Desarrollo Empresarial
INCO - Facultad de Ingeniería – Montevideo, Uruguay 20
Es un Framework desarrollado por MicrosoftIncluye
o Una biblioteca de clases orientada al programador a fin de facilitar los problemas típicos de programación
o Una maquina virtual que administra la ejecución de programas escritos para esta plataforma
.NET Framework
INCO - Facultad de Ingeniería – Montevideo, Uruguay 21
La biblioteca de clases provee una gran variedad de funcionalidades, entre las que se incluyen o Interfaz de usuarioo Acceso a datos
o Conectividad
o Aplicaciones webo Seguridad
.NET Framework
INCO - Facultad de Ingeniería – Montevideo, Uruguay 22
Los programas escritos para el framework .NET ejecutan en un ambiente de software que administra los requerimientos de dicho programa
Este ambiente de ejecución, se denomina Common Language RuntimeSeguridadManejo de Memoria, Control de
Excepciones
.NET Framework
INCO - Facultad de Ingeniería – Montevideo, Uruguay 23
.Net Framework
1. ASP.NET / ASP.NET MVC
2. AJAX
3. WPF
4. Silverlight
5. WCF
6. WS*
7. Workflow Foundation
8. Datatypes
9. Datasets
10. ADO.NET
11. LINQ
12. Entity Framework / NHibernate
13. Membership
14. SQL Server
1 2 3 4
5 6
78 9
10 11 12 5
13
14
INCO - Facultad de Ingeniería – Montevideo, Uruguay 24
Jakarta Enterprise Edition
Definición original de Sun Microsystemso Java Enterprise Edition (Java EE) define el
estándar para el desarrollo de aplicaciones empresariales distribuidas, basadas en componentes, utilizando un modelo de múltiples capas.
o Sun fue comprada por Oracle quién se hizo cargo de Java.
o Actualmente Oracle donó a la Fundación Eclipse el proyecto JEE pero retiene el nombre Java=>Jakarta.
INCO - Facultad de Ingeniería – Montevideo, Uruguay 25
Independencia del proveedor
La plataforma promueve la construcción de sistemas independientes de la plataformao Heredado de Java
La especificación es abierta, puede ser implementada por cualquier proveedor
Éste deberá cumplir dicho estándaro Hay procesos de certificacióno No implica que sólo debe soportar lo que el
estándar establece
INCO - Facultad de Ingeniería – Montevideo, Uruguay 26
Servidores JEE
Representa el ambiente en el que ejecutan los componentes JEE
Estos componentes se denominan componentes server-side o componentes de aplicación JEE
Pueden tomar la forma de o Componentes web (JSP / Servlets / JSF)o Componentes de negocio (EJB)
Estos componentes ejecutan en un runtime denominado contenedor
INCO - Facultad de Ingeniería – Montevideo, Uruguay 27
Servidores JEE
INCO - Facultad de Ingeniería – Montevideo, Uruguay 28
Contenedores JEE
Los componentes web y de negocio, existen y ejecutan dentro de contenedores
Los componentes de aplicación JEE nunca interactúan directamente entre sío utilizan protocolos y métodos del contenedor para
interactuar entre ellos y con servicios de la plataforma
o este rol de intermediario le permite al contenedor inyectar servicios requeridos por los componentes
INCO - Facultad de Ingeniería – Montevideo, Uruguay 29
Contenedores JEE
Un contenedor permite a los componentes interactuar con los servicios brindados por el servidor de aplicacioneso Seguridado Acceso a datos
o Transacciones
o Acceso a recursoso Comunicaciones
INCO - Facultad de Ingeniería – Montevideo, Uruguay 30
Jakarta EE
1. Java Server Faces
2. Flex
3. Granite
4. AJAX
5. JAX-WS
6. WS*
7. jBPM
8. EJB3
9. Java Persistance API
10. Hibernate
11. PostgreSQL
https://jakarta.ee/
1 2 3 4
5 6
7 8
9 10
11
Taller de Sistemas de Información Geográficos Empresariales
Middleware
INCO - Facultad de Ingeniería – Montevideo, Uruguay 32
Middleware es una capa de software distribuida, situada entre el sistema operativo y las aplicaciones, diseñado para manejar la heterogeneidad y complejidad inherente a los sistemas distribuidos
Middleware
Aplicación Distribuida Aplicación Distribuida
MIDDLEWARE API MIDDLEWARE API
Middleware Middleware
S.O. API
Sistema OperativoS.O. API
Sistema Operativo
RED
HO
ST
1
HO
ST
2
INCO - Facultad de Ingeniería – Montevideo, Uruguay 33
El rol principal del middleware es facilitar la tarea de diseñar, programar, y administrar aplicaciones distribuidasProvee un ambiente de programación
distribuido simple, consistente e integrado
Middleware
INCO - Facultad de Ingeniería – Montevideo, Uruguay 34
Evolución Middleware
Semantic Management of Middleware. Ramesh Jain. Amit Sheth. Springer 2006.
INCO - Facultad de Ingeniería – Montevideo, Uruguay 35
Los MOMs proveen comunicación asincrónica a través de mensajes, utilizando colas de mensajes para su almacenamiento temporal
Message Oriented Middleware
G. Hohpe and B. Woolf, Enterprise Integration Patterns: Designing, Building, and
Deploying Messaging Solutions. Addison-Wesley Professional, October 2003.
INCO - Facultad de Ingeniería – Montevideo, Uruguay 36
El principal objetivo de un MOM es transportar mensajes desde el equipo remitente al equipo receptor de una manera confiable
Algunos Patrones de Mensajeríao Point to point
o Request – Response
o Request – Callbacko Publish - Subscribe
Message Oriented Middleware
INCO - Facultad de Ingeniería – Montevideo, Uruguay 37
Los servidores de aplicaciones proveen mecanismos para manejar toda o la mayoría de las interacciones entre los componentes de una aplicación distribuida
Proveen varias tecnologías de middleware (MOMs, etc) junto con el concepto de contenedor, que brinda un entorno de ejecución para los componentes de una aplicación
Application Servers
INCO - Facultad de Ingeniería – Montevideo, Uruguay 38
En general se puede encontrar soporte para seguridad, transacciones, administración de aplicaciones y recursos, y balanceo de carga
Proveen una solución completa para la construcción e integración de aplicaciones empresariales
Application Servers
INCO - Facultad de Ingeniería – Montevideo, Uruguay 39
Un Web Service es una aplicación de software identificada por una URI, cuyas interfaces y formas de acceso pueden ser definidas, descriptas y descubiertas como artefactos XML, y soporta la interacción directa con otros componentes de software utilizando mensajes basados en XML, intercambiados a través de protocolos basados en internethttp://www.w3.org/TR/ws-desc-reqs/#definitions
Web Services
INCO - Facultad de Ingeniería – Montevideo, Uruguay 40
Primera Generación de WS
WSDL
Web Services
Description Language
(WSDL)
HTTP
SOAPSimple Object
Access Protocol
(SOAP)
Universal Description,
Discovery and Integration
(UDDI)
PublishFind
FTP, SMTP, etc.
INCO - Facultad de Ingeniería – Montevideo, Uruguay 41
SOAP
Provee una forma estándar de estructurar mensajes utilizando XML
Define mecanismos para utilizar distintos protocolos de transporte para el envío de mensajes
Especifica un modelo de procesamiento que indica cómo se deben procesar los mensajes
INCO - Facultad de Ingeniería – Montevideo, Uruguay 42
Mensaje SOAP
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault> ... </soap:Fault>
</soap:Body>
</soap:Envelope>
INCO - Facultad de Ingeniería – Montevideo, Uruguay 43
WSDL
Lenguaje basado en XML que permite describir la interfaz y otras características de un Web Service
Un documento WSDL puede dividirse en dos partes:o descripción abstracta
o descripción concreta
INCO - Facultad de Ingeniería – Montevideo, Uruguay 44
WSDL – Descripción Abstracta
La descripción abstracta describe de forma general la estructura de la interfaz del Web Service, que incluye operaciones, parámetros y tipos de datos abstractos
Los cuatro elementos XML que componen la descripción abstracta son:<wsdl:types>
<wsdl:message>
<wsdl:portType><wsdl:operation>
INCO - Facultad de Ingeniería – Montevideo, Uruguay 45
WSDL – Descripción Concreta
La descripción concreta asocia a una descripción abstracta una dirección de red concreta, un protocolo de comunicación y estructuras de datos concretas
Los tres elementos XML que componen la descripción concreta son:<wsdl:binding>
<wsdl:service><wsdl:port>
INCO - Facultad de Ingeniería – Montevideo, Uruguay 46
UDDI
Especificación que provee una forma estándar de publicar y descubrir Web Services
UDDI defineo un modelo de datos para almacenar información
de servicios y negocios
o interfaces para utilizar el registro UDDI Inquiry Publish
INCO - Facultad de Ingeniería – Montevideo, Uruguay 47
Segunda Generación de WS
Surgen como forma de abordar problemáticas comunes en contextos empresariales
Se les conoce como WS-*Cada una aborda una problemática
específica:o Seguridad, Transacciones, Mensajería, etc
INCO - Facultad de Ingeniería – Montevideo, Uruguay 48
Estándares Avanzados de WS
http://www.innoq.com/soa/ws-standards/poster/
INCO - Facultad de Ingeniería – Montevideo, Uruguay 49
WS-BPEL
Web Services Business Process Execution Language es un lenguaje para “orquestar” Web Services
WS-BPEL es un lenguaje de flujo basado en XML para la especificación formal de procesos de negocio y protocolos de interacción de negocio
INCO - Facultad de Ingeniería – Montevideo, Uruguay 50
WS-BPEL
INCO - Facultad de Ingeniería – Montevideo, Uruguay 51
Mensajería – WS-Addressing
WS-Addressing (WS-A) provee un mecanismo estándar para direccionar mensajes y Web Services
Define dos construcciones básicaso endpoint reference
Address, Reference Parameters, Metadata
o addressing properties To, From, ReplyTo, FaultTo,
Action, MessageID, RelatesTo
ReferenceParameters
INCO - Facultad de Ingeniería – Montevideo, Uruguay 52
Metadata – WS-Policy
Define un modelo abstracto, independiente del dominio, que permite describir características, requerimientos y capacidades de un Web Service
Delega a otras especificaciones la definición de políticas particulares a un dominio.o WS-SecurityPolicyo WS-ReliableMessagingPolicy
INCO - Facultad de Ingeniería – Montevideo, Uruguay 53
Transacciones en WS
Transacción Atómica: WS-AtomicTransactiono Propiedades ACIDo Corta Duración
o Ambiente seguro
o Diseñado principalmente para dar soporte a la interoperabilidad
Actividad de Negocio: WS-BusinessActivityo Larga Duracióno Se define un mecanismo de compensación
INCO - Facultad de Ingeniería – Montevideo, Uruguay 54
Seguridad en WS
Alternativaso Seguridad a nivel de trasporte
oA través de HTTPS
oTecnología madura y existencia de expertos
o Seguridad a nivel de mensaje SOAPoWS-Security
INCO - Facultad de Ingeniería – Montevideo, Uruguay 55
WS-Security
Define un conjunto de extensiones SOAP para brindar seguridad a nivel de mensaje
Se especifica cómo:o utilizar XML Signature en mensajes SOAPo utilizar XML Encryption en mensajes SOAP
o incluir Tokens de Seguridad en mensajes SOAP
INCO - Facultad de Ingeniería – Montevideo, Uruguay 56
Especificaciones de WS
Actualmente la tecnología de Web Services está basada en un gran número de especificaciones que:o en general, son propuestas por la industria
Microsoft, IBM, Oracle, etc.
o son estandarizadas por distintas organizaciones W3C, OASIS, etc.
o son implementadas por distintos proveedores Apache, JBoss, Sun, Microsoft, IBM, Oracle, etc.
INCO - Facultad de Ingeniería – Montevideo, Uruguay 57
WS-Trust
Microsoft Corporation. Web Service Security Scenarios, Patterns, and Implementation Guidance for Web Services Enhancements (WSE) 3.0. 2005. http://msdn.microsoft.com/en-us/library/aa480545.aspx
INCO - Facultad de Ingeniería – Montevideo, Uruguay 58
Web Services REST
REST (REpresentational State Transfer)o Estilo arquitectónico para sistemas de hipermedia
distribuidos
o Todo es tratado como recursos que se identifican por URIs
o Toma ventaja de los verbos HTTP GET, POST, PUT, DELETE
INCO - Facultad de Ingeniería – Montevideo, Uruguay 59
Web Services REST
La intención de una llamada a un RESTful Service, se obtiene del verbo HTTPo GET (recuperar), DELETE (eliminar)…
Verbo HTTP Significado en términos de CRUD (Create, Read, Update, Delete)
POST Crear un nuevo recurso a partir de los datos de la solicitud.
GET Leer un recurso.
PUT Actualizar un recurso a partir de los datos de la solicitud.
DELETE Eliminar un recurso.
Java Web Services: Up and Running, 1st Edition. Martin Kalin. O'Reilly. 2009
INCO - Facultad de Ingeniería – Montevideo, Uruguay 60
Web Services REST
De este modo las URIs actúan como identificadores de recursos y los métodos HTTP como verbos que especifican operaciones sobre los mismos
Verbo HTTP / URI Significado en términos de CRUD
POST emps Crear un nuevo empleado a partir de los datos de la solicitud.
GET emps Leer una lista de todos los empleados.
GET emps?id=27 Leer el empleado 27.
PUT emps Actualizar la lista de empleados con los datos de la solicitud.
DELETE emps Eliminar la lista de empleados.
DELETE emps?id=27 Eliminar el empleado 27.
Java Web Services: Up and Running, 1st Edition. Martin Kalin. O'Reilly. 2009
INCO - Facultad de Ingeniería – Montevideo, Uruguay 61
Web Services REST
Taller de Sistemas de Información Geográficos Empresariales
SOA y ESB
INCO - Facultad de Ingeniería – Montevideo, Uruguay 63
Computación Orientada a Servicioso paradigma que basa el diseño de aplicaciones en
servicios para dar soporte al desarrollo ágil y flexible de aplicaciones distribuidas en ambientes heterogéneos
Un Servicio es una entidad de cómputo que expone una funcionalidad de negocio y es:o autónomao independiente de la plataforma
o puede ser descrita, publicada, descubierta y combinada
Orientación a Servicios
INCO - Facultad de Ingeniería – Montevideo, Uruguay 64
Principioso Standardized Service Contracts
o Service Loose Coupling
o Service Abstractiono Service Reusabilityo Service Autonomy
o Service Statelessness
o Service Discoverabilityo Service Composability
Orientación a Servicios
http://www.soaprinciples.com/
INCO - Facultad de Ingeniería – Montevideo, Uruguay 65
Arquitectura Orientada a Servicioso forma lógica de diseñar sistemas de software
para proveer servicios a través de interfaces públicas y descubribles
Arquitectura Orientada a Servicios
INCO - Facultad de Ingeniería – Montevideo, Uruguay 66
Service Oriented Architecture
M. Papazoglou, Web Services: Principles and Technology, 1st ed. Prentice Hall, September 2007.
INCO - Facultad de Ingeniería – Montevideo, Uruguay 67
Si bien los principios de SOA no dependen de una tecnología en particular, los Web Services se han convertido en el mecanismo preferido para su implementación
Actualmente, la forma más común de proveer una infraestructura de integración administrable, para Web Services y SOA, es a través de un ESB
Service Oriented Architecture
INCO - Facultad de Ingeniería – Montevideo, Uruguay 68
Capa de Servicios
Microsoft Patterns & Practices. Microsoft Application Architecture Guide v2.0
INCO - Facultad de Ingeniería – Montevideo, Uruguay 69
Enterprise Service Bus (ESB)
Un ESB es una plataforma de integración basada en estándares que combina mensajería, Web Services, transformación de datos, y ruteo inteligente, para conectar y coordinar de forma confiable la interacción de un gran número de aplicaciones a través de empresas con integridad transaccional
INCO - Facultad de Ingeniería – Montevideo, Uruguay 7070
Enterprise Service Bus (ESB)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 71
Enterprise Service Bus (ESB)
En lugar de interactuar directamente las aplicaciones se comunican enviando mensajes a través del ESB
Los mensajes que fluyen a través del ESB son en general mensajes XML
71
INCO - Facultad de Ingeniería – Montevideo, Uruguay 72
1
32
Enterprise Service Bus (ESB)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 73
Funcionalidades de ESB
Conectividad / AdaptadoresTransformación de MensajesRuteo IntermediarioFlujos de MediaciónMensajería AsincrónicaMonitoreo y AdministraciónOtras…
INCO - Facultad de Ingeniería – Montevideo, Uruguay 74
Permiten satisfacer un requerimiento de integración común conocido como conversión de protocolo (protocol switch).
Este requerimiento se da cuando dos aplicaciones que necesitan integrarse no manejan un protocolo de comunicación común.
(Rademakers and Dirksen 2008)74
Conectividad y Adaptadores
INCO - Facultad de Ingeniería – Montevideo, Uruguay 75
Los ESBs también incluyen capacidades de transformación de mensajes.
Estas capacidades posibilitan, por ejemplo, que aplicaciones que utilizan distintos formatos o modelos de datos puedan comunicarse.
(Rademakers and Dirksen 2008)75
Transformación de Mensajes
INCO - Facultad de Ingeniería – Montevideo, Uruguay 76
El ruteo inteligente permite determinar dinámicamente el destino de un mensaje (seleccionando de varios destinos posibles)
Basado en contenido, contexto, balanceo de carga, etc
RUTEO
76
Ruteo Inteligente
INCO - Facultad de Ingeniería – Montevideo, Uruguay 77
Los ESB incluyen funcionalidades de monitoreo que proveen valores para distintas métricaso tiempos de respuesta,o cantidad de mensajes procesados por servicio,o errores en la invocación de servicios, etc
Esto permite detectar:o cuellos de botella, o incumplimiento de requerimientos de calidad de
servicio, etc
77
Monitoreo y Administración
Taller de Sistemas de Información Geográficos Empresariales
Arquitectura y Tecnologías GIS
INCO - Facultad de Ingeniería – Montevideo, Uruguay 79
En las últimas décadas el Software GIS ha pasado de ser un software “standalone” de escritorio, a tener la típica arquitectura en capas de las aplicaciones empresariales
Arquitectura y Tecnologías GIS
INCO - Facultad de Ingeniería – Montevideo, Uruguay 80
GeoDBMS
Un GeoDBMS da soporte al almacenamiento y consulta de objetos geográficos.
El enfoque común es extender un DBMS con elementos geográficos:o Tiposo Funciones
o Metadatos
SELECT r.nombre, ST_LENGTH(r.geom) AS longitud
FROM Calles r WHERE r.codigo=223;
INCO - Facultad de Ingeniería – Montevideo, Uruguay 81
GeoDBMS
Las extensiones geográficas a un DBMS deben cumplir con el estándar Open Geospatial Consortium (OGC) conocido como:o Simple Features Standard, SQL Option
Algunas extensiones SFS son:o Oracle Spatial
o PostGIS
o MySQL Spatial Extensionso ESRI ArcSDE
INCO - Facultad de Ingeniería – Montevideo, Uruguay 82
Map Server
Un Servidor de Mapas es un componente de SW que generalmente se ejecuta sobre un Servidor Web o Servidor de Aplicaciones
Su objetivo principal es proveer a clientes de Internet mapas generados dinámicamente (a partir de datos vectoriales o raster)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 83
Map Server
La tendencia actual es que los servidores de mapas implementen estándares de Web Services geográficos (de la OGC):o Web Map Service (WMS)
• proveen mapas sólo lectura
o Web Feature Service (WFS)• acceso y manipulación de objetos
geográficos (protocolos basados en XML)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 84
Map Viewer
Un Map Viewer es una aplicación cliente que despliega un mapa en una interfaz de usuarioo en general son aplicaciones Web-based que
obtienen mapas desde Map Servers (ej. via WMS)
Ejemploso Google Maps
o OpenLayers
INCO - Facultad de Ingeniería – Montevideo, Uruguay 85
Map Editor
Un Map Editor permite además crear mapas, modificar objetos, realizar geo-procesamiento avanzado
Son generalmente aplicaciones desktop pero hay alternativas Web-based
Se pueden comunicar con Map Servers (vía WMS o WFS) o con geo-databases (vía SQL)
Ejemplos: gvSIG, QGIS
Taller de Sistemas de Información Geográficos Empresariales
Alternativas de Integración
INCO - Facultad de Ingeniería – Montevideo, Uruguay 87
Escenarios de Integración
Aplicación EmpresarialGIS
INCO - Facultad de Ingeniería – Montevideo, Uruguay 88
Alternativas de Integración
Integración a nivel de Base de Datos Integración a nivel de Servicios Integración a nivel de Interfaz de Usuario
INCO - Facultad de Ingeniería – Montevideo, Uruguay 89
Integración a nivel de BD
INCO - Facultad de Ingeniería – Montevideo, Uruguay 90
Integración a nivel de BD
Utilizar un database-linko Es posible vía las capacidades de algunos DBMS
o productos de terceros (ej. dblink)
o Este mecanismo permite acceder a una BD externa a través de vistas
Utilizar mecanismos de ETLo Se deben implementar mecanismos para extraer
información del a BD empresarial yalmacenarla en la geo-DB
o Definir periodicidad de carga
INCO - Facultad de Ingeniería – Montevideo, Uruguay 91
Integración a nivel de BD
¿database-link vs ETL? ¿es siempre posible este enfoque?
INCO - Facultad de Ingeniería – Montevideo, Uruguay 92
Integración a nivel de Servicios
Los servicios geográficos tienen interfaces bien conocidas, por lo que invocarlos desde aplicaciones empresariales no presenta mayores desafíos
INCO - Facultad de Ingeniería – Montevideo, Uruguay 93
Integración a nivel de Servicios
El principal desafío es proveer datos provenientes de aplicaciones de negocio a través de interfaces geográficas
La problemática se da porque:o Muchos clientes (ej. Map Viewers) están
diseñados para consumir sólo WS Geográficos
o Los Map Servers proveen poco soporte para consumir servicios externos (ej. WS SOAP)
¿Qué alternativas hay?
INCO - Facultad de Ingeniería – Montevideo, Uruguay 94
Integración a nivel de Servicios
Un posible enfoque es desarrollar un componente que consuma ambos servicios, integre los datos y los provea a través de una interfaz geográfica
La obtención de datos yla integración es trasparente tanto para elcliente como para el Map Server
INCO - Facultad de Ingeniería – Montevideo, Uruguay 95
Integración a nivel de Servicios
Una alternativa para implementar el componente de integración es aprovechar los mecanismos que brindan los ESBs
INCO - Facultad de Ingeniería – Montevideo, Uruguay 96
Integración a nivel de Servicios
Otra posible problemática de integración es cómo utilizar un WS Geográfico en un proceso WS-BPEL
Habría que brindar una interfaz SOAP para el WS Geográficoo Para esto existe una recomendación del OGC
Se podría también utilizar los mecanismos de los ESBs para implementar esta conversión
INCO - Facultad de Ingeniería – Montevideo, Uruguay 97
Integración a nivel de UI
Las organización están notando los beneficios de agregar mapas a sus aplicaciones existentes
Una posible alternativa es agregar un Map Viewer a la UI de las aplicaciones empresariales
INCO - Facultad de Ingeniería – Montevideo, Uruguay 98
Escenarios de Integración
INCO - Facultad de Ingeniería – Montevideo, Uruguay 99
Integración a nivel de UI
Dada la heterogeneidad tecnológica, muchas veces la mejor opción es utilizar un viewer basado en javascript (ej. OpenLayers)
Si una organización no tiene su propio dataset geográfico, podría utilizar mapas de propósito general (ej, google maps)
INCO - Facultad de Ingeniería – Montevideo, Uruguay 100
Integración a nivel de UI
Otro posible escenario es enriquecer los datos brindado por un Map Viewer con datos de Negocio
En este caso, se puede utilizar la integración a nivel de servicios descripta previamente
Si esto no es posible, la integración se debe hacer a nivel del clienteo Qué problemáticas presenta esta solución?
INCO - Facultad de Ingeniería – Montevideo, Uruguay 101
Tecnologías GIS Empresariales
Varias tecnologías empresariales están siendo extendidas para tener soporte geográfico
Algunos Ejemplos:o Soporte en BD (postgis, etc)o Hibernate Spatial
o GeoMajas
o GeoFaces
INCO - Facultad de Ingeniería – Montevideo, Uruguay 102
Referencias
G. Hohpe and B. Woolf, Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley Professional, October 2003.
J. McGovern, O. Sims, A. Jain, and M. Little, Enterprise Service Oriented Architectures: Concepts, Challenges, Recommendations
D. Chappell, Enterprise Service Bus. O'Reilly Media, Inc., July 2004. M. Papazoglou, Web Services: Principles and Technology, 1st ed.
Prentice Hall, September 2007. G. Alonso, F. Casati, H. Kuno, and V. Machiraju, Web Services, 1st
ed. Springer, October 2003. M. P. Papazoglou, P. Traverso, S. Dustdar, and F. Leymann.
"Service-oriented computing: State of the art and research challenges", Computer, vol. 40, no. 11, pp. 38-45, 2007.
The SOA Source Book http://www.opengroup.org/soa/source-book/intro/
INCO - Facultad de Ingeniería – Montevideo, Uruguay 103
Referencias
Rienzi, B., Sosa, R., Foti, P., González, L.: Benefits and challenges of using geographic information systems to enhance social security services. (2010).
Bruno Riezi, Laura González: Towards an ESB-Based Enterprise Integration Platform for Geospatial Web Services. (2013).