Case Study – Drupal CMS & AMP Stack

Introduction

Here is a case study of the Drupal Content Management System (CMS) and its multi-tier relational database management system (RDBMS) architecture and functionality.  I may rework this to cover WordPress due to our migration along those lines but that is also more complex as it has more momentum and evolving quicker.

Drupal CMS Architecture

Drupal is a highly scalable modular PHP and MySQL based open source CMS that specializes in Web site management and dynamic Web 2.0 functionality (Archambault, Oh-Young, Rongratana & Levitt, 2009; Chavan & Jelks, 2006; Drupal, 2010; Kay, 2010; Mercer, 2006; Weitzman, Lewis-Bowen & Evanchik, 2006).  The Drupal framework embraces the multi-tier architecture introduced earlier as Drupal provides the middle tier’s application or business logic through PHP and utilizes MySQL for its core database tier (Arsanjani et al., 2008; Bielski, 1999; Erl, 2005; Kamoun, 2007; Garcia-Molina, Ullman & Widom, 2009; Mercer, 2006; Monson-Haefel, 2008; Williams & Lane, 2004).  In accord with Steiert’s (2007) n-tiered component architecture.

Drupal breaks up the database and application layers further into the following five component layers: (a) the database and data, (b) functional plug-in modules that extend Drupal’s functionality, (c) blocks and menus that provide I/O interfaces to the modules, (d) user permissions that provide discrete granular authenticated authorization, and (e) templates and themes that transform and format the content using XHTML and CSS for client presentation (Kay, 2010; Mercer, 2006).  For consistency, these components are implemented using PHP and MySQL and may be modified and tailored as necessary by the end users and organization.

Drupal is available under the GNU General Public License (GPL) and therefore provides a cost effective introduction into enterprise CMS.  While Drupal provides an initial cost savings developers must proceed cautiously since implementing and managing open source projects can increase an Information Systems’ (IS) complexity (Spinellis, 2006).  When implementing open source software, developers must assess and manage the software’s internal quality attributes (e.g. code quality, security and maintainability) and external quality attributes (e.g. functionality and fitness for use) in relation to the organization’s resources and needs (Satinger, Jackson & Burd, 2002; Spinellis, 2006).  Fortunately evaluation, implementation and management of the open source Drupal and its components is mitigated by the large and professional user base that actively contribute code and knowledge base content to assist all of its constituencies and improve Drupal’s code quality (Drupal, 2010; Mercer, 2006).

To illustrate Drupal’s widespread contributing user base consider that Drupal is now being used to manage the Web sites of national publications, educational institutions, Fortune 500 companies and even the U.S. government has donated accessibility modules developed for the White House Web site (Anonymous. 2010a; Anonymous. 2010a; Archambault, Oh-Young, Rongratana & Levitt, 2009; Drupal, 2010; Weitzman, Lewis-Bowen & Evanchik, 2006).  It is reasonable to assume that organizations of these magnitudes have evolved and professional IT staffs that produce robust and secure code.  To keep all constituents up to date, Drupal emails its members a weekly digest of information in accord with their specific registered area of interest (Weitzman, Lewis-Bowen & Evanchik, 2006).

Drupal Database Layer – MySQL

While the Drupal code is built with MySQL it should be noted that Drupal can use several different RDBMS to store organizational data (Drupal, 2010).  Consistent with this paper’s focus, this paper will focus on Drupal implementation with MySQL.  MySQL is a very fast and robust multi-user, multi-threaded RDBMS (MySQL, 2010; Welling & Thomson, 2009; Williams & Lane, 2004).  To put MySQL’s performance in perspective, consider that MySQL’s benchmarks outpace other open source RDBMS solutions and its only true performance rival is the proprietary and expensive Oracle RDBMS (Welling & Thomson, 2009).  As identified above, MySQL is an open source GPL and is presently maintained by Sun Microsystems MySQL AB (MySQL, 2010).  Sun Microsystems management of this open source application provides added credibility as MySQL continues to strive for enhanced security and ANSI compliance (MySQL, 2010; Welling & Thomson, 2009; Williams & Lane, 2004).  As presented above, it is intuitive that Sun Microsystems’s management of the MySQL project and its code mitigates many of the concerns with implementing open source IS solutions.

