Study Notes on System Integration and Architecture

Fundamental Concepts and Definitions

System Integration

  • Definition: The process of bringing together different subsystems or components into one unified system that functions seamlessly.

System Architecture

  • Definition: The conceptual model defining the structure, behavior, and interactions of a system's components.

Overview of System Architecture Models

  • Monolithic Architecture:
    • Description: A single, tightly-coupled system.
    • Advantages: Simple to build and deploy.
    • Disadvantages: Lacks flexibility and scalability.
  • Layered Architecture:
    • Description: Divides systems into layers (e.g., presentation layer, business logic layer, data layer).
    • Advantages: Improves modularity, allows for separation of concerns, and enables easier maintenance.
  • Microservices Architecture:
    • Description: Systems are built as a collection of independent services that communicate via APIs.
    • Advantages: Highly scalable, flexible, and allows for continuous integration and deployment.
  • Service-Oriented Architecture (SOA):
    • Description: Focuses on reusing services through a central interface.
    • Advantages: Supports business agility and can adapt to changes in business requirements.

System Integration Approaches

  1. Vertical Integration
    • Description: Systems are integrated based on functionality, with each silo (e.g., Finance, HR) built to meet a specific need.
    • Integration Type: Hierarchical.
    • Key Characteristics:
      • Quick to implement for small systems.
      • Strong interconnection between related systems.
  2. Horizontal Integration
    • Description: A centralized system (middleware) connects all subsystems, enabling communication across the organization.
    • Key Characteristics:
      • Focuses on integration across functional boundaries.
      • Middleware acts as the central hub.
  3. Star Integration (Spaghetti Integration)
    • Description: Every system is directly connected to every other system.
    • Key Characteristics:
      • No central hub; systems talk directly to one another.
  4. Common Data Integration
    • Description: All systems access a shared data repository, ensuring consistency and eliminating redundancy.
    • Key Characteristics:
      • Centralized database serves as a single source of truth.

Characteristics Comparison of Integration Approaches

ApproachScalabilityCostFlexibilityComplexity
Vertical IntegrationLowLowLowLow
Horizontal IntegrationHighHighHighModerate
Star IntegrationLowHighModerateHigh
Common Data IntegrationHighHighHighModerate

Enterprise Application Integration (EAI)

  • Definition: Involves connecting and enabling communication between different software applications within an organization.
EAI Patterns and Methodologies
  • Point-to-Point Integration:
    • Description: Direct connections between applications.
  • Hub-and-Spoke Integration:
    • Description: Centralized integration hub managing data transformations and routing.
  • Message Bus:
    • Description: Decentralized architecture with a common communication channel for multiple applications.
  • Publish-Subscribe Model:
    • Description: Applications publish data to a central broker, and others subscribe to receive relevant updates.
  • Orchestration:
    • Description: Coordinating workflows across multiple systems to achieve business processes.
    • Middleware acts as a bridge to facilitate communication between different applications, databases, and systems.
Types of Middleware
  • Message-Oriented Middleware (MOM): Facilitates messaging between distributed applications.
  • Remote Procedure Call (RPC): Allows one program to trigger the execution of code in another address space.
  • Database Middleware: Facilitates communication between applications and database management systems.
  • Object Middleware: Enables communication between distributed objects.

Service-Oriented Architecture (SOA)

  • Definition: An architectural pattern where functionalities are delivered as modular and reusable services.
Examples in Industry
  • Banking Systems:
    • Banks utilize EAI to connect various legacy systems, such as loan origination, credit card management, and mobile banking applications, ensuring efficient communication and data consistency across platforms.
    • Banks implement SOA to develop adaptable services that can be reused across multiple channels, such as online banking, mobile apps, and branch systems. This approach enhances agility in deploying new features and services.

Enterprise Resource Planning (ERP)

  • Definition: A type of software system that helps organizations automate and manage core business processes for optimal performance.
  • Purpose: The primary purpose of an ERP system is to increase organizational efficiency by managing and improving how company resources are utilized.
ERP Key Features
  • Centralized Database: A single database that all modules access.
  • Real-Time Data Access: Immediate access to data as it is entered or updated.
  • Process Automation: Reduction of manual tasks through automated processes.
  • Scalability: Ability to scale with the growth of the organization.
Process Automation in ERP
  • Refers to using software-driven workflows, rule-based decision-making, and integration technologies to reduce manual tasks, enhance efficiency, and ensure consistency across business operations.
API and EAI Integration for Process Automation
  • EAI (Enterprise Application Integration): Uses middleware to integrate multiple business applications into a single ecosystem.
  • APIs (Application Programming Interfaces): Define how ERP systems interact with external software.
Steps in ERP Automation
  1. Request: A user or system sends a request to an API (e.g., a mobile app asking for weather data).
  2. Processing: The API connects to a database or another system to fetch or update data.
  3. Response: The API returns the requested data in a structured format (e.g., JSON or XML).
How EAI Works in ERP
  1. Message Broker: Middleware (like an Enterprise Service Bus, ESB) handles communication between applications.
  2. Data Transformation: Data from different systems is converted into a common format.
  3. Process Automation: EAI triggers event-based automation across systems.
Applications in Industry
  • Online Payments: Automates transaction processes in e-commerce.
  • Social Media Login: Simplifies user authentication across platforms.
  • Weather Apps: Provides real-time weather information utilizing API calls.
Technical Example (Backend View – API Call)
  • API Call Example:
    • GET https://api.weather.com/v1/location/Manila?apikey=yourAPIkey
    • **