SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
BSc(Hons) Computing & Internet
         Technology
  Web Development Research

         NATHAN THOMAS
           MARCH 2009
TCP &
The Transport
Layer
     ‘The transport layer has four main
           functions:
        1. It sets up and maintains a
              session connection between
              two devices
        2. It can provide for the reliable
              or unreliable delivery of data
              across this connection
        3. It can implement flow
              control through ready/not
              ready signals or windowing
              to ensure one device doesn’t
              overflow another device with
              too much data on a
              connection
        4. It multiplexes connections,
              allowing multiple
              applications to
              simultaneously send and
              receive data. [Using Port
              Numbers]’, (Meyers 2004).

TCP divides the data into segments, opens
a full-duplex connection using the network
layer, and passes the segments on to the
network layer.

It also ensures that all segments arrive at
the other end correctly.
3 Way Handshake
Reliable and Unreliable Connections

 Transmission Control Protocol
                                        Well Known/Reserved Port Numbers:
  (TCP) and Sequenced Packet
  Exchange (SPX) use the 3 way          Application        Port Number(s)   Reliable/Unreliable
  handshake, so are termed ‘reliable’                                       Connection
  protocols at the transport layer.     FTP                20 and 21        TCP Reliable
                                                                            Connection
                                        telnet             23               TCP Reliable
 Sometimes the full 3 way                                                  Connection
  handshake is superfluous.             SMTP (email)       25               TCP Reliable
                                                                            Connection

 User Datagram Protocol (UDP) is
                                        DNS                53               UDP Unreliable
                                                                            Connection
  an ‘unreliable’ protocol and can be   Trivial FTP (FTP   69               UDP Unreliable
  used in this case.                    without login)                      Connection
                                        HTTP               80               TCP Reliable
                                                                            Connection
 Segments sent using UDP have no       POP mail           110
  guarantee of reaching their
  destination. UDP assumes this will    SNMP               161              UDP Unreliable
  be handled by the application.                                            Connection


                                        (Meyers 2004)
IP &
The Network
Layer
    ‘The network layer is responsible
             for:
        1.          Defining logical
                    addresses used at the
                    network layer
        2.          Finding paths, based on
                    the network numbers of
                    logical addresses, to
                    reach destination
                    devices
        3.          Connecting different
                    media types together,
                    such as Ethernet, FDDI,
                    Serial and Token Ring’,
                    (Meyers 2004).

Network Layer Protocols:

      Internet Protocol (IP)
•

      Novell’s Internetwork Packet
•
      Exchange (IPX)

      AppleTalk.
•

TCP segment is encapsulated in an IP
packet. The source IP address and
destination IP address are defined in
this packet. The IP packet is passed to
the Data Link Layer.
HTTP, FTP and the Web

 File Transfer Protocol (FTP) existed when the web was first developed, but was
  ‘not optimal for the web, in that it was too slow and not sufficiently rich in
  features’, (Berners-Lee 1996). So the Hyper-Text Transfer Protocol (HTTP)
  was created.

 The Web is formed around three common standards: Hyper-Text Transfer
  Protocol (HTTP), the Address Space (URLs) and Hyper-Text Mark-up
  Language (HTML).

 In the same way that the TCP/IP model abstracts lower layers, the Web was
  designed around the same principle. So, for instance, anybody designing
  anything on top of HTTP did not have to know how HTTP worked.

       ‘A test of this ability was to replace [layers] with older specifications, and
  
      demonstrate the ability to intermix those with the new. Thus, the old FTP
      protocol could be intermixed with the new HTTP protocol in the address
      space, and conventional text documents could be intermixed with the new
      hypertext documents’, (Berners-Lee 1996).
How a Web Browser Works

 The browser determines the URL (by seeing what was selected).
 The browser asks DNS for the IP address of www.itu.org
 DNS replies with 156.106.192.32.
 The browser makes a TCP connection to port 80 on 156.106.192.32.
 It then sends over a request asking for file /home/index.html.
 The www.itu.org server sends the file /home/index.html.
 The TCP connection is released.
 The browser displays all the text in /home/index.html.
 The browser fetches and displays all images in this file.’


(Tanenbaum 2002)
Uniform Resource Locators (URLs)

 URLs can be broken into three parts: the protocol (or scheme), the
  server location and the page location.
 Some common URLs:
             Name             Used For           Example

             http             Hypertext (HTML)   http://www.w3c.org/

             ftp              FTP                ftp://ftp.cs.vu.nl/pub/minix/
                                                 README
             file             Local file         file://c:/readme.txt

             news             Newsgroup          news:comp.os.minix

             gopher           Gopher             gopher://gopher.tc.umn.edu
                                                 /11/Libraries
             mailto           Sending Email      mailto:user@domain.net

             telnet           Remote Login       telnet://www.w3.org:80
HTTP Methods

Method                     Description

GET                        Request to read a Web page

HEAD                       Request to read a Web page’s header

PUT                        Request to store a Web page

POST                       Append to a named resource (e.g. a Web page)

DELETE                     Remove the Web page

TRACE                      Echo the incoming request

