From an e-mail: "Do all services share the same patterns?" In the world of SOA, there are two types of services: data services, and transactional services, and each requires a different approach to designing, building, testing, and governing. Data services, as the name implies, means that the service typically provides data abstraction representing a physical database or databases, and thus is more data-oriented From an e-mail: “Do all services share the same patterns?” In the world of SOA, there are two types of services: data services, and transactional services, and each requires a different approach to designing, building, testing, and governing. Data services, as the name implies, means that the service typically provides data abstraction representing a physical database or databases, and thus is more data-oriented and should be tested as such. You need to monitor the consumption of information from the physical data stores, the re-mapping of the data into the new schema, and the new structure provided to the other services or orchestration layer that is interacting with the data service. Transactional services, as the name implies, deal with data and are really the core services providing application behavior and functionality. Thus, while you do need to monitor information flowing through these services, and the changes made to that information, you also need to pay attention to the processing, and test those features as well. Of course it’s not that simple. There are also hybrids of these services, such as abstracted and composite services, which are services unto themselves, but are made up of other services, either transactional or data services. Moreover, there are sub-patterns around services we can also identify. Perhaps a topic for another posting. Keep the e-mail coming. Make sure to put “Real World SOA” in the subject. Software Development