Construção de uma aplicação de banco de dados usando XML e ASP

Propaganda
CONSTRUÇÃO DE UMA APLICAÇÃO DE BANCO DE DADOS USANDO XML E ASP
PROF. CELSO MASSAKI HIRATA (PQ)
JULIANA DE MELO BEZERRA (IC)
O presente trabalho foca o estudo e a construção de uma aplicação de banco de dados usando uma
linguagem emergente chamada XML (eXtensible Markup Language) e outras tecnologias, como SQL,
COM+, Visual Basic (VB) e ASP. A XML é uma linguagem de marcação, assim como a HTML, porém seu
objetivo reside em descrever dados salientando sua estrutura.
Médicos, pacientes e laboratórios na área de ginecologia compõem o sistema desenvolvido e interagem
dentro dele. Ao médico confere-se o acesso à ficha completa dos seus pacientes, podendo ele requisitar
novos exames, solicitar medicamentos, ver anotações de outros médicos que já atenderam sua paciente e
ainda observar resultados de exames anteriormente feitos pela mesma. Assim o médico pode acompanhar
o histórico da paciente e diagnosticá-la com maior precisão. No próprio sistema, a paciente pode
escolher em qual laboratório pretende realizar seu exame e este recebe a notificação da escolha para
posteriormente entrar em contato com a paciente e marcar o horário de atendimento.
Projetou-se o sistema como uma aplicação em três camadas, assim alguns passos bem definidos foram
cumpridos. O primeiro passo englobou a escolha do sistema e suas funcionalidades. O segundo, a
definição e construção das tabelas de banco de dados no SQL Server 7.0 e de stored procedures em SQL
que implementam as funcionalidades especificadas no primeiro passo. Ao terceiro passo atribuiu-se o
desenvolvimento de toda camada de regras de negócio usando VB. E, por último, o estudo do ASP
associado ao XML e XSL.
The current project focuses on the study and the construction of a database application using the XML
(eXtensible Markup Language) and other technologies: SQL, COM+, Visual Basic (VB) e ASP. The XML
is a markup language like the HTML, but its objective is to describe data by emphasying to data structure.
Doctors, patients, and laboratories in gynecologic area form the system. The doctor can access the
patient’s card, and can later request new exams and medication, see the notes of other doctors who
already served his patient, and access the results of exams that these other doctors demanded. On this
way, the doctor can follow patient history and diagnose her with more precision. In the system, the patient
can choose the laboratory where she will take the exam and the laboratory receives the ask for call the
patient and schedule an appointment.
The system was design as a three layers application, and some steps are followed for this. The first one
was to choose the system and its functions. The second step was to define and develop the database tables
in SQL Serve 7.0 and the stored procedures using SQL that implements functions from the first step. The
development of the Business Service layer takes place in the third step, using VB. At the last step, the study
of ASP associated to XML and XSL was undertaken.
1. O CONTEXTO DO SISTEMA
Existem alguns inconvenientes enfrentados pelas pessoas ao fazer seu acompanhamento médico, são
eles: guardar seus exames anteriores e mudar de médico. Guardar exames é necessário para que o médico
possa acompanhar a evolução de um problema detectado ou a situação do organismo. Caso o médico não
tenha acesso aos exames anteriores aumentará a complexidade de uma decisão de tratamento, pois ele irá
encarar o problema do paciente como novo e passar vários exames de modo a embasar o diagnóstico.
Entretanto, tomar o problema como novo é ineficiente, já que o mesmo tem um passado a ser levado em
consideração.
Comumente se muda de médico. Pelo serviço público de saúde, o paciente às vezes não pode escolher
qual médico deseja ir e acaba realizando sua consulta com um médico diferente do que lhe atendeu
anteriormente. As pessoas que têm plano de saúde também sentem o problema de mudar de médico
quando trocam de plano, caso o novo plano não possua convênio com os especialistas utilizados
anteriormente.
O inconveniente da mudança reside em ter que explicar ao novo médico qual seu problema, os exames
antes realizados, os medicamentos tomados e as recomendações recebidas. Seria mais fácil se o médico
sempre possuísse acesso aos dados históricos da paciente para poder diagnosticar melhor.
2. O SISTEMA PROPOSTO
Neste trabalho relata-se a implementação do protótipo de um sistema voltado ao atendimento de
pacientes na área da Ginecologia. Tal escolha reside no fato das mulheres possuírem acompanhamento
ginecológico durante toda sua vida, a partir de aproximadamente treze anos de idade, estando, então,
expostas aos dois inconvenientes básicos: guardar exames anteriores e mudar de médico.
O ideal é o ginecologista estar ciente das alterações que por ventura ocorram em sua paciente e
conseguir observar adequadamente o andamento destas alterações. Daí a necessidade de disponibilizar o
histórico da mulher, com observações, exames e medicações feitas. Por outro lado, há remédios que
causam complicações a certas pacientes e se, o médico dispuser desta informação, não irá receitar o
mesmo remédio novamente.
O sistema proposto consiste na interação entre paciente, médico e laboratório que realiza os exames.
Um banco de dados gerencia as informações sobre os pacientes, os médico e os laboratórios; e a cada um
dos três é oferecida uma interface diferente tendo em vista o atendimento de suas necessidades
específicas. As principais funcionalidades que cada um deles poderá ralizar são:
a) Paciente: acessar seus exames já realizados e as observações emitidas pelos médicos que lhe
acompanharam, escolher em qual laboratório deseja realizar os exames requisitados e ver as
instruções de seu médico quanto à utilização de um dado medicamento.
b) Médico: ver a ficha de seus pacientes e seus exames antigos, requisitar novos exames, inserir
novas observações sobre um determinado paciente, além de receitar os remédios a serem
tomados.
c) Laboratório: tem acesso aos exames que foram designados pelo médico e inserir os resultados
no próprio sistema.
Editar dados
Ver exames
anteriores
Requisitar
novo exame
Inserir
observação
Ver observações
do médico
paciente
Ver exames
requisitados
Escolher o laboratório
onde fará o exame
laboratório
Ver médicos
cadastrados
Ver laboratórios
cadastrados
Solicitar novo
medicamento
médico
Ver pacientes
cadastradas
Ver exames
a fazer
Figura 1: Use cases do sistema
3. TECNOLOGIAS UTILIZADAS NO SISTEMA
Entre as tecnologias empregadas no desenvolvimento do sistema estão:
SQL: Usa-se a linguagem SQL (Structured Query Language) para se estabelecer uma interação com um
banco de dados, sendo definida, pela ANSI (American National Standards Institute), como linguagem
padrão de sistemas de gerência de banco de dados relacionais. Alguns dos sistemas de gerência de banco
de dados relacionais mais utilizados são: Oracle, Sybase, Microsoft SQL Server, Access e Ingres. No
presente projeto, optou-se pelo Microsoft SQL Server, o qual dispõe de recursos como stored procedures:
funções em SQL que lidam diretamente com os dados mantidos no banco de dados. [17][18]
COM+: Foi desenvolvido com a finalidade de simplificar a criação e o uso de componentes de software.
COM+ provê runtime e serviços já usados por qualquer linguagem ou ferramenta de programação, além
disso, permite interoperabilidade entre componentes sem se preocupar com como estes foram
implementados. Alguns dos objetivos do COM+:
Tornar-se simples para construção de componentes;
Tratar questões chaves no desenvolvimento de aplicações;
Prover novos serviços para os desenvolvedores;
Prover um mecanismo de extensão de padrão para incorporar inovações. [12,13]
Visual Basic: A Microsoft baseou o Visual Basic (VB) em uma linguagem de programação chamada
BASIC (Beginner’s All-purpose Symbolic Code). O BASIC é estritamente uma linguagem baseada em
texto. Tanto o seu programa como sua saída são textuais e não produzem saídas gráficas em janelas como
os programas atuais. Houve uma longa evolução desta linguagem até chegar no VB, que é gráfico e
bastante simples de usar. O VB tornou-se bastante popular, porque pode ser utilizado tanto interpretado
quanto compilado. Pode-se testar um programa em VB executando-o de forma interpretada até eliminar
todos seus bugs. Uma vez eliminado os bugs e depois de ter testado completamente o programa, o
desenvolvedor pode então compilá-lo em um programa executável rápido e seguro que pode ser
distribuído para outras pessoas utilizarem. [5][15]
ASP: Active Server Pages (ASPs) são páginas Web que contêm server-side scripts em adição à mistura
usual de texto e tags HTML (Hipertext Markup Language). Define-se server-side scripts como comandos
especiais colocados nas páginas Web e processados no próprio servidor Web antes das páginas serem
enviadas para o browser Web da pessoa que requisitou tais páginas. No sistema proposto, usamos o IIS
(Internet Information Server) como servidor Web.
XML: Significa eXtensible Markup Language, suas aplicações classificam-se em dois tipos: de
documentos e de dados. A vantagem principal da XML em aplicações de documentos é que ela se
concentra na estrutura do documento e o torna independente do meio de distribuição. Assim possibilita
editar e manter documentos em XML e publicá-los automaticamente em diferentes meios com auxilio da
XSL (XML Stylesheet Language). Como aplicações de dados, a XML pode ser usada na troca de dados.
Sistemas computacionais e banco de dados contêm dados em formatos incompatíveis, e um desafio para
os desenvolvedores habita na troca desses dados entre sistemas pela internet. Convertendo os dados para
XML, reduz-se a complexidade, criando-se dados que podem ser lidos por diferentes tipos de aplicação.
[3][6]
4. A IMPLEMENTAÇÃO DO SISTEMA
O sistema foi desenvolvido como uma aplicação em três camadas, que consiste em duas aplicações
cliente/servidor encadeadas. Existem três camadas porque são três partes envolvidas. Cada camada recebe
um nome em especial, são elas: camada de dados (Data Services), camada de regras de negócio (Business
Services) e camada de interface (User Services).[1]
Camada de interface
Cliente
Camada de regras de
negocio
Camada de dados
Banco de dados
Figura 2: Esquema de uma aplicação em três camadas
A camada de dados acessa diretamente o banco de dados Microsoft SQL Server 7.0, sendo, no sistema
desenvolvido, representada pelas stored procedures em SQL. Um exemplo simples da criação de uma
procedure utilizada para resgatar todas informações dos médicos cadastrados, é apresentada a
seguir:
CREATE PROCEDURE VERMEDICOS
AS
BEGIN
SELECT * FROM MEDICOS
END
A camada de regras de negócio contém os objetos que representam regras ou lógica do fluxo de
operações que se deseja automatizar. Estes objetos, implementados em VB, recorrem aos da camada de
dados quando desejam acessar o banco de dados e são gerenciados pela tecnologia COM+. Embora o
Visual Basic não seja uma linguagem orientada a objetos, utilizou-se uma maneira alternativa para tornála orientada objetos, que consiste em implementar funções representando construtores e funções
representando métodos de acesso às variáveis. Segue o exemplo de uma função destinada ao resgate de
todos dados sobre os médicos:
Public Function VerMedicos() As Collection
On Error GoTo TRAP
Dim CONNECTION As New CONNECTION
Dim COMMAND As New COMMAND
CONNECTION.ConnectionString =
AUXCONNECTION
CONNECTION.CommandTimeout = 0
CONNECTION.Open
COMMAND.ActiveConnection = CONNECTION
COMMAND.CommandText = "VERMEDICOS"
COMMAND.CommandType = adCmdStoredProc
Dim Recordset As New Recordset
Set Recordset = COMMAND.Execute()
If Recordset.EOF Then
Call Err.Raise(1, "Não foi encontrado
nenhum registro")
End If
Dim col As New Collection
Dim med As New medico
Do While Not Recordset.EOF
Call
med.newMedico(Recordset("IDMEDICO"),
Recordset("NOME"),
Recordset("ENDERECO"),
Recordset("TELEFONE"))
col.Add med
Set med = Nothing
Recordset.MoveNext
Loop
Recordset.Close
CONNECTION.Close
Set VerMedicos = col
Exit Function
TRAP:
Set VerMedicos = Nothing
End Function
A camada de interface contém os objetos (como formulários) sob a perspectiva do cliente, é conhecida
como camada de apresentação porque nela se realiza a interface com o usuário final. As partes das telas do
sistema, como barra de menu, foram desenvolvidas em HTML. Inseriu-se código ASP para processar as
informações desejadas, chamando as funções dos objetos em VB. Nos casos onde há exposição dos dados
na telas, como uma lista de exames ou de medicamentos, o ASP monta um documento XML cuja
formatação é dada por uma folha de estilo XSL associada.
Figura 3: Tela inicial da paciente e página com medicamentos a ela requisitados
5. CONCLUSÃO
O desenvolvimento deste projeto permitiu uma visão total de uma aplicação voltada para internet,
desde sua concepção até o objetivo final, que é obter um site funcionando.
Percebeu-se a importância de um sistema em três camadas tanto para organização do código quanto
para sua otimização. Em cada camada, as descobertas foram surpreendentes, proporcionando um
aprendizado intenso de várias tecnologias.
A maior dificuldade encontrada foi o aprendizado dos ambientes ainda desconhecidos, como o SQL
Server 7.0 e o Visual Studio 6.0. Estudou-se o ambiente Microsoft SQL Server 7.0 no qual se emprega a
linguagem SQL, objetivando construir as tabelas do banco de dados e procedimentos necessários para
manipular seus dados. A importância do Visual Studio 6.0 foi observada no desenvolvimento de
componentes em VB da camada de regras de negócio para prover uma maior divisão entre as camadas do
sistema. Como conseqüência, houve um foco na pesquisa sobre a tecnologia COM+ e na própria
manipulação da linguagem VB.
No desenvolvimento da camada de interface, empregou-se ASP e XML. Assim pode se perceber a
importância do ASP no processamento de informações de sistemas cliente/servidor e como é fácil se
trabalhar com XML, permitindo uma excelente separação entre layout dos dados e os dados propriamente
ditos, já que este layout pode ser atribuído pela aplicação de folhas de estilo XSL.
AGRADECIMENTOS
A Deus que me deu esta oportunidade de aprendizado e crescimento.
E à minha família, que mesmo distante, conforta-me a todo momento.
REFERÊNCIAS BIBLIOGRÁFICAS
[1] Wilson, Mark; Wilson, Tracey. XML Programação com VB e ASP. Rio de Janeiro: Ciência Moderna
Ltda., 2001 (Trad. de XML Programming with VB and ASP);
[2] McGrath, Sean. XML Aplicações Práticas, Como desenvolver aplicações de comércio eletrônico. Rio
de Janeiro: Campus, 1999 (Trad. de XML by Example, por V.H.P Alves);
[3] Marchal, Benoît. XML Conceitos e Aplicações. São Paulo: Berkey, 2000 (Trad. por Daniel Vieira);
[4] Mitchell, Scott; Atkinson, James. Aprenda em 21 dias ASP Active Server Pages 3.0. Rio de Janeiro:
Campus, 2000 (Trad. por E. Furmankiewicz e J. Figueiredo);
[5] Perry, Greg. Aprenda em 21 dias Visual Basic 6. Rio de Janeiro: Editora Campus Ltda., 1999 (Trad. de
Teach Tourself Visual Basic 6 in 21 Daysi, por Edson Furmankiewicz)
[6] http://xml101.com
[7] http://lists.xml.org/archives/xml-dev/200106/msg01040.html
[8] http://www.w3schools.com/xml/default.asp
[9] http://www.ibiblio.org/xml/books/bible2/chapters/ch17.html
[10] http://www.microsoft.com/com/tech/com.asp
[11]http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnguion/html/msdn_drguion020298.asp
[12] http://www.microsoft.com/com/tech/complus.asp
[13] http://www.microsoft.com/msj/defaultframe.asp?page=/msj/1197/complus.htm&nav=
/msj/1197/newnav.htm
[14] http://msdn.microsoft.com/vbasic/productinfo/previous/vb6/articles/aspsecurity/ default.asp
[15] http://www.progsys.com/whyvb.htm
[16] http://www.asptutorial.info/
[17] http://www.sqlcourse.com/
[18] http://www.w3schools.com/sql/sql_intro.asp
Download