Utilização da Tecnologia ActiveX Data Objects (ADO) em um...

22
Utilização da Tecnologia ActiveX Data Objects (ADO) em um Sistema com Objetos Distribuídos Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Bacharelado em Ciências da Computação Trabalho de Conclusão de Curso Acadêmica: Suzete Teresinha Colling Orientador: Maurício Capobianco Lopes Blumenau, julho de 2000

Transcript of Utilização da Tecnologia ActiveX Data Objects (ADO) em um...

Page 1: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Utilização da Tecnologia ActiveX Data Objects (ADO) em um Sistema com Objetos

Distribuídos

Universidade Regional de BlumenauCentro de Ciências Exatas e Naturais

Bacharelado em Ciências da ComputaçãoTrabalho de Conclusão de Curso

Acadêmica: Suzete Teresinha CollingOrientador: Maurício Capobianco Lopes

Blumenau, julho de 2000

Page 2: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Roteiro:

� Introdução;� ActiveX Data Objects;

� Conceitos;� UDA (Universal Data Access);� Objetos Distribuídos e ActiveX;

� O Tutorial Inteligente para Delphi;� Especificação do Protótipo;� Estrutura de Camadas;� Considerações Finais.

Page 3: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Introdução

� O Problema;�Importância dos dados e informações;�Independência da fonte de dados;

� Objetivos do Trabalho;�Aplicar ADO no Tutorial Inteligente para Delphi;

�Demonstrar ADO;�Possibilitar o funcionamento utilizando

Objetos Distribuídos ou WEB

Page 4: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

ActiveX Data Objects (ADO)

� Histórico;�Componentes: Partes de código reutilizáveis e

independentes de aplicações e de sistemas;

� Conceito;�ADO: Conjunto de Componentes;�Uniformidade de interface;�Facilidade de uso;�Faz parte do modelo COM (Objetos que promovem

interoperabilidade de software)

�Multicamadas e WEB (ASP)

Page 5: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

ActiveX Data Objects (ADO)

� Universal Data Access (UDA): Proposta de interface única para inúmeros tipos de fontes de dados;� Vantagens: não requer compromisso demorado com um

único banco.

�ADO e UDA;�OLE DB (Object Linking and Embedding - Data Base);

� Programação de interface COM para diversas fontes de dados.

�ADO E OLE DB: � Interface a nível de aplicação;� Interface a nível de sistema;

Page 6: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Arquitetura UDA com ADO

Provedores de dados

Serviços

Clientes

Aplicação

ActiveX Data Objects (ADO)

OLE DB

OLE DB

Outros

ArquivosBanco de

dadosISAM

Drivers ODBC

QueriesCursores

Planilha eletrônica

Page 7: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

ActiveX Data Objects (ADO)

� ADO E OLE DB como integrantes de UDA MultiPlataforma

� Multiplicidade na camada de dados

MAINFRAMEWINDOWSUNIX

Internet/IntranetCliente/Servidor

Windows

Ferramentas de linguagem

Componentes OLE DB

ADO

Camada de regras de negócios

ADOComponentes

OLE DBFerramentas de linguagem

Servidor Internet

Ferramentas de linguagem

Componentes OLE DB

ADO

Dados Dados Dados

Componentes OLE DB

Componentes OLE DB

Componentes OLE DB

Browser Internet

Page 8: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

ActiveX Data Objects (ADO)

� Arquitetura de camadas

�Não é obrigatória para utilizar ADO;

�Vantagens de usar componentes na Camada

intermediária:� decomposição das aplicações;

� reutilização dos componentes;

� pode-se incorporar componentes externos.

Page 9: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Objetos Distribuídos e ActiveX

� Aplicações Distribuídas com ADO;

�Objetos Distribuídos:

� Heterogeneidade e reutilização;� Diferença com Objeto Clássico;

� Necessita de infra-estrutura: DCOM, CORBA.

�ActiveX: Conjunto de tecnologias

� Controles ActiveX: objetos COM, com interface padronizada;

� Permite utilizar OLE através da WEB.

Page 10: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

O Tutorial Inteligente para Delphi

� O Tutor Inteligente para Delphi;

� Cadastro do Exercício;

� Aprendizagem do Exercício;

� Correção do Exercício;

Usuário(Professor/Aluno)

Interface

Agente Conhecimento

Agente Aprendiz

Agente Tutor

Relação entre os agentes

Page 11: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Mudanças Básicas no Tutor Delphi

Assunto Versão Antiga Versão AtualExecução Standalone (cada agente era

executado separada eindependentemente).