Drupal Application Layer – PHP

PHP originally stood for Personal Home Page however the PHP acronym has evolved to mean Hypertext Preprocessor (Welling & Thomson, 2009).  PHP is an object oriented server-side scripting language and excels in performance, scalability, portability and flexibility (Welling & Thomson, 2009; Williams & Lane, 2004).  Even more impressive, PHP can achieve stellar performance on a single low cost server and can be easily extended and distributed among additional heterogeneous servers (Welling & Thomson, 2009; Williams & Lane, 2004).  PHP has integrated native interfaces with many RDBMS implementations however it can connect to any database that supports the Open Database Connectivity (ODBC) standard (Welling & Thomson, 2009).   PHP’s open source development has also resulted in a wealth of libraries that can generate content, images and documents, make use of Web services and even parse XML.  As a result, PHP has evolved to become a dominant open source Web server side application development solution with an installed base of over 20 million domains (Welling & Thomson, 2009).

Functionally, developers may embed PHP code in HTML code and the PHP code is executed every time the HTML code is referenced.  To illustrate this process consider the following three-tiered architecture use case example.  To begin, a client’s Web Browser issues a HTTP request for a Web page that happens to contain PHP code or alternatively, the client could have submitted a Web form that made use of PHP code.  In either case, the Web server receives the client request, retrieves the HTML or PHP document and sends this information to the PHP engine.  The PHP engine parses the information and executes the PHP code.  Typically this PHP code will connect to the MySQL database and execute a query to obtain the necessary dynamic content.  When the PHP engine receives the query results from the database, the PHP engine will format the results in HTML and send this to the Web server for distribution back to the client.   This functionality allows the developer to present dynamic content to the client in support of today’s participatory and personalized Web (Van Duyne, Landay & Hong, 2007; Welling & Thomson, 2009).

Drupal Web Server Layer – Apache

Drupal does not implement the Web server distribution tier however drupal.org recommends the multiplatform Apache Web server.   One reason for Drupal’s recommendation of Apache is that Drupal avails itself to Apache’s mod_rewrite capability to create so-called friendly URLs and enhance search engine optimization (SEO) (Weitzman, Lewis-Bowen & Evanchik, 2006).  The pairing of the open source Apache, MySQL and PHP (AMP) components is so common that Drupal recommends developers install this basic three component AMP architecture using the stable Apache XAMPP distribution (ApacheFriends, 2010; Drupal, 2010; Welling & Thomson, 2009).  It can be asserted this AMP architecture and the availability of XAMPP is also in accord with the emergent trend to run RDBMS on small computers (Garcia-Molina, Ullman & Widom, 2009).   To constrain the scope and length of this  analysis the reader is directed to the Web 3-tiered architecture for a more comprehensive analysis of today’s multi-tiered architecture.

Drupal CMS and RDBMS Functionality

A CMS can be defined as a system that supports the creation, organization, manipulation and presentation of information (Mercer, 2006, p. 7; Meyer & French, 2008; Powel & Gill, 2003).   A Web publishing CMS such as Drupal specializes in Web site content management easing Web content creation, management and administration by separating content from presentation (Svarre, 2006).  This functionality allows content creators to develop their content independent of presentation details.

As introduced above, Drupal’s content is typically maintained in a MySQL database.  Web presentation is managed through configurable themes, plug-in modules and the content construction kit (CCK) (Archambault, Oh-Young, Rongratana & Levitt, 2009; Butcher, 2008; Drupal, 2010; Mercer, 2006).   Themes provide the ability to change the look and feel of the Web site with a click of a mouse (Archambault, Oh-Young, Rongratana & Levitt, 2009; Drupal, 2010; Mercer, 2006).   Modules provide much of Drupal’s functionality and include the ability to validate the Web site’s code based on W3C standards, translate and present the content in multiple languages, tailor the presentation for mobile devices, support advanced Web 2.0 functionality and extend the taxonomy feature enhancing data access and search engine optimization (SEO) (Archambault, Oh-Young, Rongratana & Levitt, 2009; Butcher, 2008; Drupal, 2010; Mercer, 2006).   These stable themes and modules are also implemented with PHP and MySQL components and can be downloaded and added to the Drupal installation as desired.

