473,320 Members | 1,832 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,320 software developers and data experts.

Communicating Between Web Applications

Hello,
Currently I have a very large Web application (1 solution with ~20
projects) that is being deployed on an intranet. A descision was made
to "break apart" the application (into ~20 solutions -- 1 for each
project).
For the most part, this was successful, but it did cause a problem,
where one project would use session state information, that was
populated by another project, and now these seperate projects would
become seperate applications. I have discovered that session
information is not maintained across applications, which in turn would
break this relationship.
I have looked into soloving this problem and currently we are going to
keep the two applications together (as a temporary solution). I have
found 3 commonly used practices for solving this scenario. 1: using a
session server (which seemed to be the easiest to me), 2: .Net Remoting
(which seems to be the best, but I don't know anything about .Net
Remoting and thus I can't really make a good descision about it) and 3:
MSMQ (Message Queing) (which seems to be a good solution, but not
better that .Net Remoting and again, I do not know much about MSMQ).
Are there any other methods besides these three that would solve this
situation.

Further more, I was origianlly opposed to "breaking apart" the
solution. Is it infact the better approach (many solutions with one
project in each) or was it better originally (one solution with all the
projects in it)?

Sorry to have extened the subject of this post.
Thank you for any suggestions and comments you might have.
~Sinisa

Nov 19 '05 #1
10 1331
"Sinisa" <si**********@hotmail.com> wrote in message
news:11**********************@c13g2000cwb.googlegr oups.com...

....
Further more, I was origianlly opposed to "breaking apart" the
solution. Is it infact the better approach (many solutions with one
project in each) or was it better originally (one solution with all the
projects in it)?


What was the problem which initially caused the decision to split the
solution into 20 separate solutions?

John Saunders
Nov 19 '05 #2
Another common approach is to store the common information in a common
database.
You might create a common component that wraps the required functionality.

--
I hope this helps,
Steve C. Orr, MCSD, MVP
http://Steve.Orr.net

"Sinisa" <si**********@hotmail.com> wrote in message
news:11**********************@c13g2000cwb.googlegr oups.com...
Hello,
Currently I have a very large Web application (1 solution with ~20
projects) that is being deployed on an intranet. A descision was made
to "break apart" the application (into ~20 solutions -- 1 for each
project).
For the most part, this was successful, but it did cause a problem,
where one project would use session state information, that was
populated by another project, and now these seperate projects would
become seperate applications. I have discovered that session
information is not maintained across applications, which in turn would
break this relationship.
I have looked into soloving this problem and currently we are going to
keep the two applications together (as a temporary solution). I have
found 3 commonly used practices for solving this scenario. 1: using a
session server (which seemed to be the easiest to me), 2: .Net Remoting
(which seems to be the best, but I don't know anything about .Net
Remoting and thus I can't really make a good descision about it) and 3:
MSMQ (Message Queing) (which seems to be a good solution, but not
better that .Net Remoting and again, I do not know much about MSMQ).
Are there any other methods besides these three that would solve this
situation.

Further more, I was origianlly opposed to "breaking apart" the
solution. Is it infact the better approach (many solutions with one
project in each) or was it better originally (one solution with all the
projects in it)?

Sorry to have extened the subject of this post.
Thank you for any suggestions and comments you might have.
~Sinisa

Nov 19 '05 #3
inproc sessions are maintained in the appdomain (vdir). the session cookie
is also maintained at the vdir. the simple solution, is to just deploy the
projects to the same vdir, so they will share session. you could use
cookieless sessions, and out of proc session manager for shared sessions
(you would a little code to munge the urls when linking to the other sites).
for a large site I'd use the sql session manager anyway.

you can write you own session cookie and store tied to the host rather than
the vdir and use an out of proc session.

-- bruce (sqlwork.com)

"Sinisa" <si**********@hotmail.com> wrote in message
news:11**********************@c13g2000cwb.googlegr oups.com...
| Hello,
| Currently I have a very large Web application (1 solution with ~20
| projects) that is being deployed on an intranet. A descision was made
| to "break apart" the application (into ~20 solutions -- 1 for each
| project).
| For the most part, this was successful, but it did cause a problem,
| where one project would use session state information, that was
| populated by another project, and now these seperate projects would
| become seperate applications. I have discovered that session
| information is not maintained across applications, which in turn would
| break this relationship.
| I have looked into soloving this problem and currently we are going to
| keep the two applications together (as a temporary solution). I have
| found 3 commonly used practices for solving this scenario. 1: using a
| session server (which seemed to be the easiest to me), 2: .Net Remoting
| (which seems to be the best, but I don't know anything about .Net
| Remoting and thus I can't really make a good descision about it) and 3:
| MSMQ (Message Queing) (which seems to be a good solution, but not
| better that .Net Remoting and again, I do not know much about MSMQ).
| Are there any other methods besides these three that would solve this
| situation.
|
| Further more, I was origianlly opposed to "breaking apart" the
| solution. Is it infact the better approach (many solutions with one
| project in each) or was it better originally (one solution with all the
| projects in it)?
|
| Sorry to have extened the subject of this post.
| Thank you for any suggestions and comments you might have.
| ~Sinisa
|
Nov 19 '05 #4
John,
The decision to split appart the solution into 20 seperate solutions
was because much of the team felt that it would improve development
preformance (quicker to load the application into VS, quick to build
the application). Sometimes Visual Studio would halt when moving from
debug to release. Much of the decision was made to make things more
comfortable for "us". I never really agreed with it, but I don't
really have a reason to think that it was the wrong way to go, just as
I don't have a reason to feel that it was the right way to go.

I hope this clarifies things a little.

~sinisa
John Saunders wrote:
"Sinisa" <si**********@hotmail.com> wrote in message
news:11**********************@c13g2000cwb.googlegr oups.com...

...
Further more, I was origianlly opposed to "breaking apart" the
solution. Is it infact the better approach (many solutions with one project in each) or was it better originally (one solution with all the projects in it)?


What was the problem which initially caused the decision to split the
solution into 20 separate solutions?

John Saunders


Nov 19 '05 #5
Bruce,
to just deploy the projects to the same vdir, so they will share session
If I had two web applications in the same vdir (a physical folder?)
then wouldn't the two application be considered one application by the
IIS? Following that, could I then put all applications in one vdir,
and then all the applications would be considered to be one? Or would
it be sufficient to have the seperate applications be sub-directories
of the main vdir so that some management of the applications would be
easier.
for a large site I'd use the sql session manager anyway. Regarding the sql session manager, I was under the impression that it
too was constrained with the same rules, not allow another web
application access to the session data.
you can write you own session cookie and store tied to the host rather thanthe vdir and use an out of proc session.

I would like to try an avoid using cookies (but am not fully opposed to
the idea).

~sinisa

Nov 19 '05 #6
Steve,
I have proposed something along those lines, but it encapsulated a
general framework for accomplishing a solution to this problem, but it
was felt that the component would be difficult to write, maintain and
use.
I personally feel that it might be hard to write, but not maintain or
implement.
Would you have any experiences that would be able to support or
discredit my claim. I just want to reach a good solution, and I'm not
sure what the best approach would be at this point.

~sinisa

Nov 19 '05 #7
You'd basically just be writing a replacement for the Session object that
does a little database work in the background. It doesn't have to be fancy
or complicated or bug-prone.

--
I hope this helps,
Steve C. Orr, MCSD, MVP
http://Steve.Orr.net
"Sinisa" <si**********@hotmail.com> wrote in message
news:11**********************@f14g2000cwb.googlegr oups.com...
Steve,
I have proposed something along those lines, but it encapsulated a
general framework for accomplishing a solution to this problem, but it
was felt that the component would be difficult to write, maintain and
use.
I personally feel that it might be hard to write, but not maintain or
implement.
Would you have any experiences that would be able to support or
discredit my claim. I just want to reach a good solution, and I'm not
sure what the best approach would be at this point.

~sinisa

Nov 19 '05 #8
"Sinisa" <si**********@hotmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
John,
The decision to split appart the solution into 20 seperate solutions
was because much of the team felt that it would improve development
preformance (quicker to load the application into VS, quick to build
the application). Sometimes Visual Studio would halt when moving from
debug to release. Much of the decision was made to make things more
comfortable for "us". I never really agreed with it, but I don't
really have a reason to think that it was the wrong way to go, just as
I don't have a reason to feel that it was the right way to go.

I hope this clarifies things a little.


Thanks, that does clarify things.

I'd suggest that you look at a different partitioning. If you take a look at
Team Development with Visual Studio .NET and Visual SourceSafe
(http://msdn.microsoft.com/library/de...sp?frame=true),
you'll see that it talks about several ways to partition solutions to
address this issue.

One other hint, though: if you've got two projects which need to communicate
this closely, then perhaps they belong in the same solution.

John Saunders


Nov 19 '05 #9
Thanks Steve. Thats pretty much what I thought.

~sinisa
"Steve C. Orr [MVP, MCSD]" <St***@Orr.net> wrote in message
news:ep****************@TK2MSFTNGP10.phx.gbl...
You'd basically just be writing a replacement for the Session object that
does a little database work in the background. It doesn't have to be fancy or complicated or bug-prone.

--
I hope this helps,
Steve C. Orr, MCSD, MVP
http://Steve.Orr.net
"Sinisa" <si**********@hotmail.com> wrote in message
news:11**********************@f14g2000cwb.googlegr oups.com...
Steve,
I have proposed something along those lines, but it encapsulated a
general framework for accomplishing a solution to this problem, but it
was felt that the component would be difficult to write, maintain and
use.
I personally feel that it might be hard to write, but not maintain or
implement.
Would you have any experiences that would be able to support or
discredit my claim. I just want to reach a good solution, and I'm not
sure what the best approach would be at this point.

~sinisa


Nov 19 '05 #10
Thanks John,
I'll look into that. It sounds like it would make things a bit easier.
Currently, yes we are leaving the two project in the same solution.
~sinisa
"John Saunders" <johnwsaundersiii at hotmail.com> wrote in message
news:OS**************@TK2MSFTNGP11.phx.gbl...
"Sinisa" <si**********@hotmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
John,
The decision to split appart the solution into 20 seperate solutions
was because much of the team felt that it would improve development
preformance (quicker to load the application into VS, quick to build
the application). Sometimes Visual Studio would halt when moving from
debug to release. Much of the decision was made to make things more
comfortable for "us". I never really agreed with it, but I don't
really have a reason to think that it was the wrong way to go, just as
I don't have a reason to feel that it was the right way to go.

I hope this clarifies things a little.
Thanks, that does clarify things.

I'd suggest that you look at a different partitioning. If you take a look

at Team Development with Visual Studio .NET and Visual SourceSafe
(http://msdn.microsoft.com/library/de...-us/dnbda/html
/tdlg_rm.asp?frame=true), you'll see that it talks about several ways to partition solutions to
address this issue.

One other hint, though: if you've got two projects which need to communicate this closely, then perhaps they belong in the same solution.

John Saunders

Nov 19 '05 #11

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

Similar topics

2
by: Michael Williams | last post by:
Hi, I am trying to create a VB6 application which can act as a 'connection broker' for other applications being run on the same machine. Essentially, the broker app will setup a number of...
10
by: Nimit | last post by:
Hi, I wasn't sure which forum this post belongs to, so I've posted it to a couple forums that I thought may be appropriate. In giving me advice, please consider me a beginner. Below is a synopsis...
0
by: DD | last post by:
I am trying to place a Word document into a form. I get the following error A problem occured while Microsoft Access was Communicating with the OLE or Activex Control the name of the ole is...
4
by: Sput | last post by:
Is there a simple way of communication between applications I would need to send or receive some data from time to time?
2
by: aherzallah | last post by:
Hi every one, I am trying to create a .NET application that will be called by other smaller .NET applications, can anyone advice me what is the best method/approch to communicate between...
10
by: Gabe Moothart | last post by:
Hi, I have 3 applications (2 services and a winforms app) that need to be able to send/recieve messages from each other. What is the best way to do this in .NET? I looked briefly at remoting, but...
0
by: Sinisa | last post by:
Hello, Currently I have a very large Web application (1 solution with ~20 projects) that is being deployed on an intranet. A descision was made to "break apart" the application (into ~20...
3
by: Mike Grainger | last post by:
Good Day: I am attempting to reference the value in a dropdownlist in the contents frame from the main frame and use it for filtering od a dataview. I get object is null. Any help on...
2
by: Veleek | last post by:
An alternate title for this might be "Creating my own set of core classes". Just a quick overview. In order to learn C#, Sockets, Multithreading and whatever else I can, I am attempting to...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

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.