When designing web sites, creators must take several criteria into account: navigation, consistency, performance, appearance, quality, interactivity, security, and scalability. This is especially true for e-commerce sites. Customers and companies alike access e-commerce web sites to accomplish a number of differing tasks from account setup to repeat purchases to content management. Content management is one task which companies must address when developing and maintaining their e-commerce sites. When implementing a content management system, not only do the needs of employees need to be met, but the system must meet all of the aforementioned criteria with respect to the customers which will be accessing it, scalability being arguably one of the most important. With the advent of Web 2.0, scalability comes to the forefront of issues that need to be addressed with new development kits and application frameworks that are being used to create e-commerce and other web sites.
Web sites such as eBay.com and Amazon.com see thousands, perhaps millions, of visitors per day and process transactions for many of them. These two companies use older technology to present their web presence to the world, but have begun integrating Web 2.0 technologies into their systems. While both use AJAX to enhance the appearance and user interface, neither rely on new application frameworks such as Ruby on Rails to power the transaction processing and presentation of the sites.
In an article on new web tools and mash-ups, Oren, et al. discuss the use of Ruby on Rails and its role in rapid application development to allow sites and web applications to hit the ground running more quickly and efficiently. Oren’s argument revolves around the new paradigm of “combining functionality from different Web applications” (2007, pg. 64). He compares this to the old model of “database driven” (2007, pg. 64) Web sites and applications. Sharing and accessing data across multiple sites for use in a new web application is the primary driver for the Semantic Web and Web 2.0 mash-ups.
A useful application of “Semantic Web data, with its global identifiers and graph-based model” (Oren, 2007, pg. 64) is that it “supports data integration by following links in the graph and fetching additional data on demand from online sources” (2007, pg. 65). To leverage the data provided in the Semantic Web model, the Resource Description Framework (RDF) is used. Combined with a schema, RDF can present the data to programming languages which can then use the data for other applications.
Through the use of Semantic Web, data becomes decentralized. By doing this, data becomes accessible to anyone, anywhere, by any means. This prevents the need for locking users into one language for accessing a database which may require specific access rights and roles. Programming languages such as Python and Ruby are generally used for creating mash-ups, because they “are dynamically typed, typically have higher-order constructs (for example, passing methods to methods), and support complete reflection — both introspection (obtaining information on objects at runtime) and intercession (modifying objects at runtime)” (Oren, 2007, pg. 66).
With a basis in dynamic languages, a few popular frameworks bubble to the top of the heap and allow for development of Web applications. Oren mentions Struts, Ruby on Rails, and Django in his article. He states,
> “These frameworks overcome a common problem with dynamically typed Web applications – that is, the implementation of business logic tends to be interleaved with the markup of presentation templates and database operations. These frameworks address these issues by using the model-view-controller (MVC) pattern which separates the application into three parts:
> 1. the application model manages data representation and business logic,
> 2. the views present the data and manage user interaction, and
> 3. the controller handles control flow. (2007, pp. 66-67)”
The traditional application framework requires taking requests from the user via an interface and processing those requests using the chosen language for interacting with the database. Once the data has been retrieved, it is then processed and presented back to the user via the interface. The Semantic Web gets rid of the database language dependent step and accesses data that is available from other Semantic Web applications. Oren goes on to discuss the creation of a “Semantic Web Application Framework” or SWAF (2007, pp. 67-70). He uses the Ruby programming language to create what is essentially a “middleware solution” (Oren, 2007, pg. 71).
This application framework and others like Ruby on Rails provide the user with libraries which can be used to access data and ease the creation of Web applications allowing for faster application development, minimal code for application development, and ease of ongoing support and maintenance to the application. These are important features for modern Web application development as “[t]he amount of digital information ‘created, captured, and replicated’ last year was equal to 161 billion Gbytes… roughly equivalent to the contents of 12 stacks of books extending from the Earth to the sun” (Weier, 2007, pg. 36).
Weier makes a strong case for new forms of information management in her article, Too Much Information. She points out that “[t]his year, for the first time, the amount of digital information generated will surpass the storage capacity available” (2007, pg. 36). Managing that much information can be overwhelming enough, but why would businesses want to keep that much information if they aren’t going to use it? The answer is that they do want to use it. Data warehousing and data analysis are some of the hottest and most used technologies currently. Taking all of this available data and making it available to user and customers is a top priority for many companies.
In her article, Weier mentions the “overlapping technology areas: database and content management systems; networked storage systems; servers that manage master data and unstructured content; servers that profile, cleanse and integrate data; the warehouses that contain that improved data; the business intelligence tools that make sense of it; and the search engines that find it” (2007, pg. 38). Some of these areas, particularly content management systems, search engines, and data warehouses can be used by companies to dynamically expand the user experience of their Web sites. Weier cites Motorola as one company which manages massive amounts of data. Within their corporation, several thousand blogs, millions of documents and “thousands of extranet sites” access the data that they store and manage (2007, pg. 38).
One of the requirements of providing such access to the data is that of instant access. Most users want immediate generation of the information they request. The Internet has created a culture of instant gratification and that has spawned into a requirement to do business on the Internet. MGM Mirage is seeking to provide real-time data access to its customers through their rewards program. Currently, the program “uses data that’s about 12 hours older than real time” (Weier, 2007, pg. 38). Since the customer may use multiple different payment types at multiple different resort locations (restaurants, clubs, shows), MGM needs time to “reconcile any disparate identities overnight, so that by the next day, it can update the accounts of the members of its customer loyalty club with new rewards points” (2007, pg. 38). The CIO of MGM states in the article that this current speed of data processing is sufficient and works well to meet the customers’ needs.
Microsoft is another big player in the content management markets. They have released the newest version of their collaboration software called SharePoint Server 2007. This “new version includes such capabilities as enterprise search, content management, and business intelligence” (Weier, 2007, pg. 41). SharePoint could almost be called middleware due to its expanded feature set and the tools that it brings to the table for users. “Analysis tools are available to let users, for example, trend sales growth for numbers SharePoint pulls out of an e-mail or an ERP app” (2007, pgg. 41).
Microsoft is leveraging the aspect of interoperability that it can offer with SharePoint and is proving to be a rather successful solution, but one which does not use the aforementioned Semantic Web model. Instead, Microsoft wants to drive its own .NET platform in all products to integrate the use of traditional programming languages through a common language runtime and platform independent compilation. However, the product is not priced for use by all enterprises and can be prohibitive when compared to readily available open source solutions. Whatever the choice may be, it is apparent that content management tools are gaining a higher level of importance in any business or organization as the amount of data to be handled and processed grows.
Some other Web 2.0 applications that have reached the enterprise are wikis, RSS feeds, and blogs. Many organizations have begun using these applications as tools to disseminate information, build internal knowledge bases, and market their products and services. All of these web applications are built with the same goal in mind, simplification of web application development. Through this simplification and use of frameworks such as Ruby on Rails, companies can be more efficient in their information management. Andrew Binstock says, “[s]oftware development continued to move toward simplicity in 2006. Most evident was the widespread adoption of SOA (service-oriented architecture), which has become the technology of choice for integrating systems of all kinds – in-house between departments, across stovepipe applications, and in B2B and B2C commerce” (2007, pg. 20).
Semantic Web framework is not meant to be a replacement for secure data and databases, but rather can be leveraged to provide users with a more robust interface and higher usability on web sites. What it can provide is a wider range of features in web-based applications. Sites such as Covestor.com and Cakefinancial.com are using this to their advantage. Both sites allow users to enter information about their investment accounts held at brokerages. Once this data is entered, the sites pull all data from the brokerage for the users individual portfolio. The user can then customize the level of information that they wish to share with others on the site. These sites are essentially communities of investors. The sites then aggregate the investment data, stripped of personal information of course, and allow users to compare their performance with that of other indexes and investors as well as browse and search the information shared by other users in order to examine investment strategies, gather more information about a particular company, and track historical performance.
Both sites make heavy use of Ruby on Rails, Flash and AJAX in their designs. Another site which leverages Ruby on Rails for quick development and implementation is Mint.com. They are a personal finance startup who recently won the best web startup award at the TechCrunch 40 conference which awarded them with $50,000 additional dollars in funding. They run a similar service to the aforementioned investment sites, except they focus on individuals and their bank and credit accounts. Yodlee handles all of the information storage for personal login information, but Mint.com provides the remainder of the services. Not only do they give up-to-date account information and transaction tracking, but they allow for categorization of income and expenses, tracking, budgeting, and comparison with other users of the service.
In essence, Mint.com is a web application meant to replace software such as Quicken as a one-stop banking solution for users. The site provides everything that a desktop application can provide to the user, but has one drawback; it requires an Internet connection to access. That drawback aside, the award given to them at the TechCrunch40 conference brought to light another drawback; the lack of scalability available from application frameworks such as Ruby on Rails. For a week following the award, Mint.com had posted a notice on their home page stating that they were experiencing a heavy load due to the press attention and the influx of new users and asked users to please be patient while they handled the growing pains. In other words, please pardon us while we figure out a solution to scaling.
From a developer’s view, Ruby on Rails is a dream to work with, and from the user’s view, it is a dream to use. It allows for the creation of complex and beautiful user interfaces. It is, however, currently a nightmare for system administrators. The reason for this is that Ruby on Rails lacks a couple of the requirements of good web application design, performance and scalability. Andrew Binstock mentions this in his article. “Frameworks such as … Ruby on Rails continued gaining in popularity and commercial support, as developers and their managers came to accept the view that many business apps don’t need the heavy enterprise aspects. By giving up some features, and especially scalability, these frameworks have enabled many sites to cut a swath through their backlog” (2007, pg. 21).
While I agree that these lightweight web frameworks can be useful to organizations an help to produce results for projects that might otherwise have never been accomplished, I believe that they are becoming increasingly misused in the marketplace. A web application framework that lacks scalability is not an appropriate choice for a web application that has the potential to attract millions of users and thousands of simultaneous connections, such as Mint.com. While it may allow for an easier interchange of information, the bulk of the database updating is still performed by traditional software methods using Yodlee to access bank information and update Mint.com’s database. Even though the initial slowdown has passed, Mint.com still suffers from slow performance. Aside from the given slowdown of transmitting data over SSL to the user, the user interface performance has degraded to a level far below that of the site prior to winning the award and attracting many more users.
In my opinion, web application frameworks need to be selected based upon their ability to meet the criteria that will provide both the consumer and the company with the best results. By using Ruby on Rails, Mint.com has hurt the end user experience and has also raised their hardware costs as throwing more power at the application is the only viable solution for such issues with Ruby on Rails built applications. Even database optimizations will not help as the entire purpose of such frameworks is to abstract the data and make it quickly usable and accessible, even to other mash-ups and web applications.
Companies such as Amazon.com and eBay.com have been slower to implement services using new web application frameworks because they are primarily concerned with the user experience. Newer web startups gravitate toward the new web application frameworks because they allow for faster application development with less of an impact upon the venture capital that has been raised. Unfortunately, the new web startups appear to be following a similar path to that of the dot com era boom. It appears that there may even be a Web 2.0 bubble developing in the marketplace. If so, this bubble will burst when the web application frameworks collapse under the load of demanding users and systems. Companies who wish to stay around for a long time and not skyrocket and sell out need to carefully examine the features of their web presence and build a solid base for their consumers. Once this has been done, web application frameworks can be used to provide value-added services and additional features to manipulate the large amounts of information and data available on the Internet today.
- Binstock, A. (2007). Software development. Infoworld, 29(1), 20-21.
- Oren, E., et al. (2007). A flexible integration framework for semantic Web 2.0 applications. IEEE Software, 24(5), 64-71.
- Turban, E., et al. (2006). Electronic commerce: a managerial perspective. Pearson Education Inc., Upper Saddle River, NJ, 2006.
- Weier, M. H. (2007). Too much information. Information Week, (1133), 36-41.