index > Visual Studio Team System - Architects > Web services via class library - how to diagram?

Web services via class library - how to diagram?


We write a controller class library which our desktop and web UI shares (as they do fairly similar jobs). This controls communication to our web services, saving us having to write the same code for both apps.

The problem is, the application diagram tool doesn't support class libraries. So now I've diagrammed my software architecture, what happens when I put this controller class library into my source?

Is the application diagram smart enough to handle this intermediary class between it and the web services? Do all my applications get disconnected on the diagram, breaking the deployment checking functionality?

Any ideas appreciated.




Kerry
Kerryr
Hi Kerry,

There's a recent post by Bill Gibson, a senior program manager on VSTESA, that might answer your question:

http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=85706

If this isn't the info you're looking for, please let me know, and I'll find the right person to get the answer for you.

Thanks!


Esther Fan | User Education | Visual Studio Team Edition for Software Architects
Esther Fan MSFT
Hi Esther,

Yep that article is useful and I agree with Bill, I'm glad to see it's a hot topic too. He doesn't mention when the extra diagram will be implemented however (I'm currently using beta 2)?

Because the web references are on the application, I can see developers making WS calls directly from the app rather than the class library. I can get around this somewhat with training and code reviews, but it would be good if there was a "don't add web reference" type setting so only the configs are set up in the app.

This would save any confusion, as I could add the web references manually to the class library until the new diagram comes along.



Kerry
Kerryr
Hi Kerry,

The designer that Bill's referring to won't be in version 1. We've documented the technique for reverse-engineering Web references in class libraries as endpoints on consumer applications by copying the appropriate config file entries from the class library to the consumer application's config file. Do you have access to info about this technique?




Esther Fan | User Education | Visual Studio Team Edition for Software Architects
Esther Fan MSFT
Wow, quick reply :)

No, I haven't seen that information yet. I can probably work it out, but any links you have handy would be gratefully appreciated.

Thanks Esther


Kerry
Kerryr
I'm having the same problem about modeling web service access through a class library. Since Patterns & Practices recommends using a Service Agent when talking with a Web Service, this seems like it would be a common occurrence. The Service Agent would be in a class library so many applications could use it.

Did Esther or anyone else ever posts links/documentation on reverse-engineering Web references? Not sure if that will answer my problem but it might help. However, going from code to diagram isn't really what I want. I want the diagram to help in the coding, not the other way around.
Ron Gliane
Nope, I never received anything from Esther and in fact I ended up dropping the diagrams from my solution. I found that overall they actually caused me more work than they were worth.

For example when changing the namespace of an application or a web service half the diagram turned red (as of September ctp) and had me recreating the diagram or hacking the xml to fix it, then having to redo the ldd etc; very tedious. Didn't quite work seemlessly enough for me (why isn't there a refactor namespace?).

However, we are still small enough not to need the diagrams as a formal architectural tool. I'll wait for version 2.0.



Kerry
Kerryr
The September CTP did not have a good build of the designers. Therefore, please do not take the CTP build's quality to be indicative of the quality of the final release. The issues that you have highlighted do not occur in the released product.

As for the issues with Class Libraries, the following TechNote is really useful in understanding why Class Libraries are not shown on the Application Diagram:
http://msdn.microsoft.com/vstudio/teamsystem/reference/technotes/apps_designer/class_lib.aspx

Bill Gibson has also written a TechNote that specifically targets the pattern that you have identified:
http://msdn.microsoft.com/vstudio/teamsystem/reference/technotes/apps_designer/connect_apps.aspx

For the next version of VSTS we are actively looking at providing a better modeling experience over Class Libraries.

Thanks,

Ali Pasha
Program Manager | Visual Studio Team Edition for Software Architects

Ali Pasha

Hi Kerry,

I apologize for the late reply, it seems my subscription wasn't working, so I wasn't notified there were additional posts to this thread.

If you're still interested, here's pointers to the documentation about how to reference class libraries on application diagrams. An update is also planned for this topic for better readability:

http://msdn2.microsoft.com/en-us/library/ms242487.aspx




Esther Fan | User Education | Visual Studio Team Edition for Software Architects
Esther Fan MSFT
reply 9

You can use google to search for other answers

 

More Articles

Availability of Visio for Enterprise Architects 2005
CustomEndpoint
Enterprise Templates
Settings and Contraints Editor : Search function
GenericApplication and GenericEndPoint
Custom HostZone
where do newbies ask questions?
Latest Distributed System Designers
Printing Settings and Constraints from a Logical Data Center diag...
Considering Upgrade Path... What Will I Be Missing vs. Developer ...
Welcome to Bokebb   New Update   Joins the collection  
 

New Articles

Latest Distributed System Designers
Adaptive Object Modelling
Wildcard for version type
DSL Tools versus .sdm sdk
Cannot See the Distributed System Design…
Cannot open certain files in VEA 2005 su…
SDM and WebProject
How to specify custom constraints?
Upcoming Chat: Visual Studion Team Editi…
CustomEndpoint
SDM: Flow and Extends questions
Visio 2005 unable to syncronize code cha…
Satellite Assembly
Individual Website settings versus Defau…
Enterprise Templates

Hot Articles

Generating Deployment Report.
biztalk message problem
DSL Tools versus .sdm sdk
Looking for book suggestions
Satellite Assembly
Windows Communication Foundation Support
IIS constraints
Issue installing Visio for Enterprise Ar…
New LogicalServer model does not render …
VEA2005: Database Menu is vanished !?
Distributed System template
Biztalk?
How to CREATE ENDPOINT
display a reverse engineered UML diagram
DevConnection.ProviderPort ??inconsisten…

Recommend Articles

[LDD] Import IIS settings does not impor…
IIS version
Hosting the Designer outside of Visual S…
Adding custom property via automation
VSTS Architects - how can I unit test?
biztalk server 2006 server administration
Biztalk?
How to specify Project generation from S…
permisson error trying to implement an w…
Web services via class library - how to …
add a new ditributed system Diagram from…
Systems Designer does not update web.con…
application designer - generic application
WHAT IS INCLUDED IN VS For Software Arch…
Building Installer: How do I have it pro…