While Drupal offers a highly scalable enterprise class CMS, CMS deployment has many challenges that include geographic, cultural and data format differences (Mercer, 2006; Svarre, 2006).  Fortunately Drupal excels in this framework as it provides modules for multi-lingual support while also accommodating today’s diverse multimedia formats (Drupal, 2010).  Drupal’s component based plug-in modules provide the ability to evolve and accommodate unforeseen technologies and functionality as necessary (Archambault, Oh-Young, Rongratana & Levitt, 2009; Butcher, 2008; Drupal, 2010: Mercer, 2006; Weitzman, Lewis-Bowen & Evanchik, 2006).

As presented earlier, a component or module based software architecture provides a blueprint that guides not only how the components are constructed but also when in the process they are designed, implemented, maintained and replaced (Brown et al. 2003; Steiert, 2007).  To this extent, Drupal provides automatic notification to developers when new versions of their deployed modules are released (Drupal, 2010).  This eases management and allows developers to seamlessly upgrade modules when new versions are developed and released.  As a result, Drupal derived Web sites are able to evolve with emergent functionality, security practices and W3C accessibility standards.

Drupal RDBMS Access and Functionality

Drupal provides database access and functionality up through its application layer.  As an example, consider that Drupal allows administrators to discretely provide or restrict access to the underlying data through discrete views based on authentication and authorization (Archambault, Oh-Young, Rongratana & Levitt, 2009).  Authentication can reside solely with Drupal or can integrate with and use an organization’s existing authentication system (e.g. LDAP) (Chavan & Jelks, 2006; Drupal, 2010; Kay, 2010; Mercer, 2006; Weitzman, Lewis-Bowen & Evanchik, 2006).  Additionally, session management is built into the Drupal’s core functionality further strengthening the Drupal platform access control in a Web environment (Drupal, 2010).

Another example of Drupal’s application layer RDBMS access and functionality is its configurable XML taxonomy-based indexing system (Drupal, 2010).  As a basis, an organization’s knowledge and content is often hidden within the file system’s documents and knowledge and use of this content is not realized until the file is retrieved and viewed (Weitzman, Lewis-Bowen & Evanchik, 2006).  Furthermore, content may be stored across an organization’s RDBMS using different terms to convey the same thing or using the same term to convey different things (Garcia-Molina, Ullman & Widom, 2009).  Drupal’s taxonomies mitigate both of these challenges by allowing users to create extensible and exportable XML vocabularies that transparently tag and index content throughout Drupal’s database (Chavan & Jelks, 2006; Drupal, 2010; Mercer, 2006; Weitzman, Lewis-Bowen & Evanchik, 2006).

XML provides a framework for creating hierarchically structured data that can tag this content consistent with database theory (Garcia-Molina, Ullman & Widom, 2009).  This functionality not only facilitates the creation of relationships enhancing data access and SEO beyond basic RDBMS functionality but it is foreseeable that this could serve as the framework for ontology creation improving business processes and realizing of the semantic Web (Anonymous, 2010c; Drupal, 2010; SemanticSearch.org, 2010; Seng & Lin, 2007; W3C.org, 2010).  Drupal also implements a standard versioning system and this versioning functionality provides Drupal with data warehouse snapshot functionality.  As a result, Drupal goes beyond the emergent trend of tagging documents and information with XML by integrating this functionality with its taxonomy-based indexing (Drupal, 2010; Garcia-Molina, Ullman & Widom, 2009).  This not only enhances information access and SEO but also provides a basis for enhanced data mining as presented below (Chavan & Jelks, 2006; Drupal, 2010; Mercer, 2006).

