Você está na página 1de 39

UNIVERSIDADE ESTADUAL DE MONTES CLAROS

CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS


DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

O uso de Web Services XML no ambiente acadêmico da


UNIMONTES

Maior interoperabilidade de sistemas existentes

Rafael Gomes Moreira

Orientador: João Batista Mendes

Montes Claros
2005
UNIVERSIDADE ESTADUAL DE MONTES CLAROS
CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

O uso de Web Services XML no ambiente acadêmico da


UNIMONTES

Maior interoperabilidade de sistemas existentes

Rafael Gomes Moreira


Orientador: João Batista Mendes

Dissertação apresentada ao Curso de Graduação


em Sistemas de Informação do Centro de Ciências
Exatas e Tecnológicas da Universidade Estadual de
Minas Gerais, como requisito parcial para a
obtenção do grau de Bacharel em Sistemas de
Informação.
Resumo

No presente estudo é abordado o uso de Web Services XML. O objetivo é


descrever como os Web Services conseguem trabalhar em ambientes
computacionais diferentes e aumentar a interoperabilidade de sistemas já
existentes. A troca de informação é feita através da maneira mais simples
possível: um arquivo texto, o XML. Onde qualquer pessoa é capaz de entender
sem que ao menos conheça a estrutura de dados do sistema. Na Unimontes
existem diversos departamentos com sistemas diferentes, onde o uso de Web
Sevices ajudaria a melhor interação entre eles.
UNIVERSIDADE ESTADUAL DE MONTES CLAROS – UNIMONTES
CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS – CCET
DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO – DCC
CURSO DE SISTEMAS DE INFORMAÇÃO

O Projeto Orientado de Conclusão de Curso (POCC): “O uso de Web


Services XML no ambiente acadêmico da UNIMONTES: Maior interoperabilidade
de sistemas existentes”, elaborado por RAFAEL GOMES MOREIRA, foi julgado
adequado por todos os membros da Banca Examinadora, como requisito parcial
para obtenção do título de BACHAREL EM SISTEMAS DE INFORMAÇÃO e
aprovado, em sua forma final, pelo Departamento de Ciências da Computação da
Universidade Estadual de Montes Claros.

Montes Claros, 20 de junho de 2005.

Aprovado pela Banca Examinadora constituída pelos seguintes professores:

___________________________________
Orientador: Prof. João Batista Mendes

___________________________________
Avaliador: Prof. Guilherme Barbosa Vilela

___________________________________
Avaliador: Prof. Luiz Carlos Pires dos Santos
Agradecimentos

Aos professores do DCC-Unimontes pelo apoio.


Aos colegas de graduação pelo companheirismo e apoio nos estudos,
principalmente ao Pablo, colega de trabalho e um grande amigo.
Ao meu orientador Prof. João Batista pela paciência, orientação e conselhos.
À Paulinha, minha namorada pelo apoio e incentivo.
Aos meus pais por me mostrarem o caminho.
À Deus, por iluminar este caminho.
Conteúdo

1. INTRODUÇÃO 8
1.1 INTEROPERABILIDADE ......................................................................... 8
1.2 OBJETIVOS............................................................................................. 9
1.3 HISTÓRICO ........................................................................................... 10
1.4 METODOLOGIA .................................................................................... 11
1.5 JUSTIFICATIVA ..................................................................................... 12
1.6 ORGANIZAÇÃO DA DISSERTAÇÃO .................................................... 15
2. WEB SERVICES 16
2.1 PADRÕES E CONSÓRCIOS................................................................. 16
UNIMONTES: DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO........... 22
3.1 WEB SERVICES NO DCC-UNIMONTES .............................................. 22
3.2 WEB SERVICES DISPONÍVEIS............................................................ 24
3.2.1 Autenticação no Web Services DCC: ................................................. 24
3.2.2 Requisição de uso dos Laboratórios: ................................................. 26
3.2.3 Requisição de uso de equipamento de apoio:.................................... 27
3.2.4 Solicitação de compra de material bibliográfico junto a Biblioteca: .... 29
3.2.5 Autenticação no Web Services Biblioteca: ......................................... 31
3.2.6 Pedido de compras de livros junto a Biblioteca Central:..................... 33
3. CONCLUSÃO 36
4.1 USO DE WEB SERVICES ..................................................................... 36
4.2 UNIMONTES: DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO . 37
4.3 ESTUDOS FUTUROS ........................................................................... 38
4. BIBLIOGRAFIA 39
Lista de Figuras

Figura 1-1 – Web Services e Web Sites ....................................................................... 13


Figura 2-1 – Transformando o XML............................................................................... 17
Figura 2-2 – Consórcio WS-I .......................................................................................... 18
Figura 2-3 – Arquitetura dos Web Services.................................................................. 20
Capítulo 1

INTRODUÇÃO

1.1 INTEROPERABILIDADE
Atualmente nas empresas o acesso a Internet é através de conexões
dedicadas e de alta velocidade. Devido ao aumento de recursos multimídias
disponibilizados, ao grande tráfego de arquivos na Internet se fez a necessidade
de mais velocidade para acesso.
Essas empresas contam com uma infra-estrutura superior ao que
existia na década de 80-90, mas ainda não dispõe de sistemas que utilizem todo
este potencial. Os sistemas que foram desenvolvidos atualmente são
desenvolvidos para redes locais e estão sendo adaptados para operar na grande
rede, Internet. É necessária uma nova visão de software na qual a Internet esteja
presente em todos os detalhes.
Com o uso dos Web Services a Internet deixará de ser um emaranhado
de sites isolados. Ela será um grande conjunto de sistemas interagindo e
trabalhando a favor do usuário. A grande rede de computadores realmente estará
integrada, interagindo com troca de informações mais rápidas e seguras.
Os Web Services tem o apoio da organização Universal Description,
Discovery and Integration – UDDI [2], que é responsável por cadastrar e
disponibilizar informações sobre os serviços e a descrição de seu objetivo,
categorizados por áreas de atuação. Desenvolvedores de Web Services podem
estar registrando seus domínios na UDDI para que outras pessoas possam
encontrar o serviço que dispõe [10],[11]. O uddi.org, centro mundial dos serviços,
tem sua estrutura pensada para agregar serviços do mundo todo, o que possibilita
uma visão global do uso da tecnologia [6].

8
O Web Services tem grande vantagem em relação ao DCOM e o
CORBA, seus antecessores, pois utiliza para troca de informações padrões
abertos e não especificamente um tipo de protocolo [10]. A nova plataforma .NET
por exemplo, redefiniu a interface do usuário, tornando a interação e a
colaboração pela Internet muito mais fáceis e transformando fundamentalmente a
forma de fazer negócios em todo o mundo [5].

A geração Microsoft .NET causará uma revolução no mundo financeiro,


através dos serviços de rede. Estes serviços possibilitarão a integração
das instituições pela Internet com a oferta de processamentos pela rede.
Para nós, esta é uma ótima oportunidade de oferecer novos sistemas
1
que otimizam tempos e custos operacionais. (ABUD , 2001 apud [5]).

A interação de informações e sistemas começará dentro das empresas


