473,770 Members | 1,652 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Help on designing a modular ASP.NET architecture

Hi

my job is to migrate our WinForms application to ASP.NET. This app was
build very modular so every peace of code can be replaced by another
"modul". There are 1 VS-solution with about 60 projects (dll's) in it.
Now I have to design a Web-Client modul (actually the web-interface). To
maintain the modularity, I thought of making one ASP.NET-Project inside
of the solution and create some projects containing Custom Web Controls.
Did somebody has similar design requirements? Is there any
better/alternative solutions (links)? What is your advice?

Don
Nov 19 '05 #1
12 2212
60 projects? Wow...that's either a huge system or over-engineered. Anyways,
if your system really is "modular" than your web project should be
incredibly thin. It should be your presentation layer (aspx, html, css,
..js) and very thin presentation logic layer (codebehind, and custom server
controls).

At most I'd suspect that you'd have 3 projects...mayb e more if your
application is really different sites. Personally, I'd go with 2, you
should have your raw presentation layer (aspx/html/css/.js and codebehind)
and another project that has your presentation entities (say a "Tab" object
for example) and your custom server contorls - that's it.

Take a look at http://code.communityserver.org/ to see how community server
is organized. Keep in mind that this is there entire presentation, business
and data layer...which you should already have 80%+ in your 60-existing
projects.

Karl

--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is
annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"Don Huan" <do*@kostik.d e> wrote in message
news:Oj******** ******@TK2MSFTN GP10.phx.gbl...
Hi

my job is to migrate our WinForms application to ASP.NET. This app was
build very modular so every peace of code can be replaced by another
"modul". There are 1 VS-solution with about 60 projects (dll's) in it.
Now I have to design a Web-Client modul (actually the web-interface). To
maintain the modularity, I thought of making one ASP.NET-Project inside of
the solution and create some projects containing Custom Web Controls.
Did somebody has similar design requirements? Is there any
better/alternative solutions (links)? What is your advice?

Don

Nov 19 '05 #2
I think you spot on with your solution.
You don't necessarily have to use controls, but they are nice if there's set
pieces of functionality you want to reuse.

The nice thing about keeping it in the same solution, is that you don't have
to keep referencing your compiled dll's,
as you make changes to your projects it will update the project references
set up in Visual Studio.

I have a project setup similair to the one you are talking - a tad smaller
though - but it works like a charm.
one annoying thing however, may be compile time when developing, you can
ofcourse just rebuild the web project on its own, but when debugging this
may be frustrating.

"Don Huan" <do*@kostik.d e> wrote in message
news:Oj******** ******@TK2MSFTN GP10.phx.gbl...
Hi

my job is to migrate our WinForms application to ASP.NET. This app was
build very modular so every peace of code can be replaced by another
"modul". There are 1 VS-solution with about 60 projects (dll's) in it.
Now I have to design a Web-Client modul (actually the web-interface). To
maintain the modularity, I thought of making one ASP.NET-Project inside of
the solution and create some projects containing Custom Web Controls.
Did somebody has similar design requirements? Is there any
better/alternative solutions (links)? What is your advice?

Don

Nov 19 '05 #3
Well, Don, it depends on what you mean by "modular." If you constructed your
WinForms application correctly, you separated business logic from UI logic
and code. And if that's the case, you can either re-use the business classes
of your WinForms app (if they are managed), or rebuild them as managed
classes (if they are not), or use Interop to use them (which will engender a
performance hit and some complexity, which I don't recommend offhand). As
for your Custom Controls, anywhere in your WinForms app that you use Custom
Control, create Custome ASP.Net Server Controls to replace them.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Everybody picks their nose,
But some people are better at hiding it.

"Don Huan" <do*@kostik.d e> wrote in message
news:Oj******** ******@TK2MSFTN GP10.phx.gbl...
Hi

my job is to migrate our WinForms application to ASP.NET. This app was
build very modular so every peace of code can be replaced by another
"modul". There are 1 VS-solution with about 60 projects (dll's) in it.
Now I have to design a Web-Client modul (actually the web-interface). To
maintain the modularity, I thought of making one ASP.NET-Project inside of
the solution and create some projects containing Custom Web Controls.
Did somebody has similar design requirements? Is there any
better/alternative solutions (links)? What is your advice?

Don

Nov 19 '05 #4
Thanks all for quick responce.
Actually every of our modules consists of 3-4 Projects like
- module.buisness logic
- module.common
- module.winform

So the requirement is to create one project like
- module.aspnet
for every module.
And that's the reason I can't use UserControls.
My further thoughts are about orginizing css/js and so on in such a big
solution. The aim is to keep web site both modular and simply.

Grant Merwitz wrote:
I think you spot on with your solution.
You don't necessarily have to use controls, but they are nice if there's set
pieces of functionality you want to reuse.

The nice thing about keeping it in the same solution, is that you don't have
to keep referencing your compiled dll's,
as you make changes to your projects it will update the project references
set up in Visual Studio.

I have a project setup similair to the one you are talking - a tad smaller
though - but it works like a charm.
one annoying thing however, may be compile time when developing, you can
ofcourse just rebuild the web project on its own, but when debugging this
may be frustrating.

"Don Huan" <do*@kostik.d e> wrote in message
news:Oj******** ******@TK2MSFTN GP10.phx.gbl...
Hi

my job is to migrate our WinForms application to ASP.NET. This app was
build very modular so every peace of code can be replaced by another
"modul". There are 1 VS-solution with about 60 projects (dll's) in it.
Now I have to design a Web-Client modul (actually the web-interface). To
maintain the modularity, I thought of making one ASP.NET-Project inside of
the solution and create some projects containing Custom Web Controls.
Did somebody has similar design requirements? Is there any
better/alternative solutions (links)? What is your advice?

Don


Nov 19 '05 #5
How come you can't use UserControls.
It's definately a way to modularise a WebSite (i've found), and you can
compile them, and reference and use them across projects.
Hence you could modularise them.

But this sounds like an awfull amout of work.
Considering they will most likely only be used in one solution - the
website,
why not group them all together under one solutiong, in a folder structure
simulating your current modules.
They are, after all, just a UI to your modules, and shouldn't contain too
much functionality as it will be using the code you already have


"Don Huan" <do*@kostik.d e> wrote in message
news:uR******** ********@tk2msf tngp13.phx.gbl. ..
Thanks all for quick responce.
Actually every of our modules consists of 3-4 Projects like
- module.buisness logic
- module.common
- module.winform

So the requirement is to create one project like
- module.aspnet
for every module.
And that's the reason I can't use UserControls.
My further thoughts are about orginizing css/js and so on in such a big
solution. The aim is to keep web site both modular and simply.

Grant Merwitz wrote:
I think you spot on with your solution.
You don't necessarily have to use controls, but they are nice if there's
set pieces of functionality you want to reuse.

The nice thing about keeping it in the same solution, is that you don't
have to keep referencing your compiled dll's,
as you make changes to your projects it will update the project
references set up in Visual Studio.

I have a project setup similair to the one you are talking - a tad
smaller though - but it works like a charm.
one annoying thing however, may be compile time when developing, you can
ofcourse just rebuild the web project on its own, but when debugging this
may be frustrating.

"Don Huan" <do*@kostik.d e> wrote in message
news:Oj******** ******@TK2MSFTN GP10.phx.gbl...
Hi

my job is to migrate our WinForms application to ASP.NET. This app was
build very modular so every peace of code can be replaced by another
"modul". There are 1 VS-solution with about 60 projects (dll's) in it.
Now I have to design a Web-Client modul (actually the web-interface). To
maintain the modularity, I thought of making one ASP.NET-Project inside
of the solution and create some projects containing Custom Web Controls.
Did somebody has similar design requirements? Is there any
better/alternative solutions (links)? What is your advice?

Don



Nov 19 '05 #6
ASAIK there's no way to compile and reference UserControls across
projects (like custom controls), or is there one? At least, VS doesn't
provide me the ability to create a UserControl inside of a project other
than WebProject (like in a Web Class Library).
I'm relatively new to asp.net, so sorry for dumb question :)

Don

Grant Merwitz wrote:
How come you can't use UserControls.
It's definately a way to modularise a WebSite (i've found), and you can
compile them, and reference and use them across projects.
Hence you could modularise them.

But this sounds like an awfull amout of work.
Considering they will most likely only be used in one solution - the
website,
why not group them all together under one solutiong, in a folder structure
simulating your current modules.
They are, after all, just a UI to your modules, and shouldn't contain too
much functionality as it will be using the code you already have


"Don Huan" <do*@kostik.d e> wrote in message
news:uR******** ********@tk2msf tngp13.phx.gbl. ..
Thanks all for quick responce.
Actually every of our modules consists of 3-4 Projects like
- module.buisness logic
- module.common
- module.winform

So the requirement is to create one project like
- module.aspnet
for every module.
And that's the reason I can't use UserControls.
My further thoughts are about orginizing css/js and so on in such a big
solution. The aim is to keep web site both modular and simply.

Grant Merwitz wrote:
I think you spot on with your solution.
You don't necessarily have to use controls, but they are nice if there's
set pieces of functionality you want to reuse.

The nice thing about keeping it in the same solution, is that you don't
have to keep referencing your compiled dll's,
as you make changes to your projects it will update the project
references set up in Visual Studio.

I have a project setup similair to the one you are talking - a tad
smaller though - but it works like a charm.
one annoying thing however, may be compile time when developing, you can
ofcourse just rebuild the web project on its own, but when debugging this
may be frustrating.

"Don Huan" <do*@kostik.d e> wrote in message
news:Oj***** *********@TK2MS FTNGP10.phx.gbl ...
Hi

my job is to migrate our WinForms application to ASP.NET. This app was
build very modular so every peace of code can be replaced by another
"modul". There are 1 VS-solution with about 60 projects (dll's) in it.
Now I have to design a Web-Client modul (actually the web-interface). To
maintain the modularity, I thought of making one ASP.NET-Project inside
of the solution and create some projects containing Custom Web Controls.
Did somebody has similar design requirements? Is there any
better/alternative solutions (links)? What is your advice?

Don

Nov 19 '05 #7
It looks like you've built your original project/solution using VB 6. Are
these truly modules you're using? If so, be aware that Modules in VB.Net are
not a good way to go. Use classes instead. While they may not seem as
"convenient " in the short run, they are truly object-oriented (while Modules
are not), and will save you many headaches in the long run.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Everybody picks their nose,
But some people are better at hiding it.

"Don Huan" <do*@kostik.d e> wrote in message
news:uR******** ********@tk2msf tngp13.phx.gbl. ..
Thanks all for quick responce.
Actually every of our modules consists of 3-4 Projects like
- module.buisness logic
- module.common
- module.winform

So the requirement is to create one project like
- module.aspnet
for every module.
And that's the reason I can't use UserControls.
My further thoughts are about orginizing css/js and so on in such a big
solution. The aim is to keep web site both modular and simply.

Grant Merwitz wrote:
I think you spot on with your solution.
You don't necessarily have to use controls, but they are nice if there's
set pieces of functionality you want to reuse.

The nice thing about keeping it in the same solution, is that you don't
have to keep referencing your compiled dll's,
as you make changes to your projects it will update the project
references set up in Visual Studio.

I have a project setup similair to the one you are talking - a tad
smaller though - but it works like a charm.
one annoying thing however, may be compile time when developing, you can
ofcourse just rebuild the web project on its own, but when debugging this
may be frustrating.

"Don Huan" <do*@kostik.d e> wrote in message
news:Oj******** ******@TK2MSFTN GP10.phx.gbl...
Hi

my job is to migrate our WinForms application to ASP.NET. This app was
build very modular so every peace of code can be replaced by another
"modul". There are 1 VS-solution with about 60 projects (dll's) in it.
Now I have to design a Web-Client modul (actually the web-interface). To
maintain the modularity, I thought of making one ASP.NET-Project inside
of the solution and create some projects containing Custom Web Controls.
Did somebody has similar design requirements? Is there any
better/alternative solutions (links)? What is your advice?

Don



Nov 19 '05 #8
Not sure about that actually.
I know you can compile them into a dll, but not sure if it can be referenced
like a project reference,
but i can't imagine why not.

"Don Huan" <do*@kostik.d e> wrote in message
news:OO******** ******@TK2MSFTN GP10.phx.gbl...
ASAIK there's no way to compile and reference UserControls across projects
(like custom controls), or is there one? At least, VS doesn't provide me
the ability to create a UserControl inside of a project other than
WebProject (like in a Web Class Library).
I'm relatively new to asp.net, so sorry for dumb question :)

Don

Grant Merwitz wrote:
How come you can't use UserControls.
It's definately a way to modularise a WebSite (i've found), and you can
compile them, and reference and use them across projects.
Hence you could modularise them.

But this sounds like an awfull amout of work.
Considering they will most likely only be used in one solution - the
website,
why not group them all together under one solutiong, in a folder
structure simulating your current modules.
They are, after all, just a UI to your modules, and shouldn't contain too
much functionality as it will be using the code you already have


"Don Huan" <do*@kostik.d e> wrote in message
news:uR******** ********@tk2msf tngp13.phx.gbl. ..
Thanks all for quick responce.
Actually every of our modules consists of 3-4 Projects like
- module.buisness logic
- module.common
- module.winform

So the requirement is to create one project like
- module.aspnet
for every module.
And that's the reason I can't use UserControls.
My further thoughts are about orginizing css/js and so on in such a big
solution. The aim is to keep web site both modular and simply.

Grant Merwitz wrote:

I think you spot on with your solution.
You don't necessarily have to use controls, but they are nice if there's
set pieces of functionality you want to reuse.

The nice thing about keeping it in the same solution, is that you don't
have to keep referencing your compiled dll's,
as you make changes to your projects it will update the project
reference s set up in Visual Studio.

I have a project setup similair to the one you are talking - a tad
smaller though - but it works like a charm.
one annoying thing however, may be compile time when developing, you
can ofcourse just rebuild the web project on its own, but when debugging
this may be frustrating.

"Don Huan" <do*@kostik.d e> wrote in message
news:Oj**** **********@TK2M SFTNGP10.phx.gb l...
>Hi
>
>my job is to migrate our WinForms application to ASP.NET. This app was
>build very modular so every peace of code can be replaced by another
>"modul". There are 1 VS-solution with about 60 projects (dll's) in it.
>Now I have to design a Web-Client modul (actually the web-interface).
>To maintain the modularity, I thought of making one ASP.NET-Project
>inside of the solution and create some projects containing Custom Web
>Controls .
>Did somebody has similar design requirements? Is there any
>better/alternative solutions (links)? What is your advice?
>
>Don

Nov 19 '05 #9
No, we have a "pure" .net (actually C#) OO-solution...

Kevin Spencer wrote:
It looks like you've built your original project/solution using VB 6. Are
these truly modules you're using? If so, be aware that Modules in VB.Net are
not a good way to go. Use classes instead. While they may not seem as
"convenient " in the short run, they are truly object-oriented (while Modules
are not), and will save you many headaches in the long run.

Nov 19 '05 #10

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

Similar topics

14
3777
by: Hayden Kirk | last post by:
Hey guys I am about to write some back end software for my business. I want a system that I can create invoices, clients etc... I can do this no problem. However I want to write it in modules so its extendable in the future. Like someone else can write a module for it and it can plug stright into my system. I can't figure out a good way to do this in php. I was thinking of hooks or something, but PHP does not support this.
1
1628
by: Naren | last post by:
Hello All, I am presently designing a cleint server architecture. I require some suggestions and help by the experts here. MyServer class conatins a list of Mysock class. class Myserver { private: list<Mysock> L1;
6
2952
by: Gary James | last post by:
This may not be a direct C# question, but since I'll be using using C# for development, I thought I'd pose the question here. I'll soon be involved in the design of a new software product that will employ a software "Plug-In" architecture. Taking the plug-in route will give us a design that can adapt to, as yet, undefined future requirements (within the scope of the plug-in interface spec of course). In the past I've done this with...
4
2310
by: Nick Goloborodko | last post by:
Hi, I'm in the process of conceptualizing a new ASP.NET application. I'm a relative newbie in ASP.NET / .NET in general, so any comments will be greatly appreciated. Basically i need to make my application as modular as possible, something along the lines of Mambo (PHP CMS System) Drupal (another PHP CMS) or something similar to these. What I'm thinking is to provide the following structure: core of the application includes essential...
1
1284
by: slonocode | last post by:
I'm wondering if there are certain processes that I could follow to learn to design better classes? Where could I find these processes? Is designing classes more of an art that comes from experience or can it at least be somewhat done by a process? I have the most trouble with abstracting the specifics, such that a class could be reused or just be generic such that anyone could use them.
1
2462
by: Silent Ocean | last post by:
Hi 1. I am in process of designing N-Tier Application using ASP.NET. Can anyone guide me the right material or microsoft guidelines document which I can used in designing the N-Tier application. 2. I would also like to know whether to use Web Services or .Net Remoting in designing N-Tier application 3. General 3 Tier architecture has 3 Tier : Presentation Layer , Business Layer and Database Layer
2
2086
by: Mahesh Kumar.R | last post by:
I'm into designing an application in winforms but in near future my client may request the same thing in webforms. so (1) what are all the design guidelines and ways are there to migrate easily in future (winforms -> weforms)...? (2) how can i design my application which can be accessed in both winforms and webforms by not writing much of code for the same business logic. ? (3) which is the cost effective method ? Please guide me to...
2
3482
by: Canice | last post by:
I'm working on a web application where 90% of it is common 'product' code an the other 10% is customer specific. I want some method of separating the customer specific presentation, business and data access layers from the product code as I don't the main product code to be bloated with customer specific code. Ideally I'd like to have one solution for the product and one for each customer. However I haven't found a way to separate the...
1
2342
by: abhijitbkulkarni | last post by:
Hello, I am designing a .NET database application that uses 3 tier architecture. Starting initially, this application will be desktop application but I will convert it into a website later but design that I am planning should support both version. Development Environment : VS2008, C# Currently Database supported are MS SQL Server 2005 and MYSQL 5 and design for database support is extensible. This application contains several high...
0
9595
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9432
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10232
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10059
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9873
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8891
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7420
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5313
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3578
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.