As introduced above, Drupal excels at implementing and managing dynamic social Web functionality.  The ability to capture, maintain and data mine Web 2.0 conversations in conjunction with Web metrics is critically important citing the emergence of one-to-one social marketing and evolving business intelligence mechanisms (Svarre, 2006).  To illustrate this emergent convergence between marketing, Web design and content management consider the following.  The participatory Web 2.0 provides communication functionality that takes advantage of Metcalfe’s “Network Effect” by building applications that promote collective intelligence and harness the emergent Internet driven behavior of the individual’s need to participate (Kotler & Keller, 2007; Shimmin, 2007; Strom, 2006; Waters, 2008).  The increased use of metrics and information culled from data mining Web 2.0 applications and the emergence of semantic search (e.g. Web 3.0) has the opportunity to revolutionize marketing by providing the increased understanding and linkages between brands and their organizational value (Greenemeier, 2008; Kotler & Keller, 2007; Lassila & Hendler, 2007; Noy, 2008; Rubinstein, Lee & Schwartz, 2008; Shimmin, 2007; Snyder-Bulik & Steinberg, 2008; Strom, 2006; Vellante, 2008a, Vellante, 2008b; Waters, 2008).  To provide an example of this emergent holistic marketing approach, consider that Web 2.0 conversations can be mined for a target market’s vocabulary.  The consumer’s vocabulary can then be encoded in Drupal’s XML semantic taxonomy and integrated with Drupal’s XML-based sitemap.  This site map is automatically queried by the major search engines and as a result, an organization’s consumers will be able to locate the organization and its products and services using the consumer’s preferred vocabulary rather than the organization’s vocabulary.  This functionality is in accord with today’s focus on holistic marketing, Web personalization and user-centered design (Kotler & Keller, 2007; Van Duyne, Landay & Hong, 2007).

Summary

It has been established an organization’s Web presence and functionality has become a critical part of today’s business processes (Weitzman, Lewis-Bowen & Evanchik, 2006).  Central to this functionality is an increasing reliance on CMS and dynamic database driven content (Weitzman, Lewis-Bowen & Evanchik, 2006; Van Duyne, Landay & Hong, 2007).  It has been established that organizations and their extended supply and value chains are becoming more distributed and diverse in nature incurring increased management complexity.  The Drupal CMS provides a three-tier Web accessible RDBMS architecture capable of supporting an organization’s Web 2.0 functionality and distributed collaborative efforts.    This functionality can enhance marketing though personalization, provide a better understanding of consumers by data mining Web 2.0 conversations and facilitate the capture and transfer of institutional knowledge.

Drupal’s open source basis provides a cost effective CMS solution while its module based architecture provides the necessary framework to evolve with emergent technology.   This module based architecture is particularly important today as since Drupal’s contributed modules provide a customizable framework for the rapid development and continuing management of dynamic interactive multi-lingual Websites (Butcher, 2008; Mercer, 2006).  Citing the momentum and support for Drupal and its core components it can be asserted that there is little additional risk in choosing Drupal over a proprietary solution.  As presented throughout this course, it must be emphasized that proper RDBMS design, implementation and management requires professional judgment, data modeling and detailed knowledge of the organization’s capabilities, culture and business rules (Garcia-Molina, Ullman & Widom, 2009; Rob & Coronel, 2007; Satinger, Jackson & Burd, 2002).  With this caveat it is asserted that organizations assess the Drupal CMS for fitness of use if they are considering CMS implementation.

References

2008 Horizon Report, (2008).  The horizon report: collaboration between the new media consortium and the EDUCAUSE learning initiative. Retrieved online Feb 5, 2008, from the Horizon Project: http://www.nmc.org/horizon/.

Anonymous, (2008a). Virtual success is reality. Manchester Evening News, retrieved June 28, 2008 from http://www.manchestereveningnews.co.uk/news/technology/s/1054337_virtual_success_is_reality.

Anonymous, (2008b). Building and online customer experience competency: Five steps. Forrester Research, Retrieved June 28, 2008, from www.tealeaf.com/resources/customer-experience-management-guide.asp.

Anonymous, (2008c). Achieving tangible business benefits with social computing. Retrieved June 28, 2008, from http://whitepapers.zdnet.com/abstract.aspx?docid=321018.