Cliente/Servidor (cada agente éum objeto, chamado através dainterface, que está no programacliente. O Cliente e o Servidorcomunicam-se remotamenteatravés de DCOM.

Informações Informações armazenadas parte emtabelas Paradox e parte emarquivos .INI, mantidos na própriaestação.

As informações são todasgravadas em tabelas. Optou-sepor utilizar para demonstraçãoo banco de dados SybaseSQLAnywhere.

Acesso aos dados Através de componente TTable doDelphi.

Através de componentesADOTable, encapsulando todaa tecnologia ADO.

Conhecimento Todo o conhecimento adquiridoficava armazenado nos arquivos.INI na estação local.

O conhecimento fica disponívelna base de dados do servidor,na camada de dados.

Segurança Qualquer aluno pode cadastraroutros usuários.

Somente professores podemcadastrar novos usuários.

Page 12: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Especificação do Protótipo

� Casos de usoCadastrar

Usuário

Aprender Exercício

Corrigir Exercício

Cadastrar Exercício

CASOS DE USO

Professor

Aluno

Page 13: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Especificação do Protótipo

� Diagrama de classes

Generalização

Agregação

Usuario

CódigoNomeSenhaTipoData Do CadastroData Atualização

Dados Usuário( )

1 0,n

Evento

Ordem de CriaçãoCódigo do EventoDescriçãoBinário

GravaEventos( )

1 0,n

Componente

Código do ComponenteQtde. de Componentes

GravaComponente( )

o,n

1

Professor

InformaConhecimento( )GravaUsuario( ) 0,n

1Conhecimento

Código do ExercícioNome do ExercícioDescriçãoTotal de ComponentesImagem

CadastraConhecimento( )DadosConhecimento( )

0,n

Tutor

CorrigidoVezes CorrigidoSucesso CorreçãoVezes AprendidoSucesso AprendizadoErro CometidoClasse ErroSubClasse ErroVezes Erro

RetornaErrosUsuario( )CorrigirExercicio( )ArmazenaAprendizagem( )

1

Aluno

Aprender( )

Page 14: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Especificação do Protótipo

� Visão Distribuída, considerando conceitos de ADO e UDA

� Estrutura de camadas

Camada de regras de Negócio

Camada da aplicação

Camada de Dados

SQLAnywhere

Cliente DCOM - TUTOR DELPHI

Servidor DCOM - TUTOR DELPHI

ActiveX Data Objects (ADO)

Métodos definidos na Type Library

OLE DB

OLE DB

Page 15: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Especificação do Protótipo� Camada de Dados: Responsável pela Integridade dos dados

Banco de Dados utilizado:

Modelo de Dados

Page 16: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Especificação do Protótipo� Camada de regras de Negócios: Servidor, métodos

IUnknown = interface['{00000000-0000-0000-C000-000000000046}']

function QueryInterface(const IID: TGUID; out Obj): HR esult;stdcall;

function _AddRef: Integer; stdcall;function _Release: Integer; stdcall;

end;

typeIAppServerTcc = interface;

AppServerTcc = IAppServerTcc;end;uses ComObj;class function CoAppServerTcc.Create: IAppServerTcc;begin

Result := CreateComObject(CLASS_AppServerTcc) asIAppServerTcc;end;class function CoAppServerTcc.CreateRemote(const Ma chineName:string): IAppServerTcc;begin

Result := CreateRemoteComObject(MachineName, CLASS_AppServerTcc) as IAppServerTcc;

end;

� Responsável por políticas de negócio, regras e segurança

Page 17: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Especificação do Protótipo

� Camada da Aplicação: Interface com usuário

� Responsável pela apresentação e navegação

Page 18: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Considerações Finais

� Conclusões:� Orientação a Objetos sempre mais forte, ainda mais se

aliada a Internet, como o Comércio Eletrônico;� Objetos distribuídos: Cresce em virtude das

necessidades do mercado;� As vantagens do conceito de UDA;� Unindo ADO a isso tudo, tem-se um conjunto promissor,

seja nível comercial ou à aprendizagem;� Objetivos do trabalho alcançados e ADO corresponde as

exigências de mercado.

Page 19: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Considerações Finais

� Dificuldades Encontradas:

� Escassez de material;

� Tecnologia “proprietária”;

Page 20: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Considerações Finais

� Sugestões:

� Implementações para o funcionamento do Tutor Delphi pela WEB e aprofundar estudos de ActiveX e ASP;

� Técnicas de segurança, criptografia, ataque de hackers, controle multiusuário;

� Testes com relação à independência de plataforma

Page 21: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Apresentação do Protótipo

Page 22: Utilização da Tecnologia ActiveX Data Objects (ADO) em um ...campeche.inf.furb.br/tccs/2000-I/2000-1suzeteteresinhacollingap.pdf · O Tutorial Inteligente para Delphi; Especificação

Muito Obrigada

Suzi - 10/07/2000