Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
twsg:dicas:implementando_spec [2008/09/25 12:03]
150.163.2.58 Item 4
twsg:dicas:implementando_spec [2008/09/25 13:53] (current)
emerson
Line 27: Line 27:
   * O diagrama de classes em UML vai ajudá-lo bastante na hora de implementar as classes em C++   * O diagrama de classes em UML vai ajudá-lo bastante na hora de implementar as classes em C++
  
-\\ FIXME por exemplos+\\ FIXME colocar ​exemplos 
  
 ===== 4. Implementar a Spec ===== ===== 4. Implementar a Spec =====
Line 33: Line 34:
   * A fase de implementação consiste em traduzir os diagramas UML para classes em C++   * A fase de implementação consiste em traduzir os diagramas UML para classes em C++
   * Copie a documentação da Spec (no texto ou no Schema) para a documentação da classe -> esses dados passam a fazer parte da implementação   * Copie a documentação da Spec (no texto ou no Schema) para a documentação da classe -> esses dados passam a fazer parte da implementação
-  * Implemente as classes se preocupando sempre com os métodos ''​writeToXML''​ e ''​readFromXML'',​ que são o núcleo da Spec +  * Implemente as classes se preocupando sempre com os métodos ''​writeToXML''​ e ''​readFromXML'',​ que são o núcleo da Spec -> usar as classes e funções disponíveis no pacote ''​xml''​ do TerraOGC 
-  * Se for implementar um formato, faça os métodos de conversão de/para conceitos TerraLib (Exemplo: TeKMLPolygon <-> TePolygon, TeGMLPolygon <-> TePolygon)+  * Se for implementar um formato, faça os métodos de conversão de/para conceitos TerraLib (Exemplos: TeKMLPolygon <-> TePolygon, TeGMLPolygon <-> TePolygon)
   * Se for implementar um serviço, siga os passos seguintes:   * Se for implementar um serviço, siga os passos seguintes:
  
 ==== 4.1 Classes comuns ==== ==== 4.1 Classes comuns ====
 +
 +  * É a implementação constante do item 4, ou seja, implementar as classes comuns do serviço
 +  * ''​writeToXML''​ e ''​readFromXML''​ serão usados nas partes cliente e servidor
  
 ==== 4.2 Classes servidor ==== ==== 4.2 Classes servidor ====
 +
 +  * É a implementação da interface do serviço como um servidor
 +  * Esta parte é necessária pois podemos construir várias **comunicações** do servidor, como CGI, ou até SOAP
 +  * É nesta fase que serão aplicados os conhecimentos da fase 2, que envolve fazer um mapeamento dos conceitos TerraLib para o serviço em questão
 +  * É nessa parte que realmente entra a TerraLib
  
 ==== 4.3 Servidor CGI ==== ==== 4.3 Servidor CGI ====
  
-==== 4.4. Classes cliente ====+  * Uma implementação bastante simples do servidor 
 +  * É o único aplicativo em todo o processo, todos os demais são bibliotecas (SOs ou DLLs) 
 +  * Usar as funções CGI disponíveis no pacote ''​common''​ do TerraOGC
  
 +==== 4.4. Classes cliente ====
  
 +  * Também é interessante montar uma classe, similar ao que ocorre no servidor, para o cliente
 +  * Aqui são usadas algumas funções de conexão HTTP providas pela [[http://​curl.haxx.se/​libcurl/​|libcURL]]
 +  * Seria interessante criar um pacote com essas classes comuns aos clientes -> será definido (TBD). Por enquanto usar os exemplos disponíveis nos pacotes ''​wmsclient''​ e ''​wfsclient''​
  

Navigation