473,387 Members | 1,548 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Architecture Evaluation

May be the this is not the right group to post this.
But this is the only group which helps me to receive instant and valuable replies.
This is the reason I am posting this here. Excuse me for this.

We have decided a design, I would suggest if some onw help me to evaluate.

We have a windows application which is using webservices.
The client has to export certain files which requires the documents to be generated
first and then put them in xml envelope and send it to respective webservice.
The client should not wait till the document generated. But the system will have provision to show the export successfull or not?

Design -
Client sends a request to the webservice. Webservice puts the request into MSMQ.
Webservice sends the response to client that the request is received.
Now a Windows service is designed on the Server which reads the queue and based on the message fetches the data from database and generates the document.The documents are generated and saved in the database and a message is saved in the MSMQ that the documents are generated for the request of client.

Now Another windows service reads the MSMQ for the the request whose documetns are complete. That service gets the documents from database and sends the documents to another webservice. After successfull upload the windows service updates the database that the export is sucessfull.

Questions-
1. Can we have a alternative to the MSMQ?
2. We want to minimize the hits to the database. hence queing in database will be performance hit as we will have to poll the database or queue in every second(we are expecting lot of request to export) .
3. Having a queue in mdb file or in xml file would be a problem as these have their own limitations?
4. If the document generated happens to be on the client side, it would result lot of hits to webservices to get the data from the database. The data to generate the document can not be fetched in one hit.

Thanks in advance.

dinoo

Nov 18 '05 #1
2 1079
Hi,

The overall design sounds good the Answers to ur Q.

1) I think MSMQ fits nicely here, to let you do the processing of the documents in squential order.

If you want to generate the document at client's end, I am sure you can architect the code in a way that all the data required from the database is clubed and a single request is made to the web service which requests the data from the database and returns a single XML package containing all the required information.
This way there will be only 1 call to the database (hoefully, if you can structure your query that way).
Once the data returns from the web service (calling the database), you can generate the document on the client machine, this will offload some processing to the client which could be a good thing...

Finally the client can submit the compeleted document to the final web service.

On a general note anywhere you find your self needs to make multiple web service calls, its time to step back and see how you can refactor the logic to package the required data in a single call.
--
Regards,
Saurabh Nandu
AksTech Solutions, reflecting your needs...
[ www.AksTech.com ]
[ www.MasterCSharp.com ]

"dinoo" wrote:
May be the this is not the right group to post this.
But this is the only group which helps me to receive instant and valuable replies.
This is the reason I am posting this here. Excuse me for this.

We have decided a design, I would suggest if some onw help me to evaluate.

We have a windows application which is using webservices.
The client has to export certain files which requires the documents to be generated
first and then put them in xml envelope and send it to respective webservice.
The client should not wait till the document generated. But the system will have provision to show the export successfull or not?

Design -
Client sends a request to the webservice. Webservice puts the request into MSMQ.
Webservice sends the response to client that the request is received.
Now a Windows service is designed on the Server which reads the queue and based on the message fetches the data from database and generates the document.The documents are generated and saved in the database and a message is saved in the MSMQ that the documents are generated for the request of client.

Now Another windows service reads the MSMQ for the the request whose documetns are complete. That service gets the documents from database and sends the documents to another webservice. After successfull upload the windows service updates the database that the export is sucessfull.

Questions-
1. Can we have a alternative to the MSMQ?
2. We want to minimize the hits to the database. hence queing in database will be performance hit as we will have to poll the database or queue in every second(we are expecting lot of request to export) .
3. Having a queue in mdb file or in xml file would be a problem as these have their own limitations?
4. If the document generated happens to be on the client side, it would result lot of hits to webservices to get the data from the database. The data to generate the document can not be fetched in one hit.

Thanks in advance.

dinoo

Nov 18 '05 #2
along with the above consideration, i would consider relying heavier on the
MSMQ. instead of polling continuously, set a special message in the queue
tied to a trigger. the trigger fires and completes the task for the specific
messages in the queue.

--
Regards,
Alvin Bruney
[ASP.NET MVP http://mvp.support.microsoft.com/default.aspx]
Got tidbits? Get it here... http://tinyurl.com/27cok
"Saurabh Nandu" <Sa**********@discussions.microsoft.com> wrote in message
news:A5**********************************@microsof t.com...
Hi,

The overall design sounds good the Answers to ur Q.

1) I think MSMQ fits nicely here, to let you do the processing of the
documents in squential order.

