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.
- 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
- 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