Tecnologia e Análise em Desenvolvimento de Software – Terceiro Ano
Introdução
• Alguns dos aspectos da tecnologia de Web Services nos
despertam muita atenção porque, em primeiro lugar, eles são
processados via Internet (à qual praticamente toda empresa está
conectada), Intranet ou outras redes baseadas em IP.
– Em segundo lugar, importantes fornecedores de tecnologia,
como IBM, Microsoft, Oracle e Sun, concordaram em apoiar
um conjunto de padrões que definem como sistemas
diferentes devem interagir entre si, num nível até então
improvável de cooperação entre concorrentes.
– Além disso, a abordagem de Web Services não torna
necessariamente as tecnologias de integração anteriores
obsoletas, mas viabiliza tipos de integração anteriormente
muito complexos.
A Evolução dos Sistemas Distribuídos
Arquitetura Cliente / Servidor
• No início da década de 90, a grande
novidade nos sistemas corporativos era a
arquitetura cliente/servidor, expressão
que designa um tipo de arquitetura de
sistemas que se contrapôs a dois
modelos utilizados anteriormente: os
sistemas centralizados e os micros
isolados.
A Evolução dos Sistemas Distribuídos
Arquitetura Cliente / Servidor
• No primeiro, todos os dados e
funcionalidade do sistema da empresa
residiam em computadores de grande
porte, os chamados Mainframes. Os
terminais utilizados não possuíam
nenhuma capacidade de processamento
ou armazenamento de dados local,
caracterizando um sistema
extremamente inflexível.
A Evolução dos Sistemas Distribuídos
Arquitetura Cliente / Servidor
• Com o adventos das LANs (Local Area
Network) a situação começou a melhorar. Os
arquivos e programas mais importantes
passaram a residir num servidor de arquivos,
protegidos por senhas e backups automáticos.
O gerenciamento das impressoras passou ser
também centralizado, otimizando sua
utilização. Todo o processamento ainda se
concentrava na própria estação de trabalho do
usuário.
A Evolução dos Sistemas Distribuídos
Arquitetura Cliente / Servidor
• Com o adventos das LANs (Local Area
Network) a situação começou a melhorar. Os
arquivos e programas mais importantes
passaram a residir num servidor de arquivos,
protegidos por senhas e backups automáticos.
O gerenciamento das impressoras passou ser
também centralizado, otimizando sua
utilização. Todo o processamento ainda se
concentrava na própria estação de trabalho do
usuário.
A Evolução dos Sistemas Distribuídos
Arquitetura Cliente / Servidor
• Entretanto, os sistemas baseados em bancos
de dados, espinha dorsal da maioria das
empresas, continuavam a residir nos
Mainframes, com interfaces não-amigáveis.
Para integrar os sistemas de bancos de dados
aos microcomputadores que tornavam-se
cada vez mais comuns nas mesas dos
usuários, começou a ser difundido o conceito
de arquitetura cliente/servidor.
A Evolução dos Sistemas Distribuídos
Arquitetura Cliente / Servidor
• A grande novidade desta arquitetura é a separação
dos aplicativos corporativos e do processamento de
transações em duas partes, uma executada no
servidor e outra na máquina do cliente. Nesses
aplicativos distribuídos, a porção servidor é
responsável pela segurança e pela integridade dos
dados, enquanto o cliente serve para exibir os dados
numa interface amigável e de modo personalizável
ao usuário final. Este modelo, embora amplamente
difundido, possui um alto custo de suporte e
manutenção.
A Evolução dos Sistemas Distribuídos
Arquitetura Orientada a Objetos
• Na programação distribuída usando a arquitetura
cliente-servidor, clientes e servidores podem ser
implementados usando qualquer paradigma de
programação. Assim, é possível que um serviço
específico seja executado por um método de algum
objeto. No entanto, mesmo que o cliente também
tenha sido desenvolvido orientação a objetos, na
comunicação entre o cliente e o servidor esse
paradigma deve ser esquecido, devendo ser utilizado
algum protocolo preestabelecido de troca de
mensagens para a solicitação e resposta ao serviço.
A Evolução dos Sistemas Distribuídos
Arquitetura Orientada a Objetos
• Um sistema de objetos distribuídos é aquele que
permite a operação com objetos remotos. Dessa
forma é possível, a partir de uma aplicação cliente
orientada a objetos, obter uma referência para um
objeto que oferece o serviço desejado e, através
dessa referência, invocar métodos desse objeto,
mesmo que a instância desse objeto esteja em uma
máquina diferente daquela do objeto cliente.
A Evolução dos Sistemas Distribuídos
Internet / Intranet
• Um sistema de objetos distribuídos é aquele que
permite a operação com objetos remotos. Dessa
forma é possível, a partir de uma aplicação cliente
orientada a objetos, obter uma referência para um
objeto que oferece o serviço desejado e, através
dessa referência, invocar métodos desse objeto,
mesmo que a instância desse objeto esteja em uma
máquina diferente daquela do objeto cliente.
A Evolução dos Sistemas Distribuídos
Internet / Intranet
• A partir de 1994, o fenômeno da Web mostrou um
novo modelo de integração de sistemas,
constituindo-se de padrões abertos, com maior
independência em relação aos fornecedores,
trazendo um novo enfoque para a relação
cliente/servidor. Por meio de formulários
desenvolvidos em linguagem HTML (Hypertext
Markup Language), clientes e servidores podem
trocar informações, pode-se ter acesso a bancos de
dados, documentos ficam a disposição de usuários
na rede e grupos de trabalho encontram meios para
o desenvolvimento de trabalhos colaborativos.
A Evolução dos Sistemas Distribuídos
Internet / Intranet
• Todas estas facilidades encontradas na Web
acabaram sendo levadas para dentro das
corporações, por meio de uma versão doméstica da
Internet, a Intranet, tecnologia que vem varrendo o
mundo empresarial. Embora a Intranet ainda
apresente limitações no desenvolvimento de
aplicações que acessem bancos de dados no estilo
do modelo cliente/servidor, seu baixo custo e
facilidade de implantação vêm fazendo com que cada
vez mais empresas adotem esta tecnologia.
A Evolução dos Sistemas Distribuídos
Internet / Intranet
• Nos últimos anos diversos padrões foram propostos
para a implementação do conceito de sistemas
distribuídos. Um modelo muito popular tem sido o
de separação de uma aplicação em camadas,
apresentação, negócio e dados. No entanto, ainda
nos deparamos com alguns problemas que impedem
que este modelo desenvolva-se plenamente, tais
como:
A Evolução dos Sistemas Distribuídos
Internet / Intranet
• complexidade de implementação e, principalmente,
implantação. Sistemas escritos em diferentes
linguagens, e não raro em plataformas distintas,
sofrem ainda de um mal bem mais grave, a
incompatibilidade entre os tipos de dados, além da
necessidade de forte envolvimento das equipes
técnicas de ambos os lados no processo de
integração. Estas tem sido as principais causas da
baixa integração entre os sistemas de clientes e
fornecedores mesmo com toda a facilidade de infraestrutura de comunicação existente hoje em dia.
Download

WebService 2 Bimestre