Are we looking at our application architecture from the wrong angle?

Ralf Westphal suggests that we change the view of basic application architecture by moving the business logic to the top.  At the center of any application is its business logic.  In today's view of an application we [1] usually center things around the UI.  This leads us [1] to design for user interface (UI) instead of for the most important aspect of our application, our business logic.

[1] “we”and “us” refer to MS developers in general, not necessarily you the reader and I the writer

# re: Are we looking at our application architecture from the wrong angle?

Thursday, May 13, 2004 3:46 AM by Steve Hebert    
This is a great find. I just gave a presentation on our app architecture and came up with a "similar" picture. I denoted the business objects with two interfaces hanging off of them - one being the WebUI and the other was the WebService Interface.

I'm not sure what we gain by looking at it that way, other than possibly prompting us to see code redundancies we hadn't seen before. Any thoughts on that?

# re: Are we looking at our application architecture from the wrong angle?

Thursday, May 13, 2004 3:51 AM by Steve    
I'm not sure we gain much either just with the picture. I think the most important thing is that we keep in mind the philosphy that is behind the picture. Rather then focusing on our UI's we should be focusing on our BL/Domain. We shouldn't let our UI's drive how we design our objects, our objects shouldn't care about what UI is accessing them at any given time, they should just do what we expect, and they should provide us with a nice API to accomplish everything we need from whatever UI we choose.

# re: Are we looking at our application architecture from the wrong angle?

Thursday, May 13, 2004 7:15 AM by Ralf    
@Steve: That´s what I meant: Many developers need to change the focus of their thinking. It´s about where you start when your develop an application.
However, I don´t want to suggest it is new thinking, to focus on the BL or to not much care about a specific UI/frontend.
But just preaching this for a couple of years obviously had not the expected impact. That´s why I think, something fundamental must change. And this fundamental aspect is a simple drawing of an architecture. It´s so fundamental because it´s used ubiquitously and it´s a picture being worth more than a thousand words.

PS: My name is Ralf Westphal, not Ralf Sudelbucher ;-) "Ralfs" is just the genetiv case of Ralf (like "Ralf´s" in English) and "Sudelbücher" is an allusion to the aphoristic notes of the German philosopher Lichtenberg.

# re: Are we looking at our application architecture from the wrong angle?

Thursday, May 13, 2004 11:23 AM by Steve Hebert    
@Ralf: I understand what you're saying about the picture first and foremost changing the underlying perception, but I also see what Steve is saying as well. I think there are other guidelines and practices that make the approach complete.

As I mentioned in my previous comment, we have started to look at the picture differently. We execute on that idea by first assuming the inputs to the business interface are either dirty or malicious. This unmarries the role of validating the data from the ui layer where I believe many people have traditionally placed this type of logic. Do you have other rules you apply and teach as a result of changing the picture?

# re: Are we looking at our application architecture from the wrong angle?

Thursday, May 13, 2004 6:25 PM by Ralf    
Sure, there are additional guidelines when you drill down into my picture. Where should validation happen? How should frontends and application communicate with each other etc.
I´ll elaborate on my view of a couple of topics in future blog entries in the days to come. Stay tuned :-)
As for validation, though, it can happen in the application, but why shouldn´t a frontend also do validation? Spare the user a roundtrip to the app for validation whereever you can! Also, I think, there are trustworthy frontends, whose data an application does not need to validate (again).

# re: Are we looking at our application architecture from the wrong angle?

Thursday, May 13, 2004 10:36 PM by Steve    
@Ralf: Sorry about the name mix up, I just read it off the top of your blog assuming it was your name, and since I'm unfamiliar with "the aphoristic notes of the German philosopher Lichtenberg" I didn't catch that it wasn't :)

I agree with you that the picture might be where we start. There are so many developers out there that don't understand or realize that the way they are architecting their applications isn't the best approach. The fact that so much of the visuals presented on application architecture focus on the UI as the centerpiece doesn't help matters.

I'm looking forward to your future entries on this topic!

Post a Comment

 
 
Prove you're not a spammer: 
1 + 1 =