SYSTEMS INTEGRATION ARCHITECTURE
Provides a bridge between the operational applications and platforms.
Ties together the mix of platforms, operating systems, transports, and applications.
Encompasses the multiple layers of new and existing systems and middleware between.
Enables new applications to use existing resources with minimal disruption.
APPLICATION COMMUNICATION MIDDLEWARE
Communications Middleware is a computer software that enables two separate software components, processes, and / or applications between multiple devices.
Often referred to as Inter-Process Communications or IPC
Common goals include:
Enabling distributed applications
Creating operating system and platform independence
Providing interoperability
APPLICATION COMMUNICATION MIDDLEWARE
Benefits to using a communications middleware:
Application portability
Reduced development costs
Simplified application code
CLASSIFICATION OF IPC MECHANISMS
Functional Middleware - sometimes known as Service Oriented Middleware.
Client - server relationship
Fundamentally a point-to-point architecture, and the client and service are tightly coupled.
Message Oriented Middleware (MOM)
Includes a publisher/producer that generates data or messages and a subscriber/consumer that accesses the data.
Publishers and subscribers are loosely coupled.
APPLICATION INTEGRATION
Process of enabling individual applications - each designed for its own specific purpose - to work with one another.
By merging and optimizing data and workflows between multiple software applications, organizations can achieve integrations that modernize their infrastructures and support agile business operations.
Enables business to operate more effectively and efficiently.
APPLICATION INTEGRATION
API - Application Programming Interface
Set of functions and procedures that specify how software components should interact.
Events and Actions
An event is an occurrence in your connected applications.
Data Mapping
Specifies the information exchange that's to be used.
DATA ACCESS INTEGRATION
Data integration refers to the technical and business processes used to combine data from multiple sources to provide a unified, single view of data.
Practice of consolidating data from disparate sources into a single dataset with the ultimate goal of providing users with consistent access and delivery of data across spectrum of subjects and structure types, and to meet information needs of all applications and business processes.
DATA INTEGRATION TECHNIQUES
Extract, transform, and load - copies of datasets from disparate sources are gathered together, harmonized, and loaded into a data warehouse or db.
Extract, load, and transform - data is loaded as is into a big system and transformed at a later time for particular analytics users
Change data capture - identifies data changes in databases in real-time and applies them to a data warehouse or other repositories
Data replication - data in one database is replicated to other databases to keep the information synchronized to operational uses and for backup
Data virtualization - data from different systems are virtually combined to a create a unified view rather than loading data into a new repository
Streaming data integration - a real time data integration method in which different streams of data are continuously integrated and fed into analytics systems and data stores.
ELECTRONIC DATA INTERCHANGE (EDI)
Electronic interchange of business information using a standardized format; a process which allows one company to send information to another company electronically rather than with paper
Standardizes the information communicated in business documents, which makes possible a "paperless" exchange
WEB SERVICES
Application or data source that is accessible via a standard web protocol
(HTTP or HTTPS).
Designed to communicate with other programs, rather than directly with the user
The most common web service protocol is Simple Object Access Protocol
(SOAP) - simply adds a header to each XML message before it is transferred.
NETWORK PROGRAMMING
Computer network programming involves writing computer programs that enable processes to communicate with each other across a computer network.
For connection-oriented communications, communication parties usually have different roles. One party is usually waiting for incoming connections; this party is usually referred to as "server". Another party is the one which initiates connection; this party is usually referred to as "client".
EVENT DRIVEN PROGRAMMING
The flow of the program is determined by events such as user actions, sensor outputs, or message passing from other programs or threads.
The dominant paradigm used in graphical user interfaces and other applications (e.g., JavaScript web applications) that are centred on performing certain actions in response to user input.