CONNECT                    Reserved for future use

OPTIONS                    Query certain options



  (Tanenbaum 2002)
FTP Methods

Method                                    Description

RETRIEVE (RETR)                           Causes the server to transfer a copy of the file, specified in the pathname,
                                          to the server or user at the other end of the data connection.
STORE (STOR)                              Causes the server to accept the data transferred via the data connection
                                          and to store the data as a file at the server site.
APPEND (with create) (APPE)               Causes the server to accept the data transferred via the data connection
                                          and to store the data in a file at the server site. If the file specified in the
                                          pathname exists at the server site, then the data shall be appended to that
                                          file; otherwise the file specified in the pathname shall be created at the
                                          server site.
RESTART (REST)                            The argument field represents the server marker at which file transfer is
                                          to be restarted. This command does not cause file transfer but skips over
                                          the file to the specified data checkpoint.
RENAME FROM (RNFR)RENAME TO (RNTO)        Renaming file

ABORT (ABOR)                              Aborts the previous command.

DELETE (DELE)                             Causes the file specified in the pathname to be deleted at the server site.
Status Responses

 Both HTTP and FTP will respond to requests with a status code. Some
  example HTTP status responses are:
           Code             Meaning           Examples

           1xx              Information       100 = server agrees to handle
                                              client’s request
           2xx              Success           200 = request succeeded; 204 =
                                              no content present
           3xx              Redirection       301 = page moved; 304 = cached
                                              page still valid
           4xx              Client error      403 = forbidden page; 404 =
                                              page not found
           5xx              Server error      500 = internal server error; 503 =
                                              try again later
Web Services

 ‘Web services are server-side programs that listen for messages from
  client applications and return specific information’, (Watson et al
  2005).

 ‘Web services are meant to address the problems of connecting
  disparate systems, creating single repositories, and working towards
  the holy grail of programming – code reuse’, (Evjen et al 2007).

 Web service returns the information in XML format.
 XML can be used by any type of application, (Traditional or Web), on
  any platform.
 Therefore Web services enable us to transfer data between disparate
  systems.
 Enable us to maintain a central information store which is compatible
  with all clients.
Before Web Services

  Remote Procedure Call (RPC)

   Allows you to call (or ‘invoke’) a procedure (program method) at a remote location.

   Many different RPC protocols – mostly incompatible

 CORBA (Common Object Requesting Broker Architecture)
   Developed in 1991 by the Object Management Group, added object-orientation to RPC, (RPC
    was procedural).
   ‘Because OMG didn’t define a reference implementation... the servers of these vendors
    didn’t really interoperate... HP server needed an HP client... IBM server an IBM client, and
    so on’, (Watson et al 2005).
 DCOM (Distributed Component Object Model)
   ‘In the past, it was possible to work with DCOM to port data from one point to another to
    solve almost the same problem that Web services are now addressing. However, with
    DCOM, requests and responses were required to ride on top of a proprietary communication
    protocol’, (Evjen et al 2007).
   Distributed COM - Microsoft extended DCE-RPC protocol with object-oriented features.

   Not picked up by users of non-Microsoft platforms.

 RMI (Remote Method Invocation)
   Sun’s RMI added to CORBA and COM, but was aimed at Java platform and required a JVM.
Web Services Architecture:
                             UDDI – find a web service

Universal Description, Discovery and Integration (UDDI)

Web Services may be registered in a registration directory service, although not a requirement.

UDDI provides details about:

    The owner

    The Web service’s name and type

    The Web service’s location

    What the web service requires and what it returns (WSDL)


Primary UDDI sites are:

    http://uddi.xml.org/

    www.xmethods.net


    These directories can be searched by the owner, type of web service, name etc.


    There are sites that exist that focus on Web services with the same subject matter – these are

    called Portals.
Web Services Architecture:
                    WSDL –what methods can be called?

    Web Services Description Language (WDSL)



    ‘When you find a Web service that you want to include in your application, you must first figure

    out how to supply the Web service with the parameters it needs in order for it to work. That
    need also extends a bit further. Even if you know the parameters and types that are required for
    instantiation, you also need to understand the types that are passed to your application in
    return’, (Evjen et al 2007).

    ‘A WSDL document has the information about the methods a Web service supports and how

    they can be called, parameter types passed to the service, and parameter types returned from
    the service’, (Watson et al 2005).

    WSDL enables client application to create a proxy for communicating with the web service,

    using SOAP calls.
Web Services Architecture:
                            SOAP – calling a method

    Simple Object Access Protocol (SOAP)



    Maintained by W3C.



    SOAP is just XML, works like XML and provides the same inter-operability as XML.



    ‘A SOAP message is the basic unit of communication between a client and a server’, (Watson et

    al 2005).

    ‘The SOAP specification itself is made up of the following parts:

     A description of the SOAP envelope and how to package a SOAP message so that it can be
       sent via a transmission protocol such as HTTP.
     The serialization rules for SOAP messages.

     A definition of the protocol binding between SOAP and HTTP.

     The capability to use SOAP for RPC-like binding’, (Evjen et al 2007).
