Hi, I understand your problem and that you have to deal with management to solve this. From my own personal experience I do know that webservices can work just fine, if you're willing to write a functional design and technical design first, explaining how it's supposed to work. Add some UML schema's to it too. That will take a lot of time and careful planning but when this documentation part is done, building the webservice should be easy. But the general practice with webservices is that developers will start programming immediately and forget about documentating the whole thing. While direct programming will still give good results with more generic projects, it's the wrong approach for building webservices. Why? Because once you've defined the interface of the webservice, it becomes a "binding contract". Which means you can't make even some minor changes to this interface without this becoming a new webservice. This causes some major pains when a webservice is already in use because it will break any existing code. This could result in several different versions of a webservice that all need to be installed on the same server.
With RPC it's easier to hide these multiple versions. You still have to deal with interface changes but they're less visible. If you have the Borland Developer Studio 2006 or 2007 then I would advise you to use C#Builder instead for the webservice. That's because Delphi/WIN32 has a flawed SOAP implementation which will cause problems. On the client system you could support this again by writing a C#Builder COM object that will connect to the webservice and which can be used from Delphi. This technique offers the most reliable way to use webservices from Delphi. And yes, even for clients the Delphi/WIN32 SOAP implementation just has too many flaws. Am not too happy about using RPC either, btw. I found that RPC tends to have problems when it needs to be implemented in companies with very complex networks or with offices that are far apart. A webservice is easier to maintain and easier to configure. The costs in building a webservice is something you earn back while maintaining it. But as I said, Delphi/WIN32 is just the wrong way to write good webservices. Working in .NET is a better alternative for webservices. There are, of course, plenty of other solutions. I've once used named pipes for communications between two computers, which has an added advantage: I could restrict the number of clients to one. Also used TCP/IP in the past to get similar results. And DCOM/COM+ for a few projects. Deciding which technique is best always depends on what it's supposed to do and the amount of time that you have to just write down the technical specifications first. Webservices require lots of documentation before you write your first line or code or else your project is already doomed from the start. I once wrote (and lost) a webservice that would provide a list of images that were on the server. By selecting one of them and specifying the desired format, I could then get those images in the specific format on my client. It worked quite well and should not be too difficult to write. Now, if you can write multiple solutions for this, you can compare the ease and performance of all these solutions. It would be the best way to compare solutions, because it's not doing much, yet you have to solve some complex problems with this. -- With kind regards, \/\//\ Wim, W.A. ten Brink On Dec 13, 2007 6:39 AM, faux amis <[EMAIL PROTECTED]> wrote: > > > thanks man for sharing you thoughts, i'm facing exactly these problems, like > parameters fuss while calling web-services, though i've managed to make it > work somehow, but i dont find it reliable, i mean wcf with delphi for win32. > whereas before that we were using RPCs and they work hell lot better than > wcf. > being a developer i understand all these things, but management doesn't look > into the code they want to know some technical reasoning which one is good n > which isn't :( > so is it possible that I can find some utility or method or whatever it is > that can analyze and tell me RPC is this good and wcf is that good or > somethin like that you know what i mean :$ > > thanks in anticipation. > > > > Workshop Alex <[EMAIL PROTECTED]> wrote: > > > > > On Dec 11, 2007 6:46 AM, marcus_fen1x <[EMAIL PROTECTED]> wrote: > > I need to know whether its good to use wcf web-service with HTTP > > bindings from my application or else I should go RPC. Anyone who can > > guide me how can i come to know this? > > > > PS its not RPC based web-serivce vs. Message centric web-service, its > > simply a web-service vs. real golden RPCs. > > > > So please share you thoughts or links or whatever is helpful thanks in > > advance > > There's no good answer to your question. Both techniques have their > advantages and disadvantages. Although from personal experience I do > know that Delphi could have some problems with web services. Borland > implemented XML a bit wrong, causing booleans, dates, timestamps and > floating point values causing occasional problems. If you use Delphi > for .NET then you should be safe, though. It's only the WIN32 > implementation that is flawed. > > Basically, start by analyzing the amount of data and the complexity of > this data. If it's a lot of data, RPC might be better. If it's > complex, web services might make it easier to manage. Or support both > methods! Then users can choose which option they prefer. > -- > With kind regards, > > \/\//\ Wim, > W.A. ten Brink
