SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Arquitetura orientada a servicos soa
Arquitetura orientada a servicos   soaArquitetura orientada a servicos   soa
Arquitetura orientada a servicos soa
Leonardo Eloy
 
Palestra sobre a SOA foi destaque no Ciasc
Palestra sobre a SOA foi destaque no Ciasc  Palestra sobre a SOA foi destaque no Ciasc
Palestra sobre a SOA foi destaque no Ciasc
guest880159
 
Sistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOASistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOA
Adriano Teixeira de Souza
 
Plataforma de Data Center FlexPod
Plataforma de Data Center FlexPod   Plataforma de Data Center FlexPod
Plataforma de Data Center FlexPod
Ten Sistemas e Redes
 
Windows Server 2012 - Além da virtualização
Windows Server 2012 - Além da virtualizaçãoWindows Server 2012 - Além da virtualização
Windows Server 2012 - Além da virtualização
Fabio Hara
 
17h30 aws-databases-summit
17h30   aws-databases-summit17h30   aws-databases-summit
17h30 aws-databases-summit
infolive
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)
Daniela Nunes
 

Tendances (19)

Conceitos de SOA
Conceitos de SOAConceitos de SOA
Conceitos de SOA
 
Windows Server 2008 R2
Windows Server 2008 R2Windows Server 2008 R2
Windows Server 2008 R2
 
Microservices
MicroservicesMicroservices
Microservices
 
Drive a assis_belem_ago2011_cloud_externo
Drive a assis_belem_ago2011_cloud_externoDrive a assis_belem_ago2011_cloud_externo
Drive a assis_belem_ago2011_cloud_externo
 
Providenciar Uma Plataforma De AplicaçõEs De Alta Performance Para Aplicações...
Providenciar Uma Plataforma De AplicaçõEs De Alta Performance Para Aplicações...Providenciar Uma Plataforma De AplicaçõEs De Alta Performance Para Aplicações...
Providenciar Uma Plataforma De AplicaçõEs De Alta Performance Para Aplicações...
 
Arquitetura orientada a servicos soa
Arquitetura orientada a servicos   soaArquitetura orientada a servicos   soa
Arquitetura orientada a servicos soa
 
Ibolt e Procnet
Ibolt e ProcnetIbolt e Procnet
Ibolt e Procnet
 
Citrix transformando seu DC em nuvem
Citrix   transformando seu DC em nuvemCitrix   transformando seu DC em nuvem
Citrix transformando seu DC em nuvem
 
Palestra sobre a SOA foi destaque no Ciasc
Palestra sobre a SOA foi destaque no Ciasc  Palestra sobre a SOA foi destaque no Ciasc
Palestra sobre a SOA foi destaque no Ciasc
 
Microservices
MicroservicesMicroservices
Microservices
 
Sistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOASistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOA
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Portfolio de Serviços SAN Internet
Portfolio de Serviços SAN InternetPortfolio de Serviços SAN Internet
Portfolio de Serviços SAN Internet
 
Plataforma de Data Center FlexPod
Plataforma de Data Center FlexPod   Plataforma de Data Center FlexPod
Plataforma de Data Center FlexPod
 
Windows Server 2012 - Além da virtualização
Windows Server 2012 - Além da virtualizaçãoWindows Server 2012 - Além da virtualização
Windows Server 2012 - Além da virtualização
 
17h30 aws-databases-summit
17h30   aws-databases-summit17h30   aws-databases-summit
17h30 aws-databases-summit
 
Power BI Administração e Governança
Power BI Administração e GovernançaPower BI Administração e Governança
Power BI Administração e Governança
 
Saa s software como serviço (slides)
Saa s   software como serviço (slides)Saa s   software como serviço (slides)
Saa s software como serviço (slides)
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 

En vedette

Pdg Apr 1 T09 Port
Pdg Apr 1 T09 PortPdg Apr 1 T09 Port
Pdg Apr 1 T09 Port
PDG Realty
 
2015 06-09 - 1 t15-75 anos institucional logo regular
2015 06-09 - 1 t15-75 anos institucional logo regular2015 06-09 - 1 t15-75 anos institucional logo regular
2015 06-09 - 1 t15-75 anos institucional logo regular
ForjasTaurus
 
Apresentação 2T13
Apresentação 2T13Apresentação 2T13
Apresentação 2T13
Gafisa RI !
 
Pdg Apr Resultados2 T08 20080815 Port
Pdg Apr Resultados2 T08 20080815 PortPdg Apr Resultados2 T08 20080815 Port
Pdg Apr Resultados2 T08 20080815 Port
PDG Realty
 
