AAB305 - Service Oriented Architecture - wcamb
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

AAB305 - Service Oriented Architecture - wcamb

on

  • 1,580 views

Introdução ao SOA Service Oriented Architecture

Introdução ao SOA Service Oriented Architecture
Autor: Waldemir Cambiucci
Publicação: Outubro/2009

Statistics

Views

Total Views
1,580
Views on SlideShare
1,453
Embed Views
127

Actions

Likes
1
Downloads
37
Comments
1

4 Embeds 127

http://blogs.msdn.com 119
http://www.slideshare.net 5
http://www.linkedin.com 2
http://waldemir1.rssing.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Oi Waldemir,

    Ótima apresentação!

    pode disponibilizar para download?
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

AAB305 - Service Oriented Architecture - wcamb Presentation Transcript

  • 1. Uma introdução sobre SOA – Service Oriented Architecture Waldemir Cambiucci Arquiteto de Soluções twitter.com/wcamb Microsoft Brasil blogs.msdn.com/wcamb 1
  • 2. Agenda Visão Software + Serviços Arquitetura Orientada a Serviços Algumas questões sobre serviços Conclusões Recursos 2
  • 3. Objetivos da sessão Apresentar uma introdução sobre projetos de arquiteturas orientadas a serviço (SOA) Apresentar algumas questões de desenvolvimento envolvidas em projetos de SOA. 3
  • 4. 4
  • 5. Evolução no Enterprise Agilidade no Enteprise Eficiência no Enterprise Serviços Aplicações Consolidação Compostas de Infra-estrutura SOA Web Rodando o Services negócio Crescimento Transformações de negócio do negócio EDI, ETL, Racionalização EAI de software Velocidade e TI dinâmica Agilidade Integração Ponto- a-Ponto 5
  • 6. Visão Software + Serviços O poder da escolha Combinação entre infra-estrutura local e infra- estrutura remota. Infra-estrutura + Infra-estrutura auto-hospedada na nuvem (on-premise) (off-premise, in the cloud) 6
  • 7. Visão Software + Serviços Segurança e Privacidade Personalização Visibilidade e Controle Acessibilidade aos Dados Alcance Global + Facilidade de Provisionamento Agilidade para o Negócio Planejamento de Capacidade e Gerênciamento 7
  • 8. Exemplo de projeto Software + Serviços Marketplace de imagens na nuvem  Dados relacionais normalizados e dados desestruturados  Consultas complexas sobre todos os dados  Processamento de consultas sobre tipos ricos, como spatial Aplicação Web  Análise de dados on-premise e de clientes off-premise WPF App para SharePoint App gerenciamento de fotos Gerenciamento corporativo  Sincronização de dados  Scale-free  Clientes conectados  Alta disponibilidade ocasionalmente  Geo distribuição  Elevado alcance  Desenvolvimento ágil 8
  • 9. Desafios do mundo real com S+S Níveis de operação diferenciados; Suporte a diferentes dispositivos, protocolos, formatos de dados e contratos de operação. Cuidados com o versionamento, sincronização e a governança de todo o ambiente (on-premise + off-premise). Considere um boa disciplina de desenvolvimento. O ALM nunca foi tão importante! Ao longo do projeto, espere mudanças! 9
  • 10. Serviços, orquestração, processos, aplicações de composição, reuso… 10
  • 11. O que é SOA? Estilo de arquitetura onde funcionalidades de aplicações existentes são disponibilizadas na forma de serviços. Serviços são: Orientados a mensagens; Desacoplados em relação ao cliente/consumidor; Descritos através de contratos de operação, de mensagens e de dados; 11
  • 12. Arquitetura de Referência SOA Organização de camadas para serviços e workflows Consume User Directed Presentation Services Management and Governance Design and Development Compose Security and Identity Collaboration Services User Interaction Composition Services Business Information Messaging Process Integration Compose Services Services Services Business Transaction Connectivity Services Expose Existing Systems 12
  • 13. Arquitetura de Referência SOA Organização de camadas para serviços e workflows Consume User Directed Visual Studio. Patterns & Practices, MSF SharePoint Server, .NET CF, ASP.NET/AJAX, Silverlight, WPF System Center, MOF, Partners Compose SharePoint Server & Live Communications Server User Interaction Active Directory SharePoint Server, WF, CAB BizTalk Server BizTalk Server SQL Server Windows Compose WF WCF Business Transaction BizTalk Server, WCF Expose Existing Systems 13
  • 14. Arquitetura de Referência SOA Existem vários cenários possíveis com o uso de serviços Entre os cenários mais comuns citamos: Web Services de aplicações SaaS/Corporativas Serviços para aplicações Web 2.0 Serviços para aplicações de negócio intranet e/ou cliente/servidor Serviços baseados em filas de mensagens Serviços baseados em workflows e máquinas de estado 14
  • 15. Exemplo de cenário de serviços Web Services de aplicações SaaS/Corporativas Rede Rede Privada Perímetro Banco de Dados Corporativo Serviço A Aplicações LOB Aplicação Externa Serviço Roteador de Perímetro Serviço B 15
  • 16. Exemplo de cenário de serviços Aplicações intranet Cliente Proxy Proxy Proxy ServiçoA ServiçoB ServiçoC Escolha dos bindings corretos Named Pipe TCP MSMQ Hosting de serviços no IIS/WAS ServiçoA.svc ServiçoB.svc ServiçoC.svc Serviço A Serviço B Serviço C Worker Process WAS - Windows Activation Services 16
  • 17. Encadeamento de serviços IIS IIS ASP.NET Web Application ASP.NET Web Application Web Server Web Server Propagação de credenciais, authn, authz Windows Service Windows Service Business Service Business Service Application Server Application Server Windows Service Windows Service Windows Service Processing Processing Processing Service Service Service Processing Server Processing Server Processing Server 17
  • 18. Cenários com fila de mensagens Bindings como NetMsmqBinding e o MsmqIntegrationBinding permitem a entrega através de filas de mensagens, para soluções assíncronas. Cliente Fila MSMQ WCF Dispatcher Proxy Service msg MSMQ Channel Listener WCF Dispatcher Service 18
  • 19. Patterns de workflows e serviços Alguns patterns descritos para workflows, processos e serviços: Desenvolvimento orientado a processos (workflow) Separação entre contratos e implementação (reuso) Migração de processos de forma transparente entre máquinas e hospedeiros (hosts) Aplicações compostas e serviços Processos conversacionais Soluções baseadas no tratamento de estados Monitoração de processos, monitoração de atividades de negócio. 19
  • 20. Arquitetura de Referência SOA Existem vários aspectos de arquitetura na definição de serviços Qual será o modelo/template de serviço? Qual será a granularidade dos serviços? Qual será o modelo/template de workflow? Qual será o modelo/template de segurança? Qual será o modelo de instrumentação e monitoração? Qual será o modelo de tratamento de exceções? Qual será o modelo de consumo de serviços? Como será obtido o reuso de serviços? Entre outras questões… 20
  • 21. Questões de uma arquitetura SOA Desafio Recomendações Template de serviço WCF oferece uma série de templates, Escolher também o binding mais entre eles: adequado. Os mais comuns são • WCF Service Library wsHttpBinding e • WCF Service Application NetTcpBinding, mas avalie em • Sequential Workflow Service Library função da performance e do cliente consumidor. Granularidade de Envolve muito mais uma visão de Uma elevada granularidade serviço negócio do que aspectos técnicos. pode gerar uma maior latência no encadeamento de serviços. Template de workflow WF oferece templates sequências e de Templates como o Workflow máquinas de estado para atividades em Activity Library e o Sequential workflows. Avaliar o uso de workflows Workflow Service Library são como serviços. muito importantes. Modelo de segurança Podemos tratar aspectos como O WCF Security Autenticação, Autorização, Identidade, Guidance é leitura Impersonation, Delegation, Segurança obrigatória! por mensagem e Segurança por transporte. 21
  • 22. Questões de uma arquitetura SOA Desafio Recomendações Instrumentação Utilizar Health Monitoring e o How to: Use Health Monitoring to System.Web.Management para Instrument a WCF Service for instrumentação de serviços WCF. Security http://msdn.microsoft.com/en- us/library/cc949048.aspx Tratamento de Avaliar o Exception Handling Enterprise Library 4.1 – October 2008 exceções Application Block (EAB) e o WCF e Enterprise Library 4.1 – Hands On Fault Handling Labs – March 2008 Consumo de serviços Aplicações Compostas são PRISM 2.0 oferece a CAL – Composite exemplos de interfaces para o App. Library consumo de serviços. http://compositewpf.codeplex.com/ Container / Hoster de Os mais comuns são IIS + WAS. A escolha do host determina os serviços “Dublin” no futuro. (Markusc) bindings suportados. Atenção! Reuso de serviços Na plataforma Microsoft, ESB 2.0 Repositório de serviços, barramentos sobre BizTalk Server 2009 oferece dinâmicos e ferramentas de serviços dinâmicos via Resolver, governança colaboram para um Itinerary e Roteamento de maior reuso de serviços no ambiente Mensagens. corporativo. 22
  • 23. Ferramentas recomendadas na plataforma Microsoft Enterprise Library 4.1 – October 2008 http://www.microsoft.com/downloads/details.aspx?familyid =1643758B-2986-47F7-B529-3E41584B6CE5&displaylang=en Hands-On Labs for Enterprise Library 4.1 – March 2009 http://www.microsoft.com/downloads/details.aspx?FamilyI D=AB3F2168-FEA1-4FC2-B40C- 7867D99D4B6A&displaylang=en Composite Application Guidance for WPF and Silverlight – Feb 2009 http://msdn.microsoft.com/en-us/library/dd458809.aspx 23
  • 24. Composite Application Guidance for WPF v2.0 – Fev.2009 Composite Application Guidance for WPF and Silverlight http://msdn.microsoft.com/en-us/library/dd458809.aspx 24
  • 25. Exemplo de solução no Visual Studio Cada módulo independente é uma parte de composição da interface. http://www.codeplex.com/CompositeWPF/ 25
  • 26. Desafios do mundo real com SOA Procure identificar o melhor cenário que atenda sua solução (web, intranet, restfull, b2b, web 2.0) Escolha o template de serviço WCF/WF mais indicado, sem esquecer: Tratamento de exceção, monitoração, logging, recuperação, transferência de dados, segurança, bindings, etc. WCF Service Library, State Machine Workflow Services Library e Sequential Workflow Service Library são boas dicas. 26
  • 27. Desafios do mundo real com SOA EntLib 4.1, Prism 2.0, Web Services Security Guidance, App Arch Guide 2.0 são ferramentas importantes! Barramento de serviços, repositórios e patterns de EAI Avalie sempre a real necessidade de sua solução. Mantenha uma evolução gradual. Cada projeto SOA é único! 27
  • 28. 28
  • 29. Conclusões Uma TI dinâmica envolve soluções híbridas, com cenários diversos e integrados. Vários cenários de soluções comportam o uso de serviços, assim como seus vários desafios. Uma plataforma na nuvem estende funcionalidades e recursos do ambiente local. Serviços estarão on-premise e off-premise. 29
  • 30. Recomendações gerais… Sempre iniciar uma arquitetura SOA a partir das necessidades de negócio, com foco na agilidade do negócio; Considerações sobre latência e tempos de reposta são muito importantes; O desenvolvimento ágil, com entregas de valor de forma incremental evita surpresas; Considere e desenvolva esperando mudanças; Não sub-estimar os esforços com governança de SOA; Não sub-estimar o impacto na organização. 30
  • 31. Artigos Creating And Consuming Web Feeds, by Jon Flanders http://msdn.microsoft.com/en-us/magazine/dd569753.aspx An Introduction To RESTful Services With WCF, by Jon Flanders http://msdn.microsoft.com/en-us/magazine/2009.01.servicestation.aspx Real-World WF : Best Practices For Windows Workflow Foundation Apps, by Josh Lane http://msdn.microsoft.com/en-us/magazine/dd252947(printer).aspx Cloud Computing : Building Distributed Applications With .NET Services, by Aaron Skonnard http://msdn.microsoft.com/en-us/magazine/dd569759(printer).aspx 31
  • 32. Recursos Windows Azure Tools for Microsoft Visual Studio (July 2009 CTP) http://www.microsoft.com/downloads/details.aspx?FamilyID=8d75d4f7-77a4-4adf- bce8-1b10608574bb&displaylang=en Windows Azure Software Development Kit (July 2009 CTP) http://www.microsoft.com/downloads/details.aspx?familyid=AA40F3E2-AFC5-484D- B4E9-6A5227E73590&displaylang=en Microsoft .NET Services SDK (July 2009 CTP) http://www.microsoft.com/downloads/details.aspx?FamilyID=38d8cf79-fc39-4aef- b3fd-ef280f2e9fa6&displaylang=en Windows Azure Platform Training Kit (August 2009 CTP) http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83- B309-53B7B77EDF78&displaylang=en Wcamb’s Blog Tags: [Azure Services Platform] [ Windows Azure] http://blogs.msdn.com/wcamb/archive/tags/Azure+Services+Platform/default.aspx 32
  • 33. Recursos (cont.) ArqBR.Groups http://arqbr.groups.live.com/ ArqCasts no Channel9/Brasil http://channel9.msdn.com/brasil/ ebook Arquitetura de Soluções http://blogs.msdn.com/wcamb/archive/2009/10/01/ebook- sobre-arquitetura-de-solu-es.aspx Centro de Arquitetura MSDN http://msdn.microsoft.com/pt-br/architecture/default.aspx 33
  • 34. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 34