Re: Architecture-switch to Web Services; newbie needs advice

From: Rodger Constandse (rodgercngNOSPAM_at_effexis.com)
Date: 03/05/05

  • Next message: Mad Joe: "Re: Is this so simple? Please help..."
    Date: Sat, 05 Mar 2005 01:38:22 GMT
    
    

    Hello,

    Some suggestions below...

    I would also post this question in the
    microsoft.public.dotnet.framework.aspnet.webservices newsgroup, they may be able
    to point you to more specific examples, tutorials and other documentation/books.

    Hope this helps.

    --
    Rodger
    <http://www.SequenceDiagramEditor.com>
    Sequence Diagram Editor - A quick and easy way to draw and edit sequence diagrams.
    Ney André de Mello Zunino wrote:
    > Hello.
    > 
    > Firstly, a bit of background information: I am involved in the 
    > development of a relatively small distributed application which, in 
    > short, deals with the remote editing and maintenance of some conceptual 
    > graphs (the very domain being irrelevant). For many reasons, including 
    > personal preference and motivation, I had set two main constraints for 
    > the choice of technologies to be employed: they ought to be both *free* 
    > and *portable*. This led me to the gathering of the following tool set:
    > 
    >   * C++ as the programming language for all tiers
    >   * Ice [1] as the communication framework
    >   * MySQL [2] as the database backend
    >   * MySQL++ [3] as the API to the database backend
    >   * Gtkmm [4] as the UI toolkit for the clients
    > 
    > After some struggle, I managed to get the basic architecture in place so 
    > that I was able to have my clients and middle-tier talk and exchange 
    > information. From that point on, I thought I was done. Unfortunately, I 
    > have faced countless difficulties, many of which aggravated by the lack 
    > of proper documentation and other resources, inherent of open source 
    > initiatives. I don't mean to sound ungrateful. I fully understand the 
    > fact that those people are out there putting in some serious efforts and 
    > mostly getting nothing in return (financially, at least). The thing is 
    > that sometimes that model does not go well with real-life business 
    > models and deadlines.
    > 
    > So, here I am, under a drive to go for an alternative solution. I spent 
    > some time looking around yesterday and doing some thinking and here is a 
    > basic summary of the new architecture I envisaged:
    > 
    >   * Build the middle-tier as a Web Service
    >   * Build the client application with C# and Windows Forms on Visual 
    > Studio .NET 2003
    > 
    > I am aware that I am giving up some virtues with these new choices. The 
    > goal is to be able to rely on better-supported tools in order to 
    > complete the development timely. On the other hand, I have several 
    > questions I would like to have clarified:
    > 
    > 1) At the moment, there is a real constraint with regards to the 
    > platform from where the Web Service will run; it has to be on a Linux 
    > system (there are only Linux servers available).
    > 
    >   1.a) What does one need in order to turn a regular HTTP server into a 
    > Web Services-capable provider? In other words, what makes a server a Web 
    > Services provider? As far as my understanding goes (I am a complete Web 
    > Services newbie, having never implemented anything related), a server 
    > need only be able to parse SOAP messages to process the encoded request 
    > and to encode responses as SOAP messages to respond to clients. So, 
    > supposing I have a regular Linux server running Apache HTTPd, what do I 
    > need to install in order to be able to host Web Services?
    For this I would look at <http://www.mono-project.com/ASP.NET> which provides an 
    open-source implementation of ASP.NET and provides some general information on 
    what you need (for instance how to host ASP.NET on Apache or their own XSP web 
    server implementation)
    > 
    >   1.b) In spite of the initial constraint that the Web Service must be 
    > hosted on a Linux server, I would like to know whether it is common and 
    > whether it would be easy to have the same service hosted on a different 
    > platform, e.g. a Windows server. Because one of the most advertised 
    > virtues of Web Services is their interoperability capabilities, I would 
    > assume that porting them should not be very hard as well. However, we 
    > know for a fact that practice doesn't always reflect theory.
    Doing Web Services on a Windows Server using ASP.NET is relatively easy, I would 
    also consider myself a Web Services newbie and was able to create and use a web 
    service to report application problems and user suggestions from my client 
    application to my website very easily.
    > 
    > 2) How would the C# client be affected if the Web Service were moved 
    > from the initial Linux server to a different platform? I expect that the 
    > client would be (mostly) insulated from that kind of change.
    Yes, the client should be insulated from this change. When you want to create a 
    WebServices proxy object in VS.NET, all you do is provide the URL of the web 
    service and it creates the objects for you based on the service description. It 
    doesn't know or care how the web service itself is implemented.
    > 
    > 3) How difficult is it and how long would it take (roughly) for a Web 
    > Services newbie to grasp the basic concepts necessary to realize a basic 
    > architecture like this?
    I'm not sure about the web server part using the ASP.NET implementation provided 
    by Mono. Like I said, I used the Windows server and created it using the 
    functionality provided by VS.NET. It took me a couple of days to read the 
    documentation and get it working.
    > 
    > 4) Could you indicate some must-read elementary material and also some 
    > hands-on tutorial on how to build a C# application which consumes Web 
    > Services that were not created with .NET (if that matters at all)?
    VS.NET 2003/MSDN contains extensive documentation and tutorials. Just search for 
    the "XML web services" in the MSDN documentation.
    Like I said, I found it extremely easy to create the client interface using 
    VS.NET 2003. It does almost all the work for you.
    The server part was also very easy because the web server I am using already had 
    ASP.NET installed and running.
    > 
    > I apologize if I couldn't be clearer in exposing my concerns. I would be 
    > very glad if this thread could serve to clear up my almost inexistent 
    > understanding of Web Services and the ever-growing list of hype 
    > terminology which frightens me. All in all, I prefer to believe the 
    > thing must not be as scary as it seems. I just need to find a proper 
    > introduction.
    > 
    > [1] http://zeroc.com/
    > [2] http://dev.mysql.com/
    > [3] http://tangentsoft.net/mysql++/
    > [4] http://gtkmm.org/
    > 
    > Thank you,
    > 
    

  • Next message: Mad Joe: "Re: Is this so simple? Please help..."

    Relevant Pages

    • Re: How to return a user-defined data type object from a webservice?
      ... John Saunders | MVP - Windows Server System - Connected System Developer ... It's just not how Web Services works. ... The paradigm of Web Services is all about interoperability between client ... Web Services standards. ...
      (microsoft.public.dotnet.framework.webservices)
    • Re: Windows Authentication, Single sign on and Active Directory
      ... The server is always in the domain. ... On a client machine, if I am ... Your web services can then determine the identity of the authenticated ... Co-author of "The .NET Developer's Guide to Directory Services ...
      (microsoft.public.dotnet.framework.aspnet.security)
    • Re: Communications between different .NET Applications
      ... large chunk of data around use .net remoting. ... bit harder to setup and get running than web services but it better ... Web services you will essentially have the clients talking to the server ... > My desire is to have client versions of my application running on a couple ...
      (microsoft.public.dotnet.languages.csharp)
    • Re: Windows Authentication, Single sign on and Active Directory
      ... your web server is probably a workgroup mode machine. ... Co-author of "The .NET Developer's Guide to Directory Services ... web service proxy client fails to connect due to authentication failure ... Windows authentication on the web services. ...
      (microsoft.public.dotnet.framework.aspnet.security)
    • Re: How to return a user-defined data type object from a webservice?
      ... your client ... object coming from the server via the web service is in a different ... John Saunders | MVP - Windows Server System - Connected System Developer ... It's just not how Web Services works. ...
      (microsoft.public.dotnet.framework.webservices)