Answers for all the question is yes, but its very difficult while coding. You have to write so many lines of code to achieve security/ session in web services. Check the post http://onlinewebapplication.com/2011/09/advantages-disadvantages-web-services.html
If you are looking for the alternate of Web Services, DCOM, Remote(ing) you should try WCF. Any architecture where tow or more process talk to each other you can use WCF.
WCF (Windows communication foundation):
Windows Communication Foundation (Code named Indigo) is a programming platform and runtime system for building, configuring and deploying network-distributed services. It is the latest service oriented technology; Interoperability is the fundamental characteristics of WCF. It is unified programming model provided in .Net Framework 3.0.
WCF is a combined features of Web Service, Remoting, MSMQ and COM+. WCF provides a common platform for all .NET communication.
Below figures shows the different technology combined to form WCF.
- WCF is interoperable with other services when compared to .Net Remoting,where the client and service have to be .Net.
- WCF services provide better reliability and security in compared to ASMX web services.
- In WCF, there is no need to make much change in code for implementing the security model and changing the binding. Small changes in the configuration will make your requirements.
- WCF has integrated logging mechanism, changing the configuration file settings will provide this functionality. In other technology developer has to write the code.