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

Re: Another option for keeping application tiers independent

On Jun 13, 3:09*pm, "Bob Powell [MVP]" <b...@spamkillerbobpowell.net>
wrote:
I think this is possibly the longest post I've ever seen on this group.
I will try to be brief in my response.
I apologize for the size. I should have probably put this on a blog or
something.
>
Dependencies within any architecture are inevitable. How those dependencies
affect the physical structure of the application is important. Detailed
information on levelization of an architecture, the mastering of the
physical rather than the logical structure of the application can be
obtained easily in a .Net context using nDepend.
I'm not interested in tools. I interested in concepts / better ways of
handling day-to-day design decisions.
>
Your point about authentication seems to be confused and I don't see how it
might change the way your dependencies work. The role or rights of the user
may be specific but unless your architecture is lousy that shouldn't make
the application more monolithic.
The point with authentication was that there is no such thing as a
perfect separation between the user interface and the data tier. With
that unavoidable fact, it really doesn't make sense for there to be a
tier in the middle that, more than likely, also needs to be aware of
the data tier. This huge post was really identifying that single fact
and finding ways of eliminating unnecessary dependencies. I never said
the solution proposed should be accepted by anyone; I just thought
someone might find a different approach to system architecture useful.
The folks in my shop did. I would recommend reading "Patterns of
Enterprise Architecture" by Martin Fowler. He touches on the common
problem of keeping tiers separated. In many shops, the solidity of a
system takes months to be realized. Furthermore, keeping things
independent increases the ease of testing. I am kind of questioning
the viability of a layered architecture as is found in many newer
applications. There is a strong assumption by developers that an
application will always stay within the boundaries of a DLL. The
architecture I presented eliminated some of these issues . . . but
obviously came with problems of its own . . .

This article had nothing to do with the size of the application. I
have successfully implemented a few applications with this
architecture. It turned out to be a very useful architecture for
maximizing code reuse. In fact, by cutting a few corners, I was able
to implement these applications with about the same amount of code as
any other architecture. I kind took the goals of the architecture to a
higher degree than necessary. My goal in doing that was to show that
complete independence can be achieved.
>
I think that you are describing a need for a service oriented architecture
in which the authentication plays a primary role.
Not a primary role. Not even close! The problem is that even a single
log on screen can impact the entire application if the architecture
isn't carefully chosen. Most layered architectures rely on a static
data source. Some risk can be mitigated by hiding the data source
behind the data tier. However, this will not be 100% possible. 99% of
the time in single-point applications, this probably doesn't even
matter. However, in multi-point architectures, assuming one data
source can totally ruin a system. Even switching between on database
vendor to another can be a massive change, since the authentication
method may change.
>
I work in a very secure environment; a bank. We have to deal with
authentication and data oriented architectures all the time and we pay
careful attention to the way we build our applications. We certainly don't
have the sort of problems you seems to complain of and we deal with trades
of millions of dollars per day.
The size of the application is inconsequential. Your bank probably has
a very specific way of authenticating and a very specific type of
storage. It is probably okay for your shop to assume Oracle or SQL
Server. How aware is your user interface of the database? How aware of
the databases are your business processes? How much of the business
logic is repeated across applications? How well could your software
handle switching between Oracle and SQL Server . . . XML documents?

All I am saying is that it is almost impossible for a change in the
data tier to affect only the data tier. The reality is that it will
undoubtably affect the user interface. If you are using a layered
architecture, it is also likely that it will affect the domain layer.
How do you minimize the impact?
--
--
Bob Powell [MVP]
Jun 27 '08 #1
0 1489

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

Similar topics

3
by: Edward | last post by:
I have a data entry form that allows the user to navigate around entirely using the keyboard. However, it contains various option button controls which are in the tab order. Whenever they are...
2
by: swoozie | last post by:
This may not be a MSSQL-specific question, but I wanted to ask it here first, in case there's a MSSQL and/or SourceSafe solution that will help. Our dev team is having some difficulty with...
2
by: Pablo | last post by:
My application uses a class to access to the dataBase, there are several ones who are bussines objects (and uses the first one to work with the database) and, finally, I have the interface objects....
4
by: tsui | last post by:
Dear all Someone say that past is Client/Server application, and now is distributed application, but i don't understand these terms Is it Client/Server application is mean two tiers, and only one...
7
by: Venkat Venkataramanan | last post by:
Hello: I have a UI layer that interacts with the business layer which interacts with the DB layer. I have developed the business layer as a class library that complies to a DLL that will be...
1
by: Robert Strickland | last post by:
We are developing a several web applications that use 'services' that perform key business functions for our applications. These same 'services' are avaible to paying clients through web services. ...
4
by: Navin Mishra | last post by:
Hi, Are there any implications of having ASMX and ASPX in same ASP.NET application ? Both would share the same global varriables, etc. Regards Navin
13
by: mehdi_mousavi | last post by:
Hi folks, In an N-tier application, what is the possible values of N??? I'm not kidding, I just interviewed with a programmer today, and he started the "2-tier application" conversation. From then...
4
by: tobin | last post by:
Hi folks, We're looking for a CMS system for our organisation, and we're picking potential solutions. We need something that is scalable cause we're a growing company, so there's potentially...
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...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 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 former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
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
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?

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.