The WARS Architectural Style
\"Style is everything. I mean, the blues are three chords. But every guy that plays the blues plays differently, because that\'s their own style. Right?\"
The open source software community is building a wall to contain Mic
Tutorial Details:
The Model, View, and Controller roles of the MVC architectural style have been offered as a means of categorizing components in web application frameworks, but in my previous article on this topic, I argued that the attempts to implement these distinctions have failed to show that this is a correct approach. The primary evidence of this failure is the absence of a single component framework that has managed to isolate the concerns of its components into Model, View, and Controller interfaces.
A correct approach would be to create a new hypothetical style that describes best practices already used in the problem space, instead of prescribing an architectural style from a distantly related problem space. Then the hypothetical new style should be tested through implementation. Any flaws uncovered in the style should be addressed in the refactoring stage, and the cycle repeats itself: hypothesize, implement, refactor.
If these principles are applied to the complex systems that drive dynamic web applications on the server side, we find a family of roles, which should be utterly unsurprising. The roles I outlined in my first article have themselves undergone a refactoring. I\'ve renamed the DataSource interface to State because of confusion between it and javax.sql.DataSource, and also removed the Presentation interface entirely. Presentation components are officially beyond the scope of this problem space, but the representation of the application\'s state is not.
A Representation subsystem to limit the complexity of the State for component developers by restructuring or \"pre-chewing\" the state to make it more intuitive for component developers.
I\'ve been notified of a better term than \"pattern\" to describe what to call this collection of roles. It\'s just an \"architectural style.\" Nothing more, and simply put. I call this architectural style WARS, which is very appropriate considering the use to which we put it in designing Java web apps.
Read
Tutorial at: Click here to view the tutorial
Rate Tutorial: The WARS Architectural Style
View Tutorial: The WARS Architectural Style
Related
Tutorials:
3D graphics programming in
Java, Part 3: OpenGL
3D graphics programming in
Java, Part 3: OpenGL |
Java makes the most of XML's extensibility - JavaWorld July
1999
Java makes the most of XML's extensibility - JavaWorld July
1999 |
Validation with Java and XML schema, Part 4 - JavaWorld December 2000
Validation with Java and XML schema, Part 4 - JavaWorld December 2000 |
Get the app out - JavaWorld January 2001
Get the app out - JavaWorld January 2001 |
Add XML to your J2EE applications - JavaWorld February 2001
Integrate an XML presentation layer in the J2EE layered architecture |
Servlets in Apache Tomcat and BEA Systems' WebLogic Server - JavaWorld February 2001
Servlets in Apache Tomcat and BEA Systems' WebLogic Server - JavaWorld February 2001 |
Design patterns make for
better J2EE apps
Design patterns make for
better J2EE apps |
Bridge the gap between Java and Twain
Bridge the gap between Java and Twain |
classworlds
classworlds
classworlds is a framework for container developers who require complex manipulation of Java\'s ClassLoaders. Java\'s native ClassLoader mechanims and classes can cause much headache and confusion for certain types of application developers. |
Excelling in
Excel with Java
Excelling in
Excel with Java |
JHttpTunnel
JHttpTunnel is the implementation of GNU httptunnel\'s protocol in pure Java. |
a-visual-llk-parser-generator VisualLangLab
a-visual-llk-parser-generator: VisualLangLab
A Visual IDE-Style LL(k) Parser Generator that uses an editable tree with icons for tokens and non-terminals to represent the grammar symbols and grammar rules.
|
Tag Library Documentation Generator 1.2
Tag Library Documentation Generator is a utility for automatically generating javadoc-style documentation for JavaServer PagesTM (JSPTM) Technology Tag Libraries. |
The Apache Derby Project
Derby is an effort undergoing incubation at the Apache Software Foundation. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision-making process have stabilised in a ma |
Excellent Guide to Java / Databases, JDBC
JDBC is a Java API for executing SQL statements. Start here, Examples Central Sites Related Sites, Link Collections Tutorials, FAQs, References Company Newsgroups Mailing Lists, General Articles, Special Articles, Interoperability Books util |
UML basics: The component diagram
This article introduces the component diagram, a structure diagram within the new Unified Modeling Language 2.0 specification. |
Struts and Tiles aid component-based development
In the Java world, Struts is one of the best-known and most talked about open source embodiments of MVC. |
Solaris OS and Linux for Servers Running x86 or AMD Opteron Processors (pdf)
This white paper from Seal Rock Research compares the Solaris OS and the Linux platform for x86 or AMD Opteron servers. Author David Burns explores the differences in performance and scalability, security, stability, application availability, technical su |
We are providing Downloadable Version of Gentoo Linux
We are providing Downloadable Version of Gentoo Linux
Gentoo Linux
Now Available Gentoo Linux CD's
We are providing the free downloadable version of Gentoo, which is distributed under GNU public license. You have to pay only for the CD and S&H |
JavaServer Faces in Action, Chapter 8
Shows how to build a static Login page with JavaServer Faces and JSP technology by importing the proper tag libraries, and adding HtmlGraphicImage and HtmlOutputText components. |
|
|
|