Anonymous. (2010a). The Nation Magazine scales up nnline with innovative, open-source redesign and new features. PR Newswire, New York: May 4, 2010. Retrieved August 5, 2010 from, http://proquest.umi.com.proxy1.ncu.edu/pqdweb/?index=9&sid=1&srchmode=2&vinst=PROD&fmt=3&startpage=-1&clientid=52110&vname=PQD&RQT=309&did=2024990891&scaling=FULL&ts=1276182872&vtype=PQD&rqt=309&TS=1276183311&clientId=52110&cc=1&TS=1276183311.

Anonymous. (2010b). White House donates Drupal code. Information Week – Online. Retrieved August 5, 2010 from, http://proquest.umi.com.proxy1.ncu.edu/pqdweb/?index=16&sid=1&srchmode=1&vinst=PROD&fmt=3&startpage=-1&clientid=52110&vname=PQD&RQT=309&did=2016254161&scaling=FULL&ts=1276183418&vtype=PQD&rqt=309&TS=1276183463&clientId=52110&cc=1&TS=1276183463.

Anonymous, (2010c). The taxonomy blog. Retrieved August 5, 2010 from, http://thetaxonomyblog.wordpress.com/category/building-taxonomies/ontologies/.

ApacheFriends. (2010). Apachefriends XAMPP.  Retrieved August 5, 2010 from, Apache.http://www.apachefriends.org/en/xampp.html

Archambault, L., Oh-Young, C., Rongratana, N., & Levitt, G. (2009). A look at content management systems in a higher education setting: Implementation strategies, experiences, and future implications.  Proceedings of World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education 2008, p 553-559. Retrieved August 2, 2010 from, http://www.editlib.org/?fuseaction=Reader.ViewFullText&paper_id=29660.

Arsanjani, A., Ghosh, S., Allam, A., Abdollah, T., Ganapathy, S., & Holley, K. (2008). SOMA: A method for developing service-oriented solutions. IBM Systems Journal, 47(3), 377-396.

Baker, S., & Green, H. (2008). Beyond blogs: Three years ago our cover story showcased the phenomenon. A lot has changed since then. Business Week, (4086), 44.

Bielski, L. (1999). Ready for multi-tier, distributed computing? American Bankers Association. ABA Banking Journal, 91(1), 53-55.

Boddie, W., Contardo,  J., & Childs, R. (2007). The future workforce: Here they come. Public Manager, 36(4), 25-28.

Brown, K., Craig , G., Hester , G., Stinehour, R.,  Pitt, W. D., Weitzel, M., Amsden, J., Jakab, P.M., & Berg, D. (2003). Enterprise java programming with IBM webSphere. Boston MA: Pearson Education.

Business and Industry Review. (2008a). In Encyclopedia Britannica. Retrieved February 16, 2008, from Encyclopedia Britannica Online: http://search.eb.com/eb/article-91323.

Butcher, M. (2008). Learning Drupal 6: Module development. Birmingham, UK: Packt Publishing.

Cetron,  M. J., & Davies, O. (2008). Trends shaping tomorrow’s world: Forecasts and implications for business, government, and consumers (Part One). The Futurist42(2), 35-52.

Chavan, A., & Jelks, M. (2006), Migrating to Drupal. Linux Journal 2006(151).  Retrieved August 5, 2010 from, http://delivery.acm.org/10.1145/1190000/1183012/8710.html?key1=1183012&key2=3122868721&coll=ACM&dl=ACM&CFID=1584939&CFTOKEN=70833498.

Davenport, T. H., & Harris, J. G.  (2007). Competing with multichannel marketing analytics. Advertising Age, 78(14), 16-17.

drupal.org (2010). Drupal.  Retrieved August 3, 2010 from, http://drupal.org/.

Erl, T. (2005) Service-oriented architecture: Concepts, technology, and design. Upper Saddle River, NJ: Pearson Education.

Friedman, T. L.  (2005). The world is flat: A brief history of the 21st century. NY:  Farrar, Straus and Giroux.

