Basics about system integration Flashcards

1
Q

What is System Integration?

A

SI is the process of connecting different components into a single larger system that functions as one.

SI is also used to add value to a system through new functionalities provided by connecting functions of different systems based on protocols, patterns and rules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is System Integration needed?

A

To follow the advancing technology regarding communication between both old, existing and future software.

  • Most Enterprises are dealing with a great amount of apps which are custom built, part of legacy systems and operating in different OS’s. This makes integration vital since many elements in a system needs to be able to send data back and forth.
  • Software technology is advancing very fast and the need of adapting components with other components both new and old will be unavoidable.
  • If anyone want to succeed following the advancing technology or make use of existing or older software they need undergo integration transformation, since software will eventually get outdated and new communication protocols, patterns and rules will be invented.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Which kind of challenges is mentioned in SI?

A
  • Business
  • Software
  • Developers
  • Infrastructure
  • Integration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are SI Business Challenges?

A
  • The Accumulation of software
  • Companies develop over time
  • Legacy Systems
  • Employee Churn, replacement
  • Partnerships (Horizontal/Vertical Integration)
  • The Accumulation of software:
    (The gathering of multiple software to accomplish the business requirements, resolves
    in the need for integration between software)
  • Companies develop over time
    (New features or whole systems can be changed)
  • Legacy Systems
    (Legacy system may be reused in newer systems, which therefore need to be integrated to fit each other’s communication protocols)
  • Employee Churn, replacement
    (Meaning that employees will be replaced at some point and therefore a new employee need to be able to know how to communicate with other systems in the same way the old employee did)
  • Partnerships (Horizontal/Vertical Integration)
    (
    ○ Horizontal Integration
    A separate sub-system is used as a common interface layer between all sub-systems. Very often this layer is referred to as an Enterprise Service Bus (ESB). This method allows each sub-system to have just one single interface to communicate with all the other sub-systems connected to the common interface layer (i.e., with ten system, there are only ten connections). The benefit of this method is also that each sub-system can be changed or even replaced without having to re-do the interfaces of any other systems.
    ○ Vertical Integration
    Subsystems are integrated according to functionality by creating “silos” of functional entities, beginning with the bottom basic function upward (vertical). This very quick method only involves a few vendors and developers but becomes more expensive over time because to implement new functionalities, new silos must be created
    )
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are SI Software Challenges?

A
  • Complexity
  • Different languages & frameworks
  • Conflicting data types or Inconsistent implementation.
  • Changes and updates in a system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are SI Developers Challenges?

A
  • Lack of standardized processes and documentation
  • New technologies
  • Everyone implement by “their own way”
  • Difficult to integrate with legacy systems without
    knowing how they work.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are SI Infrastructure Challenges?

A
  • Networks are unreliable
  • Sending data across networks
  • Different ways of integrating system
  • Networks are unreliable, always a system that is being booted or other issues.
  • The delay that appears when sending data across networks.
  • The different ways of integrating system (protocols & rules)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are SI Integration Challenges?

A
  • Creating communication between components
  • The need for assisting system to get more functionality
  • Keeping Standardised patterns
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Which consideration should be taken, when talking about system integration?

A
  • Use of Low coupling, high cohesion
  • Keep the application simple
  • Which kind of integration technologies to use
  • Data Format (WSDL, JSON, CSV, XML etc…)
  • Minimising sharing data transfer time.
  • Asynchronous calls
  • Application Coupling
    Though integrated apps, should have minimum dependencies – coupling
    This will support future development without breaking a system
    Solved through defining specific enough interfaces, but generic enough so it can account for future changes
  • Intrusiveness
    KISS- Keep It Simple Stupid
    Strive to minimize the changing the application and the amount of code needed
    Requires a good understanding of the given requirements
    Requires accounting for future development as well!
  • Data format
    Integrated applications must agree on a format of the data they exchange
    WSDL, JSON, CSV
    If a common denominator (protocol, rules) cannot be reached, a translator needs to be implemented
    Recurring issue - The format can change over time, affecting the integration
    Can solve this with a shared database or a middleware
  • Data Timeliness
    Integration should minimize the time between one application sharing some data with other applications that are dependent on that data
    Should be done in small chunks, whenever an update/create/delete operation occurs
    The longer sharing takes, the more chances of data to become stale and the possibility of running into more complex integration problems
  • Functionality
    Sometimes we are not interested in the data as much as we are interested in functionality
    This is done through well-defined interfaces, RPC, RMI and API’s
    Considerations need to be made, as though it appears that functionality is invoked as if it were local, it’s not - network issues
  • Asynchronicity
    Computer processing is usually synchronous.
    When working with remote resources, async calls are ought to be made.
    This will solve three issues:
  • Will not block the main thread of a program - it will execute in the background
  • Does not assume that the accessed resource is available all the time
  • Allows resources from outside of the network to be accessed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Which patterns are helpful in System Integration?

A

To help your system become more integration friendly the use of the patterns will be helpful:

  • File Transfer
  • Messaging
  • Shared Database
  • Remote Procedure Invocation – typically RPC
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why use integration patterns?

A

They help your system becomming easier to add or remove components in the future by making components more or less independent.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly