Professional Documents
Culture Documents
Captulo 2
Marco Terico
[2. Marco Terico]
En este captulo se tratan y definen los conceptos y tecnologas que establecen el
contexto de trabajo de esta tesis. Especficamente se tratan tecnologas SIG,
tecnologas de ingeniera de software, y tecnologas web. Todas estas tecnologas son
importantes para este proyecto de tesis porque son las bases que permitieron su
desarrollo, as como para muchos otros proyectos como se ver en el captulo 3.
para
explicar
sucesos,
predecir
resultados
planificar
estrategias
asistidos
por
manipulacin,
computadora,
que
procesamiento,
permiten
consulta
la
incorporacin,
presentacin
de
de
adquisicin,
almacenamiento,
interpretacin,
distribucin,
2.1.1.2 Componentes
Para comprender mejor el funcionamiento de un SIG es importante conocer cuales
son los componentes que lo constituyen. Un SIG se puede ver como una caja negra,
pues manipula datos reales, en nuestro caso localizaciones de entidades en un
espacio fsico.
se considera al
10
11
12
13
estn
restringidas
geometras
simples
para
las
cuales,
las
14
El modelo geomtrico para features simples permite geometras que son colecciones
de otras geometras (colecciones homogneas de multi-puntos, multi-lneas y multipolgonos, o colecciones heterogneas de geometras).
La figura 2.4 [GML, 2002] es el modelo de objetos geomtricos para features
simples, el cual tiene una clase base abstracta Geometry y asocia cada objeto
geomtrico con el sistema de referencia espacial (SRS) que describe el espacio
coordenado en el cual se define el objeto. Por ejemplo, tomemos la geometra Point
de este modelo, podemos ver que ms de un punto puede formar una geometra
ms compleja MultiPoint, y de manera anloga se puede decir que dos o ms puntos
pueden formar una geometra LineString. De manera similar se interpretan todas las
dems geometras de este modelo las cuales tienen en comn que todas heredan de
la clase abstracta Geometry la cual, por lo tanto, asocia a cada geometra a un lugar
especfico de la tierra mediante el SRS.
15
de
las
reas
de
especial
inters
actualmente,
que
se
apoyan
16
procesamiento ira, al igual que en los compiladores, de mayor nivel a menor nivel de
abstraccin.
En cambio, la Ingeniera inversa intenta extraer modelos del dominio de la solucin
y, ms an, del dominio del problema a partir del cdigo final. De ah que se realice
un procesamiento en el que, a diferencia de los compiladores, el cdigo final es de un
nivel de abstraccin mayor que el cdigo fuente. En este caso, el lenguaje del cdigo
final es un lenguaje de modelado, o una abstraccin de un lenguaje de modelado, y
el lenguaje del cdigo fuente es un lenguaje de programacin. El objetivo ltimo de
la ingeniera inversa consiste en separar de los detalles de implementacin la
informacin esencial del problema y de su solucin. De esta forma, por ejemplo, se
suplen las carencias de documentacin cuando se trabaja con cdigo legado o se
puede cerrar el ciclo mediante lo que se conoce como reingeniera. La reingeniera
pasa por la aplicacin de una nueva iteracin de un proceso de Ingeniera del
Software en el que se tomen nuevas decisiones de diseo, cambiando hasta de
paradigma de desarrollo si fuera el caso. Todo esto a partir de la informacin
extrada mediante la aplicacin de ingeniera inversa al cdigo fuente de un sistema
previamente desarrollado.
Todo el proceso de ingeniera inversa y su implementacin se trata a profundidad en
el captulo 4 de este documento de tesis.
17
18
Las reglas que dictan como deben de juntarse esos bloques de construccin y
19
20
Visualizar
Especificar
Construir
Documentar
Para entender UML se necesita formar un modelo conceptual del lenguaje. Cuando se
vaya adquiriendo experiencia en UML, se podrn construir modelos conceptuales
usando caractersticas avanzadas de este lenguaje. La figura 2.6 muestra el
vocabulario que abarca UML. Si se desea mayor referencia acerca de UML se pueden
consultar [Booch, 1999].
21
UML
Cosas
Cosas estructurales
Clases
Interfaces
Colaboraciones
Casos de uso
Clases de actividad
Componentes
Nodos
Cosas de comportamiento
Mensajes
Estados
Cosas de agrupacin
Paquetes
Cosas de anotacin
Notas
Relaciones
Dependencia
Asociacin
Generalizacin
Realizacin
Diagramas
Diagrama de clase
Diagrama de objeto
Diagrama de caso de uso
Diagrama de secuencia
Diagrama de colaboracin
Diagrama de estado
Diagrama de Actividad
Diagrama de componente
Diagrama de utilizacin
22
23
Los Web Services son una de las nuevas tecnologas ms prometedoras para las
empresas. Los ejecutivos visualizan a los Web Services como el siguiente paso en
sus estrategias de e-Business y los desarrolladores cada vez incorporan ms
componentes de Web Services en proyectos de software.
Los Web Services prometen una metodologa neutral en cuanto a la plataforma y
basada en:
24
intercambio empresarial.
Esto se debe a que los Web Services alcanzarn dos objetivos tecnolgicos altamente
deseados de manera anticipada:
25
Description
Discovery
and
Integration)
estndares
abiertos
sobre
Protocolos de Internet.
XML se utiliza para marcar los datos con etiquetas, SOAP se utiliza para transferir los
datos, WSDL se utiliza para describir los servicios disponibles y UDDI se utiliza para
publicar qu servicios estn disponibles. Se utilizan principalmente como medios
para comunicar negocios de unos con otros y con los clientes, los XML Web Services
permiten que las organizaciones se comuniquen sin un conocimiento detallado de los
sistemas de Informacin de cada una.
Diferente a los sistemas cliente/servidor y/o sistemas Web, los XML Web Services no
proveen una interfaz grfica al usuario, sino que comparten la lgica de negocios,
junto con los procesos y datos por medio de una interfaz de programa utilizando una
red. Las interfaces se interconectan de manera transparente, por lo tanto, los
clientes nunca lo notan.
Los XML Web Services permiten que las aplicaciones compartan informacin y que
adems invoquen funciones de otras aplicaciones, independientemente de cual sea el
sistema operativo o la plataforma en que se ejecutan y cules sean los dispositivos
utilizados para obtener acceso a ellas. Aunque los XML Web Services son
independientes entre s, pueden vincularse y formar un grupo de colaboracin para
realizar una tarea determinada [Bankhacker, 2003]. Esta ltima definicin nos
introduce al contexto de los sistemas distribuidos.
26
campo de los sistemas de informacin geogrficos (SIG) son los servidores de rasgos
geogrficos o WFS.
Durante la iniciativa OpenGIS Consortium (OGC) Web Mapping Test (WMT1), se
desarrollaron dos especificaciones:
El documento que define a los WFS, surge como un siguiente paso a esta iniciativa y
propone interfaces para describir operaciones de manipulacin de datos sobre
features geogrficos usando HTTP como plataforma de cmputo distribuido.
Como ya vimos existe una gran variedad de Web Services disponibles actualmente
en la web. La arquitectura WFS, permite a un cliente recuperar datos geoespaciales
codificados en GML de mltiples servidores de features. GML como ya vimos, es una
extensin
de
la
codificacin
XML,
que
se
usa
para
la
transportacin
27
Basic WFS - Web Feature Service de slo lectura (Read-Only). Un WFS bsico
implementa las operaciones TGetCapabilitiesT, TDescribeFeatureTypeT y TGetFeature.
operaciones
Opcionalmente,
de
un
transaccin,
WFS
como
transaccional
son
Insert,
puede
Update
Discovery.
implementar
la
operacin
TLockFeatureT.
Un WFS no se define ni se genera en base a un dominio especfico, es decir, en un
WFS se puede cargar cualquier cartografa que cuente con las caractersticas
definidas por el mismo, no se implementa de manera particular para satisfacer a una
sola cartografa. Dentro de las caractersticas que definen a la cartografa podemos
mencionar la escala y el sistema de referencia usado, siendo estas dos las mas
importantes. Todo lo referente al servicio WFS se puede consultar a detalle en el
apndice D.
28
2.4 Justificacin
Como pudimos ver, en este captulo se trataron varios conceptos interesantes e
importantes para el contexto de este proyecto de tesis, pues todos ellos al
combinarse contribuyeron en su desarrollo. Ahora que se han explicado estos
conceptos podemos justificar su uso en este proyecto de tesis. Este Web Feature
Service
es
un
SIG
que
se
logr
utilizando
tecnologas
abiertas
para
su
reingeniera
del
software
para
obtener
informacin
necesaria
de
una
implementacin pblica que careca de ella, con el fin de lograr una correcta
implementacin. Es por esto que son muy importantes todos y cada uno de los
conceptos explicados en este captulo. En el siguiente captulo trataremos algunos
proyectos que ya han sido desarrollados y que utilizan algunos de estos conceptos y
que adems fueron en parte inspiracin para este proyecto de tesis.
29