SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

PDF
AAB306 - Wcf Services Best Practices - wcamb
PDF
AAB309 - SQL Azure Database - wcamb
PPTX
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
PPTX
Sistemas Distribuidos Java
PDF
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
PDF
Introdução a Arquitetura Orientada a Serviços
PPTX
Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)
PDF
Sistemas Distribuídos - Comunicação Distribuída – Web Services
AAB306 - Wcf Services Best Practices - wcamb
AAB309 - SQL Azure Database - wcamb
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Sistemas Distribuidos Java
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
Introdução a Arquitetura Orientada a Serviços
Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)
Sistemas Distribuídos - Comunicação Distribuída – Web Services

Mais procurados (19)

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

Destaque (20)

PPTX
Film certification
PPT
PDF
Teleconferência de Resultados 2013
PDF
Pdg Apr 1 T09 Port
PDF
2015 06-09 - 1 t15-75 anos institucional logo regular
PDF
Apresentação 2T13
PDF
Marfrig - Divulgação dos resultados 1º trimestre de 2009
PPT
Apres Resultados 3 T08 Vf Vale Este
PDF
Apresentação dos Resultados do 2T07
PDF
Pdg Apr Resultados2 T08 20080815 Port
PPT
Fuzzy hash entropy
PDF
2015 06-09 - 1 t15-75 anos institucional
PDF
Apresentação dos Resultados 3T07
PDF
2012 08-13 - 2T12
PDF
2013 03-27 - 4 t12 - nova
PDF
2015 06-09 - 1 t15-75 anos institucional_dova diretoria
PDF
Apresentação paulo esteves
PPTX
4.tuberculose(03 fev2015) SemOsCasos
PPTX
Toastmasters High Performance Leadership
PPT
ZBIW: Discovery
Film certification
Teleconferência de Resultados 2013
Pdg Apr 1 T09 Port
2015 06-09 - 1 t15-75 anos institucional logo regular
Apresentação 2T13
Marfrig - Divulgação dos resultados 1º trimestre de 2009
Apres Resultados 3 T08 Vf Vale Este
Apresentação dos Resultados do 2T07
Pdg Apr Resultados2 T08 20080815 Port
Fuzzy hash entropy
2015 06-09 - 1 t15-75 anos institucional
Apresentação dos Resultados 3T07
2012 08-13 - 2T12
2013 03-27 - 4 t12 - nova
2015 06-09 - 1 t15-75 anos institucional_dova diretoria
Apresentação paulo esteves
4.tuberculose(03 fev2015) SemOsCasos
Toastmasters High Performance Leadership
ZBIW: Discovery
Anúncio

Semelhante a AAB305 - Service Oriented Architecture - wcamb (20)

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

Mais de Microsoft Brasil (6)

PDF
AAB309 - SQL Azure Database - wcamb
PDF
AAB307 - Frameworks and Application Blocks - wcamb
PDF
AAB304 - Windows Workflow Foundation - wcamb
PDF
AAB303 - Windows Communication Foundation - wcamb
PDF
AAB302 - Model Driven Design e Oslo - wcamb
PPTX
AAB301 - Rich Internet Application - wcamb
AAB309 - SQL Azure Database - wcamb
AAB307 - Frameworks and Application Blocks - wcamb
AAB304 - Windows Workflow Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
AAB302 - Model Driven Design e Oslo - wcamb
AAB301 - Rich Internet Application - wcamb

Último (19)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Processos na gestão de transportes, TM100 Col18
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Apple Pippin Uma breve introdução. - David Glotz
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
COBITxITIL-Entenda as diferença em uso governança TI
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Custos e liquidação no SAP Transportation Management, TM130 Col18
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula 18 - Manipulacao De Arquivos python
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Aula04-Academia Heri- Tecnologia Geral 2025

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