Professional Documents
Culture Documents
No propsito deste artigo, conceituar amplamente a tecnologia COM+, sobre tudo, esgotar
esclarecimento sobre seus efeitos e consequncias no desenvolvimento de sistemas.
De toda forma, segue uma pequena mas importante lista de benefcios que a adoo de COM+
traz aos aplicativos:
Como ltima obserao, tenha em mente uma aplicao convencional baseado no modelo
Client/Server, onde extrairemos o DataModele que acomoda os controles de acesso a dados, bem
como, possveis procedimentos ali implementados.
Esse DataModule, ser compilado a parte (em uma aplicao COM+), separando a lgica de
acesso a dados e de negciodo restante da aplicao.
O restante da aplicao, que corresponde aos possveis formulrios com seus controles de dados
(DataControls) ser compilados em uma aplicao a parte.
2-Em seguida, observer a figura 02, para a qual definiremos nosso datamodulo remoto
Figura 02
Figura 03
Consideraes:
a) A tabela produto tem como estrutura: id_produto(Numrico), Descricao(Varchar),
Preco(Numrico) e saldo(Numrico).
Bom, s nos resta agora, registrar nosso componente no COM+ (Servios de Componentes) para
podermos utilizar na aplicao cliente.
Bom, s nos resta agora, registrar nosso componente no COM+ (Servios de Componentes) para
podermos fazer uso na aplicao cliente.
Figura 05
Figura 06
4-Clique em Next, mas antes
defina como na imagem Figura 07
Figura 07
5-No cosidere a imagem da
figura 08, clicando em Next
Figura 08
Figura 09
7-Para finalizar o
processo, clique com o
boto direito do mouse
sobre o n
AppServerTeste,
indicando New|
Component e v
avanando at alcanar a
imagem da figura 10.
Figura 10
Figura 11
Figura 12
Existe neste mesmo site, outros artigos correlatos, e bastante frequente em outros sites,
artigos do mesmo gnero. A saber, artigos de meu amigo Bruno Lichot e do Sr. Guinter Poali.
Esta uma forma revolucionria de desenvolvimento, porm, muito pouco divulgada e adotada.
Creio eu em minha humilde viso, de se tratar de falta de coragem, seguido da falta de literatura
especfica, com um certo acomodamento no desenvolvimento do j fadado modelo cliente
servidor.
Criando Servidor de Aplicao COM+
e Utilizando o Servio em uma Aplicao Cliente
Algumas caractersticas diferem este aplicativo, devido ao modelo a que est incutido, dos
aplicativos convencionais. A saber, considere a lista que segue:
1-A principal caracterstica, que no h acesso a banco de dados, ainda, que nosso exemplo
manipule dados oriundos de um servidor de aplicao que cumpre este papel.
2-No acomoda regras, exceto claro aquelas inerentes a lgica de interface como: Tratamento
de data, mascaras, etc...
3-Tem requerimento de hard inferior aos aplicativos Cliente Servidor, devido ao fato de no
implementar conexo a SGBD.
Aqui ser omitido um procedimento que diz respeito a exportao dos registros do Servidor
COM+, para que mquinas da rede possam utilizar os servios expostos pelo mesmo. O registro
em si foi amplamente abordado, com um tutorial passo-a-passo no artigo inicial. Procederemos
assim, para focarmos a tecnologia e seu uso de forma mais simples possvel. Em outra ocasio,
prometemos um artigo especfico a esta necessidade.
1-Menu File|New|Application
2-Aplique os componentes conforme imagem da figura 01
Figura 01
3-Em seguida, observe a figura 02, onde dever ser incluido os componentes DCOMConnection,
da paleta DataSnap, um ClientDataSet da paleta DataAccess e por timo um DataSource tambm
da paleta DataAccess.
Obs: No utilizamos DataModule aqui para incurtar conversa. No deixe de utilizar em projetos
do mundo real.
Figura 02
4-As imagens que se seguem (figuras 03, 04 e 05) definem as
propriedades a serm manipuladas para os objetos em questo.
Figura 03
Figura 04
Figura 05
Abaixo, observe o cdigo resultante, com destaque (negrito) para os procedimentos criados.
uses
Forms,
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TFrmcomplus, Frmcomplus);
Application.Run;
end.
==============Fontes da Unit do
Formulrio=============================
unit complus;
interface
uses
type
TFrmcomplus = class(TForm)
BTAbrir: TBitBtn;
BTAtualizar: TBitBtn;
BTFechar: TBitBtn;
DBGrid1: TDBGrid;
DCOMConn: TDCOMConnection;
CDSProdutos: TClientDataSet;
DSProdutos: TDataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frmcomplus: TFrmcomplus;
implementation
{$R *.dfm}
begin
CDSProdutos.Close;
CDSProdutos.Open;
//Abre o DataSet
end;
begin
CDSProdutos.ApplyUpdates(0);
end;
begin
Frmcomplus.Close;
//Fecha o formulrio.
end;
end.
Como podemos ver, e foi prometido, o projeto de exemplo, inclusive a parte servidora da
aplicao, seguiu uma linha orientada pela simplicidade. Isto de maneira nehuma anula o
aprendizado, ficando aqui um desafio para o leitor avanar nesta forma de programao. De
nossa parte fica a promea de outros artigos que oriente o leitor neste sentido.
Uma ltima considerao, para que o leitor no se esqueade criar a tabela e por dados na
mesma,objetivando ter uma resposta ao exerccio.