[10] mas logo alcançará um nível global, onde troca de informações entre as
pessoas, empresas e clientes através da rede se tornará cada dia maior. O uso
de plataformas como .NET para o desenvolvimento de Web Services facilita a
vida do desenvolvedor por utilizar-se de diversas linguagens de programação, o
que gera um ganho de produtividade.

1.2 OBJETIVOS
Este trabalho consiste em demonstrar a utilização do conceito de Web
Services, em especial a plataforma .NET, tecnologia apoiada pela Microsoft [4],
para desenvolvimento de sistemas onde a principal vantagem seja a interação e
interoperabilidade entre os sistemas desenvolvidos. Serviços disponibilizados pela
Internet para os usuários, para que se possa integrar de vez os sistemas
desenvolvidos à grande rede e usufruir todo esse avanço tecnológico na área de
comunicação hoje alcançado.
Como objetivos específicos deste trabalho, citam-se:

• Estudar as vantagens e desvantagens do uso de Web Services para


maior interoperabilidade entre serviços.
• Documentar a modelagem de um Web Service para uso no
ambiente acadêmico da Unimontes. A modelagem tem como

1
João Abud Jr. - Diretor Geral de Marketing e Vendas Procomp

9
objetivo principal estruturar um Web Service que atenda a
necessidade de melhor comunicação entre o Departamento de
Ciências da Computação – DCC, os alunos e demais setores da
Unimontes. Será feito descrição dos serviços que o Web Service irá
atender e a definição WSDL (Web Services Description Language).

1.3 HISTÓRICO
Na década de 80, predominava o uso do mainframe. Os computadores
existiam apenas nos centros computacionais onde apenas os especialistas
podiam operá-los. O procedimento para se processar alguns dados era trabalhoso
e complexo, o que distanciavam o usuário da informação. Com a criação do
circuito integrado esse passo foi melhorado, transformando o computador em um
produto mais acessível. As empresas se equiparam com microcomputadores e a
população teve acesso a uma nova fonte de comunicação e entretenimento.
Neste cenário, a Internet é apontada como o maior avanço tecnológico existente,
onde a comunicação entre as pessoas chegou a nível mundial.
A Internet instaurou uma nova forma de comunicação, disponibilizando
um volume imenso de informações aos usuários e acrescentou um “e” à palavra
comércio. Atualmente mais de 300 milhões de pessoas em todo mundo estão
conectadas à grande rede mundial [5].
O avanço tecnológico na área de comunicação evolui bastante em
relação a década de 80, possibilitando cada vez mais, de forma eficiente à troca
de informações entre as pessoas. Com esse avanço tecnológico possibilitou uma
maior facilidade em disponibilizar serviços pela Internet devido a grande
velocidade de conexão. Serviços que auxiliam o cotidiano do usuário de
computador e da Internet foram surgindo. Um bom exemplo seria a caixa postal
eletrônica, o e-mail, onde o usuário pode trocar mensagens com outra pessoa.
Surge então um novo conceito de software: Web Services. Apoiado por
diversas organizações e definido por diversos padrões [1],[2],[3],[4] o uso dos
serviços pela web torna-se bastante difundido. Será comum o usuário da Internet
acessar serviços pela rede, sem a necessidade de adquirir o pacote do software.
Surge um novo conceito de produção de software.

10
Essa nova tecnologia de desenvolvimento de software traz benefícios
tanto ao usuário quanto ao desenvolvedor. A facilidade com que se introduz a
Internet no meio social facilita o avanço dessa tecnologia, não exigindo mais que
se tenha que comprar versões de softwares. Bastará apenas abrir o navegador de
Internet e acessaram um determinado serviço.

Uma de nossas principais metas é oferecer serviços e soluções que


utilizem tecnologia de ponta, agilizando e trazendo mais funcionalidades
e modernidade para os nossos clientes. Estaremos utilizando a
plataforma .NET para dar maior flexibilidade aos processos de comércio
2
eletrônico. (PINTO , 2001 apud [5])

Atualmente obter este nível de integração na Internet é complexo e


caro. Não existe um nível de integração entre as empresas para isto, sendo
necessária a construção de mecanismos que facilitem a troca de informações. As
empresas disponibilizam suas informações mediante solicitações que tanto
podem ser feitas diretamente em uma tela, via browser, ou através de um serviço
de Web, onde um site solicita a outro algum tipo de informação. Por exemplo, um
agendamento de uma consulta médica, não terá mais que entrar em contato com
o consultório: o software de agenda se comunicará com a agenda do consultório e
marcará a consulta.

1.4 METODOLOGIA

O estudo se dará basicamente através de pesquisa bibliográfica, onde


será feito um levantamento através da Internet e de publicações de onde serão
retiradas informações sobre Web Services e da plataforma .NET e informações
técnicas sobre os serviços que podem ser disponibilizados com esta tecnologia.
A pesquisa se define em buscar informações das ferramentas e das
técnicas utilizadas para a produção de serviços. Técnicas de proteção ao usuário
e sistema, principais vantagens e também as desvantagens. Será abordada
questões de segurança, usabilidade, flexibilidade e facilidade do uso desta
tecnologia.

2
Arnaldo Pereira Pinto, diretor de Internet do Banco Itaú

11
Será acompanhado alguns casos e serviços já disponíveis na UDDI [2]
onde será possível um levantamento da utilização e aprovação dos usuários e a
avaliação da eficiência dos serviços já em funcionamento. Observar questões de
segurança e acessibilidade do sistema e comparar em relação ao
desenvolvimento de sistemas da maneira convencional.
Será feito também um estudo sobre as vantagens e desvantagens da
aplicação de um Web Service na Unimontes. Será desenvolvida toda a
documentação necessária para desenvolvimento de um Web Service que
atenderá o DCC-Unimontes em questões como, por exemplo, requisição de
alguns documentos dos alunos junto ao departamento, requisição de pedidos de
abertura de laboratório, autorização por parte dos coordenadores e chefes de
departamento ou responsáveis dos pedidos solicitados, dentre outros. Isto
facilitará o processo e a comunicação entre as partes envolvidas.
No final deste projeto, será possível a avaliação do uso da plataforma
.NET para desenvolvimento de serviços para Web. O por quê do uso será
mostrado e o usuário final não terá dúvidas quanto às facilidades e benefícios de
seu uso.

1.5 JUSTIFICATIVA

Toda empresa já viveu, ou vive, o drama de integrar seus sistemas ou


fazer com que dois ou mais sistemas troquem informações entre si. Este tipo de
situação se disseminou velozmente com a entrada dos micros nas corporações.
Os microcomputadores oferecem agilidade a baixo custo e logo passam a ter
seus próprios sistemas que precisavam alimentar ou serem alimentados por
dados de outros sistemas. Cada um destes casos requer um especialista para
analisar as necessidades de comunicação. Ele define que informações deveriam
ser trocadas, com que periodicidade e em que formato. Em primeiro lugar vinha
sempre o arquivo de pedidos, com os campos gravados em determinada ordem.
Cada integração de sistemas envolvia a elaboração de programas complexos e
exigia a definição de um idioma próprio, partindo-se cada vez do zero, um
processo trabalhoso, caro e sujeito a erros.

