SOA 2.0 ou Event-Driven SOA

Documentos relacionados
Sistemas Integrados de Gestão Empresarial

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada

Arquitetura de Rede de Computadores

Planejamento Estratégico de TI. Prof.: Fernando Ascani

PÓS-GRADUAÇÃO Lato Sensu. Gestão e Tecnologia da Informação


Service Oriented Architecture (SOA)

Usando Service Design Thinking para criar SOA Corporativo

Soluções para Automatizar. o atendimento e ter eficiência na central

SOA: Service-oriented architecture

Tecnologia e Sistemas de Informações ERP e CRM

3 SCS: Sistema de Componentes de Software

Interatividade aliada a Análise de Negócios

4 O Workflow e a Máquina de Regras

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

5 Estudo de caso: utilizando o sistema para requisição de material

3 Arquitetura do Sistema

BPM E SOA MODELO PARA O DESENVOLVIMENTO CORPORATIVO

PARANÁ GOVERNO DO ESTADO

Entendendo como funciona o NAT

IW10. Rev.: 02. Especificações Técnicas

:: Telefonia pela Internet

Engenharia de Software III


SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

3. Processos, o que é isto? Encontramos vários conceitos de processos, conforme observarmos abaixo:

APLICATIVOS CORPORATIVOS

Guia de utilização da notação BPMN

Abordagem de Processo: conceitos e diretrizes para sua implementação

ATIVIDADES DE LINHA E DE ASSESSORIA

Solução Integrada para Gestão e Operação Empresarial - ERP

Arquiteturas Orientadas a Serviços ESB. Enterprise Service Bus. Prof. Ricardo J. Rabelo DAS5316 Integração de Sistemas Corporativos

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

COMO EXPLORAR OS BENEFÍCIOS DOS INDICADORES DE DESEMPENHO NA GESTÃO DE UM CSC. Lara Pessanha e Vanessa Saavedra

Governança de TI. ITIL v.2&3. parte 1

FANESE Faculdade de Administração e Negócios de Sergipe

Quadro de consulta (solicitação do mestre)

2 Diagrama de Caso de Uso

MODELAGEM DE PROCESSOS USANDO BPMN (BUSINESS PROCESS MODEL AND NOTATION) E IOT (INTERNET DAS COISAS)

Plataforma Sentinela

TI em Números Como identificar e mostrar o real valor da TI

Manual dos Serviços de Interoperabilidade

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

ASSUNTO DO MATERIAL DIDÁTICO: SISTEMAS DE INFORMAÇÃO E AS DECISÕES GERENCIAIS NA ERA DA INTERNET

Estratégia de TI. Posicionamento Estratégico da TI: como atingir o alinhamento com o negócio. Conhecimento em Tecnologia da Informação

4 Um Exemplo de Implementação

Desenvolvendo Websites com PHP

6 Quarta parte logística - Quarterização

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Engenharia de Requisitos Estudo de Caso

Proposta de Avaliação de Empresas para o uso do SAAS

PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16

E-business: Como as Empresas Usam os Sistemas de Informação

Criar alertas de suprimentos e serviço

GESTÃO E OTIMIZAÇÃO DE PROCESSOS. Vanice Ferreira

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Automação de Processos de Negócios com BPMS:

Capítulo 4 - Roteamento e Roteadores

ANEXO X DIAGNÓSTICO GERAL

Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade

PREVISÃO DE DEMANDA - O QUE PREVISÃO DE DEMANDA - TIPOS E TÉCNICAS DE PREVISÃO DE DEMANDA - MÉTODOS DE PREVISÃO - EXERCÍCIOS

Aula Anterior. Capítulo 2

Subcamada MAC. O Controle de Acesso ao Meio

APOSTILA DE REDES DE COMPUTADORES PARTE - I I

Capítulo 5 Métodos de Defesa

Disciplina: Unidade III: Prof.: Período:

Service Level Management

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RP1 - Relatório de detalhamento das atividades

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Procedimentos para configurar o Motion Detection no D-ViewCam 1 Para configurar o Motion Detection no D-ViewCam, é necessário que a câmera IP esteja

Fase 1: Engenharia de Produto

Desenvolvimento de software potencializa gestão de processos e gera economia estimada em R$ 80 milhões para Embasa

Processos Técnicos - Aulas 4 e 5

Sistemas ERP. Profa. Reane Franco Goulart

Módulo I - Aula 3 Tipos de Sistemas

Integração TOTVS Colaboração 2.0 Recepção NFS-e - Datasul

Sistema Corporativo de Tele-Medição de Energia Elétrica. Eng. Eduardo Caldas Cardoso ELO Sistemas e Tecnologia eduardo@elotek.com.

