As stated earlier, the categorization approach I just presented is only one possibility. In addition to the categories and layers introduced in the previous section, several other categories and layers might exist. For example, you might introduce special layers to separate external services from internal services. You might also divide a process layer into different sublayers, according to certain technical and/or business rules. Or, according to your domain model, you might have some composed services that deal only with your domain, while others deal with multiple domains.
Also bear in mind that fundamental SOA, federated SOA, and process-enabled SOA are not the only possible stages of expansion when establishing SOA. For example, one important stage of expansion is when service management (with service repositories) comes into play (which is somewhat independent from the stages). See Chapter 19 for a more detailed discussion of establishing and implementing SOA.
I have observed and read about several other service categorizations that you might find helpful. I'll present some of them here.
One way to categorize services is to differentiate them according to their target audience. That is, some services may be internal, while others are for the public; likewise, some services might be for a particular department, while others are for the whole company.
The reason for these distinctions is that these services ...