tools on the market today.
But there is a unique flip side to this ever-increasing level of function and complexity. The internet has demanded many conceptual changes in the development of applications. Speed of development is always a concern in any software endeavor, but Web development has pushed the pace of development to new levels not seen before. Complex modern web sites have also brought together disparate teams that have not usually had to work together in the past, or are on the other side of the world. The last Design Pattern will deal with these and other issues to support Web Development.
Design Pattern 6: Content Management
The last Design Pattern I would like to discuss is a bit of a niche pattern that deals with Web content item (CI) management. Content Management (CTM) can be viewed as a less structured form of SCM. CTM was born out of the need to have multiple organizations submit CIs into a test web server environment and rapidly see the results of the changes. The topology (see Figure 15) is usually comprised of an organization/company that hosts the Website and outside organizations/companies that need to access a test environment. Instead of a small grain approach of assigning versions to individual CIs, a CTM system works on a large grain concept of the whole site being a version.
This allows for the rapid iteration of CIs that make up the Web site. An issue that this rapid iteration process brings up is that of Security/Risk. The security issues discussed in Design Patterns 3 and 4 are somewhat relaxed for this Design Pattern. This does pose a risk as there is less control but due to the rapid iteration paradigm, errors can be corrected more quickly. Firewalls are usually a method for keeping computer users out, but in this Design Pattern special rules for Firewalls must be configured so that outside organizations can have access to the CTM system, deposit their CIs and see the results.
Since the architecture of Web Applications has become so complex in recent years, many development teams have gone back to a more structured SCM environment as we discussed in Design Patterns 3 and 4. This Design Pattern however works very well for simple to intermediately complex websites that are primarily HTTP (Hypertext Transfer Protocol) based with limited use of more advanced components such as application and database servers.
Following the flow of Figure 15 we see the Development Teams (I use the term loosely here) depositing their CIs into the Test Web Server.
- Content Providers*: organizations that supply graphic/data CIs that form the information that is presented in the web site (not necessarily how it is displayed)
- Sales Staff Information*: organizations that supply data about selling something or request from web site visitors information about buying something
- Design Firm Information*: organizations that are contracted to develop the “look & feel” of a web site. Get involved with the graphic presentation of Content Providers and Sales Staff information. CIs are the graphics (.gifs, .jpg) that make up the site
- Code Providers*: organizations that pull together the first three teams CIs and create the actual web site. This team can also be involved with back end data sources and other non-graphic activities such as web site configuration
*Note: The roles I have created for this Design Pattern are for illustrative purposes only. Your development environment and SCM system/tool may call for other/different roles. These teams can rapidly view and update their CIs until they feel their constituent part of the Web Site is complete and functions correctly. There is usually