Example SOAP Request

    ‘Hello World!’ string passed as argument to Web service method: ReverseString()

    Before the start of the XML SOAP message, is the HTTP header, because the SOAP message is

    sent with a HTTP POST request...

       POST /WebServiceSample/Service1.asmx HTTP/1.1
       Host: localhost
       Content-Type: text/xml; charset=utf-8
       Content-Length: 508
       SOAPAction: “http://www.wrox.com/webservices/ReverseString”

       <?xml version=”1.0” encoding=”utf-8” ?>
       <soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
          xmlns:xsd=http://www.w3.org/2001/XMLSchema
          xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>
             <soap:Body>
               <ReverseString xmlns=”http://www.wrox.com/webservices”>
          <message>Hello World!</message>
               </ReverseString>
             </soap:Body>
       </soap:Envelope>

    The server answers with a similar SOAP message with the ‘ReversStringResult’ attribute set to

    ‘!dlroW olleH’.
Alternative Protocols

    ‘XML-RPC, ebXML and REST can be used in a similar manner to SOAP. They all provide

    structure to any remote-procedural call you need’, (Evjen et al 2007).

    Alternatively, ‘just do a simple HTTP GET or HTTP POST request without the overhead of a

    SOAP call:

    HTTP POST request:


       POST /WebServiceSample/Service1.asmx/ReverseString HTTP/1.1
       Host: localhost
       Content-Type: application/x-www-form-urlencoded
       Content-Length: length

       message=string

    THE HTTP GET request is even shorter. The disadvantage of the Get request is that the size of

    the parameters sent is limited. If the size goes beyond 1K, you should consider using POST:

       GET /WebServiceSample/Service1.asmx/ReverseString?message=string HTTP/1.1
       Host: localhost

    ‘The disadvantage here is that there is no support from Web services on other platforms and no

    support for sending anything other than simple data.’, (Watson et al 2005)
Representational State Transfer (REST)

    ‘In a pure REST system, resources are the entities exposed by the service: the products you sell, the customer

    records you view, the pages you interact with. Each resource should have a unique URL that defines it, such as
    http://www.mysystem.com/products/5323. Accessing that URL using an HTTP GET request should return a
    representation of that resource, in this case a block of XML. In a pure REST system, GET requests cannot
    change the resource. Changes are performed by other HTTP verbs:

        GET
    

         Request for a resource. No change is made to the resource. Returns an XML representation of that
           resource.
        POST
    

         Creates a new resource. Returns an XML representation of that resource.
        PUT
    

         Updates an existing resource. Returns an XML representation of that resource.
        DELETE
    

         Deletes a resource from the system’, (Evjen et al 2007).


    ‘In a just-enough REST system, only GET and POST (or even just GET) URLs are used. In this model, all the

    operations of the service can be accessed via a query string in the browser. Part of the rationale for this is that
    many clients do not support the PUT and DELETE verbs, leaving GET and POST to perform multiple duties’,
    (Evjen et al 2007).
Other Internet Architectures

 W3Cs Semantic Web Initiatives:
   Resource Description Framework (RDF)

   Web Ontology Language (OWL)

   SPARQL Queries

   HTML5/XHTML2/XForms
Service Oriented Architecture (SOA)

 SOA is about making the different layers of an information system
  independent.

 The services provided at each layer are networked and can be combined in
  any way desired to provide the required service to a user.

 For example, a web service could be used as a Data Access Layer for a
  database.

 Web services, interacting with a variety of databases, can be mixed and
  matched as required in a Business Logic Layer, which may do something
  else. This Business Logic Layer should provide its own API, again perhaps
  as a Web Service, that can then be used by any application.

 SOA is about the same old programming concepts of modularity,
  abstraction and information-hiding.
References

     Berners-Lee, T., 1996. The World Wide Web: Past, Present and Future. Available
1.
     at: http://www.w3.org/People/Berners-Lee/1996/ppf.html [Accessed February
     25, 2009].
     Evjen, B., Sharkey, K., Thangarathinam, T., Kay, M., Vernet, A. & Ferguson, S.,
2.
     2007. Professional XML. John Wiley & Sons.
     Fielding, R., Irvine, U.C, Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P,
3.
     Berners-Lee, T., Compaq, W3C, MIT, Xerox and Microsoft, 1999. RFC 2616 -
     Hypertext Transfer Protocol -- HTTP/1.1. Internet Engineering Task Force
     (IETF) Available from: http://www.ietf.org/rfc/rfc2616.txt [Accessed March 17,
     2009].
     Meyers, M., 2004. Network+ Certification All-in-One Exam Guide, Third Edition
4.
     3rd ed., McGraw-Hill Osborne.
     Postel, J., Reynolds, J. & ISI, 1985. RFC 959 - File Transfer Protocol. Internet
5.
     Engineering Task Force (IETF). Available from: http://tools.ietf.org/html/rfc959
     [Accessed March 17, 2009].
     Tanenbaum, A.S., 2002. Computer Networks. 4th ed., Pearson Education.
