Bernard O’Flynn (Hewlett-Packard) asked a great question.
I have a fairly standard app consisting of a web site that calls a business services layer, that calls a business entity layer that calls a data access layer that uses Enterprise Library to access a SQL 2005 database. The business services layer also access some external web services (MSO) to lookup customer address details, etc.
I have structured the solution so that each layer is a seperate assembly and project. Is there something in Whidbey that can diagram all these links? I know there is the distributed system diagram but that seems to require that you have a web site calling web services. I seem to be missing some vital piece of info in terms of using the distributed system diagram or the system diagram or the application diagram to map out the architecture?
I was hoping that Whidbey would handle mapping out these links between layers if all the project references are setup correctly? Or even better allow me to draw it all out and then create my projects and assemblies correctly?
Am I missing something here?
Thanks for the feedback. You are right in assuming that this scenario is not supported by the Application Designer (or System Designer). The Application designer does not visualize Class Libraries. We consider an Application to be an individually deployable unit of function. Class Libraries that are referenced are considered to be a part of the Application abstraction as they will be deployed with the Application. Nevertheless, we do recognize the importance of this scenario and are working to support it in future versions of the Distributed System designers.
Please note that the Application Designer does visualize a reference to a web service by a Class Library as a consumer endpoint on the application. We also visualize ConnectionStrings on our designer if they are in the web.config (Web.NET projects) or app.config (SmartClient projects).
Enterprise Libraries, however, define their own database connection configuration section:
Unfortunately, this is not supported by the Application Designer.