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

Reply via email to