WEB GRAPHICS
UNIT-V
In software engineering, a Web application or webapp is an application that is accessed via web over a network such as the Internet or an intranet.
Web applications are popular due to the ubiquity of a client, sometimes called a thin client. The ability to update and maintain Web applications without distributing and installing software on potentially thousands of client computers is a key reason for their popularity. Web applications are used to implement Webmail, online retail sales, online auctions, wikis, discussion boards, Weblogs, MMORPGs and many other functions.
A Web application is a dynamic extension of a Web server. There are two types of Web applications:
- Presentation-oriented. A presentation-oriented Web application generates dynamic Web pages containing various types of markup language (HTML, XML, and so on) in response to requests.
- Service-oriented. A service-oriented Web application implements the endpoint of a fine-grained Web service. Service-oriented Web applications are often invoked by presentation-oriented applications.
Consider the following generic web application work flow diagram.
History
In earlier types of client-server computing, each application had its own client program which served as its user interface and had to be separately installed on each user's personal computer. An upgrade to the server part of the application would typically require an upgrade to the clients installed on each user workstation, adding to the support cost and decreasing productivity.
In contrast, Web applications dynamically generate a series of Web documents in a standard format supported by common browsers such as HTML/XHTML. Client-side scripting in a standard language such as JavaScript is commonly included to add dynamic elements to the user interface. Generally, each individual Web page is delivered to the client as a static document, but the sequence of pages can provide an interactive experience, as user input is returned through Web form elements embedded in the page markup. During the session, the Web browser interprets and displays the pages, and acts as the universal client for any Web application.
Interface
The Web interface places very few limits on client functionality. Through Java, JavaScript, DHTML, Flash and other technologies, application-specific methods such as drawing on the screen, playing audio, and access to the keyboard and mouse are all possible. General purpose techniques such as drag and drop are also supported by these technologies. Web developers often use client-side scripting to add functionality, especially to create an interactive experience that does not require page reloading (which many users find disruptive). Recently, technologies have been developed to coordinate client-side scripting with server-side technologies such as PHP. Ajax, a web development technique using a combination of various technologies, is an example of technology which creates a more interactive experience.
Technical considerations
A significant advantage of building Web applications to support standard browser features is that they should perform as specified regardless of the operating system or OS version installed on a given client. Rather than creating clients for MS Windows, Mac OS X, GNU/Linux, and other operating systems, the application can be written once and deployed almost anywhere. However, inconsistent implementations of the HTML, CSS, DOM and other browser specifications can cause problems in web application development and support. Additionally, the ability of users to customize many of the display settings of their browser (such as selecting different font sizes, colors, and typefaces, or disabling scripting support) can interfere with consistent implementation of a Web application.
Another (less common) approach is to use Adobe Flash or Java applets to provide some or all of the user interface. Since most Web browsers include support for these technologies (usually through plug-ins), Flash- or Java-based applications can be implemented with much of the same ease of deployment. Because they allow the programmer greater control over the interface, they bypass many browser-configuration issues, although incompatibilities between Java or Flash implementations on the client can introduce different complications. Because of their architectural similarities to traditional client-server applications, with a somewhat "thick" client, there is some dispute over whether to call systems of this sort "Web applications"; an alternative term is "Rich Internet Application".
Structure
Though many variations are possible, a Web application is commonly structured as a three-tiered application. In its most common form, a Web browser is the first tier, an engine using some dynamic Web content technology (such as ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, or Ruby On Rails) is the middle tier, and a database is the third tier. The Web browser sends requests to the middle tier, which services them by making queries and updates against the database and generates a user interface.
Business use
An emerging strategy for application software companies is to provide Web access to software previously distributed as local applications. Depending on the type of application, it may require the development of an entirely different browser-based interface, or merely adapting an existing application to use different presentation technology. These programs allow the user to pay a monthly or yearly fee for use of a software application without having to install it on a local hard drive. A company which follows this strategy is known as an application service provider (ASP), and ASPs are currently receiving much attention in the software industry.
Writing Web applications
There are many Web application frameworks which facilitate rapid application development by allowing the programmer to define a high-level description of the program. In addition, there is potential for the development of applications on Internet Operating Systems, although currently there are not many viable platforms that fit this model.
The use of Web application frameworks can often reduce the number of errors in a program, both by making the code more simple, and by allowing one team to concentrate just on the framework. In applications which are exposed to constant hacking attempts on the Internet, security-related problems caused by errors in the program are a big issue. Frameworks may also promote the use of best practices such as GET after POST
1) Arachnophilia - http://www.arachnoid.com/arachnophilia/ - free (careware) software which allows you to build your website without "frames" - and modify up to 100 pages at once, so you can have similar information on many pages and update it easily. Search engines seem to prefer unframed pages and using "simple pages" ensures that all your inter-site links are on the page itself, making it easier for the search engine robot to index your whole site. Arachnophilia is now being developed to include Java, so download the simple-html version whilst it's still available, from the address quoted.
(2) Free search engine submission - either use a "spidering" program (there are many freeware and shareware ones available) or take the time to visit the big search engines (Google, Yahoo, Altavista, Northern Light, HotBot, Lycos, Infoseek, MSN, AOL etc.] and list your pages individually. Always check that the page you're listing isn't already listed on that engine, first! It's time-consuming but does eventually bear results. The search engine robots will gradually work their way around your site - we have never found the need to "re-submit" the same page and often many of your other pages will be visited by the robots without you having to submit them individually, provided that enough interlinks are in place between the pages within your website.
[3] Meta-tags - Whilst some search engines index the visible content of your page, many will look for your metatags. These should include Author, Date, Distribution, Description, Title and Keywords. Take a look at any of the metatags on Project HappyChild pages - call up the page then "view - source" and you'll see the format used and how the content of the tags relate to the page itself.
[4] Updating - Keeping your site "fresh" for the search engines is important, so that search engine robots which come back to look at your site, find something "new" each time and will keep re-indexing you. Using Arachnophilia to modify your pages en bloc means that you can ensure each and every page "changes" on a fortnightly or monthly basis. Even if the only change is a link to "April" newsletter rather than "March" newsletter, they'll pick up on this. If you don't have anything which needs changing - simply change your "Date" meta-tag to the date you make the change, and re-upload your pages. Using Arachnophilia we can comfortably change over 2000 pages in an hour, so it's not time-consuming. Make a copy of your whole site each time before making major changes, though, just to be on the safe side, in case you block-modify something by mistake.
(5) FTP - The best (shareware) FTP program we've found is Flash FXP, which you should be able to get from www.tucows.com or www.download.com . Once it's installed, all you need to do is drag whole directories (including their sub-directories) from the left over to the right, and the program will build them for you on your hard drive, or update what's already there. Re-uploading the whole site here can take three to four hours - but we simply "drag and drop" and Flash FXP takes care of it after that, re-starting the queue if there's a connection break, leaving you free to get on with other things.
(6) Inter-site links - Always use the "full address" for links within your website (eg <A HREF="http://www.happychild.org.uk/nvs/views/index.htm">Guestbook</A>] i.e. Guestbook. We've found this increases the rating in some search engines - many work on the basis of how many Internet links there are to your page - and if many pages on your site carry the full link address to any given page, this will improve its search engine visibility as well as making your whole site more cohesive.
(7) Graphics - Centralise your graphics in one folder on your site (again using the full http:// address]. Use or design particular graphics to harmonise with particular themes on your site, so that people will come to associate the graphic with the theme it represents - and use the same graphic-link wherever possible on your pages, for a link to a particular area or theme, to enhance recall in the minds of your visitors. Calling all the graphics from the same folder means that when a graphic is called again from another page, it will appear virtually-instantly on the next page [because it will already be in your visitor's Internet-cache]; dually this minimises bandwidth download required, allowing you more visitors within your designated bandwidth allowance. Use "alt tags" for your graphics - some search engines index these, so choose your wording with care, and the text of the alt tags will also be visible to visitors (dependent on their browser choices].
[8] HTML - use "simple HTML" wherever possible. We don't use java (because some search engines still don't like it, apparently) - simplify your page format wherever possible. Use table format for your text, for ease of recognition by browsers - take a look at the source code for tables on the Project HappyChild pages, to see how particular effects are achieved. <TR> is a new line [ ending in </TR> ], <TD> is a new cell [ ending in </TD> ]. The rest will be relatively self-explanatory, with a little time spent in relating the source code to the relevant table.
(9) Visual quality - balance the visual appearance of each page. Use eye-catching graphics (avoid flashing graphics if you can). Pop-ups are simply tacky - use them as little as possible; you want people to remember your page because it's visually dynamic - not because it's full of pop-ups and flashing lights. Quality is everything. Remember not everyone has ADSL - minimise download speed by compressing your graphics, wherever possible.
0 comments:
Post a Comment