Unit III -- Presentation Layer.

Client Environment : Browsers (extensions, cookies, applets), Hand-held devices, Thin clients, Web page design & Client-side scripting (XHTML, WML, AJAX, CSS, XSL). [Recommended tools : Firefox, Nvu, Quanta, Bluefish]

Presentation Layer

This section of the book covers the aspects of user interface in the three layered architecture. In the MVC paradigm this chapter focuses on the View.

The presentation layer provides the user interface for the application. It provides facilities for – input, allowing the user to control the application and output which provides the results to the user. Many types of user interfaces can be used in an enterprise application.

The most common user interface types for applications are:

1. Graphical User interfaces using the Operating system's native drawing capabilities to draw windows and other controls on the computer monitor to interact with users.

2. Web Based Interfaces which produce web pages which are transmitted over a network and then displayed to the user by a web browser.

Some other types of user interfaces which can be used are:

1. Command line interfaces where the user interacts with the application by entering commands in a special command line.

2. Touchscreen interfaces using a touch sensitive screen for getting inputs.

3. Voice activated interfaces where the user can interact with the application with voice commands.

Out of the two most common user interfaces the web based interface can be considered as a subset of the general graphical user interface. However there are enough differences between the two to have them as distinct types.

GUI applications are usually written using the native API of an operating system and are often specific to an OS. They have to be installed in the user's system and run locally. There is no standard way of deploying applications across machines with different operating systems. On the other hand they are responsive to user input and match the look and feel of the host operating system.

Web based user interfaces are web pages produced by the application which are then used for interacting with the user. They need not be installed on the user's system and can be run off a web server. There is no special deployment required and updates are easy as updating the copy on the server ensures that users get the latest version. They can also be fully cross platform. The user's OS or CPU architecture does not matter as long as there is a web browser available for the platform. Web based interfaces also have the advantage of supporting more than just desktops. Properly designed applications can be accessed using mobile phones, screen readers etc. On the flip side the responsiveness of the application is dependent on the network connection between the server and the users computer. The available gui controls are also not as rich as native applications.

The remainder of the the book will focus on constructing enterprise applications which utilize a web based interface. This is mainly due to the relative ease with which such applications can be built and tested and the wide variety of platforms which can be access the application.

Web Browser

A web browser will be the main means of accessing the user interface of the enterprise application. A brief look into the architecture of a web browser follows.

A web browser connects to a web server through the http protocol and renders the web pages it receives on the screen. In addition to rendering html present in web pages, it also supports many image formats and can support wider variety of formats using other helper applications called plugins.

Plugins (or plug-ins) are small pieces of software that interact with the browser to provide certain, usually very specific functions. Typical examples are plugins to display specific graphic formats, or to play multimedia files. Some common plugins include Macromedia Flash, Adobe Acrobat, Apple Quicktime etc.

Some browsers provide features by which the functionality of the browser itself can be modified to a limited extent. They are called extensions. Extensions help the browser to be a small download while any required functionality can be added using extensions. The Firefox browser provides many extensions which can be installed to customize the browser to the user's specific need.

All the concepts and exercises in this section will be developed using the Mozilla Firefox Browser version 1.5 . The developed user interface will then be tested with a wide variety of browsers across different platforms. Any exceptions to this rule will be clearly specified.

Mobile Devices

As the web becomes more pervasive, the web browser on a computer is not the only means for accessing the web. Mobile devices like PDAs, cell phones, handheld game consoles are also now gaining the ability to access the web.

Most of the clients are still web browsers which support a subset of the features available on the desktop versions. They also lack the plugin functionality of the bigger versions. We will take a brief look at developing for this type of clients.

Topics covered

1. HTML?

2. Css

3. Javascript

4. DOM

5. XML

6. XHTML

7. Xpath

8. XSL

9. AJAX

10. Mobile XHTML

For XML related topics can use http://en.wikibooks.org/wiki/XML:_Managing_Data_Exchange as a base.

For authoring the web pages any text editor will do, though an editor developed with web development in mind will ease the development. Throughout this section Quanta Plus Editor will be used. Quanta Plus is a part of the Web Development module of KDE. Bluefish is also a very lighweight yet useful alternative. It supports a lot of markup and programming languages.

Finally the reader must understand that in an actual application the coding for the user interface will not be done by hand as it is done here. Special middleware will generate all the web pages for use. Due to this reason browser incompatibilities are not covered in detail. Use of middleware will be covered in Section 5 of the book. This section is thus mainly for understanding what happens behind the scenes. Always borrow money from a pessimist; he doesn't expect to be paid back. http://www.mrlink.it/Benessere-e-Salute/Medicina/Compra-Viagra-online-l7919.html

