Real World S O A

Post on 03-Jul-2015

692 views 11 download

description

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

Transcript of Real World S O A

António Cruz, Outubro 2007

Real-world SOAda teoria à prática

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.

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

Orientação a Serviços

António Cruz, Outubro 2007

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

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”.

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.

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

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.

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

Case Study:services.sapo.pt

António Cruz, Outubro 2007

Sapo ServicesPassado

António Cruz, Outubro 2007

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.

Sapo ServicesPresente

António Cruz, Outubro 2007

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.

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).

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

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

Consumidor BUS Serviço

Suporte a Políticas de Acesso e Consumo

Router

Transform

Authentication

Cache

Validation

Protect

Log

Market

Estratégia de Processamento

Sapo ServicesCasos de Utilização

António Cruz, Outubro 2007

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.)

Sapo Local

Browser WeatherHTTP GET

SOAP

JSON

BUS

AdWords

Finance

Photos

XML

RSS

JSON

Consulta de Mail na Homepage do Sapo

Homepage MailBUS

LDAP PTMail

Autenticação

HTTP GET SOAP

SOAPXML

Browser

HTTP GET

HTML

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)

Conclusões

António Cruz, Outubro 2007

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

Q&A

António Cruz, Outubro 2007

Real-world SOAda teoria à prática

António Cruz, Outubro 2007