Home All Groups Group Topic Archive Search About
Author
5 Jul 2009 8:17 PM
jk
Hi there,

I'm a very experienced developer but relative new to ASP.NET (not exactly a
novice but still feeling my way around). I'm about to start development of a
new (commercial) web site and would like to know what technology I should be
pursuing. The site will provide a front-end for users who will log on, input
data, generate reports, etc. (lots of web forms and controls involved with
all this). Everything is captured at the back-end in a SQL Server DB. Can
anyone enlighten me on what technology I should be investigating. Should I
be looking at WPF for instance or stick with the tried and true ways I've
been reading about (using standard web controls bound to my business objects
using "ObjectDataSource" controls and ultimately invoking strongly-typed
datasets to update the DB). I'm fairly green in the latter area (though find
it very easy so far) and have no WPF experience whatsoever so I'm not sure
where these technologies diverge, whether they're completely different, etc.
I just need some guidance on what technology and design patterns I should be
pursuing. Presumably it boils down to WPF versus the older ways of doing
things but maybe someone can set me straight. Thanks in advance.

Author
6 Jul 2009 1:10 AM
HillBilly
If the application is accessed through a browser there are several
architectural choices: Web forms, i.e typical ASP.NET, MVC which is not as
mature as Web forms and finally Silverlight. WPF like Silverlight is based
on XAML but is used as the next generation of Windows forms for applications
that run on the desktop.

Since you said "web site" your choices are Web forms, MVC (Model View
Controller) or Silverlight noting Silverlight gives us the look and feel of
Flash with some improvements here and there but a steep learning curve. Web
forms is the easiest and has the most blog and other documentation you can
find. That said, MVC is probably the future.

There's also a couple of data architectures to access data in SQL Server.
Boy are you in for a learning curve. You may have experience as a developer
but you are not ready for the scope of the project as you imply without some
..NET experience on some other project(s) to get familiar with the many
choices available. Its like being Sybil and we have to manage 16 different
personalities which is why .NET developers are usually pyscho.

Show quoteHide quote
"jk" <_nospam@_no_spam.com> wrote in message
news:uU3$j2a$JHA.200@TK2MSFTNGP05.phx.gbl...
> Hi there,
>
> I'm a very experienced developer but relative new to ASP.NET (not exactly
> a novice but still feeling my way around). I'm about to start development
> of a new (commercial) web site and would like to know what technology I
> should be pursuing. The site will provide a front-end for users who will
> log on, input data, generate reports, etc. (lots of web forms and controls
> involved with all this). Everything is captured at the back-end in a SQL
> Server DB. Can anyone enlighten me on what technology I should be
> investigating. Should I be looking at WPF for instance or stick with the
> tried and true ways I've been reading about (using standard web controls
> bound to my business objects using "ObjectDataSource" controls and
> ultimately invoking strongly-typed datasets to update the DB). I'm fairly
> green in the latter area (though find it very easy so far) and have no WPF
> experience whatsoever so I'm not sure where these technologies diverge,
> whether they're completely different, etc. I just need some guidance on
> what technology and design patterns I should be pursuing. Presumably it
> boils down to WPF versus the older ways of doing things but maybe someone
> can set me straight. Thanks in advance.
>
Are all your drivers up to date? click for free checkup

Author
6 Jul 2009 11:53 AM
jk
> If the application is accessed through a browser there are several
> architectural choices: Web forms, i.e typical ASP.NET, MVC which is not as
> mature as Web forms and finally Silverlight. WPF like Silverlight is based
> on XAML but is used as the next generation of Windows forms for
> applications that run on the desktop.
>
> Since you said "web site" your choices are Web forms, MVC (Model View
> Controller) or Silverlight noting Silverlight gives us the look and feel
> of Flash with some improvements here and there but a steep learning curve.
> Web forms is the easiest and has the most blog and other documentation you
> can find. That said, MVC is probably the future.

Ok, thanks. I'll look into all of this but I'm still not sure where WPF fits
in (for web-based programming and its relation to ASP.NET and the existing
web controls in particular). Can or should it be used in this environment
and what about the richness of its native controls. Can I also use the
existing web controls with it?

