Overview
The logical datacenter diagram communicates important
information to developers about the target environment into which their application
systems will be deployed. The Logical datacenter Designer is used to create
the logical representation of the logical datacenters. Logical Datacenter
designer does not give any information about the physical machines or even
machine types in a datacenter. It is, however, used to define or document the
configurations of application server software such as IIS, SQL Server or
BizTalk server and to show how these configured logical servers are
interconnected.
Using logical datacenter designer, we can define zones and
logical servers. The zone represents the communication or the other datacenter
boundaries. A single machine in the physical environment can be represented by
combining multiple logical server diagrams. A physical server with Windows
Server 2003, Internet Information Services (IIS) 6.0, and SQL Server would be
represented by three separate logical servers. After defining the servers, we
can include the communication pathways between the servers. Using the settings
and constraints editor we can define the types of applications the server can
host, the allowed settings for the hosted applications and configure the
settings for the server. We can also create reusable custom prototypes.
Logical datacenter Designer is fully integrated in Visual
Studio 2005. Architects and developers can use these diagrams in their
deployment designer. They can validate the deployment of the applications
against the constraints defined in the datacenter diagrams.
Creating logical datacenters
We will see in action how to create a logical datacenter. The
datacenter contains two IIS web servers and one database server. The first IIS
web server hosts the application of presentation tier. The second IIS web
server hosts the web services consumed by the presentation tier application. The
database server will host the database used by the application. We will create
one single logical diagram to represent these servers. The logical diagram is
not directly mapped to the physical machines or servers. Multiple logical
servers may be used to represent a single physical machine or a single logical
server may be used to represent multiple physical machines. Let us create the
logical datacenter diagram using visual studio 2005.
In Visual Studio 2005 select the option File | New | Project
| Distributed System Solutions | Logical Datacenter. Name the new project as
"LogicalDatacenterDemo." Now the solution gets created with one file
in the items list as "LogicalDatacenterDemo.ldd."
Figure 1

The logical datacenter designer comes with the following
five default elements in the Toolbox.
·
IISWebServer – A server that hosts ASP.Net Applications.
·
DatabaseServer - A server that host the database.
·
Generic Server - Represents a custom server type.
·
WindowsClient – Represents a client.user machine.
·
Zone – A logical boundary such as a firewall.
The Toolbox of the logical datacenter also contains the following
six different endpoints with three endpoints for the client side and three
endpoints for the server side.
·
WebsiteEndpoint - Server side of HTTP connection
·
HTTPClientEndpoint - Client side of an HTTP connection
·
DatabaseClientEndpoint - Consumer of a database connection
·
GenericServerEndpoint - Server side of a custom created
server connection
·
GenericClientEndpoint – Client side of a non specific
connection
·
ZoneEndpoint – Communication endpoint on the zone
Using the Toolbox, drag and drop two IISWebServer and one
Database Servers on the logical designer surface. These elements have default
endpoints that represent the connection points for communication paths within a
datacenter. Communication can occur only through the connected endpoints. By
default the elements can have zero, one or multiple endpoints. You can see the
IISWebServer as having two endpoints by default and the Database Server as having
only one endpoint by default. The IISWebServer element exposes a
WebSiteEndpoint that defines the incoming server side calls and an
HTTPClientEndpoint that represents outgoing connections from the webserver. To
define the communication path between the endpoints, hold the ALT key while
dragging one endpoint to a compatible endpoint. This can also be done using
the “Connect…” option from the context menu of the server. Using the “Create
Connection” dialog you can choose the target logical server or zone and the corresponding
endpoint to create the connection.
Figure 2

The connection paths must be made between the compatible
endpoints. For example, if you try to connect the service tier web server with
the Database server endpoint, you will see no drop mouse cursor and you will
not be able to connect the two. You must choose the compatible endpoints from
the Toolbox for the servers.
Constraints and Settings for the logical servers
The Constraints and Settings editor is used to set the
policies required for the model. Using this editor we can configure settings
on applications, endpoints, logical servers and zones. We can also import
existing settings from the IIS web server and we can also have our own custom
settings. To get the Constraints and Setting editor, right click on the server,
which opens the context menu, and choose the option "Settings and
Constraints."
Figure 3

The editor displays the different types of settings and
constraints in a tree form with two top level nodes as “Application Constraints”
and “Logical Server Settings.” These are the options for the “IISWebServer.”
The settings and constraints will differ with the type of the logical server. The
“Application Constraints” node displays the pre-defined and user defined
constraints. On selecting a pre-defined constraint, the settings or options
are displayed for the selected constraints. Initially the settings for the
selected constraints are disabled. These options get enabled upon choosing the
particular constraint checkbox. For example, on choosing the “ASP.Net
Security” constraint checkbox the settings like “Allowed security modes” will
get enabled. Upon choosing the forms security mode, the “Forms authentication”
options is enabled so that you can choose the appropriate options for your
application.
Figure 4

On choosing the ASP.NET Session State, you can see different
options for maintaining the session state, Http cookie modes and the settings
for SQL Server and State Server, which depends on the selected session mode.
Using the Logical Server Settings node you can define the
settings required for the server to host the application.
You can also import the exiting IIS Server settings using the
“Import IIS settings wizard.” To get this Wizard, right click on the Settings
and choose the option “Import Settings…” from the context menu.
Figure 5

Figure 6

Zones & Adding Zones to the Logical Datacenter
Designer
Zones represent the communication boundaries in the
datacenter. It can represent a physical boundary or a logical boundary. The
physical boundary can be a machine in another network or in a different place. The
logical boundary could be a firewall. You can add logical servers and zones to
the zones. Follow these steps to add zones to the logical datacenter diagram.
·
Drag and drop the required number of zone elements to design
surface.
·
Select the logical server IISWebServer1. Drag and drop the
server into the zone element. Now you can see that the connection between the
IISWebServer1 and IISWebServer2 is broken. In this same way add the second
IISWebServer2 into the second zone.
·
You can see two different endpoints on the Zone elements. One
represents the inbound communication to the zone and the other denotes the
outbound communication from the zone. Now connect the outbound communication
endpoint of the first zone to the inbound communication endpoint of the second
zone. You can add zone endpoints from the toolbox if it is required. There is
a third type of endpoint which is a bidirectional endpoint. This represents the
communication flow between the two zones in both ways.
·
Now connect the HTTPClientEndpoint of the IISWebServer1 to the
outbound endpoint of the zone in which the IISWebServer1 resides. In the same
way connect the inbound endpoint of the second zone to the WebSiteEndpoint of
the IISWebServer2. Now you can see that both zones are connected and both web
servers are connected. You can place the DatabaseServer element into the
second zone or create a new zone and place the database server as per the
requirement.
Figure 7

You can configure the zones using the Settings and
Constraints Editor. You can configure the type of logical servers that the
zone can contain and the communication protocols that can pass into or out of
the zone. You can also add custom settings to the zones. The configured zone
can be made as a reusable prototype and added to the Toolbox.
Summary
In this article you have learned how to work with the
Logical Datacenter Designer using Visual Studio 2005.