1. Aula 1
1.1. Definição
1.1.1. O que não é
1.1.1.1. Tecnologia
1.1.1.2. Produto
1.1.1.3. Plataforma
1.1.1.4. Revolução
1.1.2. O que é
1.1.2.1. Estratégia \ Conceito
1.1.2.1.1. Organiza funções
1.1.2.1.2. Padroniza Serviços
1.1.2.1.3. Adéqua as mudanças do negócios
1.1.2.1.4. Contribui Na Redução De Custos
1.2. SOA é Diferente de Web Services
1.2.1. SOA
1.2.1.1. Estratégia de TI
1.2.1.2. Arquitetura Abrangente
1.2.1.3. Metodologia Orientada a Serviços
1.2.1.4. Objetivos
1.2.1.4.1. Reutilização
1.2.1.4.2. Foco nas Funcionalidades do Negócio
1.2.2. Web Service
1.2.2.1. Uma Técnica de
1.2.2.1.1. Troca de Informações
1.2.2.1.2. Conexão Entre Aplicações
1.2.2.2. Conjunto de Mecanismos-Padrão da WEB
1.2.2.3. Objetivos
1.2.2.3.1. Expor as funcionalidades como tecnologia de acesso
1.3. Desafios Do Uso SOA
1.3.1. Encontrar Soluções Compatíveis Ao Negócio
1.3.2. Tornar Processos, Sistemas e Ações Flexíveis
1.3.3. Expor Aplicações Legadas Como Serviços
1.3.4. Maior Complexidade Nos Serviços Integrados
1.3.5. Possuir Um Modelo de Negócios
1.3.6. Fluxo do Processo de Negócios
1.4. Principais Inibidores à Adoção do SOA
1.4.1. Falta de Recursos Qualificados de TI
1.4.2. Outras Prioridades de Negócios
1.4.3. Cultura Organizacional
1.4.4. Falta de Infra-Estrutura
1.4.5. Alta Complexidade de Projeto e Tecnologia
1.4.6. Falta de Suporte da Alta Direção
1.4.7. Segurança
1.4.8. Custos Proibitivos
1.5. Pontos Positivos do SOA
1.5.1. Otimizar Integração com Parceiros Externos
1.5.2. Criar Código Modular/Reutilizável
1.5.3. Otimizar Resposta às Mudanças de Negócios
1.5.4. Reduzir Tempo de Desenvolvimento / Manutenção
1.5.5. Resolver Problemas de Integração Interna
1.5.6. Reduzir Custos de Implementação
1.5.7. Gerar maior visibilidade de todo ambiente de TI
1.5.8. Liberar Recursos de TI para Trabalhar em outros Projetos
1.6. Arquitetura
1.6.1. Conceituação
1.6.1.1. Abstrato
1.6.1.2. Pode ser Utilizado de Diversas Formas
1.6.1.3. Transforma Em Ferramentas Específicas
1.7. Serviços
1.7.1. O que é
1.7.1.1. Função independente
1.7.1.2. Permite Uma Ou Mais Requisições
1.7.1.3. Oferece Uma ou Mais Respostas
1.7.1.4. Interface Pré-Definida e Padronizada
1.7.1.5. Podem Atuar Utilizando Só Uma Parte De Um Processo
1.7.1.6. Não Podem Depender do Estado De Outras Funções Ou Processos
1.7.1.7. Depende De Um Diretório que Indica Quais Serviços Estarão Disponíveis Em Determinado Domínio
1.7.2. Identificação
1.7.2.1. Requer Boas Práticas e Conhecimento do Negócio
1.7.2.2. Associada Diretamente ao Conceito de Reutilização
1.7.2.3. Deve Ser Uma Unidade de Negócios Autônoma
1.7.2.4. Deve Permitir Reutilização em Processos, Aplicações e Outros Serviços
1.8. ESB
1.8.1. Estimula Reuso
1.8.2. Promove o Isolamento Entre Os Elementos da Arquitetura
1.8.3. Habilita a Evolução dos Serviços e Processos
1.8.4. Permite Comunicação Multi-Canal
1.9. Passos Para Adotar SOA
1.9.1. Introdução
1.9.1.1. Necessário Definir Projeto-Piloto
1.9.1.2. Implementação Segmentada Reduz Os Investimentos
1.9.1.3. Permite Mostrar as Melhorias Da Iniciativa
1.9.2. Disseminação
1.9.2.1. Espalhar Conceitos Para Outras ÁreaS
1.9.2.2. Aumentar Escopo de Atuação
1.9.2.3. Aumentar As Pessoas Envolvidas
1.9.3. Exploração de Resultados
1.9.3.1. Documentando Os Benefícios Resultantes Da Implementação
1.9.4. Platô
1.9.4.1. Conceito Pode Ser Conferido Em Sua Plenitude e Aproveitado na Organização
1.10. Orientações Essenciais
1.10.1. Entender Que SOA É Um Elemento Estratégico Para TI e a Corporação
1.10.2. Avaliação do Mapeamento De Seus Processos
1.10.3. Rever: Visão, Missão e Planos de Longo Prazo
1.10.4. Manter o Processo Simples
1.10.5. Definir a Informação Que Necessita Ser Padronizada
1.10.6. Mostrar o Valor da Proposta, Considerando o Uso de Projetos Pilotos.
1.10.7. Pensar no Ecossistema e Nos Parceiros de Negócios
1.10.8. Cobrar as Métricas de ROI do Fornecedor de Serviços.
2. Aula 2
2.1. Web Services
2.1.1. O Que é
2.1.1.1. Aplicação
2.1.1.2. Interfaces Podem Ser Definidas, Descritas e Descobertas
2.1.1.3. Se Baseia em XML nas Interações
2.1.2. O Mais Importante Na Relação SOA X Web Service
2.1.2.1. Viabiliza Computação Orientada a Serviços
2.1.2.2. Baseada em Componentes
2.1.2.3. Ambientes Distribuídos e Heterogêneos
2.1.3. Visão De Negócios e Serviços
2.1.3.1. Permite Integração de Aplicações Dentro e Fora da Organização
2.1.4. Requisitos
2.1.4.1. Comunicação - SOAP
2.1.4.2. Descrição das Interfaces do Serviços - WSDL
2.1.4.3. Tipos de Dados - XML
2.1.4.4. Descoberta de Serviços - UDDI
2.2. ESB
2.2.1. Características
2.2.1.1. Desacopla as conexões Ponto-A-Ponto Das Interfaces
2.2.1.2. Permite Seleção, Substituição, e Combinação Dinâmica
2.2.1.3. Acoplamaneto Mais Flexível
2.2.1.4. Permite Reutilização das Aplicações e Interfaces
2.2.2. Integração
2.2.2.1. Utiliza Grande Variedade de Tecnologias Padronizadas
2.2.2.1.1. JMS
2.2.2.1.2. J2EE
2.2.2.1.3. JCA
2.2.2.1.4. J2CA
2.2.2.2. Pode Integrar Aplicações De Diferentes Plataformas
2.2.2.2.1. .NET
2.2.2.2.2. COM
2.2.2.2.3. C#
2.2.2.2.4. C
2.2.2.2.5. C++
2.2.2.3. Integra Facilmente Aplicações Que Suportam SOAP e APIs Web Service
2.2.2.4. Para Compartilhamento Pode Usar Cário Padrões XML
2.2.2.4.1. XSLT
2.2.2.4.2. XPath
2.2.2.4.3. XQuery
2.2.2.5. Promove Transformação de Dados e Roteamento Inteligente
2.2.2.6. Pode Utilizar WSDL Para Interfaces Abstratas de Serviços
2.2.2.7. Pode Utilizar BPEL4WS Para Web Services
2.3. Mule ESB
2.3.1. Arquitetura
2.3.1.1. Coleção de Componentes
2.3.1.2. Provêm Funcionalidades do ESB
2.3.1.3. Principais Elementos da Arquitetura
2.3.1.3.1. Serviços
2.3.1.3.2. Conectors
2.3.1.3.3. Components
2.3.1.3.4. Transformers
2.3.1.3.5. Filters
2.3.1.3.6. Routers
2.3.1.3.7. Scopers
2.3.1.3.8. Exception Strategies
3. Aula 3
3.1. Mule
3.1.1. Projeto WebService ESB
3.1.1.1. Criação do Projeto
3.1.1.2. Criação da Classe Java: "MoneyRequest"
3.1.1.2.1. Recebe o Pedido de Transferência
3.1.1.3. Criação da Classe Java: "MoneyResponse"
3.1.1.3.1. Responde o Pedido de Transferência
3.1.1.4. Criação da Classe Java: "IBankService"
3.1.1.4.1. Invoca a Classe MoneyResponse
3.1.1.5. Criação da Classe Java: "BankService"
3.1.1.5.1. Invoca a Classe MoneyResponse
3.1.1.6. Criação do Fluxo Mule SOAP Para Definição do WSDL
3.1.1.6.1. Define as Propriedades do HTTP
3.1.1.6.2. Define o PATH do HTTP Como Bank
3.1.1.6.3. Cria Componente CFX
3.1.1.6.4. Atibui a Classe Training.BankService ao Componente CXF
3.1.1.6.5. Atribui a Classe Training.BankService ao Componente Java
3.1.1.7. Executar o Fluxo SOAP para Extração do WSDL
3.1.1.7.1. Acesse o WSDL Pelo Link: http://localhost:8081/bank?wsdl
3.1.1.8. Gerar Arquivo WSDL do WebService Executando o Fluxo SOAP
3.1.1.8.1. Cria Arquivo Dentro da Pasta WSDL
3.1.1.8.2. Nomeia o Arquivo Como Bank.wsdl
3.1.1.8.3. Edita o Arquivo Bank.wsdl no Notepad++
3.1.1.8.4. Copia e Cola o WSDL do Navegador (http://localhost:8081/bank?wsdl) Para o Arquivo Bank.wsdl
3.1.1.9. Criar o Fluxo Mule SOAPCall para Chamada e Consumo de WebService
3.1.1.9.1. Cria o Fluxo SOAPCall
3.1.1.9.2. Configura as Propriedades do Primeiro HTTP
3.1.1.9.3. Parametriza o Path Como Bank/Proxy
3.1.1.9.4. Configura as Propriedades do Primeiro CXF
3.1.1.9.5. Configura as Propriedades do Segundo HTTP
3.1.1.9.6. Parametriza o Path e Method
3.1.1.10. Executar o Fluxo SOAPCall para Consumo do WebService
3.1.1.10.1. Executa o Fluxo SOAPCall Para Consumo do WebService
3.1.1.11. Consumir o WebService com o SOAP UI
3.1.1.11.1. Cria um Novo Projeto no SOAP UI
3.1.1.11.2. Insere o Link: http://localhost:8083/bank/proxy?wsdl para o Mule criar a conexão com o WebService
3.1.1.11.3. Acessa a Chamada Request do Web Service
3.1.1.11.4. Substitui a Chamada Request Pelo Código e Executa o WebService