O TDK - Terralib Development Kit |
O TDK é um framework para criação de aplicativos de geoprocessamento sobre o
modelo de dados da Terralib. Ele possui código fonte aberto e
é escrito em C++. Abaixo está uma lista de características do TDK.
Aplicações: Os aplicativos escritos com o TDK podem criar
e manipular bancos de dados geográficos com grande volume de dados, podem
utilizar algoritmos para processamento e cálculo estatístico de dados
geográficos, e permitem navegar, visualizar, editar, consultar e interagir
com mapas em alta performance.
Flexibilidade - Linguagens de Programação e Plataformas:
A arquitetura do TDK fornece binding para diversas linguagens, sendo
que atualmente os programadores podem escrever suas aplicações em C++
e Java. Além disso, é possível disponibilizar as aplicações em plataformas
diferentes como Windows e Linux em diversos ambientes como standalone/desktop,
web ou cliente/servidor.
Reuso e Extensibilidade: O TDK permite o uso isolado
de seus componentes e a extensão de seus módulos para acomodar
novas funcionalidades.
Acesso à Terralib:
O TDK provê, para usuários que não são proficientes em programação com a
TerraLib, uma API simplificada para acesso às suas funcionalidades mais
comuns. Entretanto, o TDK não inviabiliza o acesso direto à
Terralib. Caso seja necessário utilizar a flexibilidade que a
TerraLib fornece, é possível fazer com que a aplicação tenha acesso direto
às suas funcionalidades.
Compatibilidade com OGC: Um dos requisitos do TDK é oferecer
uma interface para o acesso à TerraLib compatível com os padrões publicados
pelo Open GIS Consortium (OGC). Ao adotar padrões, o TDK visa
facilitar a interoperabilidade entre sistemas que envolvem informação espacial
e localização, e ainda permite que os programadores com
experiência com o vocabulário e a arquitetura do OGC, possam utilizá-lo de
forma simples no desenvolvimento de suas aplicações. Seguindo esta idéia, o TDK
é compatível com o WMS, especificado pela OGC.
Desenvolvimento Colaborativo: O desenvolvimento do TDK é feito
por uma equipe do TECGRAF em parceria com grupos externos. A idéia é ter
um ambiente colaborativo para o desenvolvimento de Sistemas de Informação
Geográfica.
|