12
Todas as ferramentas da plataforma .NET, utilizadas para
desenvolvimento de Web Services, foram construídas como base no padrão XML
(Extensible Markup Language). Já utilizam a linguagem para troca de informação da
Internet e possibilitam a integração não apenas de sistemas internos da empresa,
como a integração entre sites de diferentes empresas. Ao contrário da situação
atual, na qual os sites são criados de forma artesanal, com um desenvolvimento
complexo para garantir sua operação com outros sites, o modelo de programação
.NET fornece um mecanismo de construção de sites e serviços que permite a
interação transparente com quaisquer outros sites ou serviços.
A principal diferença entre um web site e um web service está mostrada
na Figura 1-1. No web service o usuário interage com o serviço, recebendo em
seu sistema os dados para que possa concluir seu processo.

Figura 1-1 – Web Services e Web Sites

Outra característica importante é a facilidade de transformar os dados


XML em diferentes formatos para posterior exibição desses dados, como HTML
para os mais diversos browsers, WML para celulares WAP, além de outros
padrões específicos disponíveis no mercado. Dessa forma, um dado XML gerado

13
por uma empresa ou por um serviço disponível na Web pode ser visualizado
pelos mais diferentes dispositivos como celulares, PDAs, agendas eletrônicas, e
browseres.
A possibilidade de comunicação e utilização dos serviços entre
sistemas heterogêneos é um dos pontos positivos dessa nova tecnologia. Os
serviços poderão ser acessados tanto de plataformas Windows quanto UNIX ou
Linux, já que são acessados através da Internet.
Na atual conjuntura, os clientes não precisam mais adquirir pacotes de
softwares e depois de um certo tempo uma atualização de versão. Serão
adquiridos direitos de utilizar um serviço disponibilizado pela Internet, semelhante
as caixas postais dos Correios, onde o usuário do serviço paga pela
disponibilidade de um espaço reservado para receber suas correspondências.
O desenvolvedor tem mais possibilidades de aumentar a produtividade
do seu trabalho, já que disponibilizando o serviço a diversos usuários e clientes, o
custo de produção será menor. Ele produzira um serviço acessado por diversos
usuários, e terá que disponibilizar manutenção em apenas um serviço para uma
gama inteira de usuários.
No caso específico do DCC-Unimontes, que será abordado como
exemplificação do uso de Web Services, as vantagens da implementação são
diversas, dentre as quais podem ser relacionadas: A troca de informações entre
departamento e alunos e outros setores da universidade é bastante significativo.
Um serviço pela Internet que auxiliasse o fluxo dessas informações seria útil já
que agilizaria o processo e o usuário poderia solicitar de qualquer lugar.
Se este processo fosse informatizado, a pessoa responsável pelas
respostas teria como organizar melhor o seu tempo conseguindo atender a todos
os chamados. O agendamento dos laboratórios, reserva de equipamentos, a
maioria das solicitações junto ao departamento poderia ser feito de uma forma
mais eficaz pela rede. Há ainda a possibilidade de interoperabilidade do sistema
do DCC-Unimontes com os outros existentes na Universidade como Biblioteca e
Secretaria Geral, por exemplo, solicitação de compras de livros e confirmação do
histórico escolar do aluno.
A tecnologia .NET é uma nova tecnologia de desenvolvimento de
software e serviços para Web que cresce a cada dia. Seu crescimento é devido à

14
própria necessidade dos usuários, que querem cada vez mais facilidades no seu
dia a dia. O uso da tecnologia para desenvolvimento se torna inevitável à medida
que a necessidade de informações se torna cada vez mais primordial entre as
pessoas e empresas.

1.6 ORGANIZAÇÃO DA DISSERTAÇÃO

Está dissertação está organizada da seguinte forma: No capítulo 2 são


mostrados o desenvolvimento do estudo abordando os padrões e consórcios que
definem os Web Wervices. Descreve-se ainda a utilização de Web Services, as
vantagens do uso de Web Services. No capítulo 3, uma solução prática para o
DCC-Unimontes. A utilização de um Web Service no DCC para facilitar a via de
comunicação entre o departamento e os alunos e outros setores da universidade.
No capítulo 4 algumas conclusões acerca desse trabalho sobre o uso de Web
Services, a abordagem em um caso específico na Unimontes juntamente com
questões que propõe novas linhas de pesquisa em continuidade a este estudo.

15
Capítulo 2

WEB SERVICES
Web Services é um conceito de desenvolvimento de aplicações que tem auto
grau de interoperabilidade de sistemas. É apoiado por diversos padrões, o que torna fácil
a sua adoção e implementação. Com um simples arquivo texto, um protocolo único para
comunicação e a descrição dos métodos e funções consegue-se organizar um Web
Services poderoso que resolveria o problema de interoperabilidade de sistemas já
existentes. Será descrito neste capítulo, quais e como são utilizados esses padrões e
consórcios que apóia o desenvolvimento dos Web Services.

2.1 PADRÕES E CONSÓRCIOS


Uma grande dificuldade que existe para o grupo responsável pela Tecnologia
de Informação da empresa é a disponibilização das informações e serviços através de
diversos canais e dispositivos. Atualmente são feitos os programas para setores
específicos da empresa, ou talvez um sistema integrado, onde a empresa é entendida
como um todo. Mas mesmo assim, os recursos desses sistemas não podem ser
disponibilizados em diversos dispositivos e em diversas plataformas com tanta facilidade.
Sempre existe aquela barreira de compatibilidade dos sistemas.
Web Services: comunicação entre sistemas de diferentes plataformas. Com
essa maneira de desenvolver pode-se estar aproveitando os sistemas legados já
existentes, se tem agilidade em desenvolver novos sistemas e conseqüentemente
facilidade de adaptação caso haja necessidade de alguma mudança de alguma nova
norma ou lei. É uma tecnologia de desenvolvimento muito rápida, que reduz os custos de
desenvolvimento e manutenção do software.
A plataforma .NET é um ambiente de desenvolvimento poderoso, que permite
o desenvolvimento de aplicações desktop, aplicações para aparelhos móveis, palm-tops
e celulares e desenvolvimento de aplicações WEB [8]. Com o uso de padrões abertos
como SOAP para a troca de informações em ambiente descentralizados o Web Services

16
consegue interoperabilidade com a utlização do padrão XML [10]. O padrão XML permite
o usuário criar suas próprias tags para disponibilizar suas informações.
Como mostra a Figura 2-1 as informações são repassadas em forma de
arquivo texto, XML, e são transformadas na melhor maneira de visualização. Uma
simples tabela para visualizar os dados, ou um gráfico para compará-los ou uma arte que
possa estar sendo disponibilizada pela web ou meio multimídia.

Figura 2-1 – Transformando o XML

O desenvolvimento de consórcios como o W3C (World Wide Web Consortium)


[3] onde acabou-se padronizando a linguagem XML, ajuda a dar um grande avanço no
desenvolvimento de novas tecnologias. O uso de XML como linguagem padrão entre
troca de informações entre diversas empresas é o grande ponto do Web Services. Como
resultado tem se uma única forma de obter as informações e a possibilidade de escolha
da forma de visualização dessas informações. A troca de informações utilizando o XML
não implica necessariamente na utilização de XML nos sistemas em si, já que tem uma
facilidade de transformá-la em outro tipo.
Índices mundiais mostram que 71% das empresas de TI já consideram o XML
como linguagem estratégica para troca de informações. O XML já é padrão do Sistema

