UFG - Instituto de Informática



Documentos relacionados
Service Oriented Architecture (SOA)

2 Conceitos relativos a Web services e sua composição

UFG - Instituto de Informática

Introdução ao Modelos de Duas Camadas Cliente Servidor

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA.

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Web Services. (Introdução)

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

3 SCS: Sistema de Componentes de Software

Obtendo Qualidade com SOA

Arquitetura Orientada a Serviço

UFG - Instituto de Informática

Serviços Web: Introdução

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Arquitetura dos Sistemas de Informação Distribuídos

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

3 Serviços na Web (Web services)

UFG - Instituto de Informática

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Introdução a Web Services

Fase 1: Engenharia de Produto

Engenharia de Software III

SISTEMAS DISTRIBUIDOS

UFG - Instituto de Informática

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

ENGENHARIA DE SOFTWARE I

4 O Workflow e a Máquina de Regras

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Engenharia de Requisitos Estudo de Caso

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

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

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web Services. Autor: Rômulo Rosa Furtado

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

UFG - Instituto de Informática

UNIVERSIDADE. Sistemas Distribuídos

Sistemas Distribuídos

Abstraindo as Camadas de SOA & Aplicações Compostas

Requisitos de Software

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Sistemas Distribuídos

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, Todos os direitos reservados.

SOA: Service-oriented architecture

Padrões Abertos, Componentização e SOA A chave para a evolução e criação de uma nova geração de sistemas de gestão comercial

Aprenda as melhores práticas para construir um completo sistema de teste automatizado

Introdução a Arquiteturas ESB I N S T I T U T O D E G E S TÃ O E M T E C N OLOGIA D A I N F OR M A Ç Ã O

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

UFG - Instituto de Informática

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

2 Diagrama de Caso de Uso

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Usando Service Design Thinking para criar SOA Corporativo

Sistemas Integrados de Gestão Empresarial

Orientação à Objetos. Aécio Costa

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

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

Material de Apoio. Sistema de Informação Gerencial (SIG)

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

MBA Inteligência Competitiva Com ênfase em BI/CPM. Metadados

Modelagem de Processos. Prof.: Fernando Ascani

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

Thalita Moraes PPGI Novembro 2007

BPM e SOA. Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Requisitos de Software

Eduardo Bezerra. Editora Campus/Elsevier

Padrões Arquiteturais. Sistemas Distribuídos: Broker

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Modelos. Comunicação com clientes

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Diretrizes Complementares para Aplicação da Análise de Pontos de Função no PAD

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

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

Engenharia de Requisitos

Semântica para Sharepoint. Busca semântica utilizando ontologias

Sistemas Operacionais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

1

5 Mecanismo de seleção de componentes

Sistemas de Informação I

Módulo 4: Gerenciamento de Dados

Fábrica de Software 29/04/2015

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

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

Universidade Paulista

Transcrição:

UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 14 SOA e ESB

Service-Oriented Architecture Service-Oriented Architecture (SOA) ou arquitetura orientada a serviços: É um estilo de arquitetura de software cujo princípio fundamental prega que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços.

Service-Oriented Architecture Frequentemente estes serviços são conectados através de um barramento de serviços (Enterprise Service Bus ESB) O ESB disponibiliza interfaces, ou contratos, acessíveis através de web services ou outra forma de comunicação entre aplicações.

Service-Oriented Architecture A arquitetura SOA é baseada nos princípios da computação distribuída e utiliza o paradigma Requisição/Resposta (Request/Reply) para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços.

Service-Oriented Architecture SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas. - Gartner Group

SOA As implementações SOA dependem de uma rede de serviços de software. Serviços incluem baixo acoplamento de unidades e de funcionalidade.

SOA Cada serviço implementa uma ação. Por exemplo: preencher um requerimento on-line para uma conta, visualizar um banco on-line de instrução, ou colocar uma reserva on-line ou para bilhete de avião.

SOA Desenvolvedor SOA associa objetos individuais usando orquestração. No processo de orquestração o desenvolvedor associa funcionalidade de software (serviços) em um arranjo não-hierárquica osando uma ferramenta de software que contém uma lista completa de todos os serviços disponíveis, suas características e os meios para criar uma aplicação utilizando essas fontes.

