Application Types and Prototypes for Defining Applications
In Application Designer, the Toolbox includes predefined application prototypes that you can use to define applications. An application prototype defines a preconfigured application of a specific application type. For example, you can begin defining an ASP.NET application that exposes a Web service by dragging the ASP.NETWebService prototype from the Toolbox to the application diagram. This action creates an ASP.NET application that has a default .NET Web Service provider endpoint. For application types that support implementation, Visual Studio generates the appropriate projects when you implement them so that you can continue defining these applications in code. You can also create custom prototypes from applications and endpoints already configured on the application diagram as well as expand the set of application types and prototypes you can use by installing packages supplied by Microsoft or third-parties or by creating them using the System Definition Model (SDM) Software Development Kit (SDK).
The following sections contain more information about application prototypes:
Application Types and Prototypes
Defining ASP.NET Applications
Defining Windows and Office Applications
Representing External Applications
Representing Unsupported or Unspecified Application Types
Creating and Adding Custom Prototypes to the Toolbox
Adding and Extending Application Types
Application Types and Prototypes
The following table summarizes and describes the application types available in Application Designer, endpoint types supported by these application types, implementation support if available, and the type of project generated. You can add support for additional application types and endpoint types on those application types using the SDM SDK or as a result of installing a third-party package. For more information, see Creating and Adding Custom Prototypes to the Toolbox and Adding and Extending Application Types.
Application type |
Description |
Supported endpoint types |
Supports implementation? |
Project type |
---|---|---|---|---|
ASP.NET Web application |
Defines an ASP.NET application. |
|
Yes. Web service and database consumer endpoints on this application also support implementation. |
ASP.NET Web site |
External database |
Represents a database. |
|
No |
Not applicable |
External BizTalk Web service |
Represents an external Web service that is known to be a BizTalk Web service. |
|
No |
Not applicable |
External Web service |
Represents an external Web service as defined by a Web Services Description Language (WSDL) file with a single WSDL binding and has a default Web service provider endpoint. |
|
No |
Not applicable |
Generic application |
Represents an unsupported or unspecified application. Exists for documentation purposes only. |
|
No |
Not applicable |
Office application |
Defines a Microsoft Office application and supports Excel, Outlook, and Word templates. |
|
Yes. Web service and database consumer endpoints on this application also support implementation. |
Office |
Windows application |
Defines a Microsoft Windows application and supports console application, Windows application, and Windows service templates. |
|
Yes. Web service endpoints and database consumer endpoints on this application also support implementation. |
Windows |
The following table summarizes the predefined application prototypes available in the Toolbox, the application type created, default endpoints on those prototypes, and the default project template and language. You can also add prototypes by creating them from applications already configured on the application diagram, by installing the necessary prototype files produced by the SDM SDK, or by installing third-party packages that define new application types. For more information, see Creating and Adding Custom Prototypes to the Toolbox and Adding and Extending Application Types.
Application prototype |
Application type created |
Default endpoints |
Default project template |
Default language |
---|---|---|---|---|
ASP.NETWebApplication |
ASP.NET Web application |
Web content provider endpoint |
ASP.NET Web Site |
Visual Basic |
ASP.NETWebService |
ASP.NET Web application |
.NET Web Service provider endpoint |
Empty Web Site |
Visual Basic |
ExternalDatabase |
External database |
Database provider endpoint |
Not applicable |
Not applicable |
BizTalkWebService |
External BizTalk Web service |
Web service provider endpoint |
Not applicable |
Not applicable |
ExternalWebService |
External Web service |
Web service provider endpoint |
Not applicable |
Not applicable |
GenericApplication |
Generic application |
None |
Not applicable |
Not applicable |
OfficeApplication |
Office application |
None |
Excel Workbook |
Visual Basic |
WindowsApplication |
Windows application |
None |
Windows Application |
Visual Basic |
For more information, see the following topics:
Defining ASP.NET Applications
You can add ASP.NET applications that expose Web content, .asmx file-based Web services, or both to the application diagram by using the ASP.NETWebApplication or ASP.NETWebService prototypes, respectively. Both these prototypes create ASP.NET Web applications. However, the ASP.NETWebService prototype creates an application with a default .NET Web Service provider endpoint, while the ASP.NET WebApplication prototype creates an application with a default Web content provider endpoint. You can add Web service or Web content endpoints to an ASP.NET Web application once it's created, regardless of the initial prototype used. You can also define operations for each Web service provider endpoint on an ASP.NET Web application. Operations correspond to Web methods in the underlying Web service class. ASP.NET Web applications support implementation in your solution. For more information, see Overview of ASP.NET Applications on Application Diagrams.
Support for ASP.NET Development Server Web Projects
Distributed System Designers support ASP.NET applications running on ASP.NET Development Server as well as Internet Information Services (IIS). By default, ASP.NET applications are ASP.NET Development Server Web projects (file system-based) as opposed to IIS Web projects (HTTP-based).
Note
For solutions checked into source code control, checking out an application diagram assigns new ports to Web services on ASP.NET applications, if those applications are implemented as file system-based and are connected to implemented consumer applications. This action requires updating the Web service references associated with those consumer applications and requires checking out the associated consumer application projects. However, you can avoid this situation by specifying that those projects do not use dynamic ports.
You can migrate ASP.NET Web applications that are implemented as ASP.NET Development server Web projects to IIS at a later time without any data loss. However, some limitations exist when with ASP.NET Development Server. For more information, see the following topics:
Support for Web Services Enhancements (WSE)
You can use versions of WSE 3.0 with applications built using Distributed System Designers. However, Distributed System Designers does not offer integration with WSE 3.0 or earlier versions. For example, settings and constraints for WSE are not available for editing in the Settings and Constraints Editor, nor can WSE configuration and policy sections in application configuration files be edited using the Settings and Constraints Editor. For more information, visit the Web Services Enhancements page on MSDN online at https://go.microsoft.com/fwlink/?LinkID=45743.
Defining Windows and Office Applications
You can define Microsoft Windows and Office applications by using the WindowsApplication and OfficeApplication prototypes, respectively. Windows and Office applications support implementation in your solution. All Windows and Office projects include an App.config configuration file.
For more information, see the following topics:
Representing External Applications
You can represent applications that are referenced by other applications but that are not implemented in your solution nor planned for deployment as part of any application systems that you design and compose from applications in the solution. Though these applications are called "external" because they are technically external to a system in the context of implementation and deployment, you can still include these applications as part of a system design. Including external applications in a system makes it possible for you to validate communication pathways to and from these applications when you define and validate deployment for the system. When the system is eventually deployed, references to external applications must be resolved with the actual deployment location of these applications.
The applications that you can represent as "external" include the following:
External Web services.
BizTalk Web services.
Databases
Note
Though databases are represented as "external" and have no support for implementation, there is no requirement or implication that databases are not deployed with the systems that use them.
The following sections contain more about these external applications.
Representing External Web Services and BizTalk Web Services
Representing Databases
Representing External Web Services and BizTalk Web Services
You can add external Web services and BizTalk Web services to the application diagram by using the ExternalWebService and BizTalkWebService prototypes. In Distributed System Designers, the creation and behavior of external Web services and BizTalk Web services is the same. The BizTalk Web service application type makes it possible to document a referenced Web service that is known to provide access to a BizTalk application. In addition, infrastructure architects can use Logical Datacenter Designer to define application hosting constraints that selectively enable or disable hosting of external Web services and BizTalk Web services on specific logical servers.
Note
Though the procedure for defining a BizTalk Web service is the same as defining an external Web service, make sure that the referenced Web service is actually a BizTalk Web service.
When you add a BizTalk Web service or external Web service to the application diagram, you must specify the location of a WSDL file that describes the Web service. After the external Web service or BizTalk Web service is added to the diagram, you can view its Web service operations; however, you cannot edit those operations.
For more information, see the following topics:
Representing Databases
You can add databases to the application diagram by using the ExternalDatabase prototype. Adding an external database to the application diagram makes it possible for you to document the existence of a database, visualize connections to it, and most importantly, create database consumer endpoints on connected applications. You can then configure a database connection string for each database consumer endpoint to create the appropriate entry in the consumer application's configuration file, which is generated once the consumer application is implemented. For more information, see How to: Configure Connections to External Databases.
Note
External databases make it possible for you to document references to databases. There is no requirement that database connection strings for database consumer endpoints that are connected to the same database need to be the same or specify the same physical database, although it is a best practice to make sure that they do.
Representing Unsupported or Non-specific Application Types
You can add application types that are of unsupported or non-specific type to the application diagram by using the GenericApplication prototype. You can connect generic applications to other applications, specify user-defined or custom settings, and add generic endpoints as well as other supported consumer endpoint types. You can include generic applications in system definitions and bind them to generic logical servers when defining deployment. Adding generic endpoints make it possible for you to document communication between applications that use unsupported communication protocols.
Generic applications do not support the following:
Implementation or association with projects.
Synchronization with projects.
Configuration or validation of application and endpoint constraints.
For more information, see the following topics:
Creating and Adding Custom Prototypes to the Toolbox
Custom prototypes make it possible for you to define applications and endpoints using those already configured on the application diagram. Custom prototypes include all the properties, configurations, and settings that exist on applications and endpoints when you use them to create custom prototypes.
You can create custom prototypes from single or multiple applications or endpoints. When you create custom prototypes, they are added to the Toolbox. You can also share custom prototypes with other users. For more information, see How to: Create Custom Prototypes from Configured Applications and Endpoints.
Adding and Extending Application Types
You can expand the set of application types and prototypes used to define applications by installing packages supplied by Microsoft or third-parties or by creating them using the System Definition Model (SDM) Software Development Kit (SDK). Each new application type will include one or more prototypes that are added to the Toolbox. For more information, see the SDM SDK documentation.
Note
New application types must always be installed and loaded in advance, while new application prototypes can be installed and loaded in advance or created directly from applications on the application diagram. Prototypes created by the SDM SDK do not support code generation or synchronization. However, as an extensibility feature, this functionality can be added using add-ins and Visual Studio packages created using the Visual Studio SDK as well as Visual Studio custom project templates. For more information, see the Visual Studio SDK documentation and Assigning Project Templates to Applications on Application Diagrams.
See Also
Tasks
Walkthrough: Defining Applications on Application Diagrams
Concepts
Overview of Application Designer