Version 1 (modified by wmerlotto, 15 years ago) (diff) |
---|
Manual para desenvolvedores do pSync
O pSync foi totalmente baseado no Foundation, um connector de exemplo disponibilizado pelo Funambol.
Estrutura
O módulo está dividido em vários diretórios:
- /build: Estão os ant-files responsáveis pela "compilação" do plugin;
- /lib: Estão as bibliotecas necessárias para a "compilação" do plugin;
- /src: O código fonte do plugin;
- src/main/java/br/com/prognus/psync/: Dentro desse diretório devem estar os seguintes pacotes:
- admin: São os códigos da interface gráfica, utilizadas na ferramenta de administração do Funambol. Por meio destas é possível criar os SyncSources utilizados pelos clientes (dispositivos);
- engine/source: Estão as classes que serão invocadas pelo servidor e que são responsáveis pelo tratamento dos dados a serem sincronizados. Dentro de engine ficam os demais pacotes e classes utilizados pelas classes que estão dentro de source;
- /src/sql: Estão contidos os scripts de inicialização dos banco de dados, tanto para o Expresso quanto para o Funambol. Os scripts de cada banco devem estar separados em diretórios com o nome do banco usado;
Foi convencionado que os arquivos desses diretórios sejam nomeados da seguinte forma: Para as interfaces gráficas:
- <nome>SyncSourceConfigPanel.java;
Para os sources:
- <nome>SyncSource.java;
Para os scripts:
- create_engine.sql;
- drop_engine.sql;
- init_engine.sql;
As classes SyncSourceConfigPanel derivam do pacote funambol-admin, neste pacote encontram-se as classes usadas na criação da interface de configuração do módulo. As classes SyncSource derivam do pacote funambol-framework, neste pacote encontram-se as classes necessárias para manipular os dados durante a sincronia.
funambol.framework
Este pacote contém os serviços e abstrações usadas em diferentes camadas para implementar o componente. Os serviços mais importantes fornecidos pelo framework são:
- core: Classes usadas para fazer a tradução de XML para uma arvore de objetos e de uma arvore de objetos para XML;
- protocol: A comunicação SyncML é uma seqüencia de mensagens correlacionadas seguindo regras adicionais especificadas pelo protocolo SyncML. Este pacote processas as mensagens para assegurar a consistência com o protocolo;
- logging e security: Implementam os serviços de log segurança;
- engine: Provê a lógica para o servidor de sincronização, incluindo:
- Identificar a fonte e o destino dos dados a serem sincronizados;
- Identificar que dados precisam ser atualizados, adicionados ou removidos;
- Determinar quantas atualizações devem ser feitas;
- Detectar e resolver conflitos;
SyncSourceConfigPanel.java
Classes responsáveis pela interface para o gerenciamento das configurações dos SyncSources.
Os SyncSources são os arquivos de configuração responsáveis por indicar quais tabelas serão sincronizadas, os tipos de sincronia permitidos e outras informações.
SyncSource.java
Essas classes são responsáveis por manipular os dados a serem sincronizados, são as classes que fazem a interface entre o servidor Funambol e o banco de dados.