SOA SOA depende dos dados e serviços que são descritos por metadados que devem satisfazer os seguintes critérios: 1. Os metadados devem vir de uma forma que os sistemas de software pode usar para configurar dinamicamente a descoberta e a incorporação de serviços definidos, e também para manter a coerência e integridade. 2. Os metadados devem vir de uma forma que os designers de sistema capaz de compreender e gerir com um gasto razoável de custo e esforço.

Requisitos para SOA A fim de utilizar eficientemente uma SOA deve: Prover interoperabilidade entre diferentes sistemas e linguagens de programação. Estabelecer e manter o fluxo de dados para um sistema de banco de dados federado. Isto permite que novas funcionalidades desenvolvidas para fazer referência a um formato de negócios comuns para cada elemento de dados.

SOA - Princípios Os seguintes princípios orientadores definem as regras básicas para o desenvolvimento, uso, manutenção e do SOA: reutilização, granularidade, modularidade, agregabilidade componentização, e interoperabilidade. padrões de conformidade (comuns e específicas da indústria). serviços de identificação e categorização, fornecimento e entrega, e monitoramento e rastreamento.

SOA - Princípios A primeira pesquisa publicada sobre orientação a serviços a partir de uma perspectiva da indústria foi fornecida por Thomas Erl da SOA Systems Inc., que definiu oito princípios específicos da orientação a serviços comuns a todas as principais plataformas SOA.

SOA - Princípios Contrato de serviço padronizado Serviços aderem a um acordo de comunicações, como definido coletivamente por um ou mais serviços de descrição de documentos. Fraco acoplamento de serviços Serviços mantem um relacionamento que minimiza as dependências e só exige que eles mantenham uma consciência de si. Abstração de serviços além das descrições no contrato de serviço, os serviços devem esconder a lógica do mundo exterior.

SOA - Princípios Reutilização de serviço A lógica é dividida em serviços com a intenção de promover a reutilização. Autonomia de Serviço Os serviços têm controle sobre a lógica que encapsulam. Granularidade serviço O projeto deve considerar fornecer um escopo ótimo e um nível granular da funcionalidade de negócios em uma operação de serviço.

SOA - Princípios Serviços sem estado Serviços minimizam o consumo de recursos, adiando a gestão de informações de estado, quando necessário Descoberta de Serviços Os serviços são complementados com meta comunicação de dados pelo qual eles podem ser efetivamente descobertos e interpretados. Componibilidade de Serviços Serviços são participantes de composição efetiva, independentemente do tamanho e complexidade da composição.

SOA - Princípios Alguns autores também incluem os seguintes princípios: Otimização de serviços Tudo o mais igual, serviços de alta qualidade são geralmente preferível a baixa qualidade queridos. Relevância de serviços Funcionalidade é apresentado em uma granularidade reconhecido pelo usuário como um serviço significativo. Encapsulamento de serviços Muitos serviços são consolidadas para o uso sob a SOA. Muitas vezes, tais serviços não foram planejados para estar sob SOA.

SOA - Princípios Transparência de Serviço de Localização Refere-se à capacidade de um consumidor de serviço para invocar um serviço, independentemente de sua localização real na rede.

SOA com abordagem em WebServices Serviços Web podem implementar uma arquitetura orientada a serviços. Serviços Web fazem blocos funcionais de construção acessíveis através de protocolos de Internet padrão independente de plataformas e linguagens de programação. Estes serviços podem representar tanto novas aplicações quanto apenas invólucros em torno dos sistemas legados existentes para torná-los em rede ativada.

SOA com abordagem em WebServices Cada bloco de construção SOA pode desempenhar um ou ambos os papéis: Service provider (Provedor de Serviço) Service consumer (Consumidor de Serviço)

Provedor de Serviços O provedor de serviços cria um serviço Web e, eventualmente, publica sua interface e acesso a informação para o registro de serviços. Cada fornecedor deve decidir quais os serviços irá expor, como fazer trade-offs entre a segurança e a facilidade de acesso, como preço dos serviços, ou (se nenhuma taxa extra), como e se a explorá-los para outro valor.

Provedor de Serviços O provedor também tem que decidir em qual categoria os serviços devem ser listados em um dado service broker (corretor de serviço) e que tipo de acordos com parceiros comerciais são obrigados a usar o serviço. Ele registra que os serviços estão disponíveis dentro dele, e as listas de todos os beneficiários potenciais do serviço. O implementador do corretor, então, decide o escopo do corretor.