Cialis or generic Cialis

cialis come viagra viagra generico cialis compra propecia generico http://buycialis.cc/it/item/generic_propecia.html http://relievepain.org/ http://www.jaman.com/people/BuyCialis/ http://subscene.com/members/Buy-Cheap-Fioricet-Online.aspx http://www.jaman.com/people/BuyCialis/ u4D1qah compra viagra in italia purchase fioricet cheap Cialis overnight lPQj74g buy tramadol free shipping

Rascal, am I? Take THAT!

-- Errol Flynn

http://blogs.devleap.com/members/Compra_2D00_Viagra.aspx

cialis online

cialis viagra effetti collaterali viagra e levitra comprare propecia http://forum.pcworld.it/member.php?u=33505&propecia http://buycialisonline.tv/product.php?prod=ultram http://members.ebay.com/ws/eBayISAPI.dll?ViewUserPage&userid=cialis-levitra http://www.headachetreatment.net/ http://buy-cialis.blog.friendster.com/ yOpW9H. compra viagra in italia cheap fioricet cheap Cialis sales E.toblo tramadol org

Humor in th Court:

Q: Do you drink when you're on duty? A: I don't drink when I'm on duty, unless I come on duty drunk. order discount Cialis buy viagra cheap http://www.ourmedia.org/channels/buy-cialis http://www.kaboodle.com/buyviagra2 levitra tramadol buy OcHAxFs http://members.ebay.com/ws/eBayISAPI.dll?ViewUserPage&userid=cialis-levitra http://buycialisonline.tv/product.php?prod=ultram fioricet buy online come comprare viagra online http://www.jayde.com/15220245-headachetreatment.html http://www.annunci.net/annunci/54/posts/9_Compra_e_Vendi/77_Altro/819250_Compra_Viagra_Online.html The reverse side also has a reverse side.

-- Japanese proverb

http://cssfad.unile.it/user/view.php?id=7115&course=1&compra-viagra-cialis

generic Cialis

cialis carta di credito comprare viagra generico compra propecia http://www.hotfrog.it/Societa/Compra-Cialis-e-Viagra/Propecia-Generico-14606 http://www.dogomania.com/forum/showthread.php?p=276144 http://www.jaman.com/people/BuyCialis/ http://www.aboutus.org/HeadacheTreatment.net http://www.maclife.com/user/buy_cialis_com d8vDU06 farmaco viagra fioricet online order order cialis LbWrIe?4 prices tramadol

Old programmers never die, they just branch to a new address.

buy cialis canada buy viagra http://buycialis.reciter.com/ http://community.tasteofhome.com/members/BuyViagra/default.aspx levitra online buy tramadol lvRdDAG http://subscene.com/members/Buy_2D00_levitra_2D00_online.aspx http://buytramadol.gather.com/ buy cheap fioricet viagra generico on line http://www.headachetreatment.net/ http://www.aboutus.org/compraviagraitalia.com QOTD:

"Even the Statue of Liberty shaves her pits."

cheap Cialis overnight generic viagra http://buycialis.cc/en/item/cialis.html http://www.sims99.com/forum/member.php?u=9416&buy-viagra-online levitra free shipping buy tramadol HT16qXx http://community.tasteofhome.com/members/BuyLevitra/default.aspx http://www.dogomania.com/forum/showthread.php?p=276144 fioricet where to order vendita viagra online http://www.folkd.com/user/buyfioricetonline http://studenti.dsi.unive.it/forum/index.php?showuser=1212 If builders built buildings the way programmers wrote programs, then the first woodpecker to come along would destroy civilization. Cialis buy brand viagra http://www.jayde.com/15220257-buycialis.html http://www.1up.com/do/my1Up?publicUserId=6065791 brand levitra cheap tramadol medication .Yvx8Fa http://buylevitra.gather.com/ http://pittsburghmom.com/members/tramadol/default.aspx fioricet comprare viagra http://community.icontact.com/users/buyfioricet http://directory.pubblicitaonline.it/Detailed/26473.html Pat sprinkles each CD with pixie dust. From: Michael order cheap cialis order viagra online http://buycialisonline.tv/product.php?prod=cialis http://showhype.com/profile/Buy_Viagra_Online/ order levitra cheap tramadol medication xcgImbj http://www.folkd.com/user/buylevitra1 http://www.jayde.com/15219715-relievepain.html fioricet usa viagra generico on line http://showhype.com/profile/Buy_Fioricet/ http://lnx.spmg.it/moodle/user/view.php?id=470&course=1&viagra-cialis