2015 06-09 - 1 t15-75 anos institucional
2015 06-09 - 1 t15-75 anos institucional2015 06-09 - 1 t15-75 anos institucional
2015 06-09 - 1 t15-75 anos institucional
ForjasTaurus
 
2013 03-27 - 4 t12 - nova
2013 03-27 - 4 t12 - nova2013 03-27 - 4 t12 - nova
2013 03-27 - 4 t12 - nova
ForjasTaurus
 
2015 06-09 - 1 t15-75 anos institucional_dova diretoria
2015 06-09 - 1 t15-75 anos institucional_dova diretoria2015 06-09 - 1 t15-75 anos institucional_dova diretoria
2015 06-09 - 1 t15-75 anos institucional_dova diretoria
ForjasTaurus
 
Apresentação paulo esteves
Apresentação paulo estevesApresentação paulo esteves
Apresentação paulo esteves
Daniel Cembranelli
 
Toastmasters High Performance Leadership
Toastmasters High Performance LeadershipToastmasters High Performance Leadership
Toastmasters High Performance Leadership
Nelson Emilio®
 

En vedette (20)

Film certification
Film certificationFilm certification
Film certification
 
Apres Resultados 3 T08 Vf
Apres Resultados 3 T08 VfApres Resultados 3 T08 Vf
Apres Resultados 3 T08 Vf
 
Teleconferência de Resultados 2013
Teleconferência de Resultados 2013Teleconferência de Resultados 2013
Teleconferência de Resultados 2013
 
Pdg Apr 1 T09 Port
Pdg Apr 1 T09 PortPdg Apr 1 T09 Port
Pdg Apr 1 T09 Port
 
2015 06-09 - 1 t15-75 anos institucional logo regular
2015 06-09 - 1 t15-75 anos institucional logo regular2015 06-09 - 1 t15-75 anos institucional logo regular
2015 06-09 - 1 t15-75 anos institucional logo regular
 
Apresentação 2T13
Apresentação 2T13Apresentação 2T13
Apresentação 2T13
 
Marfrig - Divulgação dos resultados 1º trimestre de 2009
Marfrig - Divulgação dos resultados 1º trimestre de 2009Marfrig - Divulgação dos resultados 1º trimestre de 2009
Marfrig - Divulgação dos resultados 1º trimestre de 2009
 
Apres Resultados 3 T08 Vf Vale Este
Apres Resultados 3 T08 Vf   Vale EsteApres Resultados 3 T08 Vf   Vale Este
Apres Resultados 3 T08 Vf Vale Este
 
Apresentação dos Resultados do 2T07
Apresentação dos Resultados do 2T07Apresentação dos Resultados do 2T07
Apresentação dos Resultados do 2T07
 
Pdg Apr Resultados2 T08 20080815 Port
Pdg Apr Resultados2 T08 20080815 PortPdg Apr Resultados2 T08 20080815 Port
Pdg Apr Resultados2 T08 20080815 Port
 
Fuzzy hash entropy
Fuzzy hash   entropyFuzzy hash   entropy
Fuzzy hash entropy
 
2015 06-09 - 1 t15-75 anos institucional
2015 06-09 - 1 t15-75 anos institucional2015 06-09 - 1 t15-75 anos institucional
2015 06-09 - 1 t15-75 anos institucional
 
Apresentação dos Resultados 3T07
Apresentação dos Resultados 3T07Apresentação dos Resultados 3T07
Apresentação dos Resultados 3T07
 
2012 08-13 - 2T12
2012 08-13 - 2T122012 08-13 - 2T12
2012 08-13 - 2T12
 
2013 03-27 - 4 t12 - nova
2013 03-27 - 4 t12 - nova2013 03-27 - 4 t12 - nova
2013 03-27 - 4 t12 - nova
 
2015 06-09 - 1 t15-75 anos institucional_dova diretoria
2015 06-09 - 1 t15-75 anos institucional_dova diretoria2015 06-09 - 1 t15-75 anos institucional_dova diretoria
2015 06-09 - 1 t15-75 anos institucional_dova diretoria
 
Apresentação paulo esteves
Apresentação paulo estevesApresentação paulo esteves
Apresentação paulo esteves
 
4.tuberculose(03 fev2015) SemOsCasos
4.tuberculose(03 fev2015) SemOsCasos4.tuberculose(03 fev2015) SemOsCasos
4.tuberculose(03 fev2015) SemOsCasos
 
