Regarding the understanding of Northbound interface and Sounthbound interface of a system, which one will be correct?

  • A

In understanding A, the traffic from/to higher level system is northbound interface (blue), while that from/to lower level system is southbound interface (orange).


  • B

In understanding B, the traffic from lower to higher is northbound (blue), while that from higher to lower is southbound (orange).


  • 3
    Blue vs. orange, up vs. down, north vs. south, A vs. B. All of these are arbitrary; they are merely stand-ins for other concepts, which depends entirely on context.You have given absolutely zero context. You've essentially asked us the relationship between stand-ins without knowing what they stand for.
    – John Wu
    Feb 7 '20 at 9:27
  • It's option A, not B; It's the role and the positioning, not the direction of flow.
    – Erik Eidt
    Feb 7 '20 at 15:59

The traffic itself is not the interface. The interface is, in one sense, represented by the rules and conventions of how one system talks to another, and in a different (but related) sense, it is a piece of code on the periphery of a system that implements those rules, making the communication possible.

When two systems communicate, data can flow in either direction, depending on what exactly these systems do. For example, the internal code of some system may make calls to its northbound interface layer in order to talk to a higher level system; the northbound interface will then communicate with the southbound interface of the other system, which will in turn interact with the internals of that higher level system.

So it's more like this:

enter image description here

The interfaces define the way the communication happens, making the internals of each system decoupled from each other.


I’m not familiar with north and south in an abstract world.

Interfaces have the purpose of decoupling elements. So separating your system from other systems in the stream. The idea is that every system can be replaced by another one that offers the same interface.

So you have at least two interfaces here: an interface on the system upward that you call north, and an interface to the system downward, which you call south.

With the understanding B you would not have one northbound interface but two. So interfaces and not interface. Therefore A can be the only correct understanding if you speak of one interface.

Even if you’d consider having technically four interfaces (north/south * in/out), only understanding A makes sense, since it would be about 2 distinct categories of interfaces that depend on the system with which would be BOUND at the north or the system BOUND at the south.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.