17
de Pagamentos Brasileiro (SPB). Bancos já comunicam entre si utilizando essa
linguagem. Outros diversos setores da sociedade também já utilizam o XML. Como a
adoção da linguagem é bastante ampla, tem se uma maior facilidade na introdução de
Web Services como novo conceito de desenvolvimento de sistemas de informação [5].
Existe um consórcio responsável pelo Web Services, o WS-I [1], que é
mostrado na Figura 2-2. Assim como as páginas de web, um Web Service reside em um
servidor web e tem um endereço URL. No servidor existe o serviço já todo estruturado
com as funções e regras necessárias para receber e responder aos chamados de outros
programas, o WSDL (Web Services Description Language).

Figura 2-2 – Consórcio WS-I

Esse servidor recebe chamados de outros programas independente do


sistema operacional e da linguagem de programação, desde que utilize XML como
linguagem para troca de informações.
Nos Web Sites, onde é requisitado um endereço no browser, é visualizado a
informação da maneira que o site requerido disponibiliza. Já nos Web Services, o sistema
legado da empresa (ERP, Excel) solicita as informações do servidor, que apenas

18
disponibiliza as informações em XML. A maneira de mostrar essas informações é de
responsabilidade do sistema legado.
Em tecnologias anteriores como Corba, existia um protocolo específico para
troca de informações entre sistemas, já Web Services provêm interoperabilidade através
de XML e da utilização de padrões abertos como SOAP, o que é uma grande vantagem
em relação aos seus antecessores [10].
O formato XML deixa o usuário definir suas próprias tags de acordo com as
informações que serão disponibilizadas. Para a comunicação entre as aplicações, os
Web Services utiliza-se do protocolo SOAP (Simple Object Access Protocol), um
protocolo para a troca de informações em um ambiente descentralizado através do
protocolo de comunicação HTTP e do formato XML [10]. Ou seja, para uma aplicação
trabalhar com Web Services, deve trocar informação em formato XML com o servidor que
executa a mensagem do cliente como um interpretador.
Depois de pronto, o desenvolvedor publica seu serviço em um diretório de
serviços na Internet, o UDDI (Universal Description Discovery and Integration). Neste
diretório são definidos os registros dos serviços, que podem estar inclusive em servidores
diferentes.
Para descrever os serviços, é utilizada a linguagem WSDL (Web Services
Description Language), que é baseada no formato XML e descreve um Web Service
definindo as interfaces e os mecanismos de interação, contendo informações como o
protocolo, procedimentos, formato de dados, segurança, dentre outros [10].
A Figura 2-3 mostra exatamente como funciona a relação do cliente e do
servidor Web Service, o fluxo das informações e os protocolos e padrões utilizados em
cada uma delas.

19
Figura 2-3 – Arquitetura dos Web Services

Na parte de logística da engenharia de software, a utilização de Web Service,


permite que o processo de criação e desenvolvimento do software seja geograficamente
distribuído e composto por partes de diferentes fornecedores, em diferentes lugares do
mundo.
Uma outra característica interessante dos Web Services está na possibilidade
de criar novas aplicações baseadas em componentes de sistemas legados, preservando
investimentos, possibilitando interoperabilidade, utilizando das facilidades de estar
conectados via web.
Mas para a adoção de Web Services nas organizações, são necessárias
estruturas que suportem este novo paradigma, uma vez que Web Services proporcionam
sistemas de diferentes plataformas interagindo via XML. Também é necessário criar uma
cultura organizacional orientada à construção de aplicações fortemente baseadas em
componentes em grande escala e os disponibilizar como Web Services.
Mas existem também alguns fatores preponderantes. O formato de
representação de arquivos XML, por natureza é maior que a de arquivos binários, além
de necessitar de algoritmos de conversão para interpretação. Entregar XML sobre HTTP,
pode degradar a performance do sistema, ainda mais se por motivos de segurança,
adicionarmos criptografia SSL, o que pode impossibilitar a entrega de Web Services por
conexões discadas. Também a utilização de Web Services em substituição à aplicações
fortemente baseadas em transações, ainda necessita de mais trabalho, como o

20
desenvolvimento de camadas para garantir a entrega segura dos dados, permitir rollback,
etc [10].
Como foi descrito, os Web Services tem apoio de organizações de peso a
nível mundial e já é utilizados em diversas delas. Isto tudo graças aos padrões que segue
em sua linha de desenvolvimento.

21
Capítulo 3

UNIMONTES: DEPARTAMENTO DE CIÊNCIAS DA


COMPUTAÇÃO

3.1 WEB SERVICES NO DCC-UNIMONTES

O Departamento de Ciências da Computação da Unimontes, DCC-Unimontes,


possui atualmente um site desenvolvido com linguagem HTML, com algumas consultas
em PHP utilizando banco de dados MySQL, onde um administrador do site é responsável
pela publicação do conteúdo disponível aos alunos e membros do departamento. O site
seria uma grande oportunidade de um canal de comunicação entre os seus usuários,
caso implementasse algum tipo de serviço.
Uma limitação do site atual está na atualização de seu conteúdo. O
administrador é responsável por publicar todas as informações que os professores
necessitarem, criando um vinculo de dependência. Com a introdução de web services,
essas publicações poderiam passar a ser dinâmicas, com acesso restrito por senhas,
para garantir a autenticidade das informações e dar maior controle as publicações.
Como proposta deste trabalho, será documentada a implementação de
serviços que poderiam estar sendo agregadas ao site do DCC para uma maior facilidade
na comunicação entre seus usuários.
Existem inúmeras funções e procedimentos que podem ser inclusos no Web
Service do DCC, todas baseadas em situações que é necessário um melhor meio de
comunicação. Como o DCC é um departamento onde o foco principal é o uso da
tecnologia em prol da informação, não será difícil a aceitação no uso dos serviços
disponíveis pela Internet.
A comunicação entre setores ou outros departamentos da Universidade com o
DCC também poderia ser facilitado com o uso do Web Service. Muitas vezes é
necessária uma informação de um determinado departamento, sendo necessária muitos
protocolos para obtenção dessa informação. Com o uso do Web Service, o solicitante
faria a requisição via computador, que pode também ser feito com restrição de usuários,

