A maior rede de estudos do Brasil

Grátis
175 pág.
Arquitetura_Orientada_Servico - SOA

Pré-visualização | Página 8 de 43

“fechadura e chave” faz uma analogia ao conjunto de TI: sistema 
operacional, linguagem de programação e protocolos de comunicação.
Figura 3 – Forte acoplamento devido às interfaces com padrão proprietário
Fonte: Adaptada de Pulier e Taylor (2008, p.10). 
Houve desespero em muitas empresas por causa de interfaces caras, proprietárias ou 
customizadas. Bilhões de dólares foram despendidos, afetando os caixas e até os valores de 
ações de várias companhias do mundo. Esses problemas são o resultado de uma condição 
em que os negócios precisavam utilizar numerosos computadores diferentes para realizar as 
tarefas, porém, sem um padrão comum para tornar o processo eficiente.
Todos entendiam que era necessário criar padrões para as mensagens entre os 
computadores. Para isso, os grandes fornecedores que desenvolviam um conjunto de 
tecnologias para as suas próprias plataformas precisavam entrar em um acordo e participar 
da definição dos padrões que seriam utilizados por todos. E foi o que aconteceu.
Senac São Paulo - Todos os Direitos Reservados
Arquitetura Orientada a Serviço
6
2.2 O advento da orientação a objeto
Enquanto as organizações se tornavam cada vez mais alicerçadas na informação, surgia 
uma maior necessidade de sistemas. O problema não era o hardware, pois este evoluía 
rapidamente, aumentando o seu poder de processamento a uma velocidade incrível. O 
problema era o software, pois construir um software que pudesse aproveitar a capacidade 
de processamento dos poderosos computadores era um grande desafio. O processo de 
desenvolvimento de softwares era muito lento e geralmente acabava custando acima do 
orçamento. Esta situação ficou conhecida como a “crise do software”.
Assim, chegou-se à abordagem do software orientado a objetos, que proveu a base para 
um passo importante em direção ao framework conceitual para os sistemas distribuídos 
interoperáveis. Pois, a orientação a objetos é um modelo de análise, projeto e implementação 
de sistemas de software baseado na composição e interação entre diversas unidades de 
software chamadas de objetos.
Para quem quiser conhecer, há um livro já antigo, mas muito interessante, que compara 
o objeto com uma célula orgânica em vários aspectos como: encapsulamento de dados e 
comportamento, a comunicação via mensagens, a constituição por blocos, a hierarquia dos 
tipos de células com a hierarquia de objetos etc. O livro é o seguinte: TAYLOR, David A. Object-
Oriented Technology: A Manager’s Guide. EUA: Addison-Wesley, 1990.
A orientação a objetos introduziu vários conceitos que depois foram adotados pela 
orientação a serviços. Um dos objetivos da computação orientada a objetos era alcançar a 
reutilização e baixar o custo do desenvolvimento de aplicações. Porém, o fato de não haver 
um software orientado a objetos multilinguagem universal não incentivava os programadores 
a reutilizar os códigos existentes. Isso porque mesmo que encontrasse um código para reuso, 
poderia estar em outra linguagem não compatível com o sistema operacional onde rodará 
este sistema. Com isso, não obtiveram a interoperabilidade desejada entre sistemas e a 
utilidade do reuso ficou limitada até a chegada dos Web services. Veja como Pulier e Taylor 
definem Web services de forma abrangente:
Os Web services disponibilizam funcionalidades maiores como componentes 
de software reutilizáveis que podem interoperar entre diferentes linguagens de 
programação, elevando assim, o conceito de reutilização a novos patamares, 
eliminando potencialmente as dificuldades de interfaces proprietárias ou 
customizadas que conectam um sistema a outros. (PULIER; TAYLOR, 2008, p. 16).
Senac São Paulo - Todos os Direitos Reservados
Arquitetura Orientada a Serviço
7
2.3 O surgimento da arquitetura cliente-servidor
A área de Tecnologia da Informação avançou novamente com o surgimento da 
computação cliente-servidor. Cliente-servidor descreve uma arquitetura de software em que 
um programa de computador (o cliente) solicita dados ou funcionalidade de outro software, 
geralmente em um computador remoto, que é conhecido como servidor (PULIER; TAYLOR, 
2008, p. 16). Esta arquitetura está exemplificada na Figura 4: 
Figura 4 – Exemplo de transação CLIENTE-SERVIDOR
A arquitetura cliente-servidor é a essência do Web services e da arquitetura orientada a 
serviços. A geração de arquitetos e desenvolvedores de softwares aprenderam a observar as 
vantagens de se criar sistemas distribuídos baseados em mensagens. Com o surgimento da 
internet, ficou mais claro o poder dos padrões abertos quando aplicados à arquitetura cliente-
servidor, e desta forma foram criadas as condições para o desenvolvimento dos padrões de 
Web services.
3 A importância da criação de padrões
Na Tecnologia da Informação, os órgãos padronizadores são grupos industriais 
colaborativos sem fins lucrativos que desenvolvem e publicam os padrões que são utilizados 
para se desenvolver tecnologia. Existem vários órgãos padronizadores, mas os mais impor-
tantes a se destacar neste momento são: o W3C (Web Services Interoperability Organization 
– WS-I) e o OASIS (Organization for the Advancement of Structured Information Standards).
Para entender a importância, por exemplo, o W3C publica as especificações do HTML 
(Hypertext Markup Language) para garantir que todos os navegadores web possam ler os 
documentos HTML que se encontram na Web. Sem esta padronização, haveria risco de que 
sites web começassem a oferecer conteúdos que somente certos clientes poderiam entender, 
ou seja, a Web seria um fracasso.
O aspecto mais crucial dos padrões é que sejam abertos, ou seja, um padrão que não 
pertença a nenhuma companhia ou organização que possa cobrar ou restringir o seu uso.
Senac São Paulo - Todos os Direitos Reservados
Arquitetura Orientada a Serviço
8
4 Softwares importantes para a SOA
A Rede Mundial de Computadores (Web) realmente deslanchou em 1994 e se tornou 
um veículo onipresente para a prestação de serviços no mundo. Quando algumas empresas 
da indústria química e aço usaram serviços na Web para estabelecer mercados online para 
melhorar a eficiência de gestão da cadeia de fornecedores, estranhamente, o software que 
executava estes serviços na Web ficou conhecido como software de Web services.
4.1 Do SGML ao HTML e XML
O Extensible Markup Language (XML), assim com o HTML, foi criado pela W3C para gerar 
linguagens de marcação para algumas necessidades específicas. 
Um Markup language é um conjunto de instruções que você adiciona a uma coleção de 
palavras, figuras, tabelas e outras coisas para definir precisamente como esta coleção deve 
ser exibida em uma folha de papel, em uma tela de computador ou onde quiser exibi-la. O 
extensible quer dizer extensível, no sentido de poder estender capacidades, possibilidades e 
interoperabilidades.
O XML e o HTML foram derivados do popular Standard Generalized Markup Language 
(SGML), que já existia desde o final dos anos 1960, mas não era adequado para uso na 
internet. Portanto, o HTML foi criado em 1986 e depois o XML foi criado em 1998, pois 
surgiu a necessidade de uma linguagem de marcação padrão, já que a Netscape e a Microsoft 
estavam em disputa intensa com suas versões de HTML. 
Outro motivador para a criação do XML é que não era possível prever todas as diferentes 
tags (linguagem de marcação) que poderiam ser necessárias para marcar os novos tipos de 
conteúdo. Era necessária uma linguagem que fosse extensível, que pudesse ser aumentada 
para suportar qualquer coisa nova que pudesse acontecer. O quadro 1 exemplifica um XML: 
Quadro 1 – Exemplo de como funciona um XML
<Mensagem>
<Para> Você, caro aluno </Para>
<de> Professores do SENAC </De>
<Título> Dica útil </Título>
<Mensagem_texto> Vale lembrar que tags XML podem seru sadas 
para definir itens de dados. E você pode inventar todasas que 
precisa. As pessoas dizem que XML é extensível. 
E elas não estão erradas.<Mensagem_texto> 
</Mensagem>
Fonte: Adaptada de Hurwitz et al. (2009, p.120).

Crie agora seu perfil grátis para visualizar sem restrições.