Toastmasters High Performance Leadership
Toastmasters High Performance LeadershipToastmasters High Performance Leadership
Toastmasters High Performance Leadership
 
ZBIW: Discovery
ZBIW: DiscoveryZBIW: Discovery
ZBIW: Discovery
 

Similaire à AAB305 - Service Oriented Architecture - wcamb

Desenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETDesenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NET
Gustavo Malheiros
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
renanwb
 
Portais Corporativos e Marketing Digital - Consultoria WebCarioca
Portais Corporativos e Marketing Digital - Consultoria WebCariocaPortais Corporativos e Marketing Digital - Consultoria WebCarioca
Portais Corporativos e Marketing Digital - Consultoria WebCarioca
WebCarioca
 
Soa Bpm Eup
Soa Bpm EupSoa Bpm Eup
Soa Bpm Eup
lcbj
 

Similaire à AAB305 - Service Oriented Architecture - wcamb (20)

Aula 01 introducao
Aula 01   introducaoAula 01   introducao
Aula 01 introducao
 
SOA - Fatos e Mitos
SOA - Fatos e MitosSOA - Fatos e Mitos
SOA - Fatos e Mitos
 
Como Planejar a Implantação de SOA
Como Planejar a Implantação de SOAComo Planejar a Implantação de SOA
Como Planejar a Implantação de SOA
 
Desenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETDesenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NET
 
Vida longa para SOA com microservices
Vida longa para SOA com microservicesVida longa para SOA com microservices
Vida longa para SOA com microservices
 
Service Now
Service NowService Now
Service Now
 
Aula 05 - Dashboard com PerformancePoint e SharePoint 2010
Aula 05 - Dashboard com PerformancePoint e SharePoint 2010Aula 05 - Dashboard com PerformancePoint e SharePoint 2010
Aula 05 - Dashboard com PerformancePoint e SharePoint 2010
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linux
 
Real World S O A
Real World S O AReal World S O A
Real World S O A
 
14º Conferência Anual 2011 - Grupo Binário
14º Conferência Anual 2011 - Grupo Binário14º Conferência Anual 2011 - Grupo Binário
14º Conferência Anual 2011 - Grupo Binário
 
07e08 - Azure.pdf
07e08 - Azure.pdf07e08 - Azure.pdf
07e08 - Azure.pdf
 
AX4B - Dynamics AX
AX4B - Dynamics AX AX4B - Dynamics AX
AX4B - Dynamics AX
 
Modernização de Aplicações
Modernização de AplicaçõesModernização de Aplicações
Modernização de Aplicações
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
AERio 2011 - BPM e SOA - Leonardo Azevedo
AERio 2011 - BPM e SOA - Leonardo AzevedoAERio 2011 - BPM e SOA - Leonardo Azevedo
AERio 2011 - BPM e SOA - Leonardo Azevedo
 
Portais Corporativos e Marketing Digital - Consultoria WebCarioca
Portais Corporativos e Marketing Digital - Consultoria WebCariocaPortais Corporativos e Marketing Digital - Consultoria WebCarioca
Portais Corporativos e Marketing Digital - Consultoria WebCarioca
 
Infoschema - Company Overview
Infoschema - Company OverviewInfoschema - Company Overview
Infoschema - Company Overview
 
Soa Bpm Eup
Soa Bpm EupSoa Bpm Eup
Soa Bpm Eup
 
SOA e APIs: O que muda e o que segue!
SOA e APIs: O que muda e o que segue!SOA e APIs: O que muda e o que segue!
SOA e APIs: O que muda e o que segue!
 
BI - Padrões de arquitetura e uso recursos
BI - Padrões de arquitetura e uso recursosBI - Padrões de arquitetura e uso recursos
BI - Padrões de arquitetura e uso recursos
 

Plus de Microsoft Brasil (6)

AAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcambAAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcamb
 
AAB307 - Frameworks and Application Blocks - wcamb
AAB307 - Frameworks and Application Blocks - wcambAAB307 - Frameworks and Application Blocks - wcamb
AAB307 - Frameworks and Application Blocks - wcamb
 
AAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcambAAB304 - Windows Workflow Foundation - wcamb
AAB304 - Windows Workflow Foundation - wcamb
 
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcambAAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
 
AAB302 - Model Driven Design e Oslo - wcamb
AAB302 - Model Driven Design e Oslo - wcambAAB302 - Model Driven Design e Oslo - wcamb
AAB302 - Model Driven Design e Oslo - wcamb
 
AAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambAAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcamb
 

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