Web Applications Development
Viewing the Web as a three-tier, client/server information processing system has important implications for developing Web applications. The "Web page author" of old becomes the "Web system developer" of today. No longer is it sufficient to pack your tool kit with a WYSIWYG editor and skeletal HTML skills. You need to become widely versed in broader know-how. Shown at the bottom of the following expanded three-tier diagram are some of the skills and tools needed to design and program Web-based systems that service information processing activities.
Figure 1-4. Web development skills needed for creating Web-based three-tier client/server applications.
System Input and Output
On the Web server side you need to be able to write applications to perform the main processing activities of the system. Server-side scripting languages such as PHP are used to code these routines. One the one hand, these languages function as full-features programming languages to code the arithmetic and logical details of processing; on the other hand, they call upon built-in server processing components to perform the main or ancillary work of the system. PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.
On the database server side, languages such as SQL (Structured Query Language) perform the data storage, maintenance, and access functions. In addition, database programming languages are used to code command procedures, which are processing functions associated with and stored within databases to extract from, update, and report on their contents. Server-side languages can then call on these built-in database procedures to perform the associated processing rather than coding them directly. Of increasing importance in data storage and electronic data interchange are XML data structures.
It is sometimes too easy to view Web development from a purely technical perspective, forgetting that it is a system design exercise as well. The developer needs to understand organizational structures and processes. First and foremost, a Web-based system is a business process. If you do not understand these processes it is unlikely you can develop systems to implement or support them. Web development is also an integration exercise. The task is to bring to bear collections of hardware, software, people, and procedures to carry out an activity. Thus, a system perspective is crucial for tying all the pieces together into something functional, productive, cost-effective, and friendly. Finally, Web development is a vastly creative enterprise. So often the work is to devise something new where nothing existed before. Rather than following directives under well-conceived plans, your imagination creates those plans and the artist in you pursues them. Controlled flights of fancy serve the Web developer well
The Web developer, then, needs creative imagination, organizational sensibilities, and an expansive skill set for building Web applications that service information processing needs. One does not have to be a high-level expert in all the languages and software tools; but it is necessary to have good facilities with their use.
Tutorial Software Focus
Even if you have not had extensive exposure to these technologies, you should be able to follow the instructions and begin creating your own dynamic Web applications. You should, of course, be adept at computer programming. The Web developer is, first and foremost, a computer programmer. It is assumed that you have good facility with Visual Basic. You also should bring XHTML skills to the tutorial, and be conversant with cascading style sheets.