What Are Web Applications?
Advantages of Web Applications
Applications are software designed to meet a specified need. Word processing software, spreadsheet programs, and data entry tools are some examples of applications.
A Web application is just an application that is deployed on the Web. It is a Web page, or series of Web pages, allowing users to accomplish a task like obtaining information and forms, shopping, applying for a job, listening to Internet radio, or any of the many activities possible on the Web. To use a Web application, a user needs to know a URL for the application, and possibly a name and password. Another way to think of a Web application is a Web site offering a great deal of functionality.
Web pages are truly powerful when they are connected to a database. Such pages are referred to as database-driven pages. Pages are generated dynamically, and include up-to-the-minute information, without requiring someone to manually update the content of the Web page. Pages can provide current news, stock quote information, product availability data, or shipping information by retrieving information from a database at the time pages are requested. Users in turn conduct transactions directly with the database in real time. Connecting a Web page to a database truly makes for a powerful Web site. It is said that Web site programmers eventually find that they need to connect their site to a database, while database developers find that sooner or later their database needs to be accessible through the Web.
Businesses with a Web presence tend to be viewed as more competitive in the marketplace, and some conduct business entirely on the Web. Deploying an application on the Web gives an organization a way to extend their reach beyond the borders of the organization to the public directly. A Web site can be made publicly accessible to anyone with an Internet connection. Interactions with customers that were previously handled by phone, by mail, or in person can be handled via the Web. For example, consumers are familiar with the concept of an on-line retail store that lets users shop for goods and services, fill up a shopping cart, and "check out" their purchases by paying with a credit card.
Internet vs. Intranet
Organizations can set up an internal network, known as an intranet. An intranet protects the organization from having its internal files and confidential information accessed by someone outside the company. Intranets are often used to facilitate file sharing and email among members of an organization, while blocking access to outsiders.
Web applications can be deployed on an intranet, rather than the Internet. This simply means they are accessible to a smaller group of individuals. Web applications for internal use can be restricted to specific users, and in some cases, specific IP addresses.
When companies create custom applications tailored to meet their internal needs, they make a decision about what type of "front-end" to create, or what interface the users will work with when they use the application. Internal Web applications, restricted to specific users or computers, are increasingly popular within companies. Enterprise applications, which are larger applications used by every area of a company with the aim of every employee conducting business on the same, integrated system, are also being designed (or redesigned) for the Web.
Consider the advantages of using the Web from the company's perspective. An application that is not deployed on the Web typically requires employees to have some type of system software installed on their machines. Installation can be a time-consuming process that grows more burdensome as new versions of the software are released and must be installed on each computer. For example, an annoying screen problem is fixed in Version 184.108.40.206 of the software, but you only have Version 220.127.116.11, so you need to install the update to fix the problem.
Monitoring is needed as people leave and join the company and as computers are reused. This is in sharp contrast to an internal Web site, which only requires a Web browser and an Internet connection. Web browsers come preinstalled on the majority of office computers, and many companies connect computers to networks as a matter of course. In Web architecture, which is discussed further in Chapter 2, application code is housed on server machines instead of on each computer. New versions of Web applications can be made available immediately to all users at the same time by making changes on the servers, instead of going to each individual user's machine.
Perhaps the main advantage of choosing a Web interface is that many employees are already familiar with it. The conventions of browsing the Webclicking on links, navigating pages, entering data on formsare fairly consistent. More people are using the Web for shopping or to retrieve information. Colleges and universities are producing more graduates accustomed to having sophisticated online services to register for classes, check their accounts, request transcripts, and update their personal information. When new applications require less training because they have a familiar look and feel, then a company can save a considerable amount of money in training.
Employees may also more readily accept a new application if the interface is a familiar and intuitive one, ensuring that a company's investment in software is a worthwhile one. An elegant and powerful system is neither if it is never used.
The ease of providing information to their employees on the Web has made companies increasingly think of ways to computerize and Web-enable their internal operations. Many organizations have an internal Web "home" site, restricted to employees only, for publishing relevant information and links. Internal sites are more than a way to communicate information. As a company computerizes more of its operations, an employee can conduct day-to-day business quickly and easily on the Web: request meeting rooms, fill out timesheets, request travel reimbursements, apply for internal job postings, and access up-to-date employee directories, to name a few possibilities. The relative ease of developing for the Web means that more and more business functions can be automated on-line. Although the "paperless office" is more of a dream than a reality, paperwork or processing time often can be minimized or eliminated by moving to a Web-based application.
Advantages of PL/SQL for Web Development
SQL is the industry-standard language for reading, inserting, updating, and deleting data in a database, so it is an essential part of creating dynamic Web pages. PL/SQL, or Procedural Language/Structured Query Language, is Oracle's extension to SQL. PL/SQL adds the sophisticated control structures of a procedural language, such as loops, if-then-else statements, variable declaration, and exception handling. It was first introduced by Oracle in 1988 and has continued to mature since its introduction. Oracle is committed to supporting PL/SQL, and regularly produces enhancements and refinements to the language.
Because PL/SQL is compiled and stored directly in the database, it has the distinct advantage of being fast. It does not require compilation or interpretation at runtime, and it interacts with the database quickly. Other existing technologies that generate Web content by making use of a database require many trips to and from the database. A JSP, ASP, or Perl script run on the server might go back and forth to the database while generating the HTML page. PL/SQL has the advantage of being in the database, so none of these back-and-forth trips are required.
The advantages in speed are particularly apparent as the volume of data being handled increases. The code is also reliable and secure. Backup and recovery processes for the database also save the PL/SQL code stored in the database. The security and access controls put in place for Oracle database objects, such as tables, also protect PL/SQL packages, procedures, and functions, which are themselves database objects.
As the title of this book promises, the PL/SQL language that is so effective at handling back-end processing can also generate the front-end application that the user sees. Oracle's 9i Application Server, previously known as the Oracle Application Server (OAS), is the middleware that enables the PL/SQL stored in the database to generate Web pages displayed in a browser. System architecture, middleware, and the Oracle 9iAS are described in more detail in Chapter 2.
Companies using the Oracle 9i database already have PL/SQL, since it is included with the database and does not require separate licensing. Companies using Oracle are also likely to have PL/SQL expertise in-house; there is a large knowledge base of PL/SQL programmers.