Re: Current approach to fast n tier oracle design

Fletcher's Discussion Account <[email protected]>
Newsgroups gmane.comp.windows.devel.dotnet.advanced
Message-ID <009e01c98635$193b5fc0$4bb21f40$@com>
Sébastien,

Cool, I like that idea.  I don't think the interface will be that chatty,
but it's easy enough to test.

Thanks,

Fletcher


-----Original Message-----
From: Discussion of advanced .NET topics.
[mailto:[email protected]] On Behalf Of Sébastien Lorion
Sent: Tuesday, February 03, 2009 8:18 AM
To: [email protected]
Subject: Re: [ADVANCED-DOTNET] Current approach to fast n tier oracle design

You cannot really hold Microsoft or anyone else responsible for the bad
performance when the problem comes from the architecture itself. No matter
how tight your code is, using web services will always have a perf impact,
especially if your interface is chatty.

If I was you, I would rather consider the web services as another consumer
of your business logic rather than a provider. So I would make them a thin
layer that call over a façade, the same way that your web apps should (even
more so if they reside on the same server farm). In other words, the code
reuse should stop at your domain layer, not at the web services level.

Sébastien
On Mon, Feb 2, 2009 at 1:09 PM, Fletcher's Discussion Account <
[email protected]> wrote:

> Dave,
>
> You have some good points and I will look into the binary mode of wcf.
>  But,
> in this case, there is at least one other desktop application (beside the
> one I am rewriting) that will probably use the web service.
>
> The initial plan calls for using a web page to communicate with the user
> (vs. a desktop app currently in use.)  As the queries results are
generally
> small, I am hoping that the response time won't be too bad.
>
> One thing I have found with MS is that they try to come up with some
things
> to make life easier for developers, but they often tend to be so
> comprehensive that their performance is pitiful.
>
> I know I can test all this stuff, but I was hoping that some of you have
> played with these and either know some tweaks that might make a difference
> or if there is a variation on approach that I might use.
>
> I do know that I could write everything on my own, using really tight code
> that just talked directly to the data, etc.  But part of the goal is to
> write code that can be managed by other .NET developers, so I would like
to
> use "standard" approaches where possible.
>
> Thanks,
>
> Fletcher
>
>
> -----Original Message-----
> From: Discussion of advanced .NET topics.
> [mailto:[email protected]] On Behalf Of Dave Jones
> Sent: Friday, January 30, 2009 12:12 AM
> To: [email protected]
> Subject: Re: [ADVANCED-DOTNET] Current approach to fast n tier oracle
> design
>
> If this is an internal application and you can use the binary mode of wcf
> and all other clients will is binary mode. Then go for it. However if you
> are going to be using an XML WebService and you expect it to be fast then
> think again. Design for n teir systems haven't changed since the 90's use
> binary with compression intenally and some sort of machine readable text
> for
> exports imports.  Webservices were used by one and all to provide
> flexibility and to be reused. Both are a joke. It's very unlikely that you
> will use the same data in more than one application so don't reinvent the
> wheel, keep the same technical structure that you have now, ignore web
> based
> solutions they take money and time to develop, use easy methods of
updating
> your client, click once etc where you make the change in one place and it
> propogates out without intevention.
>
> And I give this answer to all my clients as the best proposal, they
> inevitably pick asp.net and webservices. There are the clients that are
> happy with a fast rich application and those who call me back because the
> latest patch to their browser broke some functionality.
>
> 0.2c
> Dave
> Dave JONES
> [email protected]
> 06.50.14.38.33
>
> -----Original Message-----
> From:         Fletcher's Discussion Account <[email protected]>
>
> Date:         Thu, 29 Jan 2009 17:03:57
> To: <[email protected]>
> Subject: [ADVANCED-DOTNET] Current approach to fast n tier oracle design
>
>
> Hi all,
>
>
>
> I have been asked to develop a spec to do something that is fairly simple.
> I am just doing a quick sanity check before I start.
>
>
>
> I have to replace an application that gets data from an oracle server via
> an
> ODBC connection.  It's a read only system that people like because it's
> much
> faster than using the actual application used to manage the data.  I
> program
> in a number of languages and am just getting back into .NET (2008) so I am
> not up to date on the best approach to use these days.
>
>
>
> My plan is to create a Web Service (probably the new WCF) that can pass
> queries to the SQL server.
>
>
>
> Questions:
>
>
>
> 1)      Is WCF the best choice given that I need speed and support for a
> variety of clients (browsers and applications)
>
> 2)      What is the best (fastest) way for the web service/WCF to talk to
> the oracle server (OLE DB, ODBC, Oracle's drivers, etc.)?
>
> 3)      Which of the .NET approaches (LINQ, TableAdaptor,
CreateConnection,
> etc.) will get the result the fastest from Oracle to the WS?
>
> 4)      What is the best way to package the data to send back to the final
> client (either a browser or application)?  My guess is that I can probably
> just pass the result set from the server on to the client
>
> 5)      Is there anything I should do to the IIS server to make sure it is
> supporting the applications the most efficiently?
>
> 6)      With WCF, if I define an instance of the web service, does it
> retain
> its state until I release the instance?
>
>
>
> If the difference in speed is fairly negligible, then ease of
> implementation
> is the 2nd choice.
>
>
>
> I am looking at a web service because it can serve data to any client
> (browser or application).  We also have a problem with the IT people
> changing the information that references the Oracle server, so I would
> rather have one place to update instead of every user (which is what we
> have
> to do today with ODBC based clients.)
>
>
>
> The result sets are usually fairly small (100 rows or less) and may
contain
> parent-child data sets.
>
>
>
> Finally, are there any gotchas in this approach that might trip me up?
>
>
>
> Thanks,
>
>
>
> Fletcher
>
>
>
>
>
>
> ===================================
> View archives and manage your subscription(s) at
> http://peach.ease.lsoft.com/archives
>
> ===================================
> View archives and manage your subscription(s) at
> http://peach.ease.lsoft.com/archives
>

===================================
View archives and manage your subscription(s) at
http://peach.ease.lsoft.com/archives

===================================
View archives and manage your subscription(s) at http://peach.ease.lsoft.com/archives
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.