Using APIs to Build a Great Architecture

DZone 's Guide to

Using APIs to Build a Great Architecture

Don't let API integration be an afterthought in your application; it should be considered in the design and underlying architecture of your app.

· Integration Zone ·
Free Resource

Image title

As we often say, APIs are the way to connect applications, data, and devices that will give your organization greater agility and flexibility. We recommend an API-led approach to connectivity that will enable your business to take advantage of digital transformation. But how does API-led connectivity work from an architecture perspective?

Software company Perficient has put together an excellent overview of our three-layered approach to API-led connectivity, highlighting the three layers:

  • System APIs
  • Process APIs
  • Experience APIs

System APIs are the core systems of record underlying core systems of record (e.g. ERPs, key customer and billing systems, databases, etc.). Process APIs allow you to define a common process which the organization can share, and these APIs perform specific functions, provide access to non-central data, and may be built by either Central IT or Line of Business IT. And finally, the Experience APIs are the means by which data can be reconfigured so that it is most easily consumed by its intended audience, all from a common data source.

The three-layered structure allows for a seamless flow of data from systems of record to new experiences, and allows for reusability of assets rather than point to point connections. This approach provides a distributed and tailored approach to architecture, greater flexibility through loose coupling, and deeper operational visibility into what is being built.

Take a look at more resources about MuleSoft’s approach to API-led connectivity and API design.

api, architecture, integration

Published at DZone with permission of Shana Pearlman . See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}