SOA - Tecnologia O termo "Service-Oriented Architecture" (SOA) ou Arquitetura Orientada a Serviços expressa um conceito no qual aplicativos ou rotinas são disponibilizadas como serviços em uma rede de computadores (Internet ou Intranets) de forma independente e se comunicando através de padrões abertos.

SOA - Tecnologia A maior parte das implementações de SOA se utilizam de Web Services (SOAP, REST e WSDL). Entretanto, uma implementação de SOA pode se utilizar de qualquer tecnologia padronizada baseada em web.

SOA - Conceitos Acoplamento É o nível de interdependência entre os módulos de um sistema. Por outro lado, um módulo é considerado coeso quando possui uma atividade bem definida. Diferentemente do que as pessoas pensam, SOA não se trata de uma simples invenção. A arquitetura orientada a serviços nada mais é que a evolução natural da arquitetura de sistemas tradicional para solucionar as necessidades de desenvolvimento e capacidade de adaptação às novas demandas de mercado, que se faz cada vez mais exigente em qualidade e agilidade.

SOA - Conceitos Serviço Um serviço, do ponto de vista da arquitetura SOA, é uma função de um sistema computacional que é disponibilizado para outro sistema. Um serviço deve funcionar de forma independente do estado de outros serviços, exceto nos casos de serviços compostos (composite services), e deve possuir uma interface bem definida. Normalmente, a comunicação entre o sistema cliente e aquele que disponibiliza o serviço é realizada através de web services.

SOA - Conceitos Orquestração Processo de sequenciar serviços e prover uma lógica adicional para processar dados. Não inclui uma representação de dados.

SOA - Conceitos Sem Estado Não depende de nenhuma condição pré-existente. Os serviços não devem depender de condições de outros serviços. Eles recebem todas as informações necessárias para prover uma resposta consistente. O objetivo de buscar a característica stateless dos serviços é possibilitar que o consumidor do serviço possa sequenciá-lo, ou seja, orquestrá-los em vários fluxos (algumas vezes chamados de pipelines) para executar a lógica de uma aplicação.

SOA - Conceitos Provedor O recurso que executa o serviço em resposta a uma requisição de um consumidor.

SOA - Conceitos Consumidor É quem consome ou pede o resultado de um serviço fornecido por um provedor.

SOA - Conceitos Descoberta SOA se baseia na capacidade de identificar serviços e suas características. Conseqüentemente, esta arquitetura depende de um diretório que descreva quais os serviços disponíveis dentro de um domínio.

SOA - Conceitos Binding - Ligação A relação entre os serviços do provedor e do consumidor deve ser idealmente dinâmica; Ela é estabelecida em tempo de execução através de um mecanismo de binding.

SOA - Conceitos Processos A Arquitetura Orientada a Serviços pode ser bem representada a partir do seguinte processo, chamado de paradigma find-bind-execute o que significa aproximadamente paradigma de procuraliga-executa.

SOA - Conceitos

Orquestração e Coreografia Orquestração e Coreografia são dois termos comumente utilizados para composição de processos de negócio através de Web Services, sendo muitas vezes usados um no lugar do outro, o que causa problemas.

Orquestração e Coreografia Processo Mestre processo que coordena a composição de processos e controla sua execução dentro de uma orquestração. Processo Participante processo que participa de uma composição de processos.

Orquestração e Coreografia Orquestração composição de processos de negócio (através de Web Services) onde existe a figura de um processo central (processo mestre) que controla e coordena os demais processos. Neste tipo de composição, cada processo participante não tem conhecimento de que faz parte de uma composição de processos, com exceção do processo mestre.

Orquestração e Coreografia Coreografia composição de processos de negócio (através de Web Services) onde não existe a figura de um processo mestre que controla e coordena os demais processos. Neste tipo de composição, cada processo envolvido tem o conhecimento de que faz parte de uma composição de processos e que precisa interagir com outros processos de maneira ordenada para que a composição resultante tenha sucesso.

Orquestração e Coreografia Somente o processo mestre detém a inteligência sobre o processo completo, e a execução é então centralizada. Devido a essa centralização, orquestrações ocorrem normalmente dentro de uma mesma corporação, uma vez que dentro dessa corporação é simples decidir qual processo será o processo-mestre.

Orquestração e Coreografia Cada processo participante sabe exatamente quando atuar, com quais outros processos participantes interagir, quais operações deve executar, quais mensagens deve trocar e até mesmo o momento adequado de troca de mensagens. Devido à esta descentralização, coreografia de processos costuma ser utilizada entre processos ou Web Services de corporações distintas.