22
e receberia a informação instantânea, ou caso necessário, aguardaria retorno que por
sua vez não demoraria tanto.
A informação que trafega pelo mundo dos Web Services pode ser restringida
de acordo com o usuário que a solicita. Não é necessário saber ao aluno se um outro
aluno fez a requisição de uma prova de segunda chamada. Esta informação é exclusiva
do aluno que perdeu a prova. Quem responde por alguma requisição também pode ser
restrito. Apenas o coordenador dos laboratórios pode reservá-lo para uso.
Para que possa trocar informações com a Biblioteca Central, Secretaria Geral
e outros departamentos, seria necessário uma modificação nos sistemas desses locais
para atuarem como Web Services também, ou a construção de um módulo a parte para
que faça a mesma função. Não é necessária uma modificação no sistema em si, mas um
acréscimo de definições para tornar possível a comunicação via Web Services, não
sendo tão trabalhoso como já foi explicado no princípio deste trabalho.
O foco então deste trabalho se concentra em ampliar a visão da academia
para o uso de Web Services facilitando a interoperabilidade entre sistemas de uso dos
alunos, professores, coordenadores e demais setores da Universidade. Portanto, será
mostrada neste capítulo a documentação de um Web Service para o DCC-Unimontes e
um para a Biblioteca.
Outras possibilidades de aplicação de Web Services no DCC-Unimontes estão
relacionadas abaixo:
Requisição de material acadêmico: alunos poderiam estar solicitando ao
professor de alguma disciplina o material de discutido e utilizado em sala de aula. Os
professores poderão estar disponibilizando todo documento digital utilizado, apostilas,
slides, códigos fontes, no site, onde os alunos posteriormente façam o download dos
arquivos para estudo.
Acompanhamento de requisição de documentação acadêmica: os alunos
poderiam fazer solicitações de documentos como requisição de aproveitamento de notas,
prova de segunda oportunidade, requisição de disciplina de dependência, dentre outras
que fazem junto a Secretaria Geral, que podem ser acompanhadas via web. Poderá
ainda acompanhar o processo da solicitação.
Solicitação de abertura do prédio para aulas: os coordenadores poderiam
estar passando o pedido de abertura dos prédios ao setor responsável quando houver
necessidade de abertura do prédio nos sábados e em casos especiais. O aluno ou
professor pode estar retirando uma autorização para a utilização que seria apresentada
como prova do pedido. Serviria também para os alunos e professores poderem estar

23
acompanhando e saber quais os dias e horários estarão disponíveis para marcar uma
reserva especial.
É importante salientar que será demonstrada a documentação de uma das
demais possibilidades de interoperabilidade entre os sistemas disponíveis na
Universidade e que a expansão para os outros sistemas não seria complicada de se
implementar.

3.2 WEB SERVICES DISPONÍVEIS


Como já mencionado, será mostrado as implementações dos Web Services do
DCC e Biblioteca Central, para exemplificação de facilidade de interoperabilidade de
sistemas. Será detalhada a descrição dos arquivos de implementação, o WSDL, de cada
serviço que será disponibilizado. Primeiramente a descrição dos arquivos de
implementação dos Web Services disponíveis para o DCC-Unimontes:

3.2.1 Autenticação no Web Services DCC:

Autenticação: serviço que disponibilizaria métodos para autenticação do


usuário, permitindo ou negando o direito de utilizar os outros serviços relativos ao Web
Services DCC-Unimontes.
Métodos disponíveis:
Login: autentica o usuário para uso dos Web Services disponíveis.
Logoff: desconecta o usuário do Web Service.
A descrição da implementação desse serviço é detalhada abaixo:
Arquivo: Autenticacao.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
name="Autenticacao"
targetNamespace="http://www.dcc.unimontes.br/ws/Autenticacao.wsdl"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.dcc.unimontes.br/ws/Autenticacao.wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://www.dcc.unimontes.br/ws/Autenticacao.xsd1">
<wsdl:documentation
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Created using Cape Clear
Studio SOA Editor - http://www.capeclear.com</wsdl:documentation>
<wsdl:types>
<xsd:schema

targetNamespace="http://www.dcc.unimontes.br/ws/Autenticacao.xsd1"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"

24
xmlns:xsd1="http://www.dcc.unimontes.br/ws/Autenticacao.xsd1">
</xsd:schema>
</wsdl:types>
<wsdl:message name="LogoffResponse">
<wsdl:part name="Logado" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="LoginRequest">
<wsdl:part name="Usuario" type="xsd:string"/>
<wsdl:part name="Senha" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="LogoffRequest">
<wsdl:part name="Logado" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="LoginResponse">
<wsdl:part name="Logado" type="xsd:boolean"/>
</wsdl:message>
<wsdl:portType name="AutenticacaoPortType">
<wsdl:operation name="Login">
<wsdl:input message="tns:LoginRequest"/>
<wsdl:output message="tns:LoginResponse"/>
</wsdl:operation>
<wsdl:operation name="Logoff">
<wsdl:input message="tns:LogoffRequest"/>
<wsdl:output message="tns:LogoffResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AutenticacaoBinding"
type="tns:AutenticacaoPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="Login">
<soap:operation

soapAction="capeconnect:Autenticacao:AutenticacaoPortType#Login"/>
<wsdl:input>
<soap:body parts="Usuario Senha" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body parts="" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="Logoff">
<soap:operation

soapAction="capeconnect:Autenticacao:AutenticacaoPortType#Logoff"/>
<wsdl:input>
<soap:body parts="" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body parts="" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Autenticacao">
<wsdl:port binding="tns:AutenticacaoBinding"
name="AutenticacaoPort">
<soap:address
location="http://localhost:8000/ccx/Autenticacao"/>
</wsdl:port>

25
</wsdl:service>
</wsdl:definitions>

3.2.2 Requisição de uso dos Laboratórios:

Requisição de uso dos laboratórios: os professores e alunos que necessitem


de usar os laboratórios de informática para aula ou desenvolvimento de alguma atividade
acadêmica podem estar fazendo a reserva pelo site. O sistema ficaria novamente
responsável por gerenciar os horários de utilização.
Métodos disponíveis:
getStatus: verifica a disponibilidade de cada laboratório.
setUso: agenda o uso de determinado laboratório para determinada
atividade.
A descrição da implementação desse serviço é detalhada abaixo:

Arquivo: Laboratorio.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
name="Laboratorios"
targetNamespace="http://www.dcc.unimontes.br/ws/Laboratorios.wsdl"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.dcc.unimontes.br/ws/Laboratorios.wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://www.dcc.unimontes.br/ws/Laboratorios.xsd1">
<wsdl:documentation
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Created using Cape Clear
Studio SOA Editor - http://www.capeclear.com</wsdl:documentation>
<wsdl:types>
<xsd:schema

targetNamespace="http://www.dcc.unimontes.br/ws/Laboratorios.xsd1"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsd1="http://www.dcc.unimontes.br/ws/Laboratorios.xsd1">
</xsd:schema>
</wsdl:types>
<wsdl:message name="getStatusResponse">
<wsdl:part name="Status" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="setUsoRequest">
<wsdl:part name="IDLaboratorio" type="xsd:int"/>
<wsdl:part name="IDUsuario" type="xsd:int"/>
<wsdl:part name="Data" type="xsd:date"/>
<wsdl:part name="Hora" type="xsd:time"/>
</wsdl:message>
<wsdl:message name="setUsoResponse"> </wsdl:message>
<wsdl:message name="getStatusRequest">
<wsdl:part name="IDLaboratorio" type="xsd:int"/>

