28
António Cruz, Outubro 2007 Real-world SOA da teoria à prática

Real World S O A

Embed Size (px)

DESCRIPTION

SOA presentation at Open Perspectives 2007 by António Cruz open-perspectives.logical-software.com

Citation preview

Page 1: Real World S O A

António Cruz, Outubro 2007

Real-world SOAda teoria à prática

Page 2: Real World S O A

António Cruz

• Consultor independente.• Arquitecto de software, consultor, formador.• Realizou projectos de formação e desenvolvimento para diversas entidades

nos sectores da defesa, banca, indústria, serviços e telecomunicações: Ministério da Defesa, Link, Microsoft, Sybase, Methodus, ServiBanca, BES, ParaRede e PT.COM.

• Actual responsável pelo BUS de web services da Sapo (www.sapo.pt).

• Interessa-se sobretudo por arquitectura de sistemas distribuídos, metodologias do processo de desenvolvimento, serviços e messaging.

• Membro fundador do Grupo de Arquitectura de Software Português (www.arquitecturadesoftware.org).

• Orador no Microsoft TechDays 2007.• Formador de Windows Communication Foundation.

Page 3: Real World S O A

Agenda

• Orientação a serviços– O que não é– O que é– Processo de desenvolvimento– Componentes SOA– SOA Governance

• Case Study: services.sapo.pt– Passado– Presente

• Números • Casos de utilização

• Conclusões• Q&A

Page 4: Real World S O A

Orientação a Serviços

António Cruz, Outubro 2007

Page 5: Real World S O A

Orientação a Serviços

• É uma abordagem que visa disponibilizar a informação e os processos de negócio existentes na empresa como serviços.

• Um serviço é um componente reutilizável que disponibiliza funcionalidade através de um interface.

Exemplos:

– Criar uma Conta de Mail– Pesquisar a Base de Dados de Clientes– Autenticar os Utilizadores– Emitir uma Factura– Publicação de Eventos– Etc.

Serviço

Interface

Page 6: Real World S O A

O que não é:

• Não é mais fácil• Não é mais rápido• Não é mais barato• Não é revolucionário• Não é um produto que possamos comprar• Não “é só fazer serviços e já estᔕ Não suporta auto-gestão• Não é um problema somente da área de Desenvolvimento• Não “é só esperar que passe”.

Page 7: Real World S O A

O que é:

• Baseado em standards• Uma garantia de interoperabilidade• Um catálogo de serviços reutilizáveis e susceptíveis de

composição • Administração e monitorização centralizada de recursos e

dependências• Viabiliza a agilidade da empresa em fazer face à

mudança constante de requisitos

• Uma vantagem estratégica• Um investimento com retorno garantido.

Page 8: Real World S O A

Processo de Desenvolvimento de Serviços

• Modelação– Análise de Requisitos– Identificação de Candidatos– Desenho

• Assemblagem– Construção, Composição e Integração– Testes

• Deployment– Registo no Catálogo– Validação de Standards

• Administração– Monitorização– Garantir políticas e SLAs

Governance

Page 9: Real World S O A

Componentes da Orientação a Serviços

• Os serviços possuem interfaces que se encontram descritos em documentos XML, geralmente em WSDL.

• Os serviços comunicam usando mensagens que são pré-definidas, geralmente usando um XML Schema.

• Existe um catálogo dos serviços existentes que permite efectuar consultas usando diversos critérios:– Serviços relativos a entidades de negócio (clientes, facturas, stocks, etc.)– Serviços de parceiros– Contrato e política de acesso a um determinado serviço– Dependências de um determinado serviço

• Existem mecanismos de auditoria, monitorização e controlo do funcionamento dos serviços e respectivas dependências.

Page 10: Real World S O A

SOA Governance

• Gestão do processo de desenvolvimento • Gestão do catálogo de serviços• Definição das políticas de acesso e consumo• Monitorização baseada em SLAs

Page 11: Real World S O A

Case Study:services.sapo.pt

António Cruz, Outubro 2007

Page 12: Real World S O A

Sapo ServicesPassado

António Cruz, Outubro 2007

Page 13: Real World S O A

Realidade Sapo em 2005

