0 Replies Latest reply: Aug 1, 2013 3:21 PM by Debbie_1004338a RSS

    About Services and Interfaces


      Not sure where to post this, but here goes...


      Could someone please help me better understand the differences between a "Service" and an "Interface"?  (Platform neutral)


      When someone says "Service", to me that means a mini Program/Function which...

      - Takes in INPUTS

      - Performs one or more PROCESSES

      - Returns OUTPUTS


      The "Service" is usually accessible to other Systems - as opposed to a "Function" which implies something internal to a System/Application.


      You "call" a Service, and the Service performs some actions.



      When someone says "Interface", to me that means a way to connect to something, whether that be a System, Program, or Function.


      In Programming, you typically refer to an "Application Programming Interface" (API).


      With Systems, I have typically heard the term "Interface" as in an "Interface Control Document" (ICD).




      Now talking about these concepts together....


      To me, an "Interface" is a static thing that takes INPUTS and returns OUTPUTS in a certain format.  Nothing more.


      A "Service" is a dynamic thing that actually performs one or more activities.


      When doing requirements and diagrams, wouldn't you want to show the SERVICES and the DATA that is passed between them, and *not* show INTERFACES which are really just a means to an end?


      On my current project, I have inherited a bunch of requirements that are impossible to read, and it seems like the author did not understand the difference between a "Service" and an "Interface".


      Hope my ramblings and questions above make some sense?!