Web Applications

12


Additional keywords and phrases: Web Objects, XML, Java, CORBA, multimedia, software architecture


slide: Web applications

subsections:



slide: Client/server pair


Transport and Services

WebCorba
ServicesHTMLIDL
TransportHTTPORB/IIOP

Alternatives

  • ANSAWeb -- CORBA-based Web infrastructure
  • WebBroker -- HTTP as a transport protocol for ORBs
  • orblets -- Java applets with ORB

slide: Transport and services



slide: Java applet with ORB



slide: Processing steps

  1. get the HTML page,
  2. load the applet,
  3. start the applet,
  4. connect to a CORBA server from the applet,
  5. get access to the remote objects,
  6. connect optionally to a database, and
  7. send output either in HTML format or directly to the applet.


slide: Client-Server/CGI



slide: Content store



slide: Netscape Enterprise Server



slide: Business logic



slide: Microsoft DNA

subsections:



Complaints


Observations
Requirements
Behavior
Answers
slide: Requirements for APIs



Actions


Perspectives


Interests


slide: Dimensions of APIs



slide: Hierarchical structure of DOM


Framework components

Web-aware agents



slide: Framework components


The DejaVU experience


slide: The DejaVU experience



slide: The score in a plugin


    <SCORE>
      <TITLE>Corrente</TITLE>
      <COMPOSER>Antonio Vivaldi</COMPOSER>
      <STAFF>
        <MEASURE Sig="3,4" Key=F Clef=Gclef>
          <NOTE Pos="1,3" Stem=down>d6 4 0
          <REST Pos="3,6">C6 8 0
          <NOTE Pos="4,6" Stem=up>a5 8 0
          <NOTETUPLE Stem=down>
            <NOTE Pos="5,6">f5 8 0</NOTE>
            <NOTE Pos="6,6">a5 8 0</NOTE>
          </NOTETUPLE>
        </MEASURE>
        ...
      </STAFF>
    </SCORE>
  


    SCORE {
      margin-left : 30;
      margin-right : 30;
      margin-top : 80;
      margin-bottom : 20;
      page-height : 1000;
      page-width : 920;
    }
    TITLE {
      title-align : Center;
      title-font : -*-Times-Bold-R-Normal--*-240-*;
    }
    COMPOSER {
      composer-align : Center;
      composer-font : -*-Times-*-R-Normal--*-180-*;
    }
  

slide: An associated style sheet



slide: The jam server




slide: Web components

It is a brave architect who, in today's environment, does not develop, or at least consider, an object-oriented design.


Architectural software styles

class of architectures



slide: Architectural software styles


Themes and variations

technological constraints



slide: Themes and variations


Architectural issues


slide: Architectural issues

Client NPP/CallbacksBrowser NPN/Calls
Instantiation and DestructionVersion Info
Stream NotificationStream Creation and Destruction
Reading and Writing StreamsStreamAsFile
LiveConnect

Nevertheless, ignoring details, plugin architectures indicate what may become the dominant paradigm of the future, framework-like environments that are extensible by components following a clearly defined pattern or protocol; that is to say, components created according to the principles of object-oriented software development.


Objects and the Web

1



slide: Section 12.1: Objects and the Web


Programming the Web -- a search for APIs

2



slide: Section 12.2: Programming the Web -- a search for APIs


The DejaVU experience -- jamming (on) the Web

3



slide: Section 12.3: The DejaVU experience -- jamming (on) the Web


Architecture revisited

4



slide: Section 12.4: Architecture revisited


  1. Describe the architecture of the Web. Explain the relevance of objects for the Web.
  2. Sketch the Microsoft approach to the ObjectWeb. Discuss its pros and cons.
  3. In what ways can Java and CORBA be deployed in Web applications?
  4. Indicate how the computation model underlying the Web deviates from the computation models underlying, respectively, object systems and client-server systems.
  5. What requirements can you think of for libraries or frameworks for developing Web applications?
  6. Discuss the Document Object Model.
  7. What are the requirements for a framework supporting intelligent agents?
  8. Explain the issues that arise in extending the Web with additional media functionality. What solutions can you think of? Can you give an example?

slide: Questions

Further reading

For information concerning the Web, have a look at www.w3c.org which give a detailed account on the history of the Web and many other issues. For an exposition of the issues and technologies that play a role in the battle for the ObjectWeb, consult  [OWSurvival]. A good introduction to agents and its associated technology is given in  [Survey]. For architectural issues, again, I recommend  [Practice].