6.
     Watson, K. , Nagel, C., Hammer Pedersen, J., Reid, J.D., Skinner, M. And White,
7.
     E., 2005. Beginning Visual C# 2005 2005th ed., John Wiley & Sons.

Contenu connexe

Tendances

File tranfer protocol
File tranfer protocolFile tranfer protocol
File tranfer protocolKunalThorat9
 
Jaimin chp-7 - application layer- 2011 batch
Jaimin   chp-7 - application layer- 2011 batchJaimin   chp-7 - application layer- 2011 batch
Jaimin chp-7 - application layer- 2011 batchJaimin Jani
 
Application layer in network system
Application layer in network systemApplication layer in network system
Application layer in network systemSalauddin Rubel
 
Application layer
Application layerApplication layer
Application layerFarah Hunny
 
Application layer
Application layerApplication layer
Application layerAnithaRaj31
 
Application layer protocol
Application layer protocolApplication layer protocol
Application layer protocolTom Hanstead
 
Application protocols
Application protocolsApplication protocols
Application protocolsOnline
 
Application layer
Application layerApplication layer
Application layerreshmadayma
 
Application Layer and Protocols
Application Layer and ProtocolsApplication Layer and Protocols
Application Layer and ProtocolsRubal Sagwal
 
Application layer protocol
Application layer protocolApplication layer protocol
Application layer protocolDr. Amitava Nag
 
Lecture application layer
Lecture application layerLecture application layer
Lecture application layerHasam Panezai
 
Chapter 4 - Computer Networking a top-down Approach 7th
Chapter 4 - Computer Networking a top-down Approach 7thChapter 4 - Computer Networking a top-down Approach 7th
Chapter 4 - Computer Networking a top-down Approach 7thAndy Juan Sarango Veliz
 
file transfer and access utilities
file transfer and access utilitiesfile transfer and access utilities
file transfer and access utilitiestumetr1
 
Basic IT 2 (General IT Knowledge-2)
Basic IT 2 (General IT Knowledge-2)Basic IT 2 (General IT Knowledge-2)
Basic IT 2 (General IT Knowledge-2)kholis_mjd
 
Linux Presentation
Linux PresentationLinux Presentation
Linux PresentationNaiyan Noor
 

Tendances (20)

Lecture2 mac learning
Lecture2 mac learningLecture2 mac learning
Lecture2 mac learning
 
File tranfer protocol
File tranfer protocolFile tranfer protocol
File tranfer protocol
 
Jaimin chp-7 - application layer- 2011 batch
Jaimin   chp-7 - application layer- 2011 batchJaimin   chp-7 - application layer- 2011 batch
Jaimin chp-7 - application layer- 2011 batch
 
Application layer
Application layerApplication layer
Application layer
 
Application layer in network system
Application layer in network systemApplication layer in network system
Application layer in network system
 
Application layer
Application layerApplication layer
Application layer
 
Application layer
Application layerApplication layer
Application layer
 
Application layer protocol
Application layer protocolApplication layer protocol
Application layer protocol
 
Application protocols
Application protocolsApplication protocols
Application protocols
 
Application layer
Application layerApplication layer
Application layer
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
Application Layer and Protocols
Application Layer and ProtocolsApplication Layer and Protocols
Application Layer and Protocols
 
Application layer protocol
Application layer protocolApplication layer protocol
Application layer protocol
 
Lecture application layer
Lecture application layerLecture application layer
Lecture application layer
 
Chapter3
Chapter3Chapter3
Chapter3
 
Chapter 4 - Computer Networking a top-down Approach 7th
Chapter 4 - Computer Networking a top-down Approach 7thChapter 4 - Computer Networking a top-down Approach 7th
Chapter 4 - Computer Networking a top-down Approach 7th
 
file transfer and access utilities
file transfer and access utilitiesfile transfer and access utilities
file transfer and access utilities
 
Basic IT 2 (General IT Knowledge-2)
Basic IT 2 (General IT Knowledge-2)Basic IT 2 (General IT Knowledge-2)
Basic IT 2 (General IT Knowledge-2)
 
Linux Presentation
Linux PresentationLinux Presentation
Linux Presentation
 
Introduction to Application layer
Introduction to Application layerIntroduction to Application layer
Introduction to Application layer
 

En vedette

Faglig Paedagogisk Opgave 08
Faglig Paedagogisk Opgave 08Faglig Paedagogisk Opgave 08
Faglig Paedagogisk Opgave 08Lone Christensen
 
Blue Latitude Credentials June 2010
Blue Latitude Credentials June 2010Blue Latitude Credentials June 2010
Blue Latitude Credentials June 2010SophieBerger
 
Création point de vente franchisé
Création point de vente franchiséCréation point de vente franchisé
Création point de vente franchisécivasuisse
 
Organizational Development Solutions
Organizational Development SolutionsOrganizational Development Solutions
Organizational Development Solutionsdebramason
 
Us Opportunity Presentation
Us Opportunity PresentationUs Opportunity Presentation
Us Opportunity PresentationLeePryke
 
