How can I tell if a system is built upon a service oriented architecture when reading its source code?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
SOA is an architecture style, and so, the intend is more important than the code. Who says, the code you think is SOA-Style does not get refactored the next iteration? Generally, i would expect, it's easier just to ask the architect.
That said, ideally (i.e., when intend and source match), the following apply:
(EDIT: cleaned the answer a little)
Normally, unless you are the person responsible for it you are not required to know it. You may not see anything in the "code" but rather in configuration files. If you spot configuration files on how to communicate with remote services, for example with an ESB, or as @keppla said via RPC, SOAP, then there are chances that some form of SOA-architecture is used - at least - between these two components.
But if you really want to know though, you may ask the architect, or the IT manager, they should know.
If the system makes numerous calls to services which encapsulate their own logic and are defined only by their contract (parameter types and operations), then it is likely a service oriented system.
If the system doesn't make any calls to external services, then it's not a service oriented design.