Home > Articles > Web Development

This chapter is from the book

This chapter is from the book

Where We Are Today

It is important to take a quick look back at the software industry, particularly at the architectural solutions used in the past, and trace how they evolved to the Web application model used in 2002. If nothing else, this may provide valuable material to help argue your case for recommending the use of Curl within your organization!

In the 1970s applications running in large corporations typically ran on a mainframe model. In this scheme, a central machine acted as the processing center, data store, and user interface generator for a large number of dispersed internal clients. These were purely "dumb" terminals; they had no local processing power and only acted to display a screen to a user. These terminals enabled the user to review information and enter application instructions to continue functional processing. Corporations embraced this architecture because they could start utilizing the computational powers of these machines to provide better customer service and have an organized approach to managing the data in their business. However, the mainframe model was extremely costly, and this cost represented a significant barrier of entry for smaller firms.

Figure 1–1 illustrates the architecture of a mainframe application.

Figure 1FIGURE 1–1 Typical mainframe application.


In the 1980s, corporations sought to move away from mainframe-based user applications toward a client/server architecture that would offer a more sophisticated user interface and the expectation of increased productivity. This architecture typically featured rich graphical interfaces that stored and retrieved data in a central database. Not only did this architecture achieve its promise of increased usability, but it was also a cheaper solution than the mainframe model. This resulted in small- to medium-sized firms rapidly embracing the client/server architecture. However, in time, people realized that the client/server solution was extremely costly to deploy and maintain. A technician would typically have to visit every user's workstation to install the initial runtime environment, and then might have to re-visit each machine for subsequent maintenance releases.

Figure 1–2 illustrates the architecture of a client/server application.

Figure 2FIGURE 1–2 Typical client/server application.


The 1990s saw the invention of the Internet and another architecture model available to corporations. The Internet took away the high installation and maintenance costs associated with client/server applications, and promised a minimal cost deployment model coupled with a vastly increased potential user base. Internal corporate applications could now be re-developed and opened up to be run by anyone in the world, as long as he or she had an Inter-net browser installed on a machine. There are a number of problems with this model, though, mainly usability, performance, maintainability, and processor utilization.

The original Internet applications were based on hypertext markup language (HTML), the language of the Web invented by Tim Berners-Lee, which was never designed for anything more than to present static textual information. These original Internet applications had user interfaces far removed from anything previously offered in the client/server model of the 1980s, and arguably offered little more than the usability of the mainframe model in the 1970s.

These applications were also built on the page-based request and response model implicit within the use of Hypertext Transfer Protocol (HTTP). This is where you are initially presented with a Web page, the user enters some information and clicks on an item, and the page is then re-drawn with the next processing screen to complete. This model is far from ideal: it is slow, it has a very uninteresting interface, and it is extremely server-centric. One difference between mainframes and the Web is that in the mainframe days, the clients were typically physically close to the mainframe computer. So, interaction with the mainframe was fairly fast. However, the Web resulted in distributed systems, where the server could be located across the world from the end-user. This resulted in the long waits we have today. To combat this limitation and to make Web applications more interactive and usable, a myriad of languages were introduced into the mix, such as VBScript, JavaScript, Flash, dynamic HTML (DHTML), ActiveX etc. None of these technologies were originally designed to interoperate, but developers found ways to mix them together to create more usable Web-based applications—at a cost.

The more visually exciting an Internet page, the slower it is to download to the browser, because the files being transmitted are large and the bandwidth typically used is small. Corporations that want to provide a more exciting experience at their Web sites typically resort to having multiple versions that users can access, which are dependent on the network bandwidth available to them. Furthermore, due to the large number of different technologies used to create these more exciting Web sites, corporations are forced to hire different developers for each version. This all results in the maintainability nightmare that companies are battling.

As personal computers (PCs) have become more and more powerful, the actual utilization of this processing power has declined due to the dominance of the Web-based application architecture. Now corporations are buying more, larger, and increasingly expensive Web and application servers to keep up with the demands of their ever-growing worldwide user community. The processing capabilities of their users' machines are being ignored, and the machines are simply acting as graphical rendering tools, much like the mainframe terminals.

Figure 1–3 illustrates a typical Web site in use today, and the technologies used to create it.

Figure 3FIGURE 1–3 Typical Web application.


Bill Gates, the chairman and chief software architect of Microsoft, summed up today's architecture well when he wrote, "In many respects, today's Internet still mirrors the old mainframe world. It's a server-centric computing model, with the browser playing the role of dumb terminal. Much of the information your business needs is locked up in centralized databases, served up a page at a time to individual users. Worse, Web pages are simply a 'picture' of the data, not the data itself, forcing many developers back to 'screen scraping' to acquire information." (June 2001 essay entitled "Why We're Building .NET Technology," available at: http://www.microsoft.com/presspass/misc/06-18BillGNet.asp)

In addition to Bill Gates, other industry leaders share this opinion. Bruce Togazzini and Jakob Nielsen wrote, "the Web browser ... has been crippling the software industry for the past eight years and it will kill productivity at any company that introduces major enterprise applications on its intranet" (March 2001 article entitled "Beyond The Browser," available on the www.zdnet.com Web site). In the same article, Togazzini and Nielsen look to the future and proclaim that, "Web applications will become indistinguishable from traditional applications."

So this is where we are today. We have an excellent, cost-effective deployment model, but with applications that make no use of local processing power, have poor usability, exhibit terrible performance over low-bandwidth networks, and are difficult and costly to maintain.

As a result of these shortcomings in the current Web application model, Curl and other companies have focused on an executable Internet architecture. In this architecture, processing is moved away from the server and back on to the client. Many of the industry think tanks and research firms, such as Gartner, Forrester, and The Reybold Group, have all talked about this new approach, finding that companies are ready to embrace this architecture. George Colony, the CEO of Forrester, said recently that, "another software technology ...will kill off the current Web ... very soon—in the next 2 to 3 years," and "the new software model will use executable programs."

Enterprise application architecture has gone through numerous 10-year cycles, and we are now on the verge of another potential shift. The industry opinion and business needs are all in place for the executable Internet to take off, and Curl is positioned well at the forefront of this technology.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020