ARQUITETURA DE COMPUTADORES - CONCEITUAL

Conhecimento em Tecnologia da Informação. CobiT 5. Apresentação do novo framework da ISACA Bridge Consulting All rights reserved

Instalações Máquinas Equipamentos Pessoal de produção

Administração de CPD Chief Information Office

Dicas para Captação de Clientes Artigo 10

Gestão inteligente de documentos eletrônicos

Redes de Computadores I - Projeto Final

UFG - Instituto de Informática

COMPRE DO PEQUENO NEGÓCIO

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

APRESENTAÇÃO DA PLATAFORMA

INTRODUÇÃO A PORTAIS CORPORATIVOS

Trabalho sobre Social Media Como implementar Social Media na empresa

Transcrição:

SOA SOA 2.0 ou Event-Driven SOA 1

Introdução Recentemente, a Oracle anuciou o termo SOA 2.0. E já deu para imaginar a repercussão que isto teve. Estamos em um momento onde SOA (Service-Oriented Architecture), tem sido um dos termos mais falados e discutidos no mundo de TI. E logo agora, que muitas corporações vem dando importância e confiança ao mesmo, procurando implementar seus primeiros projetos de adoção SOA, e já escutam o SOA 2.0, como uma fusão entre SOA e EDA (Event- Driven Architecture). Neste artigo, procuraremos mostrar a distinção entre SOA e EDA, e onde os dois combinam para agregar novo valor, também denominado Event-Driven SOA. Para facilitar o entendimento da diferença entre SOA e EDA, iremos confrontar alguns conceitos e cenários. Funções X Eventos de Negócios Eventos de Negócios? Sim. Eventos são qualquer coisa notável que acontece dentro ou fora do seu negócio, tais como: Um problema, um desvio ou até mesmo uma oportunidade. Request-Reply X Publish-Subscribe Em termos técnicos, podemos fazer a seguinte analogia: SOA funcionaria com o padrão de comunicação request-and-reply e EDA seria como o publish-and-subscribe. Orquestração X Coreografia Um dos elementos principais do SOA é o BPEL (Business Process Execution Language). O BPEL consiste em uma linguagem declaritava para controlar a execução conjunta de serviços em uma sequencia lógica de passos. Ou seja, o BPEL, executado em BPEL Engine, tem como objetivo coordenar ou orquestrar a execução dos serviços, como se fosse um maestro de uma orquestra sinfônica. Este é um exemplo claro de orquestração, onde os serviços são REATIVOS as orientações do BPEL. No caso da coreografia, não teremos mais a figura de um orquestrador ou coordenador. E sim, cada serviço possui as diretrizes necessárias para colaborar com os demais serviços de forma autônoma, através de eventos trocados entre os mesmos. Ou seja, neste cenário, os serviços são PRÓ-ATIVOS. Eles não aguardam por um comando para executar executar suas atividades e colaborarem entre si. Tornando assim, uma solução mais desacoplada. Em suma, SOA utiliza o mecanismo de orquestração e EDA utiliza o mecanismo de coreografia. 2

Atualmente, algumas ferramentas BPEL implementam mecanismos de workflow, que é uma forma de coreografia. Isto implica, que o BPEL está caminhando também como uma forma de implementação EDA. Cenário de negócio Uma rede de supermercados XPTO, percebeu a necessidade de mapear e otimizar seus processos de negócios, de forma a entender e controlar como os mesmos funcionam e com isto se diferenciarem da concorrência acirrada com as outras redes de supermercados. Durante este trabalho, a XPTO identificou que não bastava apenas otimizar seus processos, pois constantemente, os mesmos precisavam mudar para enfrentar as mudanças frequentes do mercado. E com isto, ela percebeu que o problema estava no tempo de resposta da TI para acompanhar essas mudanças, onde suas aplicações caseiras e ERPs não eram flexíveis o suficiente. Foi assim, que o CIO da XPTO decidiu partir para SOA, pois ele ouviu em apresentações nos eventos que participou, que SOA proveria a flexibilidade, a alta produtividade, a revitalização do portifólio legado e a redução de custos que ele precisava. Assim um projeto de adoção SOA foi iniciado. Adoção de SOA Os processos de negócios foram modelados, simulados, otimizados, seguindo as práticas do BPM (Business Process Managment) e implementados em BPEL. Após estes processos implantados, precisou-se de uma forma para monitorar estes processos em tempo real, com o intuíto de tomar decisões caso algum evento de negócio ocorra, pois a solução de BI (Business Intelligence) apenas retrava o que aconteceu e não o que estava acontecendo. Para isto, foi implantada uma solução BAM (Business Activity Monitoring), com dashboards e alertas customizados para mostrar o status atual do processos e notificar caso algum evento ocorra, de forma que alguma ação ou conjunto de ações sejam executadas para tratar esses eventos. Percebam que este é um cenário de solução típica do SOA, onde com ferramentas visuais os processos podiam ser facilmente customizados via BPMN e BPEL, e mointorados em tempo real. Solução perfeita, certo? Errado. O CIO percebeu que era necessário um monitoramento constante, através de uma figura humana, para que se algum evento ocorresse, as tomadas de decisões (ações) fossem realizadas. Mas o que o ele também queria, era que ao invés da solução aguardasse sempre por um comando para saber o que fazer, que ela detectasse os eventos ocorridos e tratassem-os para executar uma ação de forma pró-ativa. 3

