cer uma opção Web para a mesma arquitetura, convivendo em harmonia com aplicações cliente desktop já existentes?
Esse é o propósito deste artigo: mostrar como construir uma interface Web para um servidor DataSnap, usando a tecnologia mais robusta para esse propósito, o ASP.NET. Clientes desktop Win32 e Web poderão conviver lado a lado e poderão compartilhar a mesma camada de negócio e acesso a dados, ou seja, o mesmo servidor de aplicação.
Preparando o banco de dados
Neste exemplo vou utilizar um banco de dados no Firebird 2.0, mas sinta-se a vontade para utilizar o banco de dados de sua preferência. Para facilitar, vamos criar uma tabela com uma estrutura bastante simplificada dentro de um novo banco de dados, chamado “CUSTOMER.FDB”.
Para criar o banco e a tabela “CUSTOMERS” você pode utilizar o IBExpert (www.ibexpert.com). A estrutura da tabela é mostrada na Figura 1. O script de criação da tabela pode ser visto na Listagem 1.
Figura 1. Estrutura da tabela CUSTOMERS
Listagem 1. Código de criação da tabela CUSTOMERS
CREATE SEQUENCE GEN_CUSTOMERS_ID;
CREATE TABLE CUSTOMERS (
CUSTOMERID INTEGER NOT NULL,
FIRSTNAME VARCHAR(50) NOT NULL,
COMPANY VARCHAR(50) NOT NULL
);
ALTER TABLE CUSTOMERS ADD CONSTRAINT
PK_CUSTOMERS PRIMARY KEY (CUSTOMERID);
CREATE TRIGGER CUSTOMERS_BI FOR CUSTOMERS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.CUSTOMERID IS NULL) THEN
NEW.CUSTOMERID = GEN_ID(GEN_CUSTOMERS_ID,1);
END
Ao criar a tabela, veja que definimos um Sequence para incrementar automaticamente o campo chave, nesse caso CustomerId. Se estiver usando o modo de designer do IBExpert para criar a tabela, basta marcar a opção AutoInc e marcar a seguir os itens Create Generator/Sequence e Create Trigger.
Criada a tabela, adicione alguns registros nela para facilitar nossos testes quando formos criar a aplicação no Delphi.
Criando o servidor DataSnap
No Delphi, clique em File>New>Other>Multitier>Transactional DataModule. Na caixa de diálogo que aparece, digite “DM” para o nome da ...