O documento discute três arquiteturas de software: SOA, WOA e REST. SOA promove a integração de processos por meio de serviços. WOA estende SOA para a web, representando informações como recursos acessados por URIs. REST é uma arquitetura cliente-servidor baseada em HTTP que usa operações como GET e POST para acessar recursos representados por URLs.
1. Arquiteturas SOA, WOA, e REST
Aplicação de Software Social
Fred Figueiredo
Luiz Borges
Pedro Pires
2. Arquiteturas SOA, WOA e REST
● Desenvolvimento de aplicações orientadas ao
fornecimento de serviços que podem ser
integrados num sistema maior.
● Integram um fluxo único de funcionalidades
comuns a várias áreas de negócio que pode ser
usado por todas as áreas.
● Se na empresa isto transpõe a adoção dos ERPs,
na web esse conceito abrange uma infinidade de
recursos disponíveis para aplicações das mais
diversas.
3. SOA - Service-oriented Architecture
● Arquitetura de software que promove a
integração e orquestração de processos de uma
organização por meio de serviços.
● Não é uma tecnologia, e sim um paradigma para
a construção de softwares como a POO.
● Os softwares são compostos por vários serviços
que executam uma função específica através de
um protocolo padronizado de comunicação.
4. SOA - Objetivos e Produtos no
Mercado
● Reutilizar o código de forma rápida e fácil.
● Flexibilidade, interoperabilidade e
extensibilidade.
● Serviços fracamente interligados.
● É uma "caixa preta" para os consumidores do
serviço.
○ .NET Framework
○ BizTalk Server
○ Oracle SOA Suite
5. SOA - Vantagens e Desvantagens
● Aumento de produtividade.
● Redução de custos.
● Robustez.
● Maior agilidade.
○ Processo de implantação custoso e lento.
○ Exige mudança na cultura de desenvolvimento e
da infra-estrutura.
6. SOA - Padrões e Formatos Existentes
● Soap 1.1
● WSDL 1.1
● WS-BPEL 2.0
● XML Schema 1.0
● XML Signature
● XML Encryption
● XQuery 1.0
7. WOA - Web-oriented Architecture
● Arquitetura Orientada para a Web.
● A informação é representada na forma de
recursos da rede e são acessadas e manipuladas
pelos protocolos definidos na URI, normalmente
HTTP.
● Essa URI (Universal Resource Identifier)
identifica o recurso, representada pelo
endereço.
8. WOA - Objetivos e Produtos no
Mercado
● Estender o SOA para a Web.
● Adoção de um identificador global que permite o
estabelecimento de ligações entre os recursos
disponíveis.
● Cabe ao cliente navegar recurso a recurso.
● Auxilia na maximização das interações entre o
cliente e o servidor, utilizando tecnologias como
REST e POX.
○ Skype.
○ VoIP.
9. WOA - Vantagens e Desvantagens
● Continuidade dos negócios.
● Maior integração entre os sistemas.
● Mais inteligência no tratamento das
informações.
○ Processo de implantação custoso e lento.
○ Exige mudança na cultura de desenvolvimento e
da infra-estrutura.
10. REST - Representational State
Transfer
● Técnica de engenharia de software para
sistemas hipermídia distribuídos, como a WWW.
É uma arquitetura de conexão cliente/servidor
que utiliza o protocolo HTTP, o que a torna
rápida, segura, simples, interoperável e
escalável.
● Implementação do WOA. A informação é
representada na forma de recursos da rede e
11. REST - Representational State
Transfer
● Os serviços Web são considerados como recursos
e podem ser identificados por suas URLs.
● Protocolo cliente/servidor sem estado.
● Cada mensagem HTTP contém toda a informação
necessária para compreender o pedido.
● O conjunto de operações mais importantes são
POST, GET, PUT, DELETE.
● Uma sintaxe universal para identificar os
recursos.
12. REST - Vantagens e Produtos no
Mercado
● Leve.
● Seguro, já que pode ser utilizado como HTTPS.
● Cache.
● Escalabilidade.
○ Ebay.
○ Twitter.
○ Amazon
○ Yahoo
○ Wordpress
13. Como essas tecnologias são utilizadas
● SOA e WOA são usados nas organizações como
uma forma de promover o reúso, a
interoperabilidade, a agilidade para atender a
novas demandas e flexibilidade para mudanças.
● WOA é focado na Web, permitindo pesquisa e
mashup em serviços.
● REST é utilizado em sistemas de hipermídia,
principalmente a Web. Na Web, está muito
presente em APIs.