Fuller,  M. A., Hardin,  A. M., & Scott, C. L., (2007). Diffusion of virtual innovation. Database for Advances in Information Systems, 38(4), 40-44.

Garcia-Molina, H., Ullman, J.D., & Widom, J.   (2009).   Database systems: The complete book, (2nd ed.).   Upper Saddle River, NJ: Pearson Prentice Hall.

Globalization—Why all the fuss?. (2008b). In Encyclopedia Britannica Book of the Year, 2001. Retrieved February 13, 2008, from Encyclopedia Britannica Online: http://search.eb.com/eb/article-9344646.

Greenemeier, L. (2008). Blog-based analysts shake up IT research. Information Week, Retrieved June 3, 2008, from www.informationweek.com/story/showArticle.jhtml?articleID=188100576.

Hagopian, P. (2008). Encyclopaedia britannica embraces the wikipedians, sort of. Information Week, Retrieved June25, 2008, from www.informationweek.com/blog/main/archives/2008/06/encyclopaedia_b.html?cid=RSSfeed_IWK_ALL&cid=nl_IWK_daily_H.

Jenkins, S. (2007). Web design: The express line to learning.  Hoboken, NJ: Wiley.

Kamoun, F. (2007). The convergence of business process management and service oriented architecture. Retrieved June 9, 2008 from the Association of Computing Machinery: http://www.acm.org/ubiquity/views/v8i24_bmpsoa.html.

Kay, R. (2010). Drupal. ComputerWorld. Retrieved August 3, 2010 from, http://www.computerworld.com/s/article/346717/Drupal.

Kotler, P. & Keller, K. L. (2007). Marketing management (12th ed.). Upper Saddle River, NJ: Pearson Publishing.

Lassila, O., & Hendler, J. (2007).  Embracing “Web 3.0”.  IEEE Internet Computing, 11(3), 9093.

Laudon, K. C. & Laudon, J. P. (2004). Management information systems (8th ed.). Upper Saddle River, NY: Pearson Publishing.

McDougall, P. (2008). Enterprise 2.0: Wachovia turns to wiki’s, blogs for growth. InformationWeek,  retrieved June 17, 2008, from www.informationweek.com/news/internet/web2.0/showArticle.jhtml?articleID=208403368.

McLure, M. & Faraj, S. (2005). Why should I share? Examining social capital and knowledge contribution in electronic networks. MIS Quarterly 29(1), 35-57.

Mercer, D. (2006). Drupal: Creating blogs, forums, portals, and community Websites. Birmingham, UK: Packt Publishing.

Meyer, J., & French, L. (2008). Voice for all: Adopting content management in frontline technical support.  Purdue University. Retrieved July 31, 2010 from, http://delivery.acm.org/10.1145/1450000/1449993/p113-myers.pdf?key1=1449993&key2=9732868721&coll=ACM&dl=ACM&CFID=1584939&CFTOKEN=70833498.

Monson-Haefel, R. (2008). The return of client/server architecture. Internet Evolution, Retrieved June 19, 2008, from www.internetevolution.com/author.asp?doc_id=156366&f_src=itgazette.

MySQL. (2010). MySQL.com. Retrieved August 3, 2010 from, http://dev.mysql.com.

Nambisan, S., & Nambisan, P. (2008).  How to profit from a better ‘virtual customer environment’. MIT Sloan Management Review, 49(3), 53-61.

Nguyen, T. N., (2005). Scalable e-business integration. Journal of American Academy of Business, Cambridge, 6(1), 135-142.

Noy, O. (2008). Data mining in the age of web 2.0. Internet Evolution, Retrieved June 24, 2008, from http://www.internetevolution.com/author.asp?doc_id=157077&f_src=ieupdate

Pearcy, D. H., Parker, D. B., & Giunipero, L. C. (2008). Using electronic procurement to facilitate supply chain integration: An exploratory study of US-based firms. American Journal of Business, 23(1), 23-35.

Pearlson, K. E., & Saunders, C. S. (2006). Managing and using information systems (3rd ed.). Hoboken, NY: Wiley Publishing.

