Your SlideShare is downloading. ×
0
Uma introdução sobre
    SOA – Service Oriented Architecture



    Waldemir Cambiucci
    Arquiteto de Soluções        tw...
Agenda
     Visão Software + Serviços
     Arquitetura Orientada a Serviços
     Algumas questões sobre serviços
     Conc...
Objetivos da sessão
      Apresentar uma introdução sobre projetos de
      arquiteturas orientadas a serviço (SOA)

     ...
4
Evolução no Enterprise
                                                  Agilidade no Enteprise

    Eficiência no Enterpr...
Visão Software + Serviços
    O poder da escolha

       Combinação entre infra-estrutura local e infra-
       estrutura ...
Visão Software + Serviços
                            Segurança e Privacidade
                               Personalizaçã...
Exemplo de projeto Software + Serviços
    Marketplace de imagens na nuvem
                                       Dados r...
Desafios do mundo real com S+S
      Níveis de operação diferenciados;

      Suporte a diferentes dispositivos, protocolo...
Serviços, orquestração,
     processos, aplicações de
         composição, reuso…


10
O que é SOA?
      Estilo de arquitetura onde funcionalidades de
      aplicações existentes são disponibilizadas na
     ...
Arquitetura de Referência SOA
     Organização de camadas para serviços e workflows

      Consume
      User Directed


 ...
Arquitetura de Referência SOA
     Organização de camadas para serviços e workflows

      Consume
      User Directed



...
Arquitetura de Referência SOA
     Existem vários cenários possíveis com o uso de serviços

        Entre os cenários mais...
Exemplo de cenário de serviços
     Web Services de aplicações SaaS/Corporativas
                         Rede            ...
Exemplo de cenário de serviços
     Aplicações intranet
                                           Cliente

              ...
Encadeamento de serviços    IIS                                         IIS
                                  ASP.NET Web ...
Cenários com fila de mensagens
       Bindings como NetMsmqBinding e o
       MsmqIntegrationBinding permitem a entrega at...
Patterns de workflows e serviços
       Alguns patterns descritos para workflows,
       processos e serviços:
         De...
Arquitetura de Referência SOA
     Existem vários aspectos de arquitetura na definição de serviços

        Qual será o mo...
Questões de uma arquitetura SOA
     Desafio                Recomendações
     Template de serviço    WCF oferece uma séri...
Questões de uma arquitetura SOA
     Desafio                 Recomendações
     Instrumentação          Utilizar Health Mo...
Ferramentas recomendadas na plataforma
     Microsoft
       Enterprise Library 4.1 – October 2008
         http://www.mic...
Composite Application Guidance for WPF
     v2.0 – Fev.2009
         Composite Application Guidance for WPF and Silverligh...
Exemplo de solução no Visual Studio
                              Cada módulo
                          independente é uma...
Desafios do mundo real com SOA
      Procure identificar o melhor cenário que
      atenda sua solução (web, intranet, res...
Desafios do mundo real com SOA
      EntLib 4.1, Prism 2.0, Web Services Security
      Guidance, App Arch Guide 2.0 são f...
28
Conclusões
      Uma TI dinâmica envolve soluções híbridas,
      com cenários diversos e integrados.

      Vários cenári...
Recomendações gerais…
      Sempre iniciar uma arquitetura SOA a partir das
      necessidades de negócio, com foco na agi...
Artigos
       Creating And Consuming Web Feeds, by Jon Flanders
         http://msdn.microsoft.com/en-us/magazine/dd56975...
Recursos
      Windows Azure Tools for Microsoft Visual Studio (July 2009 CTP)
        http://www.microsoft.com/downloads/...
Recursos (cont.)
       ArqBR.Groups
         http://arqbr.groups.live.com/

       ArqCasts no Channel9/Brasil
         h...
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Upcoming SlideShare
Loading in...5
×

AAB305 - Service Oriented Architecture - wcamb

978

Published on

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

Published in: Technology, Business
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
978
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
43
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "AAB305 - Service Oriented Architecture - wcamb"

  1. 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. 2. Agenda Visão Software + Serviços Arquitetura Orientada a Serviços Algumas questões sobre serviços Conclusões Recursos 2
  3. 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. 4
  5. 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. 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. 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. 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. 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. 10. Serviços, orquestração, processos, aplicações de composição, reuso… 10
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 28
  29. 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. 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. 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. 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. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×