Uma introdução sobre
    SOA – Service Oriented Architecture



    Waldemir Cambiucci
    Arquiteto de Soluções        twitter.com/wcamb
    Microsoft Brasil        blogs.msdn.com/wcamb

1
Agenda
     Visão Software + Serviços
     Arquitetura Orientada a Serviços
     Algumas questões sobre serviços
     Conclusões
     Recursos



2
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
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
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
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
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
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
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
      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
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
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
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
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
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
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
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
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
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
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
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
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
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
Exemplo de solução no Visual Studio
                              Cada módulo
                          independente é uma
                          parte de composição
                              da interface.


                      http://www.codeplex.com/CompositeWPF/




25
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
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
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
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
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
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
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
© 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

AAB305 - Service Oriented Architecture - wcamb

  • 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.
  • 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 projetoSoftware + 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 mundoreal 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ênciaSOA 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ênciaSOA 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ênciaSOA 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áriode 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áriode 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 filade 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 workflowse 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ênciaSOA 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 umaarquitetura 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 umaarquitetura 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 naplataforma 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 Guidancefor 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çãono Visual Studio Cada módulo independente é uma parte de composição da interface. http://www.codeplex.com/CompositeWPF/ 25
  • 26.
    Desafios do mundoreal 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 mundoreal 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.
  • 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 MicrosoftCorporation. 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