If you want to generate the document at client's end, I am sure you can
architect the code in a way that all the data required from the database
is clubed and a single request is made to the web service which requests
the data from the database and returns a single XML package containing all
the required information.
This way there will be only 1 call to the database (hoefully, if you can
structure your query that way).
Once the data returns from the web service (calling the database), you can
generate the document on the client machine, this will offload some
processing to the client which could be a good thing...

Finally the client can submit the compeleted document to the final web
service.

On a general note anywhere you find your self needs to make multiple web
service calls, its time to step back and see how you can refactor the
logic to package the required data in a single call.
--
Regards,
Saurabh Nandu
AksTech Solutions, reflecting your needs...
[ www.AksTech.com ]
[ www.MasterCSharp.com ]

"dinoo" wrote:
May be the this is not the right group to post this.
But this is the only group which helps me to receive instant and valuable
replies.
This is the reason I am posting this here. Excuse me for this.

We have decided a design, I would suggest if some onw help me to
evaluate.

We have a windows application which is using webservices.
The client has to export certain files which requires the documents to be
generated
first and then put them in xml envelope and send it to respective
webservice.
The client should not wait till the document generated. But the system
will have provision to show the export successfull or not?

Design -
Client sends a request to the webservice. Webservice puts the request
into MSMQ.
Webservice sends the response to client that the request is received.
Now a Windows service is designed on the Server which reads the queue and
based on the message fetches the data from database and generates the
document.The documents are generated and saved in the database and a
message is saved in the MSMQ that the documents are generated for the
request of client.

Now Another windows service reads the MSMQ for the the request whose
documetns are complete. That service gets the documents from database and
sends the documents to another webservice. After successfull upload the
windows service updates the database that the export is sucessfull.

Questions-
1. Can we have a alternative to the MSMQ?
2. We want to minimize the hits to the database. hence queing in database
will be performance hit as we will have to poll the database or queue in
every second(we are expecting lot of request to export) .
3. Having a queue in mdb file or in xml file would be a problem as these
have their own limitations?
4. If the document generated happens to be on the client side, it would
result lot of hits to webservices to get the data from the database. The
data to generate the document can not be fetched in one hit.

Thanks in advance.

dinoo

Nov 18 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
by: Bhushit Joshipura | last post by:
This post contains one question and one proposal. A. May I know why order of evaluation of arguments is not specified in C/C++? I asked a question in comp.lang.c++ for the following...
8
by: der | last post by:
Hello all, I've a question about order of evaluations in expressions that have && and || operators in them. The question is: will the evalution go left-to-right, no matter what -- even if the...
21
by: dragoncoder | last post by:
Consider the following code. #include <stdio.h> int main() { int i =1; printf("%d ,%d ,%d\n",i,++i,i++); return 0; }
77
by: berns | last post by:
Hi All, A coworker and I have been debating the 'correct' expectation of evaluation for the phrase a = b = c. Two different versions of GCC ended up compiling this as b = c; a = b and the other...
0
by: tommak | last post by:
It's a dream of human beings to build machines that can think and behave like human beings. The most important part of of such a machine is an artificial mind that can emulate the cognitive...
1
by: tommak | last post by:
It's a dream of human beings to build machines that can think and behave like human beings. The most important part of of such a machine is an artificial mind that can emulate the cognitive...
32
by: silpau | last post by:
hi, i am a bit confused on expression evaluation order in expressions involving unary increment.decrement operators along with binary operators. For example in the following expression x...
54
by: Rasjid | last post by:
Hello, I have just joined and this is my first post. I have never been able to resolve the issue of order of evaluation in C/C++ and the related issue of precedence of operators, use of...
11
by: Pietro Cerutti | last post by:
Hi group, here I come with a question which is quite simple per se, but for which I can't find an answer. Does the C standard guarantee that inside an expression such as (x && y) "y" is...
39
by: Boltar | last post by:
Why does C do lazy evaluation for logical boolean operations but not bitwise ones? Ie: the following program prints "1 2" , not "1 1" under gcc main() { int a = 1; int b = 1; 0 && ++a;
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.