> There's also a couple of data architectures to access data in SQL Server.
> Boy are you in for a learning curve. You may have experience as a
> developer but you are not ready for the scope of the project as you imply
> without some .NET experience on some other project(s) to get familiar with
> the many choices available. Its like being Sybil and we have to manage 16
> different personalities which is why .NET developers are usually pyscho.

Well, I'm realistic but not intimidated. For all the design patterns,
technologies, acronymns, etc. that .NET has to offer, I cut my teeth
in the WinAPI which is a much tougher environment (using C and later C++).
After almost 25 years on MSFT platforms (starting wtih DOS), including 3
years of .NET and some (limited) ASP.NET experience, it doesn't take me long
to learn things. I got through some of these tutorials in no time
(http://www.asp.net/learn/data-access/) but it's unclear whether I should be
looking at WPF or now (based on your feedback) MVC. Silverlight doesn't seem
appropriate at this point but I'll have to investigate further. Thanks
again.
Author
6 Jul 2009 4:33 AM
Mr. Arnold
Show quote Hide quote
"jk" <_nospam@_no_spam.com> wrote in message
news:uU3$j2a$JHA.200@TK2MSFTNGP05.phx.gbl...
> Hi there,
>
> I'm a very experienced developer but relative new to ASP.NET (not exactly
> a novice but still feeling my way around). I'm about to start development
> of a new (commercial) web site and would like to know what technology I
> should be pursuing. The site will provide a front-end for users who will
> log on, input data, generate reports, etc. (lots of web forms and controls
> involved with all this). Everything is captured at the back-end in a SQL
> Server DB. Can anyone enlighten me on what technology I should be
> investigating. Should I be looking at WPF for instance or stick with the
> tried and true ways I've been reading about (using standard web controls
> bound to my business objects using "ObjectDataSource" controls and
> ultimately invoking strongly-typed datasets to update the DB). I'm fairly
> green in the latter area (though find it very easy so far) and have no WPF
> experience whatsoever so I'm not sure where these technologies diverge,
> whether they're completely different, etc. I just need some guidance on
> what technology and design patterns I should be pursuing. Presumably it
> boils down to WPF versus the older ways of doing things but maybe someone
> can set me straight. Thanks in advance.

1) Model View Presenter pattern

2) Windows Communications Web service with BLL and DAL setting behind the
WCF Web service, with business objects sent to the UI as DTO(s) -- Data
Transfer Objects, and those DTO(s) sent back to the WCF, with them becoming
business objects again persisting themselves to the database via the DAL.

3) ORM solution such as ADO.NET Entity Framework with Linq-2-Entities,
nHibernate or Link-2-SQL

4) Ajax with possible Telerik controls and standard controls

6) Light or no validation of user input at the UI, letting Windows Workflow
validate business objects by object injection into a validation Workflow.
Workflow is setting behind the WCF Web service on an application server
that's hosting BLL, DAL and WF.

7) Disable viewstate on all UI controls.

8) Domain Driven Design pattern against the Model

9) Test Driven Design pattern against the Model using functional tests to
test the entire backend before one even gets to the UI, with tools such as
Reshapper, Gallio and MBunit. The same tools can be used for Unit Test
mock-ups as well.

10) The ability to understand and use Linq.






__________ Information from ESET NOD32 Antivirus, version of virus signature database 4219 (20090705) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
Author
6 Jul 2009 11:58 AM
jk
Show quote Hide quote
> 1) Model View Presenter pattern
>
> 2) Windows Communications Web service with BLL and DAL setting behind the
> WCF Web service, with business objects sent to the UI as DTO(s) -- Data
> Transfer Objects, and those DTO(s) sent back to the WCF, with them
> becoming business objects again persisting themselves to the database via
> the DAL.
>
> 3) ORM solution such as ADO.NET Entity Framework with Linq-2-Entities,
> nHibernate or Link-2-SQL
>
> 4) Ajax with possible Telerik controls and standard controls
>
> 6) Light or no validation of user input at the UI, letting Windows
> Workflow validate business objects by object injection into a validation
> Workflow. Workflow is setting behind the WCF Web service on an application
> server that's hosting BLL, DAL and WF.
>
> 7) Disable viewstate on all UI controls.
>
> 8) Domain Driven Design pattern against the Model
>
> 9) Test Driven Design pattern against the Model using functional tests to
> test the entire backend before one even gets to the UI, with tools such as
> Reshapper, Gallio and MBunit. The same tools can be used for Unit Test
> mock-ups as well.
>
> 10) The ability to understand and use Linq.

