473,406 Members | 2,371 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,406 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 1334
"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: 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
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,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.