Enterprise Service Bus O Enterprise Service Bus se refere à arquitetura de construção de software tipicamente implementado em tecnologias encontradas na categoria de produtos de infraestrutura de middleware. Normalmente baseado no reconhecimento de padrões, que fornecem uma base de serviços para arquiteturas mais complexas via um driver de evento e padrões baseados em mensagens (BUS).

EAI EAI (do inglês Enterprise Application Integration) é uma referência aos meios computacionais e aos princípios de arquitetura de sistemas utilizados no processo de Integração de Aplicações Corporativas. Os procedimentos e ferramentas de EAI viabilizam a interação entre sistemas corporativos hetereogêneos por meio da utlização de serviços.

EAI Os pontos básicos de uma arquitetura de EAI são: Integração de aplicações, sistemas de informação e processos de negócio de uma empresa. Integração com aplicações internas e externas da empresa que servem de suporte ao processo de negócio da mesma, como por exemplo processo financeiro, recursos humanos, dentre outros. Conjunto de ferramentas de análise e monitoração de processos em tempo real.

EAI Os componentes presentes em um arquitetura de integração de sistemas são: Sistemas - Refere-se aos Sistemas que trocarão informações entre si. (Ex. Software de CRM (SIEBEL) trocando informações com software de faturamento (SAP) Dados - Conjunto de dados (layouts de arquivos) que serão trafegados pela arquitetura durante a troca de dados entre os sistemas.(ex. XML ou texto)

EAI Interface - Forma de enviar receber dados entre os sistemas. (Ex. Web services, adaptadores) Comunicação - Tipo de comunicação a ser utilizada durante a troca de informações entre os sistemas. (Ex. síncrona ou assíncrona).

EAI Os estilos de integração entre sistemas utilizando-se do EAI são: File Transfer - Integração entre aplicativos através da troca de arquivos em formato de texto definido. Shared Database - Integração entre aplicativos através da troca de dados entre bases de dados ou tabelas. Remote Procedure Invocation - Integração entre aplicativos através da chamada a programas remotos os quais são responsáveis pela extração, envio/recebimento e persistência dos dados no sistema.

EAI Messaging - Integração entre aplicativos de um middleware orientado a mensagem (MOM) o qual e responsável pela entrega dos dados aos sistema integrados.

Melhores Práticas Buscar uma padronização na forma de integração com os sistemas legados facilita manutenções futuras. A definição de um padrão na forma de trabalho das interfaces pode promover o reuso das mesmas. Quanto menos camadas existirem entre à aplicação legada e a plataforma de integração (EAI) menores são as chances de ocorrerem erros durante a troca de dados entre elas. A redução no número de camadas por onde os dados tem de passar até chegar a seu destino, promove também uma melhor performance durante o processo de troca de dados entre aplicações.

Soluções de EAI Intersystems Ensemble http://www.intersystems.com.br/isc/ensemble/index.csp TIBCO - http://www.tibco.com Webmethods - http://www.webmethods.com Webpshere MQSeries/Broker - IBM Vitria - http://www.vitria.com/businessware/ BizTalk - Microsoft SeeBeyond - SunMicrosystem BEA Weblogic Integration - BEA

Soluções de EAI SAP Exchange Infrastructure (XI) ou Process Integration (PI) - SAP Datasul EAI - Datasul - www.datasul.com.br IRIS - Databridge - http://www.databridge.com.br IntraFlow BPMS 2.0 - IntraFlow - http://www.intraflow.com.br Guaraná SDK - http://www.tdg-seville.info/rzfrantz/guarana

BPEL Business Process Execution Language (BPEL), abreviação de Web Services Business Process Execution Language (WS-BPEL) É uma linguagem executável padrão oásis para a especificação de ações dentro de processos de negócios com serviços web. Processos em Business Process Execution Language exportam e importam as informações usando interfaces de serviço web exclusivamente.

BPEL Interações de serviços Web pode ser descrito de duas formas: processos executáveis de negócio e processos de negócio abstrato. Negócio executável processos comportamento do modelo real de um participante de uma interação de negócios. Processos de negócio abstratos são processos parcialmente especificado que não se destinam a ser executado.

BPEL Um processo abstrato pode esconder alguns dos necessários concreto detalhes operacionais. Processos abstratos têm um papel descritivo, com mais de um caso de uso possíveis, incluindo o comportamento observável e / ou modelo de processo. WS-BPEL é feito para ser usado para modelar o comportamento de ambos os executáveis e processos abstratos.

BPEL WS-BPEL fornece uma linguagem para a especificação de executáveis e processos de negócio abstrato. Ao fazer isso, ele estende o modelo de interação Web Services e permite que ele suporte as transações comerciais. WS-BPEL define um modelo de integração interoperável que deve facilitar a expansão da integração de processos automatizados dentro e entre empresas.

Objetivos 1 - Definir processos de negócio que interagem com entidades externas através de serviços web operações definidas usando WSDL 1.1, e que se manifestam como serviços Web definidos com o WSDL 1.1. As interações são "abstratas" no sentido de que a dependência é sobre as definições porttype, e não em definições de porta.

Objetivos 2 - Definir processos de negócios usando uma linguagem baseada em XML. Não definem uma representação gráfica de processos ou fornecer qualquer metodologia de projeto particular para processos.

Objetivos 3 - Definir um conjunto de conceitos Web orquestração de serviços que se destinam a ser usados por ambas as visões externas (abstrato) e internas (executável) de um processo de negócio.

Objetivos 4 - Fornecer tanto hierárquica e regimes gráfico de como o controle e permitir a sua utilização para ser misturado de forma tão integrada quanto possível. Isso deve reduzir a fragmentação do espaço de modelagem de processos.

Objetivos 5 - Fornecer funções de manipulação de dados para a simples manipulação dos dados necessários para definir os dados do processo e de controle de fluxo.

Objetivos 6 - Apoiar um mecanismo de identificação para instâncias processo que permite a definição de identificadores exemplo no nível de mensagem de aplicativos. Identificadores de instância deve ser definida pelos parceiros e pode mudar.

Objetivos 7 - Apoiar a criação implícita e rescisão de instâncias de processos como o mecanismo básico do ciclo de vida. Operações avançadas do ciclo de vida, tais como "suspender" e "resume" podem ser adicionados em versões futuras para a gestão do ciclo de vida melhorada.

Objetivos 8 - Definir um modelo de transação de longa duração que é baseada em técnicas comprovadas como ações de compensação e de escopo para apoiar a recuperação de falhas de peças de processos de negócio de longo prazo.

Objetivos 9 - Usar os Serviços Web como o modelo para a decomposição do processo e montagem. 10 - Criação de padrões de serviços Web (aprovado e proposto), tanto quanto possível de uma forma de composição e modular. Observação: BPEL é uma orquestração de linguagem, não uma coreografia linguagem.

Enterprise Service Bus Um ESB geralmente fornece uma abstração de camadas na implementação de um sistema empresarial de mensagens, que permita integração da arquitetura para explorar o valor das mensagens sem escrever código. Contrariando a clássica integração de aplicações comerciais (EAI). A base de um enterprise service bus é construida da quebra de funções básicas em partes, que são distribuidas onde for preciso.

Enterprise Service Bus ESB não implementa uma arquitetura orientada a serviço (SOA), mas fornece as características para que possa ser implementado. ESB não necessariamente precisa ser implementado usando web-services. ESB devem ser baseados em padrões flexíveis, suportando vários meios de transportes.

Enterprise Service Bus Baseado no EAI melhor que padrões SOA, ele tenta remover o acoplamento entre o serviço chamado e o meio de transporte. A maioria dos fornecedores de ESB constroem agora ESBs para incorporar princípios de SOA e para aumentar suas vendas, por exemplo Business Process Execution Language(BPEL).

Enterprise Service Bus

Enterprise Service Bus A palavra bus é a referência para o meio físico que carrega bits entre dispositivos em um computador. O ESB serve a uma função análoga a alto nível de abstração. Em uma arquitetura empresarial fazendo uso de um ESB, uma aplicação irá comunicar via barramento, que atua como um message broker entre aplicações.

Enterprise Service Bus A principal vantagem de com uma aproximação é a redução de conexões ponto a ponto necessárias para permitir a comunicação entre aplicações. Isto por sua vez afeta diretamente na simplificação das mudanças de sistema. Por reduzir o número de conexões ponto a ponto para uma aplicação específica, o processo de adaptar um sistema às mudanças em um de seus componentes torna-se mais fácil.