Responsive Ads Here

Monday, October 19, 2015

Enterprise Integration Patterns and ESB


The patterns are not tied to a specific implementation. They help you design better solutions, whether you use any of the following platforms:

EAI and SOA platforms

Oracle Service Bus
  • Current ESB from Oracle. It is a component of Oracle Fusion Middleware (OFM) stack, —Very powerful and stable.
  • —Integration features + many more (BAM, CEP, EDA, etc.)
  • —Adapters for technologies and business products.
  • —Powerful tooling (e.g. for administration and monitoring), Analysis of source code not necessary, refactoring via GUI
  • Support is also available for most conceivable service level agreements.
  • High licensing and support costs and Installation is tedious.
TIBCO ActiveMatrix
  • Capability to build applications once and reuse
  • Provides a framework for application lifecycle
  • Has the ability to host multi-tenancy
  • Various types of authorization, authentication, and encryption policies can be dynamically configured to control cloud deployments.
  • Complex event processing technology to dynamically scale and shrink application resources based on service-level agreements.
  • Eclipse-based tool for designing block-level structure of an application, and subsequent development.


Open source ESB's

Mule ESB
  • —Very simple ("one click") installation and intuitive.
  • —Eclipse-based tooling.
  • —Very lightweight and extensible.
  • —Connectors available for B2B products such as SAP or Salesforce.
Fuse ESB
  • —It is based on Apache CXF and Apache Camel.
  • —Great community.
  • —Eclipse based IDE and very intuitive.
  • —It will be integrated into the JBoss Enterprise SOA Platform.


Message Brokers

Apache ActiveMQ
  • Most popular and powerful open source messaging and Integration Patterns server.
  • Fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4.
  • Fully supports JMS 1.1 and J2EE 1.4 with support for transient, persistent, transactional and XA messaging.
  • Easily embedded into Spring applications and configured using Spring's XML configuration mechanism.
  • Supports very fast persistence using JDBC along with a high performance journal.
  • Designed for high performance clustering, client-server, peer based communication.
  • REST API to provide technology agnostic and language neutral web based API to messaging.
  • Ajax to support web streaming support to web browsers.

Apache Kafka
  • Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system.
  • Kafka maintains feeds of messages in categories called topics.
  • Communication between the clients and the servers is done with a simple, high-performance, language agnostic TCP protocol.
  • Able to rebuild a user activity tracking pipeline as a set of real-time publish-subscribe feeds.
  • Kafka is often used for operational monitoring data.
  • Kafka as a replacement for a log aggregation solution.
RabbitMQ
  • RabbitMQ is a messaging broker - an intermediary for messaging.
  • Offers persistence, delivery acknowledgements, publisher confirms, and high availability.
  • Built-in exchange types for typical routing logic. 
  • Can be clustered together, forming a single logical broker.
  • Offers a federation model.
  • Clients for almost any language you can think of.
  • Easy-to use management UI that allows you to monitor.

No comments:

Post a Comment