Suresh Rohan's Blog

This blog is all about Java, J2EE,Spring, Angular, React JS, NoSQL, Microservices, DevOps, BigData, Tutorials, Tips, Best practice, Interview questions, Views, News, Articles, Techniques, Code Samples, Reference Application and much more

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