Thanks for the info. I'll do some research on these items but what would you
personally be looking at (ignoring any learning curve). What's best for the
future IOW (in your opinion) but also consider that we need to get our site
done without countless problems due to lack of documentation and/or because
the technology is still too immature to proceed with. Thanks again.
Author
6 Jul 2009 4:07 PM
Mr. Arnold
Show quote Hide quote
"jk" <_nospam@_no_spam.com> wrote in message
news:ubDSKEj$JHA.3708@TK2MSFTNGP02.phx.gbl...
>> 1) Model View Presenter pattern
>>
>> 2) Windows Communications Web service with BLL and DAL setting behind the
>> WCF Web service, with business objects sent to the UI as DTO(s) -- Data
>> Transfer Objects, and those DTO(s) sent back to the WCF, with them
>> becoming business objects again persisting themselves to the database via
>> the DAL.
>>
>> 3) ORM solution such as ADO.NET Entity Framework with Linq-2-Entities,
>> nHibernate or Link-2-SQL
>>
>> 4) Ajax with possible Telerik controls and standard controls
>>
>> 6) Light or no validation of user input at the UI, letting Windows
>> Workflow validate business objects by object injection into a validation
>> Workflow. Workflow is setting behind the WCF Web service on an
>> application server that's hosting BLL, DAL and WF.
>>
>> 7) Disable viewstate on all UI controls.
>>
>> 8) Domain Driven Design pattern against the Model
>>
>> 9) Test Driven Design pattern against the Model using functional tests to
>> test the entire backend before one even gets to the UI, with tools such
>> as Reshapper, Gallio and MBunit. The same tools can be used for Unit Test
>> mock-ups as well.
>>
>> 10) The ability to understand and use Linq.
>
> Thanks for the info. I'll do some research on these items but what would
> you personally be looking at (ignoring any learning curve). What's best
> for the future IOW (in your opinion) but also consider that we need to get
> our site done without countless problems due to lack of documentation
> and/or because the technology is still too immature to proceed with.
> Thanks again.


Well, I can say that datasets are not the way to go if you're developing a
SOA solution. One goes with ADO.NET SQL command object using sprocs and
building business objects that know how to persist themselves to the
database based on object state or one uses an ORM solution with business
objects that know how to persist themselves to a database based on object
state. My own preference on this is to use an ORM solution like ADO.NET
Entity Framework, which forces one to use OOP(s).

People say that ADO.NET Entity Framework has promise and wait for the next
release of VS.  I disagree with them on this, as I am working  projects
where datasets are being used, and they are being converted over to ADO.Net
Entity Framework. There is not a sproc to be found in use in the conversion,
which is wonderful, and is different from the several hundred sprocs flying
around the solutions use.

MS's communication platform for communications between programs using SOA is
WCF, which MS is pushing and is leveraging out of  Net other legacy type
communications, like legacy ASP.NET Web service and other legacy type
communications.

MVP allows the decoupling of the UI from the BLL/Model, something you should
really look into, which basically makes the UI a dumb UI, if no business
logic is in the UI itself.

Also, using List<T>  of objects and other Generics instead of using strong
typed datasets, as datasets are too heavy in a SOA solution to be using,
which opens the door to use Linq.

I cannot place enough emphases on DDD and TDD, because if the design of the
backend and testing of the backend is solid using the proper tests with the
proper tools, there is very little that needs to be done at the UI is in
contact with the UI and the MVP is in contact with the BLL, the way to go in
a enterprise ASP.NET Web solution.




__________ Information from ESET NOD32 Antivirus, version of virus signature database 4219 (20090705) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
Author
6 Jul 2009 9:12 PM
jk
Thanks for your advice. I'll be considering it carefully and looking at some
of your suggestions in greater detail. Appreciated :)

Bookmark and Share