13 Integration

 

This chapter covers

  • API design
  • Release cycle
  • Operating the system
  • Overrides and fallbacks

As we claimed earlier, the worst thing you can do is build a system, only to put it on a shelf instead of going live. Both of us have faced such problems at least once in our careers, and it is not an experience we recommend.

A rookie mistake would be to think that integration is a one-time event or a single phase of a project. That is an antipattern: you cannot just dedicate some weeks to future integration and start building a system in a vacuum. In reality, it is a continuous process that starts from the very beginning of the project and ends only when the system is decommissioned. Even more, when the system’s life cycle comes to an end, it requires certain deintegration efforts, making sure none of the direct or indirect users will be affected by switching it off. Proper integration is the key to the success of your system, making it much easier to get feedback on and improve. The smoother various elements are integrated into your system, the shorter the feedback loop and the faster the iterations you can implement.

In this chapter, we discuss how to efficiently integrate your system, with a focus on technical aspects.

13.1 API design

13.1.1 API practices

13.2 Release cycle

13.3 Operating the system

13.3.1 Tech-related connections

13.3.2 Non-tech-related connections

13.4 Overrides and fallbacks

13.5 Design document: Integration

13.5.1 Integration for Supermegaretail

13.5.2 Integration for PhotoStock Inc.

Summary