Por exemplo, a medida que seu estoque fosse esgotando, que os sensores RFID do armazem enviassem eventos para o BAM, e também que solução tratasse esse eventos de forma a acionar os processos do sistema de gestão da cadeia de suprimentos (SCM). Resumindo, ao invés de nós humanos ficarmos dizendo para a solução o que fazer, que seus componentes se reorganizassem ou colaborassem de forma a atuar no evento automaticamente. Para isto, percebeu-se que uma solução EDA era necessária. Adoção de EDA Para atender a necessidade identificada na etapa 1, decidiu-se aplicar uma arquitetura orientada a eventos. Mas como implementar esta arquitetura? Bem, existem várias maneiras, porém uma delas é bastante óbvia. Usar o Enterprise Service Bus (ESB). Sim, o ESB é um dos componentes do SOA, mas ele permite ambas implementações. E fica claro com isto, que nem SOA, nem EDA substitui um ao outro, e sim que ambos se complementam. O ESB combina tanto a abordagem de orientação a serviços como a de orientação a eventos, de forma a simplificar a integração das unidades de negócio, bem com integrar plataformas e ambientes heterogêneos criando uma camada homegênea, sendo o intermediador para habilitar a integração de diferentes processos envolvendo aplicações e cenários distintos. Um serviço (simples ou composto) plugado no ESB pode ser disparado tanto por um consumidor de serviços quanto por um evento. O ESB suporta a comunicação sincrona e assincrona, possibilitando a integração um-para-um ou um-para-muitos. Basicamente o ESB prover serviços de transporte, que garante a entrega de mensagens entre os processos de negócios interconectados; Prover serviços de tratamento de eventos, que garante a detecção, disparo e distribuição de eventos; E prover serviços de mediação, que garante a tratamento e conversão entre diferentes protocolos dos sistemas heterogêneos, além de possibilitar a transformação de conteúdos (payloads) das mensagens trafegadas. Outras soluções também é possível, como por exemplo a utilização de soluções MOM. Com isto, após os eventos possíveis terem sido mapeados, os processos BPEL e serviços específicos para atendimento de cada um deles, são registrados ou assinados em filas (canais) para que caso um evento ocorra, os mesmos possam ser tratados automaticamente. Resumo Após estas explicações, creio que já temos uma idéia da diferença entre SOA e EDA. Agora, de forma sussinta, vamos determinar em que momento devemos usar cada um deles. Em situações onde cada passo dos processos de negócios alvos precisam ser controlados, SOA é o melhor candidato. Segue alguns exemplos: 1. Interações entre hierarquia de camadas, através da decomposição funcional (Interações Verticais); 2. Processos na forma request-andreply, tal como intervenção humana; 3. Procesos cuja a natureza funcional requerem facilidades de commit e rollback. Em situações onde os passos dos pro- 4

cessos de negócios possam ser executados de forma independentes, EDA é o melhor candidato. 1. Interações entre as cadeias de processos da corporação alvo (Interações Horizontais); 2. Processos na forma de Workflows; 3. Interações fora das fronteiras da corporação alvo. Vale destacar que, a EDA tem vários outros cenários e aplicações. Inclusive, existem diversos estilos de implementação de EDA que variam desde processamento de eventos simples, stream events e eventos complexos. Resumo Neste artigo podemos entender melhor o que SOA e EDA, quais suas diferenças, semelhança, vantagens, desvantagens, e o mais importante, como ambos caminham de mãos dadas. E apesar de SOA e EDA não serem conceitos novos, muitas confusões ainda são feitas com os mesmos. Alguns defendem que para chegar ao EDA, uma solução SOA funciona como alicerce (o tão polemico SOA 2.0). Outros, defendem que SOA (com Web Services, BPEL e ESB) não é necessário, pois somente traz flexibilidade para a TI, e quem precisa de dinâmismo são as corporações, e apenas com uma solução EDA e BAM, isto é alcançado. Bem, a polêmica está lançada. 5