In this chapter we've shown what a typical service-oriented application design will look like when drawn using Application Designer. You learned how to draw this design yourself by placing application prototypes, endpoints, and connections onto the design diagram. In doing so, you also learned how to perform some useful tasks:
How to reference an external database
How to reverse engineer an external Web service
How to add your own reusable prototype to the toolbox
Our design made use of the most common application prototypes: WindowsApplication, ASP .NETWebService, ASP .NETWebApplication, ExternalDatabase, and Generic Application. We also discussed how one of our services could in reality take the form of a third-party service modeled using the ExternalWebService prototype. Two additional prototypes were not used: the OfficeApplication (which could represent an Excel application that extracts web content from an ASP .NETWebApplication using the Excel's Web Query feature) and the BizTalkWebService (which would be used in much the same way as ExternalWebService). In fact, we could never hope to cover every application prototype that you might find in the toolbox because this list is sure to increase over time—as Microsoft, various third parties, and you yourself introduce new application types.
Having drawn up the static design, we identified the dynamic modeling limitation and suggested a technique for adding limited dynamic information in the form of numbered comments.
Because the major strength of Application Designer lies in its ability to quickly translate a design into a deployable implementation, we have given a lot of attention to that aspect. By making only very minor changes to the auto-generated code and deployment websites, we have—by the end of the chapter—created a working end-to-end system.
Additional examples of using Application Designer to construct a distributed system design and take it right through to implementation can be found in Tony Loton's MSDN article "Introduction to the Visual Studio 2005 Application Designer," parts 1 and 2, at http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/introappdesigner1.asp and http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/introappdesigner2.asp.
Toward the end of the chapter, we tied up a few loose ends by describing the synchronization between the model and code, the ability to reverse engineer existing solutions, the existence of the Settings and Constraints Editor (which we'll revisit in the next chapter), and the ability to reproduce your design diagrams in hardcopy format.
Though we've taken a design all the way through to implementation and deployment, we've done this very simply by not specifying any deployment configuration details at all. That served for the purposes of this chapter, but if you're serious about using the Visual Studio 2005 Team Edition for Software Architects to design deployable systems, you'll need to read on.
In the next chapter, you'll learn about the Logical Datacenter Designer, which enables you to design the logical infrastructure against which your applications will be deployed; and after that you'll learn how to map applications designed with Application Designer onto the logical datacenter using System Designer and Deployment Designer so that you can evaluate your deployment.