Integration is a key concern for today's increasingly heterogeneous, distributed ecosystem of enterprise applications. As diversity in the enterprise application technology landscape, and points of integration increase, users' expectations of coherent, uniform accessibility to data, services and business processes—across applications and access points—are growing dramatically.

As these trends progress, traditional methods of point-to-point application integration become increasingly untenable. The brittleness, redundancy, and inefficiency inherent in these approaches represent a significant threat to the Mosaic project—from an implementation timeframe perspective, as well as the long-term robustness and manageability of the environment.

Integration Goals

The following represent the high-level objectives of UA integration efforts:

  • Rapidly deliver reliable, sustainable and manageable solutions for inter-application and infrastructure integration
  • Eliminate, or reduce as much as possible, the brittleness and redundancy inherent in “one-off” point-to-point integrations
  • Balance long-range architectural vision with short-term tactical needs
  • Facilitate integration standardization, reuse and best practices across all Mosaic project initiatives

Defining the Scope of Integration

The scope/purview of “integration,” for the purposes of the Mosaic project, will be a subset of what is often associated with “EAI” (Enterprise Application Integration) and “SOA” (Service Oriented Architecture) frameworks. Some applicable areas include:

  • Identification of application integration points
  • Exposing application components as externally “consumable” services
  • Service interface definition
  • Service discovery, governance and life-cycle management
  • Service composition and orchestration
  • Integration with “infrastructural” services (identity management, directory services, etc)
  • Data synchronization/propagation across applications
  • Connectivity—protocol adapters, connectors, bridges/gateways
  • Data/content formats and transformations (semantic integration)
  • Message generation, routing and delivery patterns (synchronous, asynchronous, pub/sub, “fire-and-forget”, idempotent, event-driven, transactional, etc)
  • Message integrity and security (transport security, encryption, digital signatures, etc)