SgDotNet
Singapore Professional .NET User Group -For Cool Developers

Another mind map on Integration Topology (Message Broker, Message Bus etc)

The earlier post of mind map focused on WCF. The below is more on integration topology, with more contents covering Java related technologies.

Integration Topologies

  • Message Broker (Hub-and-Spoke)
    • Technology Stacks
      • Client Library Implementation
      • Communication Protocol
      • Broken Implementation
    • ActiveMQ
      • Communication Protocol
        • OpenWirev1
        • OpenWirev2
        • STOMP
        • REST
        • WS-Notification
          • ServiceMix
        • XMPP
          • Jabber
          • Client Lib - Spark
        • AMQP (incubation)
        • RSS, Atom
      • Container
        • Axis Support
        • Geronimo
        • J2EE
        • JBoss Integration
        • JCA Container
        • JNDI Support
        • Resource Adapter
        • Spring Support
        • Sun JNDI
        • Tomcat
        • WebLogic Integration
      • Client Lib
        • ActiveMQ C++ Clients
        • Ajax
        • C Integration
        • CMS
        • NMS
        • Perl
        • PHP
        • Pike
        • Python
        • Ruby
      • Coding
        • ConnectionFactory
          • Connection
            • Session
              • Destination <= createTopic
              • Destination <= createQueue
              • MessageProducer <= createProducer
                • setDeliveryMode
                • send(Message)
              • IMessage <= createMessage
              • MessageConsumer <= createConsumer
                • setMessageListener
                  • OnMessage(Message)
  • Message Bus
    • ServiceMix
      • More details...
    • JBI
      • a pluggable architecture for a container  that hosts service producer  and consumer components
      • Services connect to the container
        via binding components (BC)
      • or hosted inside the container
        as part of a service engine (SE)
      • Message Delivery
        • NMR Normalized Message Router
        • MEP Message Exchange Patterns
          • In Only
            • A standard one-way messaging exchange where the consumer sends a message to the provider that provides only a status response

          • Robust In Only
            • This pattern is for reliable one-way message exchanges. The consumer initiates with a message to which the provider responds with status. If the response is a status, the exchange is complete, but if the response is a fault, the consumer must respond with a status.  

          • In Out
            • A standard two-way message exchange where the consumer initiates with a message, the provider responds with a message or fault and the consumer responds with a status.

          • In Optional-Out
            • A standard two-way message exchange where the providers response is optional.  
      • Lifecycle
        • JMX
          • installation, deployment, monitoring and lifecycle concerns amongst BCs and SEs
      • More Info on JBI...


        • JBI is an architecture for integration systems specifying plug-in components that interoperate by exchanging messages, rather than by interacting directly. This decoupling increases flexibility because each component needs to know how to interact with the JBI bus only and not with n number of other components. JBI components provide services, consume services, or sometimes both. There are two types of components: Service Engines (SE) and Binding Components (BC). The SEs provide business logic and transformation services. The BCs provide connectivity for applications that are external to the JBI. The separation of business and processing logic from communication logic makes the implementation of components much less complex.

          The mediated message exchange between components is provided by the Normalized Message Router (NMR). The NMR routes normalized messages between service providers and consumers. A normalized message consists of two parts: the message content (payload) and the message metadata. The message metadata contains information such as security information, that can affect the processing of the message as it routes through the JBI. Messages flowing into the JBI, via binding components, are translated into a normalized (neutral) format, then routed to their destination. Prior to final delivery the normalized message is translated into the appropriate format for the recipient. A message can be routed through several JBI components depending on what processing is needed.

    • Enterprise Service Bus
      • Implementation Camp

        • multiple protocol
        • purely on SOAP/HTTP

        Marketing Attributes

        • distributed processing
        • intelligence routing
          • visibility - into messages for content-based routing
        • security
        • dynamic data transformation
        • business process orchestration
        • reliability
        • transactionality
        • Event Driven Architecture
          • This is an asynchronous operation as the recipient applications
            may receive or pick-up their messages at a later time, whereas
            the SOA messaging model is typically synchronous in nature.

        • quality of service (QoS) features
          • message persistence
          • guaranteed delivery
          • failure handling
          • transaction support
        • comparison
          • EDA
            • decoupled, scalability and reliabilty required for high transaction production environments
          • SOA
            • synchronous request/response communication (usually)

        Infrastructure Characteristic

        • distributed - to remove geographical constraints
        • message-based - to promote loose coupling
        • open standards-based - to preserve investment and encourage partipicipation
        • reliable - to meet the requirements of mission-critical business operations

        Design Requirement

        • Standard Based
          • No product API lock in
            • JIB
            • POJO
        • Flexible
          • Deployment
            • standalone
            • embedded in an application component
            • as part of the services supported by an application server
          • Component Reuse
          • Scripting Language
          • Embedded Rule Engine
        • Reliability
          • network outages
          • system failure
        • Breadth of Connectivity
          • two-way reliable web service
          • MoM (Message Oriented Middleware)

        Enterprise Need

        • Disparate Application
        • Disparate Platform
        • Disparate  Business Process
        • Non compatible data format
        • Non compatible communication protocol
        • Need: Enterprise Integration
          • Past Solutions
            • Enterprise Application Integration
            • Service Oriented Architecture
            • Web Services (already a past ???)
          • Evaluation of Past Solutions
            • Vendor Solution
              • high cost, lock in
            • Custom Solution
              • high maintenance, host cost

        The ESB addresses the disadvantages of existing solutions by
        creating a standard infrastructure for integration.
        Point-to-point solutions, where each of n components requires n-1
        interfaces for full communication, are replaced by a bus solution
        where each component requires a single interface to the bus for
        global communication

        Debate: is it relevant?

        • http://blogs.msdn.com/mohammadakif/archive/2007/01/23/microsoft-s-enterprise-services-bus-esb-strategy-part-4-4.aspx

        Microsoft's ESB Offering

        • Application Platform
          • WIndows Server
          • .NET Framework 3.0
          • Core: BizTalk Server
        • Advertised Features
          • Industry Leading Web Services Support
          • Intelligent Routing
          • Message Transformation
          • Itinerary Processing
          • Legacy and LOB Application Adaptation
          • Service Orchestration
          • Metadata Lookup
          • Exception Management
          • Distributed Deployment
          • Centralized Management
          • Business Rule Engine
          • Business Activity Monitoring
  • Web Service
    • POJO (Plain Old Java Object) Exposed as Web Service
      • Spring Based
    • Axis2
      • Transport Receiver - transport related processing
      • Dispatching - find service and operation
        • AddressingBasedDispatcher
        • RequestURIBasedDispatcher
        • SOAPActionBasedDispatcher
        • SOAPMessageBodyBasedDispatcher
      • Message Receiver - last handler of the chain
      • Configuration
        • ServiceGroup
          • Service
            • Operation
              • Message
            • Service Scope
              • Request Scope
              • SOAP Session Scope
                • Service Group Id
              • Transport Session Scope
                • Cookie
              • Application Scope
          • Data shared among services
          • Session maintained using context
            • Login
            • Logout
    • JAX-WS Java API for XML Web Services
    • JAXB Java Architecture for XML Binding
    • Microsoft WSE, also WCF
  • Publish/Subscribe

Of course, this is collected facts or believed facts. There is no judgement or recommendation. You have to do your own research, hands on verification before believing. As usual : )


Posted Oct 03 2007, 10:23 AM by blackinkbottle
Filed under:
Copyright SgDotNet 2004-2008
Powered by Community Server (Commercial Edition), by Telligent Systems