Sistema Binario E Codice Informatico
Sistema Binario E Codice InformaticoSistema Binario E Codice Informatico
Sistema Binario E Codice Informaticovapiegold
 
Minicalcolatore di Papy
Minicalcolatore di PapyMinicalcolatore di Papy
Minicalcolatore di Papyvapiegold
 

En vedette (14)

Faglig Paedagogisk Opgave 08
Faglig Paedagogisk Opgave 08Faglig Paedagogisk Opgave 08
Faglig Paedagogisk Opgave 08
 
Blue Latitude Credentials June 2010
Blue Latitude Credentials June 2010Blue Latitude Credentials June 2010
Blue Latitude Credentials June 2010
 
Fpo 2009 Rettet
Fpo 2009 RettetFpo 2009 Rettet
Fpo 2009 Rettet
 
Lena Bevis
Lena BevisLena Bevis
Lena Bevis
 
Informationsbehandling
InformationsbehandlingInformationsbehandling
Informationsbehandling
 
Création point de vente franchisé
Création point de vente franchiséCréation point de vente franchisé
Création point de vente franchisé
 
Organizational Development Solutions
Organizational Development SolutionsOrganizational Development Solutions
Organizational Development Solutions
 
Cf Pres Breve
Cf Pres BreveCf Pres Breve
Cf Pres Breve
 
Cc
CcCc
Cc
 
Kommunikation
KommunikationKommunikation
Kommunikation
 
Annika Bevis 2
Annika Bevis 2Annika Bevis 2
Annika Bevis 2
 
Us Opportunity Presentation
Us Opportunity PresentationUs Opportunity Presentation
Us Opportunity Presentation
 
Sistema Binario E Codice Informatico
Sistema Binario E Codice InformaticoSistema Binario E Codice Informatico
Sistema Binario E Codice Informatico
 
Minicalcolatore di Papy
Minicalcolatore di PapyMinicalcolatore di Papy
Minicalcolatore di Papy
 

Similaire à Web Dev Research

File Transfer Protocol (FTP)
File Transfer Protocol (FTP)File Transfer Protocol (FTP)
File Transfer Protocol (FTP)AxelXrest
 
Computer network
Computer networkComputer network
Computer networkPihu Goel
 
Networking Study Guide
Networking Study GuideNetworking Study Guide
Networking Study Guideguested3b43
 
COC to-manage-and-monitor-the-network.pdf
COC to-manage-and-monitor-the-network.pdfCOC to-manage-and-monitor-the-network.pdf
COC to-manage-and-monitor-the-network.pdfhabtex1230
 
Ch4 Protocols.pptx
Ch4 Protocols.pptxCh4 Protocols.pptx
Ch4 Protocols.pptxkebeAman
 
Computer network coe351- part2- final
Computer network coe351- part2- finalComputer network coe351- part2- final
Computer network coe351- part2- finalTaymoor Nazmy
 
SYBSC IT COMPUTER NETWORKS UNIT I Network Models
SYBSC IT COMPUTER NETWORKS UNIT I Network ModelsSYBSC IT COMPUTER NETWORKS UNIT I Network Models
SYBSC IT COMPUTER NETWORKS UNIT I Network ModelsArti Parab Academics
 
Ch4 Protocols.pptx
Ch4 Protocols.pptxCh4 Protocols.pptx
Ch4 Protocols.pptxazmerawAnna1
 
TCP IP PowerPoint presentation download.
TCP IP PowerPoint presentation download.TCP IP PowerPoint presentation download.
TCP IP PowerPoint presentation download.rp5373568
 
Ports and services
Ports and servicesPorts and services
Ports and servicesIlan Mindel
 
Discuss the purpose of subnetting. What does CIDR stand for and me
Discuss the purpose of subnetting. What does CIDR stand for and meDiscuss the purpose of subnetting. What does CIDR stand for and me
Discuss the purpose of subnetting. What does CIDR stand for and mehuttenangela
 
protocol architecture
 protocol architecture protocol architecture
protocol architectureSrinivasa Rao
 
Notes e commerce
Notes e commerceNotes e commerce
Notes e commerceS S
 

Similaire à Web Dev Research (20)

6 networking
6 networking6 networking
6 networking
 
File Transfer Protocol (FTP)
File Transfer Protocol (FTP)File Transfer Protocol (FTP)
File Transfer Protocol (FTP)
 
Computer network
Computer networkComputer network
Computer network
 
Networking Study Guide
Networking Study GuideNetworking Study Guide
Networking Study Guide
 
Http VS. Https
Http VS. HttpsHttp VS. Https
Http VS. Https
 
COC to-manage-and-monitor-the-network.pdf
COC to-manage-and-monitor-the-network.pdfCOC to-manage-and-monitor-the-network.pdf
COC to-manage-and-monitor-the-network.pdf
 
Internet1
Internet1Internet1
Internet1
 
Ch4 Protocols.pptx
Ch4 Protocols.pptxCh4 Protocols.pptx
Ch4 Protocols.pptx
 
Sem 1 Ch 11
Sem 1 Ch 11Sem 1 Ch 11
Sem 1 Ch 11
 
