Sunday, April 11, 2010

Exercise_Week 4

Programming Web servers: Languages for the Web

Hypertext Markup Language

  • HTML was developed by Tim Berners-Lee while at CERN, and popularized by the Mosaic browser developed at NCSA.
  • HTML is a markup language used to create platform-independent hypertext documents on the World Wide Web
  • During the 1990s it blossomed with the growth of the Web.
  • HTML has been extended in a number of ways.
  • Most hypertext documents on the web are written in HTML.
  • The current recommendation is XHTML 1.0, which is a reformulation of HTML 4.01 as an XML 1.0 application.

Common Gateway Interface CGI

  • CGI is a standard for the construction of dynamic HTML documents, by use of an external script (small program) installed on the same machine as the Web server.
  • Common CGI scripts require a local interpreter or compiler.
  • PERL and Python are popularly used to process HTML forms and can verify user inputs, as well as control the return of messages and performing further processing of the forms data.
  • On a secure Web site, CGI can still be used for some e-commerce transactions, such as ordering some perfume for your mother’s birthday.

CGI alternatives

  • JavaScript, PHP, Active Server Pages (ASP), Java Server Pages (JSP)
  • A variety of other proprietary sources such as Cold Fusion products, all provide an alternative to CGI interactivity and security.

JavaScript popularity

JavaScript has been popular for including

  • event-driven, user interface features (display a pull-down menu);
  • interactive multimedia (display a message or image when a mouse arrow passes over a screen area);
  • To validate data and user types into a form.
Java Virtual Machine
  • The Java language is much secured and platform independent when compared to alternative languages.
  • Java's secret is the tightly integrated language model.
  • The steps on the next slide show how the Java Virtual Machine implements a Java Program…

Java Virtual Machine at work

  • Coding - Human-readable Java code is produced
  • Building - A Java Development Tool "build’s the Java program into bytecode, which is saved as a ".class" file.
  • Loading - Via the web or command line, the class file is sent to the Java Virtual Machine (VM) with an attached digital signature. The Java VM is simply an interpreter.
  • Bytecode Verification - The Java VM verifies the digital signature.
  • Isolation - When downloaded remotely, the Java VM isolates the Java program in a restricted part of memory. The Java program is not allowed to access local hard drives and System resources.
  • Internal Integrity - Verification checks are made to insure that the loaded Java program is well formed. Data types are verified along with other syntax structure.
  • Execution - Program execution begins.

The rise of the application servers

  • high-speed caching,
  • rapid application development,
  • secure enterprise portals,
  • identity and content management,
  • business intelligence,
  • application and business integration,
  • Wireless capabilities.

Microsoft .NET

  • .NET is Microsoft’s software development architecture and strategy for developing large distributed software systems.
  • .NET is not meant as a replacement for Java but as an alternative.
  • .NET is component based meaning that as a function is developed, it gets plugged into the framework.

Advantages of Microsoft .NET

  • Before .NET it was difficult for different languages to provide a solution to every problem every time and the language libraries and runtime were not able to be shared.
  • But now, looking at the next slide it can be seen that .NET enables any language to provide a solution because the libraries can be shared.
  • You can share a C# library with C++ or Visual Basic.
  • If you need a web site it can be developed in any language using any of the available language library… even Object COBOL
  • .NET uses XML, has an “n” tier architecture
  • .NET is an easier way to build Windows applications.
  • Documentation was excellent and an increasing amount of textbooks are available.
Reference: Eustace, K. and Bytheway, A. (2004). Lecture 4: Programming Web servers: Languages for the Web [PowerPoint slides]. Retrieved from Charles Sturt University, Melbourne Study Centre

1 comment:

  1. Web development is a broad term for the work involved in developing a web site for the Internet (World Wide Web) or an intranet (a private network) . This can include web design, web content development, client liaison, client-side/server-side scripting, web server and network security configuration, and e-commerce development. This blog entry gives valuable information.

    ReplyDelete