Open for commentsSelect text to comment

Notes

Modern software systems rarely operate in isolated environments, large businesses often require different systems to communicate with each other because information is shared between different departments for day-to-day operations.

For example, employees and managers may use one system for filling in and approving time sheets, while the payroll and accounting department may use a different system to process the time sheets and pay employees.

As a software developer, you need to be able to create a software architecture that is capable of sharing information between separate components. Before creating the software you need to address some issues first:

  • The state of a component is only temporary while the component is running: This means that any objects created and any amount of data processing will be lost the moment you stop running the components. You can can fix this by saving the data to a file, but this sadly introduces other issues:
    • What format will the file have?
    • How will you distribute the files through the components?
  • The need to communicate the state of our data between multiple components.

To solve the previous issues you can use a data-centric architectural style that will allow you to:

  • Allow you to store and share data between multiple components.
  • Increase maintainability, reusability and scalability of the system.
Built with LogoFlowershow