Defining a System
We have now described the basic application architecture. The
This definition may already seem confusing given that an application diagram already represents the configuration (settings and constraints) of the applications you intend to deploy. This is what makes system diagrams optional. You can simply use the application diagram and move it into your infrastructure. However, there is a real use for system diagrams.
System diagrams can
It helps to think of an example. Suppose you intend to deploy your service layer twice: once in your intranet zone and again in your Internet zone. The base application architecture does not change. What changes are the settings for a specific deployment. Therefore, you can create two systems, one for each deployment. Each system draws on the base application architecture. In addition to allowing configuration
There are a couple of ways to add a system diagram to your solution. You can use the item template, as we described earlier; or you can select one or more applications, right-click, and choose Design Application System. In either case, you will be working with the applications defined in your application diagram. Recall that a given solution may contain only one application diagram. All system diagrams will use the applications defined in this diagram. Figure 21.12 shows an example of selecting three applications and starting the System Designer.
Figure 21.12. Defining an application system.
The System Designer contains a System View window and the System Designer (SD) window. The system view is like a Toolbox of items that can be added to the SD window. Its contents are directly linked to your application architecture diagram. Each application you defined there is available to be added to the system from the System View window. Figure 21.13 shows an example of a system in the designer.
Figure 21.13. The System Designer.
Notice that this system view is not unlike the view you had on the application diagram. The difference here is that this view is constrained to this single system. You also have access to the Settings and Constraints from this designer. This will allow you to do the setting overrides for the system, as we discussed.
Creating Proxy Endpoints
The outer box of the System Designer represents the way in which you intend to expose the system for communication from other applications and systems. Notice that in Figure 21.13 there are two endpoints on this outer box: One points to the CrmServiceLayer and one points to the SalesAnalysisServices application. These endpoints are called proxy endpoints; they allow you to define the communication that is allowed to the system.
The proxy endpoints are not on the outer system box by default. You must explicitly select and drag the application endpoints to the other box to create these proxy endpoints.
Connecting Applications to Systems
You can use the System Designer to connect an application inside a system to another, previously defined system. This way, you can reuse the configuration of the system for defining new systems.
As an example, suppose you want to define a system for the sales client application. Recall this is a Windows-based client that connects to the service layer. It would be useful to create one or more systems for the actual deployment of this client. However, each system will talk to a deployed version of the service layer system.
Therefore, you add a new system diagram to the solution. On this diagram you will drag the SalesAnalysis application. The System View tool window also gives you access to the other systems you have created. Under the Systems folder, you will see the ServiceLayer system created in the prior example. You will drag this onto the designer as well.
The ServiceLayer shape is represented as a system (and not an application). You have access only to the proxy endpoints exposed by the system. You will use the SalesAnalysis endpoints to connect to the two proxy endpoints of the ServiceLayer system. The diagram will enforce that you connect the proper endpoints (based on the WSDL).
Figure 21.14 shows the completed system diagram. We will come back to these diagrams when we deploy the application into the logical datacenter.
Figure 21.14. Creating a system that uses another system.
It is helpful to remember that the systems defined here do not physically exist. Rather, they define application configurations at the time of deployment.