26
<wsdl:part name="Data" type="xsd:date"/>
<wsdl:part name="Hora" type="xsd:time"/>
</wsdl:message>
<wsdl:portType name="LaboratoriosPortType">
<wsdl:operation name="getStatus">
<wsdl:input message="tns:getStatusRequest"/>
<wsdl:output message="tns:getStatusResponse"/>
</wsdl:operation>
<wsdl:operation name="setUso">
<wsdl:input message="tns:setUsoRequest"/>
<wsdl:output message="tns:setUsoResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="LaboratoriosBinding"
type="tns:LaboratoriosPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getStatus">
<soap:operation

soapAction="capeconnect:Laboratorios:LaboratoriosPortType#getStatus"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="setUso">
<soap:operation

soapAction="capeconnect:Laboratorios:LaboratoriosPortType#setUso"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Laboratorios">
<wsdl:port binding="tns:LaboratoriosBinding"
name="LaboratoriosPort">
<soap:address
location="http://localhost:8000/ccx/Laboratorios"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

3.2.3 Requisição de uso de equipamento de apoio:

Requisição de uso de equipamento de apoio: os professores ou alunos


poderão requisitar a reserva de um data-show ou retroprojetor para utilização na aula e
até mesmo verificar a disponibilidade desse equipamento, podendo fazer a reserva para

27
outra data e horário disponível. O sistema ficaria responsável por controlar as reservas e
dar a baixa após o período de utilização.
Métodos disponíveis:
getStatus: verifica a disponibilidade de cada laboratório.
setUso: agenda o uso de determinado laboratório para determinada
atividade.
A descrição da implementação desse serviço é detalhada abaixo:

Arquivo: Apoio.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
name="Apoio"
targetNamespace="http://www.dcc.unimontes.br/ws/Apoio.wsdl"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.dcc.unimontes.br/ws/Apoio.wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://www.dcc.unimontes.br/ws/Apoio.xsd1">
<wsdl:documentation
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Created using Cape Clear
Studio SOA Editor - http://www.capeclear.com</wsdl:documentation>
<wsdl:types>
<xsd:schema
targetNamespace="http://www.dcc.unimontes.br/ws/Apoio.xsd1"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://www.dcc.unimontes.br/ws/Apoio.xsd1">
</xsd:schema>
</wsdl:types>
<wsdl:message name="getStatusResponse">
<wsdl:part name="Status" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="setUsoRequest">
<wsdl:part name="IDLaboratorio" type="xsd:int"/>
<wsdl:part name="IDUsuario" type="xsd:int"/>
<wsdl:part name="Data" type="xsd:date"/>
<wsdl:part name="Hora" type="xsd:time"/>
</wsdl:message>
<wsdl:message name="setUsoResponse"> </wsdl:message>
<wsdl:message name="getStatusRequest">
<wsdl:part name="IDMaterial" type="xsd:int"/>
<wsdl:part name="Data" type="xsd:date"/>
<wsdl:part name="Hora" type="xsd:time"/>
</wsdl:message>
<wsdl:portType name="ApoioPortType">
<wsdl:operation name="getStatus">
<wsdl:input message="tns:getStatusRequest"/>
<wsdl:output message="tns:getStatusResponse"/>
</wsdl:operation>
<wsdl:operation name="setUso">
<wsdl:input message="tns:setUsoRequest"/>
<wsdl:output message="tns:setUsoResponse"/>
</wsdl:operation>
</wsdl:portType>

28
<wsdl:binding name="ApoioBinding" type="tns:ApoioPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getStatus">
<soap:operation
soapAction="capeconnect:Apoio:ApoioPortType#getStatus"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="setUso">
<soap:operation
soapAction="capeconnect:Apoio:ApoioPortType#setUso"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Apoio">
<wsdl:port binding="tns:ApoioBinding" name="ApoioPort">
<soap:address location="http://localhost:8000/ccx/Apoio"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

3.2.4 Solicitação de compra de material bibliográfico


junto a Biblioteca:

Solicitação de compra de material bibliográfico junto a Biblioteca Central: o


departamento poderia estar passando a Biblioteca Central todo o material (livros) que
será necessário adquirir para o semestre letivo. Ou também, caso implantado um Web
Service junto ao sistema da Biblioteca, poderia estar consultando as disciplinas que serão
aplicadas no semestre juntamente com a demanda de livros e material bibliográfico.
Métodos disponíveis:
getPermissao: obtém permissão do Web Service da Biblioteca Central
para enviar dados de solicitação de compras de livros.
setLivros: envia relação de livros ao Web Service da Biblioteca Central.
getStatus: faz o acompanhamento do pedido de compra de livros.
A descrição da implementação desse serviço é detalhada abaixo:

Arquivo: Livros.wsdl
<?xml version="1.0" encoding="UTF-8"?>

29
<wsdl:definitions
name="Livros"
targetNamespace="http://www.dcc.unimontes.br/ws/Livros.wsdl"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.dcc.unimontes.br/ws/Livros.wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://www.dcc.unimontes.br/ws/Livros.xsd1">
<wsdl:documentation
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Created using Cape Clear
Studio SOA Editor - http://www.capeclear.com</wsdl:documentation>
<wsdl:types>
<xsd:schema
targetNamespace="http://www.dcc.unimontes.br/ws/Livros.xsd1"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://www.dcc.unimontes.br/ws/Livros.xsd1">
</xsd:schema>
</wsdl:types>
<wsdl:message name="setLivrosRequest">
<wsdl:part name="NomeLivro" type="xsd:string"/>
<wsdl:part name="NomeAutor" type="xsd:string"/>
<wsdl:part name="Ano" type="xsd:date"/>
<wsdl:part name="IDEditora" type="xsd:int"/>
<wsdl:part name="DataPedido" type="xsd:date"/>
<wsdl:part name="Quantidade" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="getStatusRequest">
<wsdl:part name="IDPedido" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="getPermissaoResponse">
<wsdl:part name="Permissao" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="setLivrosResponse">
<wsdl:part name="IDPedido" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="getStatusResponse">
<wsdl:part name="NomeLivro" type="xsd:string"/>
<wsdl:part name="Status" type="xsd:int"/>
<wsdl:part name="DataPedido" type="xsd:date"/>
<wsdl:part name="DataPrevisaoChegada" type="xsd:date"/>
</wsdl:message>
<wsdl:message name="getPermissaoRequest">
<wsdl:part name="IDUsuario" type="xsd:int"/>
</wsdl:message>
<wsdl:portType name="LivrosPortType">
<wsdl:operation name="getPermissao">
<wsdl:input message="tns:getPermissaoRequest"/>
<wsdl:output message="tns:getPermissaoResponse"/>
</wsdl:operation>
<wsdl:operation name="setLivros">
<wsdl:input message="tns:setLivrosRequest"/>
<wsdl:output message="tns:setLivrosResponse"/>
</wsdl:operation>
<wsdl:operation name="getStatus">
<wsdl:input message="tns:getStatusRequest"/>
<wsdl:output message="tns:getStatusResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="LivrosBinding" type="tns:LivrosPortType">

30
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getPermissao">
<soap:operation
soapAction="capeconnect:Livros:LivrosPortType#getPermissao"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="setLivros">
<soap:operation
soapAction="capeconnect:Livros:LivrosPortType#setLivros"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getStatus">
<soap:operation
soapAction="capeconnect:Livros:LivrosPortType#getStatus"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Livros">
<wsdl:port binding="tns:LivrosBinding" name="LivrosPort">
<soap:address location="http://localhost:8000/ccx/Livros"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Descrição dos arquivos de implementação dos Web Services disponíveis para


