Upload
paulo-traca
View
692
Download
11
Embed Size (px)
DESCRIPTION
SOA presentation at Open Perspectives 2007 by António Cruz open-perspectives.logical-software.com
Citation preview
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