Powel, W., & Gill, C. (2003). Web content management systems in higher education. EDUCAUSE Quarterly. Retrieved April 29, 2010 from, http://net.educause.edu/ir/library/pdf/EQM0325.pdf.

Robbins, S. P., & Judge, T. A. (2007). Organizational Behavior. Upper Saddle River, NJ: Prentice Hall.

Rubinstein, I. S., Lee, R. D., &  Schwartz. P. M., (2008). Data mining and Internet profiling: Emerging regulatory and technological approaches.  The University of Chicago Law Review, 75(1), 261-285.

Satinger, J. W., Jackson, R. B., & Burd, S. D., (2002). Systems analysis and design (2nd ed.)  Boston, MA: Course Technology.

Seng, J-L., &  Lin, W. (2007). An ontology-assisted analysis in aligning business process with e-commerce standards. Industrial Management + Data Systems, 107(3), 415-437.  Retrieved June 21, 2008, from ABI/INFORM Global database. (Document ID: 1230562301).

Shimmin, B. (2007). Shimmin on software: Seven rules of web 2.0 for the enterprise. Information Week, Retrieved April 23, 2006, from http://www.informationweek.com/news/software/showArticle.jhtml?articleID=199100841.

Silberschatz, A., Korth, H. F., & Sudarshan, S. (1999). Database system concepts (3rd ed.). Boston, MA: McGraw-Hill.

Spinellis, D. (2006). Code Quality: The open source perspective. Upper Saddle River, NJ: Addison-Wesley.

Snyder-Bulik, B. & Steinberg, B. (2008). Social media. Advertising Age, 79(11) 47.

Steiert, H. (2007). Towards a component-based n-Tier C/S architecture. Kaiserslautern, Germany: Department of Computer Science, Database and Information Systems Group,University of Kaiserslautern.  Retrieved January 1, 2009 from http://www.dr-gail.org/upload/p137-steiert.pdf.

Strom, D. (2006). Web 2.0: Ingredients for a site makeover. Information Week, Retrieved January 5, 2006 from, http://www.informationweek.com/story/showArticle.jhtml?articleID=196513700.

Svarre, K. (2006). SOA Definitions – Content management system. Retrieved August 5, 2010 from, http://searchsoa.techtarget.com/sDefinition/0,,sid26_gci508916,00.html.

Rob, P., & Coronel, C.M. (2007). Database systems design, implementation, and management (7th ed.). Boston, MA: Thomson Course Technology.

Van Duyne, D. K., Landay, J. A., & Hong, J. I. (2007). The design of sites: Patterns for creating winning web sites (2nd ed.). Upper Saddle River, NJ USA: Prentice Hall.

Vellante, D. (2008a). Web 2.0: New rules. Internet Evolution, Retrieved June 28, 2008 from, www.internetevolution.com/author.asp?doc_id=156420&f_src=itgazette.

Vellante, D. (2008b). Your budget could hang on your wiki. Internet Evolution, Retrieved July 30, 2008 from, www.internetevolution.com/author.asp?doc_id=158893&f_src=ieupdate

W3C.org. (2010). Resource description framework (RDF).  Retrieved July 14, 2010 from, http://www.w3.org/RDF/

Waters, J. K. (2008) Unleashing the power of web 2.0. Campus Technology, retrieved June 28, 2008 from, http://www.campustechnology.com/article.aspx?aid=63551

Weitzman, L., Lewis-Bowen, A., & Evanchik, S. (2006). Using open source software to design, develop, and deploy a collaborative Web site, part 1: Introduction and overview. Retrieved August 5, 2010 from, http://www-128.ibm.com/developerworks/ibm/library/i-osource1/index.html.

Welling, L., & Thomson, L. (2009). PHP and MySQL Web development (4th ed.). Upper Saddle River, NJ: Addison-Wesley.

Williams, H. E., & Lane, D. (2002). Web database applications with PHP & MySQL. Retrieved July 8, 2010 from, http://my.safaribooksonline.com/0596000413

 

 

 

Leave a Reply