• Várias plataformas de desenvolvimento geram poucos serviços, dispersos e sem documentação.

• Dificuldade na reutilização e composição de funcionalidades em novas aplicações.

• Muita dificuldade em garantir a interoperabilidade de funcionalidades entre as diferentes plataformas.

• A agilidade reduzida determina custos elevados de adaptação à mudança de requisitos do negócio.

Page 14: Real World S O A

Sapo ServicesPresente

António Cruz, Outubro 2007

Page 15: Real World S O A

Realidade Sapo em 2007

RSS, Shopping, ADSL, Tags, Administration, Metadata, Search, Photos, Auto, Broker, Motors, STS, News, Culture, AdWords, Health, Blogs, PodCasts, JobOffers, Pharmacy, GeoReferencer, Weather, TV, Videos, RealEstate, Exception, Sport, Science, Mail, Leisure, Traffic, Economy, OpenSearch, SimpleForum, IOL, Poll, Finance, Maps, Transformer, GIS, etc.

Page 16: Real World S O A

Realidade Sapo em 2007

• +60 serviços e +200 operações registadas no catálogo central de serviços do Sapo em apenas 18 meses!

• Backoffice de Administração do Catálogo de Serviços.• Configuração administrativa das estratégias de

processamento para cada operação.• Contract-First Development garante a interoperabilidade.• Geradores de código para clientes dos serviços em C#,

VB.NET, Java, PHP e JavaScript.

• Documentação as a service: developer.sapo.pt.

• É mais fácil e muito rápido montar novos modelos de negócio (exs: Sapo Home, Sapo Mobile).

Page 17: Real World S O A

XML

SOAP

RSSJSON

O S a lt o n a P la t a f o rm a : O S A P O e s t á p re p a ra d o

Page 18: Real World S O A

Sapo Services Bus (http://services.sapo.pt)

Consumidor BUS Serviço

Page 19: Real World S O A

Suporte a Políticas de Acesso e Consumo

Router

Transform

Authentication

Cache

Validation

Protect

Log

Market

Estratégia de Processamento

Page 20: Real World S O A

Sapo ServicesCasos de Utilização

António Cruz, Outubro 2007

Page 21: Real World S O A

Casos de Utilização

• Sapo Local• Homepage do Sapo• Sapo Home• Sapo RSS• Sapo Mobile (muito brevemente!)

• Canais temáticos (Neve, Natal, Namorados, etc.)• Parceiros (TVCabo, PTWiFi, SerCultur, InfoDesporto,

Janela Digital, etc.)

Page 22: Real World S O A

Sapo Local

Browser WeatherHTTP GET

SOAP

JSON

BUS

AdWords

Finance

Photos

XML

RSS

JSON

Page 23: Real World S O A

Consulta de Mail na Homepage do Sapo

Homepage MailBUS

LDAP PTMail

Autenticação

HTTP GET SOAP

SOAPXML

Browser

HTTP GET

HTML

Page 24: Real World S O A

1

Emissões em Directo via Sapo Videos

Browser BUS/STS

LDAP PTMail

Autenticação

Pedido ao Sapo Videos

Token com TTLe IP do Cliente

Media Server URLcom Token

GetToken (TTL+IP)

2

Media Server

Pedido de Visualização

ValidateToken(Token)

Sapo Videos

Token Info (IP)

Page 25: Real World S O A

Conclusões

António Cruz, Outubro 2007

Page 26: Real World S O A

Conclusões

• A arquitectura SOA possibilita:– Maior flexibilidade na adaptação a novos requisitos de negócio– Suporte a reutilização de funcionalidades através da composição

e integração de serviços– Desenvolvimento baseado em standards– Garantia de integração e interoperabilidade– Minimização do risco do investimento

• A iniciativa SOA na empresa pressupôe:– Uma atitude de acordo com os princípios da SO– É um caminho que percorremos e não um fim em si mesmo ou

um produto que podemos instalar– O empenho, a participação e a colaboração de todas as áreas e

recursos da empresa

Page 27: Real World S O A

Q&A

António Cruz, Outubro 2007

Page 28: Real World S O A

Real-world SOAda teoria à prática

António Cruz, Outubro 2007