Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / Web Services / February 2006

Tip: Looking for answers? Try searching our database.

How can I queue requests for an XML service?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Jerry H. - 18 Feb 2006 15:25 GMT
I want to set up a XML service that will act as a middle tier between
several different client apps and a rather expensive and outdated ODBC
client.

Currently, wehave several machines with an particular ODBC client
installed so that these machines can access a UNIX accounting systems's
core tables directly.  But the problem is that we have only 3 access
license; in other words, while we're free to install the ODBC on as
many machines as we like, only 3 programs can actually be connected to
the UNIX db at any given moment; attempts to go about that result in
failed calls.

So, what we'd like to do is introduce an XML service that uses a single
ODBC client seat, and then all other apps would be upgradeed to use the
XML service.

My question is this: how do I set up some kind of FIFO within the XML
service, so that it can queue multiple requests from any number of
applications.  Is this taken care of automatically by IIS, or will IIS
attempt to open any many connections to the ODBC as it can, rather than
one at a time?
Josh Twist - 19 Feb 2006 10:28 GMT
I think there might be a number of approaches you could take..

- write your own thread pool where you can queue items from each
request and limit the maximum number executing to the appropriate
amount (you maybe able to use Jon Skeet's threadpool available here:
http://www.yoda.arachsys.com/csharp/miscutil/).

- ADO.NET uses connection pools. Maybe you can adjust the size of the
connection pool to 1 (or 3 or whatever makes most sense)?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cp
conconnectionpoolingforodbcnetdataprovider.asp


This would be the easiest solution as you wouldn't have to do very
much, though you may run into problems with Timeouts

- Have a look at MSMQ (Microsoft's Message Queueing technology). I'm
not sure your requirement would be a standard use of MSMQ, but you
maybe able to tweak some settings leverage it to achieve what you need.

- A very full solution might use a combination of technologies like
this example: http://www.15seconds.com/issue/031202.htm

- get some more licences... :)

Good Luck

Josh
http://www.thejoyofcode.com/

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.