Solution structure

In this section, we will briefly view the high-level code organization for our sample SOA services. Doing this will not only make it easier for you to follow the sample code, but also give you an idea of the steps taken to reach the level of SOA services implementation. Sample services here are just an example and are incomplete, and in some places, left to be inconsistent to exhibit the real-world style; however, they follow the step-by-step structural pattern, which is fundamental to the implementation of an SOA platform.
Note that the organization of SOA services, conventions, versioning, and change of management are part of implementation of any SOA platform, which should be part of the platform definition process.

The following screenshot is an eagle-eye view of the structure of the solution for SOA services in the given context:

Indicative solution structure for department wise SOA services

In the preceding screenshot, you can see how all services are organized in their own distinct location, and, more or less, they all follow the same conventions of the project hierarchy and layers. In real life, all SOA services need not, and would not, present as part of the same single solution- it would be an overkill.

We have chosen to leave the implementation of services in proper layers, for example, segregating Model/Entities, the Business Logic Layer, and the Data Access Layer, but in real implementation, they should be well taken care of as per organizational standards. A good detailed overview of the layered architecture has already been presented to you in a previous chapter of this book, which should be a starting point.

Each SOA service, for any department, has at least these modules:

  • Service Interface layer:
    • This can be either based on SOAP/XML (exposing WSDL).
    • Or this can be either based on RestEST services with JSON, or XML, or both.
    • In our examples, we have chosen to go with REST-based HTTP web services, because they are modern, lightweight, a bit faster, and more popular with JSON-based usage. Additionally, Windows Communication Foundation (WCF) currently supports only web services client functionality on the .NET Core cross-platform framework.
  • Business Logic layer
  • Data Access layer
  • Model or Entities layer
  • Testing layer
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.227.183.153