a Biblioteca Central:

3.2.5 Autenticação no Web Services Biblioteca:

Autenticação: serviço que disponibilizaria métodos para autenticação do


usuário, permitindo ou negando o direito de utilizar os outros serviços relativos ao Web
Services DCC-Unimontes.
Métodos disponíveis:
Login: autentica o usuário para uso dos Web Services disponíveis.
Logoff: desconecta o usuário do Web Service.

31
A descrição da implementação desse serviço é detalhada abaixo:

Arquivo: Autenticacao.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
name="Autenticacao"

targetNamespace="http://www.biblioteca.unimontes.br/ws/Autenticacao.wsdl"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.biblioteca.unimontes.br/ws/Autenticacao.wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://www.dcc.unimontes.br/ws/Autenticacao.xsd1">
<wsdl:documentation
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Created using Cape Clear
Studio SOA Editor - http://www.capeclear.com</wsdl:documentation>
<wsdl:types>
<xsd:schema

targetNamespace="http://www.dcc.unimontes.br/ws/Autenticacao.xsd1"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsd1="http://www.dcc.unimontes.br/ws/Autenticacao.xsd1">
</xsd:schema>
</wsdl:types>
<wsdl:message name="LogoffResponse">
<wsdl:part name="Logado" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="LoginRequest">
<wsdl:part name="Usuario" type="xsd:string"/>
<wsdl:part name="Senha" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="LogoffRequest">
<wsdl:part name="Logado" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="LoginResponse">
<wsdl:part name="Logado" type="xsd:boolean"/>
</wsdl:message>
<wsdl:portType name="AutenticacaoPortType">
<wsdl:operation name="Login">
<wsdl:input message="tns:LoginRequest"/>
<wsdl:output message="tns:LoginResponse"/>
</wsdl:operation>
<wsdl:operation name="Logoff">
<wsdl:input message="tns:LogoffRequest"/>
<wsdl:output message="tns:LogoffResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AutenticacaoBinding"
type="tns:AutenticacaoPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="Login">
<soap:operation

soapAction="capeconnect:Autenticacao:AutenticacaoPortType#Login"/>
<wsdl:input>

32
<soap:body parts="Usuario Senha" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body parts="" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="Logoff">
<soap:operation

soapAction="capeconnect:Autenticacao:AutenticacaoPortType#Logoff"/>
<wsdl:input>
<soap:body parts="" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body parts="" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Autenticacao">
<wsdl:port binding="tns:AutenticacaoBinding"
name="AutenticacaoPort">
<soap:address
location="http://localhost:8000/ccx/Autenticacao"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

3.2.6 Pedido de compras de livros junto a Biblioteca


Central:

Solicitação de compra de material bibliográfico junto a Biblioteca Central: o


departamento poderia estar passando a Biblioteca Central todo o material (livros) que
será necessário adquirir para o semestre letivo. Ou também, caso implantado um Web
Service junto ao sistema da Biblioteca, poderia estar consultando as disciplinas que serão
aplicadas no semestre juntamente com a demanda de livros e material bibliográfico.
Métodos disponíveis:
setPermissao: autentica usuário para enviar dados de solicitação de
compras de livros.
getLivros: recebe relação de livros para compras.
AtualizaStatus: atualiza status do pedido de compra de livros.
A descrição da implementação desse serviço é detalhada abaixo:

Arquivo: Livros.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
name="Livros"
targetNamespace="http://www.biblioteca.unimontes.br/ws/Livros.wsdl"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

33
xmlns:tns="http://www.biblioteca.unimontes.br/ws/Livros.wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://www.biblioteca.unimontes.br/ws/Livros.xsd1">
<wsdl:documentation
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Created using Cape Clear
Studio SOA Editor - http://www.capeclear.com</wsdl:documentation>
<wsdl:types>
<xsd:schema
targetNamespace="http://www.dcc.unimontes.br/ws/Livros.xsd1"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsd1="http://www.biblioteca.unimontes.br/ws/Livros.xsd1">
</xsd:schema>
</wsdl:types>
<wsdl:message name="AtualizaResponse">
<wsdl:part name="NomeLivro" type="xsd:string"/>
<wsdl:part name="Status" type="xsd:int"/>
<wsdl:part name="DataPedido" type="xsd:date"/>
<wsdl:part name="DataPrevisaoChegada" type="xsd:date"/>
</wsdl:message>
<wsdl:message name="AtualizaRequest">
<wsdl:part name="IDPedido" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="setPermissaoResponse">
<wsdl:part name="Permissao" type="xsd:boolean"/>
</wsdl:message>
<wsdl:message name="getLivrosResponse">
<wsdl:part name="IDPedido" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="setPermissaoRequest">
<wsdl:part name="IDUsuario" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="getLivrosRequest">
<wsdl:part name="NomeLivro" type="xsd:string"/>
<wsdl:part name="NomeAutor" type="xsd:string"/>
<wsdl:part name="Ano" type="xsd:date"/>
<wsdl:part name="Quantidade" type="xsd:int"/>
<wsdl:part name="DataPedido" type="xsd:date"/>
</wsdl:message>
<wsdl:portType name="LivrosPortType">
<wsdl:operation name="setPermissao">
<wsdl:input message="tns:setPermissaoRequest"/>
<wsdl:output message="tns:setPermissaoResponse"/>
</wsdl:operation>
<wsdl:operation name="AtualizaStatus">
<wsdl:input message="tns:AtualizaRequest"/>
<wsdl:output message="tns:AtualizaResponse"/>
</wsdl:operation>
<wsdl:operation name="getLivros">
<wsdl:input message="tns:getLivrosRequest"/>
<wsdl:output message="tns:getLivrosResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="LivrosBinding" type="tns:LivrosPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="setPermissao">

34
<soap:operation
soapAction="capeconnect:Livros:LivrosPortType#setPermissao"/>
<wsdl:input>
<soap:body parts="IDUsuario" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body parts="Permissao" use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AtualizaStatus">
<soap:operation
soapAction="capeconnect:Livros:LivrosPortType#AtualizaStatus"/>
<wsdl:input>
<soap:body parts="IDPedido" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body
parts="NomeLivro Status DataPedido
DataPrevisaoChegada"
use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getLivros">
<soap:operation
soapAction="capeconnect:Livros:LivrosPortType#getLivros"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Livros">
<wsdl:port binding="tns:LivrosBinding" name="LivrosPort">
<soap:address location="http://localhost:8000/ccx/Livros"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Foram descritas as implementações de cada serviço disponibilizado no Web


Service do DCC-Unimontes e da Biblioteca Central. Com estes serviços em operação
seria possível um aluno ou professor estar reservando um laboratório de informática para
uso em uma determinada aula ou o departamento poderia estar passando à coordenação
da Biblioteca Central a relação de livros a serem comprados para o semestre letivo.

35
Capítulo 4

CONCLUSÃO

4.1 USO DE WEB SERVICES

