A shade of gray
Thursday, November 26, 2009 at 01:28PM Depending on your focus and expertise, the world of the web starts somewhere.
Front End
For Front End developers, the most important part of building a web site is building a great user interface and user experience. The most important parts of the architecture of the code exist around handling events and user gestures. Defining the different states of the experience and defining transitions between those state. What is less important is the data that populates the UI. Flash applications rarely even involved in managing data. Data comes from a database, which is abstracted through an API, which is then abstracted again as Value Objects that the application uses.
Databases
For Database Admins, the foundation of the web is the raw data and a web page is just a visual representation of that data. User Interface is important in that it is key to expressing the data in a way that is clear and accessible but ultimately the data itself will determine the value of the site. Concerns focus around data integrity and speed of access, how different types of data may relate to each other and be queried to provide new sets of data. To a DBA, the front end is almost entirely abstracted by a Business tier that talks tells the database that the user wants to see and translates that data into a format that user can understand.
Server Software ( Business Tier )
Appropriately named Middle-Ware, server software is essentially a medium through which data and presentation communicate. Whether it be Ruby, Java, or PHP, an engineer is not too concerned with either the data or the presentation. Instead they concentrate on getting data, parsing it, and sending it to the user as fast and efficiently as possible. And going the other way around, acting on the users behalf in translating state transition at the presentation level into an intelligent data query. Often this also involves logical decisions about navigation, validation of user submitted data, processing and conversion of user data ( such as images ), and probably decisions about where data is saved ( assuming it is not saved directly to the database ).
Focus
All of these perspectives are myopic. All three interests must be represented in order to create a successful web app but no one interest should be more important than another. Take Google for example.
Google is a very successful company but they are primarily focused on Databases and Business Tier logic. They have notoriously bad Front End design. I would argue that the only truly successful part of Google is their search engine which gained popularity in large part because of the simple and easy to understand front end. The plain white page with a google logo and a search box was as important to the success of the company as all of the technology behind it.
i.am

Reader Comments