|
|
A Terralib
|
A TerraLib é uma biblioteca para a construção de aplicativos
geográficos que possui código fonte aberto e é distribuída sob a licença
LGPL – Lesser GNU Public License , no site www.terralib.org.
A TerraLib é escrita na linguagem C++ padrão, podendo ser compilada nos
sistemas operacionais Linux e Windows.
O objetivo do projeto TerraLib é produzir um produto, sem custo, que possa
servir como base para o desenvolvimento cooperativo da comunidade de
desenvolvedores de SIGs, e que ofereça ferramentas tecnológicas avançadas,
muitas vezes ainda não disponíveis nas soluções proprietárias de mercado.
Por isso é uma boa alternativa para a prototipação e validação de novas
técnicas resultantes da pesquisa e desenvolvimento em ciência da geoinformação,
além da criação de aplicações comerciais.
A biblioteca Terralib possui um modelo de dados e um conjunto de algoritmos de
análise geo-espaciais implementados.
|
Módulos Funcionais do TDK
|
Aguarde. Em construção !!!
|
As funcionalidades do TDK são divididas nos seguintes módulos funcionais:
Módulo de Persistência
Módulo de
Processamento
Módulo Gráfico
Módulo de
Interface com o Usuário
|
Componentes e Serviços
|
Como desenvolvedores de software, nós estamos constantemente precisando criar
aplicações o mais rápido e com o menor gasto possível. E, claro, estas
aplicações precisam ser melhores e mais eficientes do que as anteriores.
Técnicas de orientação a objeto e ambientes de software baseados em componentes
estão sendo amplamente utilizados para se criar estas aplicações atendendo
estes requisitos.
Seguindo esta idéia, o TDK possui sua arquitetura baseada em componentes.
Componentes são elementos de software auto-contidos que podem ser controlados
dinamicamente e montados para formar aplicações. Além disso, componentes
precisam interoperar de acordo com um conjunto de regras e diretrizes.
Os componentes podem ser estendidos para atenderem a novos requisitos e são
acessados através de métodos especificados em sua interface.
Notamos, no entanto, que em muitos casos, o uso adequado de componentes requer
um conhecimento grande sobre como utilizá-los, o que pode levar o programador a
um aprofundamento em documentos técnicos.
Como alternativa, visando diminuir o tempo necessário para se obter proficiência
na utilização do TDK, projetamos uma segunda interface de programação, com
características de programação procedural, através de métodos que se comportam
como funções. Esta interface oferece um conjunto de funcionalidades bem
definidas, com um alto nível de abstração, escondendo a complexidade da
implementação.
Os métodos oferecidos, chamados de serviços, foram agrupados
segundo seu contexto semântico, de forma que as funcionalidades possam ser
facilmente localizadas e acessadas diretamente. Diferente dos componentes, os
serviços não podem ser estendidos.
Desta forma, o Tdk oferece duas interfaces de programação: uma API de
componentes e uma uma API de Serviços.
A assinatura dos métodos da API de serviços possui tipos
primitivos não sendo necessário, portanto, o conhecimento prévio
sobre componentes do TDK, embora internamente os serviços os utilizam.
Além de facilitar o desenvolvimento de aplicações utilizando o TDK, como um
serviço "esconde" a forma como sua funcionalidade é implementada, mudanças
internas na implementação de componentes do TDK, possuem um impacto mínimo nas
aplicações que utilizam os serviços do TDK.
|

|
|
Histórico
|
Em 2001, o INPE e o TecGraf/PUC-Rio iniciaram o desenvolvimento da Terralib e a
partir de então, várias aplicações foram sendo construídas utilizando a
Terralib. Entretanto muitas das funcionalidades destas aplicações eram
comuns e estavam sendo desenvolvidas de formas variadas por grupos diferentes.
Notou-se então que ao desacoplar das aplicações estas funcionalidades comuns,
muitas vantagens seriam alcançadas como o reuso das funcionalidades em
aplicações diferentes, o aumento da velocidade de desenvolvimento de aplicações
e a simplificação do código das aplicações.
Esta idéia motivou a criação de um framework para o desenvolvimento de
aplicações para a Terralib, chamado então de Terralib
Development Kit (TDK), em menção a SDK (de Software Development Kit em
inglês) - que é uma coleção de ferramentas usada para ajudar os programadores a
desenvolverem aplicações em geral e que geralmente está focada em um domínio de
aplicação específico, que neste caso é SIG de Sistema de Informação
Geográfica.
|
SIG
|
Sistemas de informação geográfica (SIGs) são sistemas computacionais capazes de
capturar, modelar, armazenar, recuperar, manipular, analisar e apresentar dados
geográficos.
Dados geograficamente referenciados, ou simplesmente dados geográficos, são
aqueles que possuem uma dimensão espacial, ou uma localização, diretamente
ligada ao mundo geográfico real como as imagens de satélites de sensoriamento
remoto, os dados de inventários cadastrais, os dados ambientais coletados em
campo e os modelos numéricos de terreno.
|
Distribuição do TDK
|
Seguindo a idéia de um SDK, a distribuição do TDK é feita através de uma API, de Application
Programming Interface em inglês, e uma documentação técnica.
Uma API ajuda ao programador desenvolver soluções utilizando um conjunto de
classes e métodos que encapsulam complexidades de mais baixo nível do domínio
da aplicação.
|
Exemplos de Casos de Uso
|
Aguarde. Em construção !!! Informações do InfoPAE, SAAAP, MAPS, Frota, TerraBase, etc.
|
|
|
|