Saturday, March 31, 2012

Simultaneous processing

Hi everyone,

I need to develop a new asp.net 2.0 web app that has to allow a client the ability to work with an internal adviser on the same document (an offer) at the same time. I am not sure how to allow two persons working on the same application and changes be reflected to both browsers. For sharing the data, I could set up a DB, apply a unique ID that they both would use to manipulate the common data. The problem that I have is with the ASP.NET application, which I don't know how to build to allow two persons working simultaneously on a set of data and see instantly the changes the other person does.

Hope my explanation is clear :-) I would appreciate any help, comments, or suggestions.

Thanks.
MikeSorry for posting so many times... I had a network problem and unfortunately has been sent 3 times.

Sorry again.
Mike

"Mike" <none@.none.comwrote in message news:eZOgMDxtGHA.3264@.TK2MSFTNGP03.phx.gbl...

Hi everyone,

I need to develop a new asp.net 2.0 web app that has to allow a client the ability to work with an internal adviser on the same document (an offer) at the same time. I am not sure how to allow two persons working on the same application and changes be reflected to both browsers. For sharing the data, I could set up a DB, apply a unique ID that they both would use to manipulate the common data. The problem that I have is with the ASP.NET application, which I don't know how to build to allow two persons working simultaneously on a set of data and see instantly the changes the other person does.

Hope my explanation is clear :-) I would appreciate any help, comments, or suggestions.

Thanks.
Mike
This is hard enough working in a regular application. When you add in the
disconnected nature of web pages, you make it pretty damn near impossible.
There is no "instant" update from server to client. Clients send requests to
the server, which services the request. That's how the whole things works.
Ajax (Atlas, to MS) can give the user the impression that this is not the
case, but it still is. Your web application will have to send updates to the
server, which will then do some processing and send the results back to the
client machine, which then can be displayed to the user. If this was a
perfect world, such a system as you describe would be simple to implement.
However, you must consider that requests are served in a multithreaded
environment, so you might have person A attempting to update a document at
the same time person B is. What if person B deletes a sentence, and his
update goes through, and then person A submits an update with that sentence
still in there. Is it put back in? Is it deleted again? This sort of
conflict resolution is damn hard to code. Your best bet would be to restrict
access to the document to one individual at the time, using Atlas to send
updates and do refreshes in the background. Good luck.

"Mike" wrote:

Quote:

Originally Posted by

>
Hi everyone,
>
I need to develop a new asp.net 2.0 web app that has to allow a client the ability to work with an internal adviser on the same document (an offer) at the same time. I am not sure how to allow two persons working on the same application and changes be reflected to both browsers. For sharing the data, I could set up a DB, apply a unique ID that they both would use to manipulate the common data. The problem that I have is with the ASP.NET application, which I don't know how to build to allow two persons working simultaneously on a set of data and see instantly the changes the other person does.
>
Hope my explanation is clear :-) I would appreciate any help, comments, or suggestions.
>
Thanks


Thanks for your thoughts on this one. I agree that it is a challenge.

I was thinking about a combination of Ajax (Atlas) and events raised on the
server to push the updates to the related browser at the other end. I would
lock the document for the customer and only allow the internal adviser to
make any modifications on the document. Would this be feasible? My question
would be how to keep the two persons on each end (customer and intenal
adviser) connected and related all of the time.

Any suggestions on this one?

Thanks.
Mike

"William Sullivan" <WilliamSullivan@.discussions.microsoft.comwrote in
message news:AA1047A3-E5C0-48B2-B8BC-E3149BE09A11@.microsoft.com...

Quote:

Originally Posted by

This is hard enough working in a regular application. When you add in the
disconnected nature of web pages, you make it pretty damn near impossible.
There is no "instant" update from server to client. Clients send requests
to
the server, which services the request. That's how the whole things
works.
Ajax (Atlas, to MS) can give the user the impression that this is not the
case, but it still is. Your web application will have to send updates to
the
server, which will then do some processing and send the results back to
the
client machine, which then can be displayed to the user. If this was a
perfect world, such a system as you describe would be simple to implement.
However, you must consider that requests are served in a multithreaded
environment, so you might have person A attempting to update a document at
the same time person B is. What if person B deletes a sentence, and his
update goes through, and then person A submits an update with that
sentence
still in there. Is it put back in? Is it deleted again? This sort of
conflict resolution is damn hard to code. Your best bet would be to
restrict
access to the document to one individual at the time, using Atlas to send
updates and do refreshes in the background. Good luck.
>
"Mike" wrote:
>

Quote:

Originally Posted by

>>
>Hi everyone,
>>
>I need to develop a new asp.net 2.0 web app that has to allow a client
>the ability to work with an internal adviser on the same document (an
>offer) at the same time. I am not sure how to allow two persons working
>on the same application and changes be reflected to both browsers. For
>sharing the data, I could set up a DB, apply a unique ID that they both
>would use to manipulate the common data. The problem that I have is with
>the ASP.NET application, which I don't know how to build to allow two
>persons working simultaneously on a set of data and see instantly the
>changes the other person does.
>>
>Hope my explanation is clear :-) I would appreciate any help, comments,
>or suggestions.
>>
>Thanks


You can't raise events on the server and have them consumed on the client.
You'll have to resort to polling. Sounds like you might be better off with
some type of activex component...

"Mike" wrote:

Quote:

Originally Posted by

>
Thanks for your thoughts on this one. I agree that it is a challenge.
>
I was thinking about a combination of Ajax (Atlas) and events raised on the
server to push the updates to the related browser at the other end. I would
lock the document for the customer and only allow the internal adviser to
make any modifications on the document. Would this be feasible? My question
would be how to keep the two persons on each end (customer and intenal
adviser) connected and related all of the time.
>
Any suggestions on this one?
>
Thanks.
Mike
>
>
>
"William Sullivan" <WilliamSullivan@.discussions.microsoft.comwrote in
message news:AA1047A3-E5C0-48B2-B8BC-E3149BE09A11@.microsoft.com...

Quote:

Originally Posted by

This is hard enough working in a regular application. When you add in the
disconnected nature of web pages, you make it pretty damn near impossible.
There is no "instant" update from server to client. Clients send requests
to
the server, which services the request. That's how the whole things
works.
Ajax (Atlas, to MS) can give the user the impression that this is not the
case, but it still is. Your web application will have to send updates to
the
server, which will then do some processing and send the results back to
the
client machine, which then can be displayed to the user. If this was a
perfect world, such a system as you describe would be simple to implement.
However, you must consider that requests are served in a multithreaded
environment, so you might have person A attempting to update a document at
the same time person B is. What if person B deletes a sentence, and his
update goes through, and then person A submits an update with that
sentence
still in there. Is it put back in? Is it deleted again? This sort of
conflict resolution is damn hard to code. Your best bet would be to
restrict
access to the document to one individual at the time, using Atlas to send
updates and do refreshes in the background. Good luck.

"Mike" wrote:

Quote:

Originally Posted by

>
Hi everyone,
>
I need to develop a new asp.net 2.0 web app that has to allow a client
the ability to work with an internal adviser on the same document (an
offer) at the same time. I am not sure how to allow two persons working
on the same application and changes be reflected to both browsers. For
sharing the data, I could set up a DB, apply a unique ID that they both
would use to manipulate the common data. The problem that I have is with
the ASP.NET application, which I don't know how to build to allow two
persons working simultaneously on a set of data and see instantly the
changes the other person does.
>
Hope my explanation is clear :-) I would appreciate any help, comments,
or suggestions.
>
Thanks


>
>
>

0 comments:

Post a Comment