4D v16Configuração da aplicação Wakanda |
||||||||||||||||||||||||||||||||
|
4D v16
Configuração da aplicação Wakanda
Configuração da aplicação Wakanda
Do lado Wakanda Enterprise, pode se conectar a uma base 4D:
Uma vez que se estabelece a conexão entre Wakanda e 4D, a aplicação Wakanda pode utilizar as tabelas, atributos e métodos projeto expostos da aplicação 4D como objetos locais. Em Wakanda Enterprise Studio, o comando Connect to Remote Datastore... (que se encontra no menu File e no menu contextual do projeto) abre um link com um datastore remoto. Este datastore remoto pode ser uma base 4D ou outra aplicação Wakanda. Em ambos casos, o servidor HTTP do datastore remoto deve ser iniciado para que Wakanda Enterprise Studio possa acessar ao modelo remoto. Contém os parâmetros de conexão seguintes:
Quando se estabelece uma conexão entre Wakanda e 4D Server através da caixa de diálogo "Connect to a Remote Datastore", Wakanda Enterprise Studio cria automaticamente dos arquivos (ícones com uma flecha vermelha) na pasta do projeto:
Nota: pode ver as extensões dos arquivos em uma mensagem de ajuda que aparece quando se selecionam os arquivos no Explorador de Wakanda Studio. Wakanda Enterprise Server lhe permite estabelecer um link com uma base 4D mediante a execução de um método JavaScript. O método de conexão geralmente deve ser localizado no código que se executa quando se abre a aplicação (bootstrap.js) ou quando o modelo é aberto (model.js) para que o link esteja disponível durante cada sessão.
A principal diferença entre estes métodos é o modo de integração dos objetos procedentes do datastore remoto na aplicação Wakanda: model.mergeOutsideCatalog() fusiona o catálogo remoto com o modelo ativo, enquanto que addRemoteStore() e openRemoteStore() geram modelos dedicados. Para obter mais informação sobre este ponto, consulte Integrar ao modelo ativo ou utilizar um modelo dedicado a continuação. O método JavaScript mergeOutsideCatalog() designa um catálogo de dados remoto e o utiliza dentro de seu modelo Wakanda atual. Deve chamar a este método em um arquivo .js associado ao modelo atual e executado por Wakanda Server. Há duas possíveis sintaxes:
A vantagem de usar a sintaxe com objeto é que pode ser adicionado um arquivo .js que se executa depois da conexão a base 4D. Este arquivo permite modificar localmente o catálogo referenciado da base remota.
Para uma descrição detalhada, consulte a documentação do método mergeOutsideCatalog() no manual Wakanda Server-Side API. O objeto model indica o "modelo" atual da aplicação Wakanda, em outras palavras, o conjunto de suas "classes de dados” (tabelas) e métodos. No contexto de uma arquitetura 4D Mobile, o modelo Wakanda pode estar vazio. Se a aplicação Wakanda já contém os objetos, as classes e métodos referenciados da aplicação 4D remota se fusionam ao modelo local quando utilize o método mergeOutsideCatalog(). Quando se estabelece a conexão corretamente, as tabelas 4D "expostas" se adicionam as classes do modelo do lado Wakanda. Em Wakanda Enterprise Studio, aparecem as tabelas remotas entre a lista de classes do modelo local. Os elementos externos se indicam com uma flecha vermelha. O catálogo externo também está representado em Wakanda Studio por um catálogo específico (chamado localName.waRemoteCatalog) que também se indica por uma flecha vermelha: Nota: As extensões de arquivo podem ser ocultas em Wakanda Studio. Pode fazer duplo clique neste arquivo para ver o catálogo externo no editor de modelos de Wakanda Enterprise Studio:
Os métodos openRemoteStore() e addRemoteStore() são formas alternativas de estabelecer vínculos dinâmicos entre uma aplicação Wakanda e uma aplicação 4D. Como mergeOutsideCatalog(), estes métodos oferecem acesso dinâmico aos dados das bases 4D mas funcionam de uma maneira diferente:
openRemoteStore() só devolve uma referência válida no contexto JavaScript atual, enquanto addRemoteStore() mantém a referência durante toda a sessão. Para obter mais informação, consulte a descrição dos métodos openRemoteStore() e addRemoteStore() na documentação Wakanda. Qualquer que seja o modo de conexão com o datastore 4D remota (usando a caixa de diálogo "Connect to Remote Datastore" de Wakanda Studio ou executando um método JavaScript), deve escolher se as classes (tabelas) remotas devem ser fusionados com o modelo ativo, ou ser localizado em um modelo dedicado.
Quando fusiona as tabelas 4D remotas com o modelo ativo, se integram ao modelo por padrão da aplicação (cujo datastore é o objeto ds), como as classes locais. Os princípios de acesso aos dados são os seguintes:
Estes princípios facilitam o desenvolvimento das aplicações 4D Mobile mas podem dar lugar a conflitos de nomes entre as tabelas, em particular quando a aplicação Web chama a vários datastores. Neste caso, pode ser útil para localizar os elementos remotos em um modelo dedicado. Quando as tabelas 4D remotas não se fundem com o modelo ativo, utilizam um modelo "dedicado". As classes remotas então utilizam um espaço de nomes que é específico para o datastore ao que a aplicação está conectada e não se podem acessar no objeto ds. Desta maneira é possível utilizar várias tabelas com o mesmo nome em várias datastores diferentes:
No entanto, este princípio tem certas limitações na versão atual de Wakanda Enterprise:
Assim que geralmente se recomenda escolher o modo fusionado para as datastores remotas, se sua aplicação cliente deve acessar diretamente aos dados das tabelas 4D remotas. Wakanda Enterprise lhe permite modificar certas características da versão local do modelo externo, por personalização, otimização ou segurança.
Wakanda executa este arquivo quando inicializa o catálogo externo. Utilizando este arquivo, pode:
Para obter mais informação sobre o código JavaScript para trabalhar com modelos, consulte a seção Model API na documentação de Wakanda. Pode definir licenças específicas para Wakanda Server para o modelo remoto e/ou em forma individual para cada classe. Para obter mais informação sobre este ponto, consulte a seção Atribuição de licenças de grupos da documentação Wakanda.
Ver também
|
PROPRIEDADES
Produto: 4D
HISTÓRIA
ARTICLE USAGE
4D Mobile ( 4D v16) |
||||||||||||||||||||||||||||||