Custom SDM Application System

Hi,

I have completed the SDM tutorial and I have the following question.

How can I control / enable “Implement Application” behavior of the custom application system? Currently when I add it to the ApplicationDiagram I don’t get this option in its context menu.

Thanks,

Nel

[1063 byte] By [NelK] at [2008-2-2]
# 1
Unfortunately in this version we do not provide out of the box Implement functionality for custom (i.e. defined through SDK) applications. We recognize the limitation and working to make it work, but this functionality will not be in VS 2005.

There are, however, ways you can achieve this kind of functionality:

1) You can create a VS Add-In and place it in the context menu of your application. This add-in can perform any action for implementation. Great resource and samples can be found by following this post http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=11246 . You can do a VS Package as well (instead of add-in).

2) If the implementation is based on the existing application type (the one shipped with VS, like WindowsApplication or WebApplication) and the customization can be achieved through usage of custom templates - you can create a custom VS Template, set application property to this template (In properties grid, with application selected), and then use the template to implement.

Dmitriy_Nikonov_MSFT at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Visual Studio Team System - Architecture & Design...
# 2
Dmitriy,

Thank you it is very helpful.

I have three unrelated questions:
1) Is it possible to define a consumer endpoint in such manner that it can connect to multiple providers? Default implementation desn't allow it.

2) For some reason the "DefaultRootName" is ignored for custom defined systems (defaults to Application#). I've encountered this problem by following the example from the previous post (http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=13159) and for my own system definition. Have you seen this before?

3) How can I define a custom system that by default will conatin several endpoints (e.g. WebApplication has WebContent endpoint)?

Thanks again for your help.
Nel

NelK at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Visual Studio Team System - Architecture & Design...
# 3
1) Is it possible to define a consumer endpoint in such manner that it can connect to multiple providers? Default implementation desn't allow it.

Yes, it should be possible by creating multiple communication definitions. I am not sure what you mean by "default implementation does not allow it". LEt me know if you need a sample.

2) For some reason the "DefaultRootName" is ignored for custom defined systems (defaults to Application#). I've encountered this problem by following the example from the previous post (http://forums.microsoft.com/msdn/ShowPost.aspx?
PostID=13159
) and for my own system definition. Have you seen this before?

I have seen it before:) It is a known issue, and will be documented, but there is an easy workaround. Once your prototype is created, place an instance of it on the design surface, rename it to whatever it needs to be, and then select Add to Toolbox in the right-click popup menu. Provide the icon and remember the location of the newly generated prototype. Use that prototype, it should now have the correct name.

3) How can I define a custom system that by default will conatin several endpoints (e.g. WebApplication has WebContent endpoint)?

Create the system with the endpoints you want, and pick "Add to Toolbox" in the right-click popup menu. Add icon and name for the prototype file. Now, the prototype will immediately appear on your toolbox, and will contain all applications and endpoints saved with it. If you want to distribute the prototype, you need to use that new prototype file and make sure that all corresponding SDM documents distributed with it as well (if they are custom).

Best Regards,

Dmitriy_Nikonov_MSFT at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Visual Studio Team System - Architecture & Design...
# 4
Dmitriy,

Thanks a lot for your help. The workarounds are great :-)

With regard to the first item, I would like to clarify what I meant. Consider the following diagram where you have 3 WebApplications shapes:
WebApp1 has a consumer WebContentClient_1 endpoint and it is connected to the provider WebContent_2 endpoint of the WebApp2. Now if I want to connect the same consumer endpoint (WebContentClient_1) to the provider WebContent_3 endpoint of the WebApp3 I am not allowed to do so.

Hope this clarifies what I meant.
Nel

NelK at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Visual Studio Team System - Architecture & Design...
# 5

Actually, this behavior is by design. A number of apps can consume from the same provider (i.e. web site, or web service), and that is why it is allowed to have multiple consumers consuming from the same provider endpoint (at least in Web Services). Web Service Consumer endpoint, however (together with the line), is really your proxy, and it should not be there for 2 providers simultaneously.

Dmitriy_Nikonov_MSFT at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Visual Studio Team System - Architecture & Design...

Visual Studio Team System

Site Classified