Last post Jun 21, 2012 04:54 PM by atconway
Jun 19, 2012 04:46 PM|nissan|LINK
I am planning to build some shared services in our company. What are the first steps for me? Like a mailer servive that multiple devs can make use of..
Jun 20, 2012 04:49 AM|Mudasir.Khan|LINK
1) WCF - because it support many protocols (http, net, tcp etc) and very versatile and supports multiple technologies
2) there are many tools freely available just enter the service url and VS.net has inbuilt tool for this so if Vs.net is used then no need of tool
3) cannot return XML, only POST request accepted for get need to do add extra attributes, need send the request in a envolope but this is same for Web Services as well
4) C# and WCF, there are plenty of training available from scratch to depth online
Jun 20, 2012 10:09 AM|atconway|LINK
1. Should they be web services/WCF services or something else?
WCF is what you should use. It offers everything .asmx services could do and 10x more. The robust security, binding, and hosting model of WCF gives you a ton of service options. For example, for internal services you will probably want to use a netTcp binding
which allows for the fastest machine to machine communication.
2. How can the devs discover those services? What are the good strategies?
Once you learn about WCF and have your sevice binding configured, you can expose it on the domain. For example if you hosted a simple http WCF service using IIS and called it 'MyCompanyService' and it had a DNS lookup to the IP used then your other developers
could consume and use the service. You don't have to have a DNS entry and could just use the IP, but it makes it simpler and more meaningful. This portion is really outside the bounds of the 'software' piece so if you need help on down the road on this topic,
I recommend seeking help from either the IIS or TechNet forums.
3. What are the risks?
The list is short and obvious. Let's say you expose a service with methods that return sensitive data but do not secure the service with any authorization/authentication/SSL etc. However this notion goes for any type of web development. I think the concern
should read more like "What are the risks of not using services" That list might be longer from a software aspect: beginning with duplication of coding efforts with decentralized logic.
4. What kind of learning do I need for accomplishing something like that? Any websites/examples?
With learning a large concept like WCF it is like anything else: you get what you pay for. There are a ton of WCF tutorials and examples on the web that you can pick and choose. However reading a good WCF book (pick any you like Inside
Windows Communication Foundation ) or using a paid resource like
Pluralsight are your better bets from starting from the ground up. Lastly the link below from the MSDN may help as well:
Windows Communication Foundation is:
Hope this helps!
Jun 21, 2012 04:19 PM|nissan|LINK
Thank you for taking time to explain that. A further question, how do we know who(which application) is using the service? Any good strategies for that?
Jun 21, 2012 04:54 PM|atconway|LINK
how do we know who(which application) is using the service? Any good strategies for that?
It's better to look at this from a "user/client" standpoint rather than from an 'application' standpoint to determine who is accessing your service. Meaning you use the same or similar authetication and authroization techniques (depending on the type of
service you are going to create) that you have in web apps. In this manner you can identify who is accessing your service by their credentials. You can get into the specifics of the securtiy around your service once you decide on what type of
WCF service you are goingto make. There are a ton of articles on the MSDN on how to do authentication and authorization of many types for WCF.