Com a realização deste trabalho, ficou claro que a utilização de Web Services
facilita a interoperabilidade entre sistemas. Foi demonstrada a facilidade com que o
programador consegue agregar em sistemas já existentes, métodos para que possa
comunicar com outros sistemas.
A comunicação em diferentes plataformas e ambientes facilita a vida do
desenvolvedor de software. Tudo isso graças ao SOAP que permite que esteja sendo
implementado em diversas plataformas de hardware e de software. Isso significa que o
SOAP pode ser usado para ligar sistemas muito diferentes, dentro e fora da organização.
Muitas tentativas desse tipo foram feitas no passado, propondo um protocolo de
comunicação padrão para ser usado na integração de sistemas, mas nenhuma delas teve
a mesma repercussão que o SOAP, devido a sua simplicidade e facilidade de
implementação.
Ele pode utilizar dessa vantagem para estar desenvolvendo aplicações que
possam estar sendo utilizadas em diversos ambientes além de desenvolver com sua
linguagem de maior afinidade e de forma padronizada. Uma empresa consegue agora
facilmente trocar informações com outra empresa. Através do XML, as empresas obtêm
informações de interesse em comum e pode estar disponibilizando da maneira mais
adequada ao seu sistema.
Para o usuário que irá utilizar os serviços também existem vantagens. Ele não
precisa estar instalando sistemas na sua máquina, pois utiliza os recursos remotamente.
Outra que ele não terá que sempre estar instalando versões mais novas dos aplicativos.
Os recursos são automaticamente atualizados na medida que o desenvolvedor realiza
alguma melhoria no software.

36
Em questões de manutenção do sistema também existem melhorias. O
responsável pela manutenção de software não terá que sair instalando novas versões do
aplicativo que a empresa usa em todas as máquinas da empresa. Basta apenas que
atualize a versão do servidor e todas as máquinas já acessaram a nova versão.
Os serviços mais simples são fontes de informação, que podem ser facilmente
incorporados às aplicações - cotações de preços, cotas de estoque, previsões de tempo
e temperatura, resultados de partidas esportivas, etc. É fácil imaginar uma grande classe
de aplicações que podem ser feitas para analisar e agregar informações importantes, e
apresentá-las de várias formas; por exemplo, uma planilha que resume sua situação
financeira - títulos, contas bancárias, empréstimos, etc. Se essa informação estiver
disponível através de Web Services, a planilha pode ser atualizada continuamente.

4.2 UNIMONTES: DEPARTAMENTO DE CIÊNCIAS DA


COMPUTAÇÃO

A comunicação entre os setores dentro da Universidade ainda é muito


demorada, dependendo de muitos protocolos de autorização para se conseguir ou passar
uma informação necessária. Alguns processos podem estar sendo melhorados com a
utilização de um sistema de informação.
Mesmo com a utilização de sistemas de informação, os processos podem
ainda ser demorado, pois o deslocamento da informação depende do meio. Como a
Internet é um meio de comunicação da fácil acesso, inclusive dentro da Universidade, e
que cresce em termos de utilização e eficiência, nada melhor que utilizá-la para facilitar a
comunicação entre os processos.
O desenvolvimento de Web Services dentro do ambiente acadêmico da
Unimontes com o intuito de agregar os sistemas já existentes nos diversos setores seria
de grande ajuda. Como descritos nos capítulos deste trabalho, os sistemas poderiam se
interagir de forma eficiente, agilizando algumas tarefas e procedimentos.
Não seria necessária a mudança dos sistemas já existentes, apenas a
agregação desses métodos que permitiriam a interação entre os sistemas existentes, já
que estes são independentes e trabalham em ambientes diferentes. A integridade dos
sistemas seria mantida, já que o Web Service daquele setor é responsável pela
comunicação com o sistema existente.

37
A criação de sistemas novos para setores onde ainda não existe nenhum tipo
de sistema de informação poderia passar a ser baseada em Web Services, já que ele
também pode trabalhar de forma independente, sem se comunicar com outro sistema. O
interessante é que caso haja a necessidade de trocar informações, o sistema já estaria
pronto para isso.

4.3 ESTUDOS FUTUROS

Como foi descrito nos capítulos anteriores não foram documentadas todas as
possíveis demandas de interação do sistema de um setor da Universidade. Seria
interessante que todos os sistemas da Universidade trabalhassem em harmonia. A
Universidade poderia estar sendo vista como um todo, facilitando a tomada de algumas
decisões.
A comunicação da Universidade com outra instituição, também poderia ser
feita de forma simples caso houvesse implementação de Web Services. A troca de
informações acadêmicas como disponibilização de trabalhos acadêmicos, o
acompanhamento de receita da Universidade, já que se trata de uma instituição pública e
outros processos poderiam estar sendo implementados.
Fica em aberto também à questão da implementação, já que este trabalho
focou-se em apenas documentar os métodos e procedimentos para o Web Service. Além
desses serviços descritos, podem existir outros que não foram documentados de
interesse da Universidade.
A contribuição deste trabalho é mostrar uma visão da utilização de Web
Services. A vantagem que o Web Service tem em relação as demais formas de
implementação vem da utilização de protocolos de fácil implementação. A força do SOAP
está na sua simplicidade; é fácil de entender e implementar. O SOAP é significantemente
menos complexo que as abordagens anteriores, assim a barreira para a mudança para
uma implementação SOAP é menor. Outra diferença significativa é trabalhar com
protocolos padrões de Web - XML, HTTP e TCP/IP. Um grande número de companhias
já possuem uma infra-estrutura Web, pessoas com conhecimento e experiência na sua
manutenção, fazendo com que o custo para uma mudança para o Web Services XML
seja menor.

38
Bibliografia

[1] Web Services Interoperability Organization. <http://www.ws-i.org>


[2] Universal Description, Discovery and Integration. <http://www.uddi.org>
[3] World Wide Web Consortium. <http://www.w3c.org>
[4] Microsoft Developer Network. <http://www.msdn.com>
[5] HAJJAR, Dagoberto. Microsoft.NET - Como a evolução das
telecomunicações e da computação irá afetar as empresas e os negócios.
Disponível em <http://www.microsoft.com/brasil> Acesso em 29 de outubro
de 2004.
[6] BOARO, Márcio. Web Services. Disponível em
<http://www.linhadecodigo.com.br> Acesso em 29 de outubro de 2004.
[7] DANTAS, Bruno Spinelli. Desenvolvendo Web Services Seguros com
Kerberos. Disponível em <http://www.linhadecodigo.com.br>, Acesso em 29
de outubro de 2004.
[8] D’ANGELO, Fernando. .NET Framework e ASP.NET. Disponível em
<http://www.aspbrasil.com.br>, Acesso em 29 de outubro de 2004.
[9] PLATT, David S., Microsoft .NET Iniciando, Ed. MAKRON Books, São Paulo,
2002.
[10] DALL’OGLIO, Pablo. PHP5 e Web Services. Disponível em
<http://www.varianet.com.br> Acesso em 04 de maio de 2005.
[11] LEE, Wei Meng. Web Services: Comunique-se em Diferentes Plataformas.
Disponível em <http://www.linhadecodigo.com.br> Acesso em 29 de outubro
de 2004.

39

Você também pode gostar