01 pengenalan
01 pengenalan01 pengenalan
01 pengenalan
 
Computer network coe351- part2- final
Computer network coe351- part2- finalComputer network coe351- part2- final
Computer network coe351- part2- final
 
SYBSC IT COMPUTER NETWORKS UNIT I Network Models
SYBSC IT COMPUTER NETWORKS UNIT I Network ModelsSYBSC IT COMPUTER NETWORKS UNIT I Network Models
SYBSC IT COMPUTER NETWORKS UNIT I Network Models
 
Ch4 Protocols.pptx
Ch4 Protocols.pptxCh4 Protocols.pptx
Ch4 Protocols.pptx
 
TCP IP PowerPoint presentation download.
TCP IP PowerPoint presentation download.TCP IP PowerPoint presentation download.
TCP IP PowerPoint presentation download.
 
Ports and services
Ports and servicesPorts and services
Ports and services
 
Protocols
Protocols Protocols
Protocols
 
Discuss the purpose of subnetting. What does CIDR stand for and me
Discuss the purpose of subnetting. What does CIDR stand for and meDiscuss the purpose of subnetting. What does CIDR stand for and me
Discuss the purpose of subnetting. What does CIDR stand for and me
 
Ta 104-tcp
Ta 104-tcpTa 104-tcp
Ta 104-tcp
 
protocol architecture
 protocol architecture protocol architecture
protocol architecture
 
Notes e commerce
Notes e commerceNotes e commerce
Notes e commerce
 

Dernier

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Dernier (20)

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

Web Dev Research

  • 1. BSc(Hons) Computing & Internet Technology Web Development Research NATHAN THOMAS MARCH 2009
  • 2. TCP & The Transport Layer ‘The transport layer has four main functions: 1. It sets up and maintains a session connection between two devices 2. It can provide for the reliable or unreliable delivery of data across this connection 3. It can implement flow control through ready/not ready signals or windowing to ensure one device doesn’t overflow another device with too much data on a connection 4. It multiplexes connections, allowing multiple applications to simultaneously send and receive data. [Using Port Numbers]’, (Meyers 2004). TCP divides the data into segments, opens a full-duplex connection using the network layer, and passes the segments on to the network layer. It also ensures that all segments arrive at the other end correctly.
  • 4. Reliable and Unreliable Connections  Transmission Control Protocol Well Known/Reserved Port Numbers: (TCP) and Sequenced Packet Exchange (SPX) use the 3 way Application Port Number(s) Reliable/Unreliable handshake, so are termed ‘reliable’ Connection protocols at the transport layer. FTP 20 and 21 TCP Reliable Connection telnet 23 TCP Reliable  Sometimes the full 3 way Connection handshake is superfluous. SMTP (email) 25 TCP Reliable Connection  User Datagram Protocol (UDP) is DNS 53 UDP Unreliable Connection an ‘unreliable’ protocol and can be Trivial FTP (FTP 69 UDP Unreliable used in this case. without login) Connection HTTP 80 TCP Reliable Connection  Segments sent using UDP have no POP mail 110 guarantee of reaching their destination. UDP assumes this will SNMP 161 UDP Unreliable be handled by the application. Connection (Meyers 2004)
  • 5. IP & The Network Layer ‘The network layer is responsible for: 1. Defining logical addresses used at the network layer 2. Finding paths, based on the network numbers of logical addresses, to reach destination devices 3. Connecting different media types together, such as Ethernet, FDDI, Serial and Token Ring’, (Meyers 2004). Network Layer Protocols: Internet Protocol (IP) • Novell’s Internetwork Packet • Exchange (IPX) AppleTalk. • TCP segment is encapsulated in an IP packet. The source IP address and destination IP address are defined in this packet. The IP packet is passed to the Data Link Layer.
  • 6. HTTP, FTP and the Web  File Transfer Protocol (FTP) existed when the web was first developed, but was ‘not optimal for the web, in that it was too slow and not sufficiently rich in features’, (Berners-Lee 1996). So the Hyper-Text Transfer Protocol (HTTP) was created.  The Web is formed around three common standards: Hyper-Text Transfer Protocol (HTTP), the Address Space (URLs) and Hyper-Text Mark-up Language (HTML).  In the same way that the TCP/IP model abstracts lower layers, the Web was designed around the same principle. So, for instance, anybody designing anything on top of HTTP did not have to know how HTTP worked. ‘A test of this ability was to replace [layers] with older specifications, and  demonstrate the ability to intermix those with the new. Thus, the old FTP protocol could be intermixed with the new HTTP protocol in the address space, and conventional text documents could be intermixed with the new hypertext documents’, (Berners-Lee 1996).
  • 7. How a Web Browser Works  The browser determines the URL (by seeing what was selected).  The browser asks DNS for the IP address of www.itu.org  DNS replies with 156.106.192.32.  The browser makes a TCP connection to port 80 on 156.106.192.32.  It then sends over a request asking for file /home/index.html.  The www.itu.org server sends the file /home/index.html.  The TCP connection is released.  The browser displays all the text in /home/index.html.  The browser fetches and displays all images in this file.’ (Tanenbaum 2002)
  • 8. Uniform Resource Locators (URLs)  URLs can be broken into three parts: the protocol (or scheme), the server location and the page location.  Some common URLs: Name Used For Example http Hypertext (HTML) http://www.w3c.org/ ftp FTP ftp://ftp.cs.vu.nl/pub/minix/ README file Local file file://c:/readme.txt news Newsgroup news:comp.os.minix gopher Gopher gopher://gopher.tc.umn.edu /11/Libraries mailto Sending Email mailto:user@domain.net telnet Remote Login telnet://www.w3.org:80
  • 9. HTTP Methods Method Description GET Request to read a Web page HEAD Request to read a Web page’s header PUT Request to store a Web page POST Append to a named resource (e.g. a Web page) DELETE Remove the Web page TRACE Echo the incoming request CONNECT Reserved for future use OPTIONS Query certain options (Tanenbaum 2002)
  • 10. FTP Methods Method Description RETRIEVE (RETR) Causes the server to transfer a copy of the file, specified in the pathname, to the server or user at the other end of the data connection. STORE (STOR) Causes the server to accept the data transferred via the data connection and to store the data as a file at the server site. APPEND (with create) (APPE) Causes the server to accept the data transferred via the data connection and to store the data in a file at the server site. If the file specified in the pathname exists at the server site, then the data shall be appended to that file; otherwise the file specified in the pathname shall be created at the server site. RESTART (REST) The argument field represents the server marker at which file transfer is to be restarted. This command does not cause file transfer but skips over the file to the specified data checkpoint. RENAME FROM (RNFR)RENAME TO (RNTO) Renaming file ABORT (ABOR) Aborts the previous command. DELETE (DELE) Causes the file specified in the pathname to be deleted at the server site.
  • 11. Status Responses  Both HTTP and FTP will respond to requests with a status code. Some example HTTP status responses are: Code Meaning Examples 1xx Information 100 = server agrees to handle client’s request 2xx Success 200 = request succeeded; 204 = no content present 3xx Redirection 301 = page moved; 304 = cached page still valid 4xx Client error 403 = forbidden page; 404 = page not found 5xx Server error 500 = internal server error; 503 = try again later
  • 12. Web Services  ‘Web services are server-side programs that listen for messages from client applications and return specific information’, (Watson et al 2005).  ‘Web services are meant to address the problems of connecting disparate systems, creating single repositories, and working towards the holy grail of programming – code reuse’, (Evjen et al 2007).  Web service returns the information in XML format.  XML can be used by any type of application, (Traditional or Web), on any platform.  Therefore Web services enable us to transfer data between disparate systems.  Enable us to maintain a central information store which is compatible with all clients.
  • 13. Before Web Services Remote Procedure Call (RPC)   Allows you to call (or ‘invoke’) a procedure (program method) at a remote location.  Many different RPC protocols – mostly incompatible  CORBA (Common Object Requesting Broker Architecture)  Developed in 1991 by the Object Management Group, added object-orientation to RPC, (RPC was procedural).  ‘Because OMG didn’t define a reference implementation... the servers of these vendors didn’t really interoperate... HP server needed an HP client... IBM server an IBM client, and so on’, (Watson et al 2005).  DCOM (Distributed Component Object Model)  ‘In the past, it was possible to work with DCOM to port data from one point to another to solve almost the same problem that Web services are now addressing. However, with DCOM, requests and responses were required to ride on top of a proprietary communication protocol’, (Evjen et al 2007).  Distributed COM - Microsoft extended DCE-RPC protocol with object-oriented features.  Not picked up by users of non-Microsoft platforms.  RMI (Remote Method Invocation)  Sun’s RMI added to CORBA and COM, but was aimed at Java platform and required a JVM.
  • 14. Web Services Architecture: UDDI – find a web service Universal Description, Discovery and Integration (UDDI) Web Services may be registered in a registration directory service, although not a requirement. UDDI provides details about: The owner  The Web service’s name and type  The Web service’s location  What the web service requires and what it returns (WSDL)  Primary UDDI sites are: http://uddi.xml.org/  www.xmethods.net  These directories can be searched by the owner, type of web service, name etc.  There are sites that exist that focus on Web services with the same subject matter – these are  called Portals.
  • 15. Web Services Architecture: WSDL –what methods can be called? Web Services Description Language (WDSL)  ‘When you find a Web service that you want to include in your application, you must first figure  out how to supply the Web service with the parameters it needs in order for it to work. That need also extends a bit further. Even if you know the parameters and types that are required for instantiation, you also need to understand the types that are passed to your application in return’, (Evjen et al 2007). ‘A WSDL document has the information about the methods a Web service supports and how  they can be called, parameter types passed to the service, and parameter types returned from the service’, (Watson et al 2005). WSDL enables client application to create a proxy for communicating with the web service,  using SOAP calls.
  • 16. Web Services Architecture: SOAP – calling a method Simple Object Access Protocol (SOAP)  Maintained by W3C.  SOAP is just XML, works like XML and provides the same inter-operability as XML.  ‘A SOAP message is the basic unit of communication between a client and a server’, (Watson et  al 2005). ‘The SOAP specification itself is made up of the following parts:   A description of the SOAP envelope and how to package a SOAP message so that it can be sent via a transmission protocol such as HTTP.  The serialization rules for SOAP messages.  A definition of the protocol binding between SOAP and HTTP.  The capability to use SOAP for RPC-like binding’, (Evjen et al 2007).
  • 17. Example SOAP Request ‘Hello World!’ string passed as argument to Web service method: ReverseString()  Before the start of the XML SOAP message, is the HTTP header, because the SOAP message is  sent with a HTTP POST request... POST /WebServiceSample/Service1.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: 508 SOAPAction: “http://www.wrox.com/webservices/ReverseString” <?xml version=”1.0” encoding=”utf-8” ?> <soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”> <soap:Body> <ReverseString xmlns=”http://www.wrox.com/webservices”> <message>Hello World!</message> </ReverseString> </soap:Body> </soap:Envelope> The server answers with a similar SOAP message with the ‘ReversStringResult’ attribute set to  ‘!dlroW olleH’.
  • 18. Alternative Protocols ‘XML-RPC, ebXML and REST can be used in a similar manner to SOAP. They all provide  structure to any remote-procedural call you need’, (Evjen et al 2007). Alternatively, ‘just do a simple HTTP GET or HTTP POST request without the overhead of a  SOAP call: HTTP POST request:  POST /WebServiceSample/Service1.asmx/ReverseString HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: length message=string THE HTTP GET request is even shorter. The disadvantage of the Get request is that the size of  the parameters sent is limited. If the size goes beyond 1K, you should consider using POST: GET /WebServiceSample/Service1.asmx/ReverseString?message=string HTTP/1.1 Host: localhost ‘The disadvantage here is that there is no support from Web services on other platforms and no  support for sending anything other than simple data.’, (Watson et al 2005)
  • 19. Representational State Transfer (REST) ‘In a pure REST system, resources are the entities exposed by the service: the products you sell, the customer  records you view, the pages you interact with. Each resource should have a unique URL that defines it, such as http://www.mysystem.com/products/5323. Accessing that URL using an HTTP GET request should return a representation of that resource, in this case a block of XML. In a pure REST system, GET requests cannot change the resource. Changes are performed by other HTTP verbs: GET   Request for a resource. No change is made to the resource. Returns an XML representation of that resource. POST   Creates a new resource. Returns an XML representation of that resource. PUT   Updates an existing resource. Returns an XML representation of that resource. DELETE   Deletes a resource from the system’, (Evjen et al 2007). ‘In a just-enough REST system, only GET and POST (or even just GET) URLs are used. In this model, all the  operations of the service can be accessed via a query string in the browser. Part of the rationale for this is that many clients do not support the PUT and DELETE verbs, leaving GET and POST to perform multiple duties’, (Evjen et al 2007).
  • 20. Other Internet Architectures  W3Cs Semantic Web Initiatives:  Resource Description Framework (RDF)  Web Ontology Language (OWL)  SPARQL Queries  HTML5/XHTML2/XForms
  • 21. Service Oriented Architecture (SOA)  SOA is about making the different layers of an information system independent.  The services provided at each layer are networked and can be combined in any way desired to provide the required service to a user.  For example, a web service could be used as a Data Access Layer for a database.  Web services, interacting with a variety of databases, can be mixed and matched as required in a Business Logic Layer, which may do something else. This Business Logic Layer should provide its own API, again perhaps as a Web Service, that can then be used by any application.  SOA is about the same old programming concepts of modularity, abstraction and information-hiding.
  • 22. References Berners-Lee, T., 1996. The World Wide Web: Past, Present and Future. Available 1. at: http://www.w3.org/People/Berners-Lee/1996/ppf.html [Accessed February 25, 2009]. Evjen, B., Sharkey, K., Thangarathinam, T., Kay, M., Vernet, A. & Ferguson, S., 2. 2007. Professional XML. John Wiley & Sons. Fielding, R., Irvine, U.C, Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P, 3. Berners-Lee, T., Compaq, W3C, MIT, Xerox and Microsoft, 1999. RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1. Internet Engineering Task Force (IETF) Available from: http://www.ietf.org/rfc/rfc2616.txt [Accessed March 17, 2009]. Meyers, M., 2004. Network+ Certification All-in-One Exam Guide, Third Edition 4. 3rd ed., McGraw-Hill Osborne. Postel, J., Reynolds, J. & ISI, 1985. RFC 959 - File Transfer Protocol. Internet 5. Engineering Task Force (IETF). Available from: http://tools.ietf.org/html/rfc959 [Accessed March 17, 2009]. Tanenbaum, A.S., 2002. Computer Networks. 4th ed., Pearson Education. 6. Watson, K. , Nagel, C., Hammer Pedersen, J., Reid, J.D., Skinner, M. And White, 7. E., 2005. Beginning Visual C# 2005 2005th ed., John Wiley & Sons.