WWW Architecture. Software Architecture VO/KU ( / ) Denis Helic. KMI, TU Graz. Dec 7, 2011
|
|
- Philip Vernon Sims
- 5 years ago
- Views:
Transcription
1 WWW Architecture Software Architecture VO/KU ( / ) Denis Helic KMI, TU Graz Dec 7, 2011 Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
2 Outline 1 Introduction 2 Quality requirements 3 Web architecture 4 Web Systems 5 Web Applications 6 Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
3 Introduction The Web Started as a static information system Hypermedia: documents linked into a web By following links users retrieve the documents Based on HTTP, HTML, URL (global addressing schema) All components very simple: the major reason for the huge success Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
4 Systems Rate of Growth Introduction Time to reach 50 million people Telephone 75 years Radio 35 years TV 13 years The Web 4 years Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
5 Introduction Functional Requirements Berners-Lee: Web s major goal was to be a shared information space through which people and machines could communicate. A way for people to structure their information Usable for themselves and others A way to reference and structure information provided by others Cross-platform, global scope Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
6 Quality requirements Quality attributes Usability: it must be very easy to use I.e. very easy to create, structure and reference information Participation was voluntary and it was the only possibility to attract the users Very error forgiving in structuring and referencing because of non-technical background of users Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
7 Quality requirements Quality attributes Technical simplicity: it must be very easy for developers to implement All components simple and text-based I.e the first version of HTTP: servers need to respond to the GET method HTML very simple: easy to write parsers and browsers URLs extremely simple Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
8 Quality requirements Quality attributes Extensibility: it must be easy to add new features The first versions of components very simple - improvements were needed User requirements change even in a closed environment In a global scope the change is only feature that does not change E.g. very soon users wanted to have search facility apart browsing - HTML forms were introduced Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
9 Quality requirements Quality attributes Scalability: it needs to match the Internet-scale More precisely: anarchic scalability The Internet is not under control of a single organization it is totally decentralized Need to continue operating when under an unanticipated load or malformed or maliciously constructed data Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
10 Quality requirements Quality attributes Anarchic scalability: consequences Clients cannot be expected to maintain knowledge of all servers Servers cannot be expected to retain knowledge of state across requests Documents cannot have back-links: the number of references to a resource is proportional to the number of people interested in that information Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
11 Quality requirements Development of The Web The original Web was not designed to meet all of the requirements and quality attributed defined above It lacked also an architectural vision at that time that would meet these ambitious requirements Web Consortium was founded to solve these problems A lot of researchers worked on defining an architecture to meet these needs Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
12 Web architecture Deriving the Web architecture Introducing constraints on the Web architecture to obtain an optimal solution to the requirements and quality attributes Each constraint will have advantages and disadvantages The whole design process is then a balancing process Optimization to obtain a best-match for the Web architecture Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
13 Client-server Web architecture Figure: Client-server style Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
14 Web architecture Client-server Separation of concerns Separates user-interface from data manipulation concerns Supports independent evolvability E.g. clients and servers can be developed independently and across organizational boundaries Supports Internet-scale attribute Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
15 Stateless Web architecture Figure: Stateless server Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
16 Web architecture Stateless Communication must be stateless in nature Each request from client must contain all the information needed to process that request I.e. it can not take advantage of session information stored on the server Session state is completely on the client Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
17 Web architecture Stateless Supports visibility, reliability and scalability Visibility: only look at a single request to determine the full nature of the request Reliability: it eases the task of recovering from partial failures Scalability: not having to store state between requests allows the server component to quickly free resources Scalability: simplifies implementation because servers do not need to manage information across multiple requests Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
18 Cache Web architecture Figure: Cache Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
19 Web architecture Cache Information can be labeled (by servers) as cachable If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests Improves efficiency, scalability, user-perceived performance Decreases reliability if the data does not match Midway: ask a server if the data has changed Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
20 Uniform interface Web architecture Figure: Uniform Interface Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
21 Web architecture Uniform interface Uniform interface between components Visibility of interactions is improves Simplifies the overall architecture Decouples implementations from the services Improves Internet-scale Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
22 Web architecture Uniform interface Uniform interface degrades efficiency Information is accessed and transferred in a standardized form rather than in an application specific form To define a uniform interface we need: Identification of resources (URL) Manipulation of resources through representations (HTML, recently XML) Self-descriptive messages (GET, POST, PUT, DELETE in HTTP) Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
23 Layered system Web architecture Figure: Layered system Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
24 Web architecture Layered system Improves Internet-scale Application composed of layers that are only aware of the neighbouring components not the complete system Bounds complexity and promotes indepency between components Supports scalability by introduction of proxies, shared-caches, gateways E.g. load-balancing behind a gateway Reduce user-perceived performance because they add processing overhead Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
25 Code on demand Web architecture Figure: Code on demand Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
26 Web architecture Code on demand Client functionality can be extended by downloading code E.g. Java applets, flash, JavaScript Improves extensibility Independent development Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
27 Types of Web Systems Web Systems Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
28 Web Systems The Web Two faces of the Web The Web as an application platform The Web as a huge distributed database Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
29 Web Applications Specifics of Web applications User requirements User interface and usability Application state and hypertext Addressability Architecture Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
30 Web Applications Application state on the Web: Hypertext Traditionally, application logic manages the application state E.g., the current state of the data, user inputs, etc. Typically, Web browser supports only HTML and does not have direct connection to the app logic Communication over network and HTTP with the app logic HTTP stateless (connection-less) Web server needs to track users and sessions Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
31 Web Applications Application state on the Web: Hypertext However, Web server provides only low-level tracking Responsibility of the app logic to manage sessions Manage it within the application server App server has other responsibilities as well Can lead to serious scalability problems Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
32 Web Applications Application state on the Web: Hypertext We can move session management to the client Manage it there with AJAX Other problems arise How to recover states with a new session: AJAX applications have typically single URLs How to recover previous state, i.e. browser back button problem Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
33 Web Applications Application state on the Web: Hypertext The solution is somewhere in the middle: manage only important states Manage those states with unique URLs E.g. each important application state has a new unique URLs Use linking to relate states to each other No management of the state on the server: no scalability problems No management of the state on the client: no recovery problems Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
34 Web Applications Application state on the Web: Hypertext Example: Google Maps Google Maps use Ajax to maintain permalink Any action that you execute changes the permalink The permalink is kept as a part of HTML This is the equivalent of the address bar Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
35 Web Applications Application state on the Web: Hypertext A little bit of extra DOM work keeps the permalink up to date as you navigate Every point on the map is a separate application state that has its own URL Application states were destroyed by Ajax but was put back by application design It allowed communities to grow around the Google Maps application Only because of proper management of application states with URLs! Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
36 Web Applications Addressability URL as the addressing schema E.g. /student/add /student/show /student/exam/add /student/exam/show Allow you to share application states for UI and services Just offer different content representations E.g. for UIs: HTML, for services: XML or JSON Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
37 Web Applications Addressability Advantages for humans (UIs) Meaningful, easier for humans Bookmarks Search engines can retrieve different parts and index it Advantages for service integration You might link services to each other Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
38 Web Applications Architecture: User-oriented database applications In traditional software engineering UODA are built with an N-tier architecture They started as 2-layer applications Data management layer and application/presentation layer Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
39 Web Applications Architecture: 2-layer applications Relational database as the Data Management layer Scripts (e.g. PHP) as application/presentation layer One and the same scripts implements application logic and the presentation (e.g. generating of HTML) Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
40 Web Applications Architecture: Problems of 2-layer applications Mixture of application and presentation related functionality Changes in application logic lead to changes in presentation functionality and vice versa E.g. changing a table that present some application data leads to changes in the return values of some application specific functions Even more dangerous the presentation layer talks directly to the DML Better modularity is achieved with the third layer Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
41 Web Applications Architecture: 3-layer applications Separation between Application and Presentation layer No direct connection between Presentation and Data Management Decoupling of Application and Presentation layer Possibility to exchange Presentation layers The best example: making a Web gateway to an existing application The old GUI (e.g. a standalone GUI) is replaced with a Web GUI Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
42 Web Applications Architecture: 3-layer applications Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
43 Web Applications Architecture: 3-layer applications Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
44 Web Applications Architecture: 3-layer applications Presentation tier: HTML, templates and scripts to generate HTML Application logic tier: the actual application Data access tier: manages persistent app data Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
45 Web Applications Architecture: 3-layer applications With introduction of AJAX different possibilities where to situate tiers E.g. presentation in browser: HTML + (presentation) JavaScript, Application and data access on server E.g. presentation and app in browser: HTML + (presentation and application) JavaScript, data access on server Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
46 Web Applications Architecture: 3-layer applications Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
47 Web Applications Architecture: 3-layer applications There are numerous architecture variants built on the top of N-tier architectures The most important for Web applications: Model-View-Controller architecture It was invented in the early days of GUIs To decouple the graphical interface from the application data and logic Very useful also for Web applications Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
48 Web Applications Architecture: Data Management Typically, Web applications deal with relational databases Need to manage relational data in object-oriented applications Use design patterns like Data Access Object (DAO) Use object/relational mapping, like Hibernate framework Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
49 Web Applications Architecture: Data Management Information retrieval How to find what I m looking for? One approach are search engines with full-text processing Another approaches analyze links Links in databases, or within documents Mixed approach: full-text and links, e.g. Google Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
50 Web Applications Architecture: Data Management Yet another approach is managing metadata Metadata is data about other data On the web Tag information items (everything that you can access via URL) in a structured manner Search inside metadata Social Web 2.0 applications or Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
51 Web as a database The Web we use is full of data Book information, opinions, prices, arrival times, blogs, tags, tweets, etc. The data is organized around a simple data model: node-link model Each node is a data item that has a unique address and a representation Representation formats are e.g. HTML, PDF,... for humans, or e.g XML, JSON for programs Nodes can be interlinked using their unique addresses Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
52 Web as a platform for distributed systems The Web is full of services that allow humans and programs to use the Web data Service also have unique addresses They use a particular representation for data exchange, e.g. XML, SOAP, WSDL Services follow a particular architecture that defines how services are used Programmers combine a number of services to achieve a desired functionality and create a distributed system, e.g. mashups Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
53 Types of services What is the Google search engine? It is a service for querying a massive database (Web search index) What is a given Web application? It is a service offering (remotely) a specific functionality What is a Web site? It is a service offering specific human consumable information Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
54 Types of services All of these services are for users However, we are interested in services for programmers Such services provide an API Programmers use the API, unique addresses, representations of services Programmers follow the arch. style to integrate and combine services to achieve a desired functionality We will call this part of the Web: the programmable Web Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
55 Kind of Things on the Programmable Web There are numerous approaches to web services in all areas The programmable Web is based on HTTP for data transport and in most cases XML for data representation However, some services serve HTML, JSON, plain text, binary data, etc. Also, other things such as addressability or APIs are different We need a classification! Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
56 Classification based on architectural design Which operation should a service execute? This is method information What data should be manipulated? This is scoping information Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
57 Method information Question: how the client conveys its intention to the server? How does a server know a certain request is a request to retrieve some data? Instead of a request to delete the same data? Why should the server do this instead of doing that Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
58 Method information First alternative Convey method information by putting it in the HTTP method GET, DELETE, PUT, POST Semantics is clear It is standardized Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
59 Method information Second alternative: e.g. Flickr services search&tags=penguin addtags&... deletecomment&... Method information is in a query variable, all methods use GET (although some change the data) Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
60 Method information Third alternative: SOAP and WSDL Method information is in the SOAP message encoded as defined by a WSDL wsdl_uri = driver = SOAP.create_rpc_driver(wsdl_uri) result_set = driver.dogooglesearch(...) Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
61 Method information POST search/beta2 HTTP/ <soap:envelope> <soap:body> <gs:dogooglesearch> <q>rest</q> </gs:dogooglesearch> </soap:body> </soap:envelope> Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
62 Method information <operation name="dogooglesearch"> <input message="typens:dogooglesearch" /> <output message="typens:dogooglesearchresponse" /> </operation> Method information defined in WSDL and used in SOAP and via SOAP-framework in the code HTTP method is always POST Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
63 Scoping information Question: How the client tells the server on which data to operate? E.g. the server knows that the client wants to delete some data, but which data is it? Why should server operate on this data instead of that data? Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
64 Scoping information First alternative: as query variables in URL Scoping information is q=rest Method information is in GET Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
65 Scoping information Yet another example Flickr Most of the query variables are scoping information tags=penguin Recollect that Flickr also includes method information in query variables Thus, URL contains a method and a number of arguments for that method Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
66 Scoping information Second alternative: scoping information in the body of a SOAP message POST search/beta2 HTTP/ <soap:envelope> <soap:body> <gs:dogooglesearch> <q>rest</q> </gs:dogooglesearch> </soap:body> </soap:envelope> Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
67 Competing Architectures RESTful, Resource-Oriented Architectures RPC-Style Architectures REST-RPC Hybrid Architectures Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
68 RPC-Style Architectures RPC - Remote Procedure Call An RPC style service receives an envelope full of data from the client The service answers with a similar envelope again full of data to the client Both method and scoping information are inside of the envelope HTTP methods typically POST but sometimes also GET Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
69 RPC-Style Architectures The best example of the envelope format is SOAP There exist other envelope formats like XML-RPC Every RPC-style service defines a completely new vocabulary E.g. the way how method information and scoping information are represented You need another language to define the representation: e.g. WSDL Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
70 Problems of SOAP/WSDL RPC implies an API APIs tend to enforce tight coupling of modules and systems We use declarative XML to describe APIs This introduces processing overhead Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
71 Problems of SOAP/WSDL APIs and there definitions in some language e.g. WSDL introduce new vocabulary and hence a new addressability schema This is a big problem for service integration, in particular for automatic integration Each service needs to understands what all other services provide and how to address the functionality But where are URLs, links, representations? All the nice Web elements that made it successful! Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
72 RESTful, Resource Oriented Architectures RESTful services look like the Web Method information goes into into the HTTP method Scoping information goes into the URL If the method information is not in HTTP method - the service is not RESTful If the scoping information is not in the URL - the service is not RESTful Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
73 Some examples of RESTful services Services that expose Atom Publishing Protocol, such as GData Amazon s Simple Storage Service S3 Most of Yahoo! s web services Static web sites Many web applications, especially read-only such as search engines Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
74 Clients for RESTful services In principle clients are simple HTTP clients When you program a client you need an HTTP library In most cases you will need an XML library to parse the response Programatically, clients are in a typical case extremely simple Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
75 Client for a RESTful service - Example Example using Simple Storage Service - S3 S3 allows you to store any data you like using different structures S3 is based on two concepts: buckets and objects A bucket is analogous to the filesystem An object is analogous to a file Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
76 Client for a RESTful service - Example S3 service exposes three resources that you can manipulate The list of your buckets A particular bucket A particular object inside a bucket Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
77 Client for a RESTful service - Example Every resource exposes the same interface and works in the same way To get an object s value you send a GET request to the object s URL To get only object s metadata you send a HEAD request to the same URL To add an object to a bucket you send a PUT request to a URL that has the bucket name and the object s name Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
78 Client for a RESTful service - Example HOST = doc = REXML::Document.new(open(HOST).read) REXML::XPathj.each(doc, "//Bucket/Name") do e buckets << Bucket.new(e.text) if e.text end return buckets Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
79 Client for a RESTful service - Example <Buckets> <Bucket> <Name>crummy.com</Name> <CreationDate>...</CreationDate> </Bucket>... </Buckets> Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
80 Resource Oriented Architectures 4 defining features of ROA Addressability: the scoping information is kept in the URL Uniform interface: the method information is kept in the HTTP method Statelessness: every HTTP request is isolated from other requests Connectedness: you link resources into the Web of resources Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
81 Addressability Resources are exposed through URLs - an application exposes a number of URLs When you have URLs you bookmark, cache responses, chain URLs,... Many Web applications do not work this way, i.e. they are not addressable, e.g. GMail Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
82 Uniform interface Standardized HTTP methods: CRUD operations Two principles Safety: GET only reads data Idempotence: the same operation has the same effect wheter you apply it once or multiple times Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
83 Statelessness Every request contains all necessary information There is no state managed on the server side In fact, there are two kinds of state You should distinguish between the application state and resource state Application state lives on the client Resource state lives on the server Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
84 Statelessness When you use a search engine your current query and your current page belongs to application state They are different for every client Resource state is same for every client, i.e. search index A crawler can update the search index Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
85 Links and connectedness Representations of resources, i.e. HTML or XML might have links to other resources Axiom for REST services: Hypermedia as the engine of application state The current application state is not stored on the server as a resource state It is tracked by the client as an application state and created by the path that client takes through the Web Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
86 Links and connectedness For example The first page is the starting application state You have links to other application states Obvious for the human Web Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
87 Links and connectedness <Buckets> <Bucket> <Name>crummy.com</Name> <URL> <CreationDate>...</CreationDate> </Bucket>... </Buckets> Following the link in the URL element takes the client to a new application state Use links, links, and then use more links,... Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
88 Designing RESTful services Figure out data set Split the data set into resources Then, for each resource Name the resources with URLs Expose a subset of the uniform interface Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
89 Designing RESTful services Design representations accepted from the client Design representations served to the client Integrate this resource into other resources using links Consider possible application states Consider possible error states Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
90 Example Application similar google maps: maps of cities, streets, planets,... Data set: Maps, points, cities, planets,... Resources: list of resources, individual resources, results of algorithms applied to the data set Example resources: the list of planets, Mars, Earth, San Francisco, Inffeldgasse,... An algorithmic resource: a list of places that match certain criteria - all cities with more than 1 million of people Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
91 Example Name the resources: create meaningful URLs Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
92 Example Design representations A representation talks about resource state A representation links to other (application and resource) states Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
93 Read/Write RESTful services User accounts should be resources To access these resources you need to use HTTP authentication Connect with the previous resources: e.g. custom places on a map Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
94 RESTful frameworks Ruby on Rails with a plugin Django in Python Restlet in Java ( Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
95 Restlet example public Restlet createroot(){ Router router = new Router(getContext()); router.attach("/users/{username}", UserResource.class); router.attach("users/{username}/bookmarks", BookmarksResource.class); router.attach("users/{username}/bookmark/{url}", BookmarkResource.class); } Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
96 Restlet example public UserResource(Context context, Request request, Response response){ super(context, request, response); username_ = (String) request.getattribute(). get("username");... getvariants().add(new Variant(MediaType.TEXT_PLAIN)); } Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
97 Restlet example public Representation getrepresentation(variant variant){... if(variant.getmediatype().equals(mediatype. TEXT_PLAIN)){ result = "-----User details ";... } return result; } Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
98 REST Web service: Example To create a REST Web service the following steps should be accomplished Define URLs Define XML vocabulary Define which methods are available at each URL Define HTTP status codes Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
99 REST Web service: Example Defining URLs Recollect the clean URLs that we have discussed before Course with ID 1: Course with ID 2: All courses: Note that URLs are regular, i.e., we can automatically construct them Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
100 REST Web service: Example Defining XML formats Single course <?xml version="1.0" encoding="utf-8"?> <course> <title>mmis2</title> <url> <id type="integer">1</id> <description>advanced course on multimedia information systems</description> </course> Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
101 REST Web service: Example All courses (collection) <?xml version="1.0" encoding="utf-8"?> <courses> <course> <title>mmis2</title> <url> <id type="integer">1</id> <description>advanced course on multimedia information systems</description> </course> <course>...</course> </courses> Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
102 REST Web service: Example Defining methods GET and POST GET retrives the list, POST adds another course to the list GET, PUT, DELETE PUT updates the course Additionally, send OPTIONS at each URL to see what is available Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
103 REST Web service: Example Defining HTTP status codes GET: HTTP/ OK POST: HTTP/ Created PUT, DELETE: HTTP/ No Content Error code: HTTP/ Internal Server Error Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
104 REST Web service: Example We need a Web server that can dispatch URLs and HTTP methods to appropriate code Within that code we manipulate resources using their XML representations With Rails we can also dispatch URLs easy Recollect that Rails dispatch to a class and a method within that class We need to dispatch to a class and according to the HTTP method Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
105 REST Web service: Example There is a Rails plugin that does exactly that RESTful Rails controller class CourseController < ApplicationController include RestController::Base... end Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
106 REST Web service: Example The plugin allows you to introduce resources and within resources handle HTTP methods resource :collection do r conditions = Course.find_all end r.post do... end GET method is automatically handled and connected with appropriate XML-based view Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
107 REST Web service: Example collection.rxml in views directory xml.instruct! xml.courses do xml.title do course xml.course do xml.id course.id xml.title course.title xml.url course.url xml.description course.description... end end end Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
108 REST Web service: Example Handling POST to the collection (adding a course) r.post = Course.new params[:course] render_post_success :action => by_id, :id end end Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
109 REST Web service: Example Handling of single courses (introduce a new rule by id) resource :by_id do r conditions = Course.find(params[:id]) end r.put = params[:course] render_put_success end end Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
110 REST Web service: Example Deleting a resource... r.delete do render_delete_success :id => nil end end... Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
111 REST Web service: Example GET XML view Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
112 REST Web service: Example Demo: rest_courses.zip curl curl curl -i -X POST -d <course><title> Web Information Systems</title></course> curl -i -X PUT -H Content-Type: application/xml -d <course> <title>web Information Systems</title> <description>very advanced course</description> </course> curl -i -X DELETE Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
113 REST-RPC Hybrid Architectures (1) Services somewhere between RESTful and RPC services search&tags=penguin Both method and scoping information is in URL HTTP is used as an envelope format Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
114 REST-RPC Hybrid Architectures (2) GET services/rest?method=flickr.photos.search& tags=penguin HTTP/1.1 Host: Another prominent example of this style is del.icio.us Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
115 Programmable Web Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
116 Programmable Web Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
117 Further Readings What is Service-Oriented Architecture? A Primer webservices/index.html Top Ten FAQs for webservicefaqs.html?page=1 Service-Oriented Architecture and : Concepts, Technologies, and Tools WebServices/soa2/index.html Articles on from O Reilly Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
118 Further Readings REST definition (PhD Thesis of Roy Fielding) rest_arch_style.htm The Restful Web: Column on xml.com Putting REST on Rails REST vs SOAP: Second Generation Denis Helic (KMI, TU Graz) WWW Architecture Dec 7, / 118
WWW Architecture I. Software Architecture VO/KU ( / ) Roman Kern. KTI, TU Graz
WWW Architecture I Software Architecture VO/KU (707.023/707.024) Roman Kern KTI, TU Graz 2013-12-04 Roman Kern (KTI, TU Graz) WWW Architecture I 2013-12-04 1 / 81 Web Development Tutorial Java Web Development
More informationRESTful Services. Distributed Enabling Platform
RESTful Services 1 https://dev.twitter.com/docs/api 2 http://developer.linkedin.com/apis 3 http://docs.aws.amazon.com/amazons3/latest/api/apirest.html 4 Web Architectural Components 1. Identification:
More information04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6
04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is
More informationArchitectural Styles II
Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66
More informationRoy Fielding s PHD Dissertation. Chapter s 5 & 6 (REST)
Roy Fielding s PHD Dissertation Chapter s 5 & 6 (REST) Architectural Styles and the Design of Networkbased Software Architectures Roy Fielding University of California - Irvine 2000 Chapter 5 Representational
More informationReST 2000 Roy Fielding W3C
Outline What is ReST? Constraints in ReST REST Architecture Components Features of ReST applications Example of requests in REST & SOAP Complex REST request REST Server response Real REST examples REST
More informationWeb Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18
Web Frameworks MMIS 2 VU SS 2011-707.025 Denis Helic KMI, TU Graz March 10, 2011 Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 1 / 18 Web Application Frameworks MVC Frameworks for Web applications
More informationWWW, REST, and Web Services
WWW, REST, and Web Services Instructor: Yongjie Zheng Aprile 18, 2017 CS 5553: Software Architecture and Design World Wide Web (WWW) What is the Web? What challenges does the Web have to address? 2 What
More informationCopyright 2014 Blue Net Corporation. All rights reserved
a) Abstract: REST is a framework built on the principle of today's World Wide Web. Yes it uses the principles of WWW in way it is a challenge to lay down a new architecture that is already widely deployed
More informationINF5750. RESTful Web Services
INF5750 RESTful Web Services Recording Audio from the lecture will be recorded! Will be put online if quality turns out OK Outline REST HTTP RESTful web services HTTP Hypertext Transfer Protocol Application
More informationServices Web Nabil Abdennadher
Services Web Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan What is Web Services? SOAP/WSDL REST http://www.slideshare.net/ecosio/introduction-to-soapwsdl-and-restfulweb-services/14 http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/
More informationService Oriented Architectures (ENCS 691K Chapter 2)
Service Oriented Architectures (ENCS 691K Chapter 2) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ The Key Technologies on Which Cloud
More informationLesson 14 SOA with REST (Part I)
Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80
More informationUnderstanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018
Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful
More informationWeb Applications. Software Engineering 2017 Alessio Gambi - Saarland University
Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system
More informationWeb Programming Paper Solution (Chapter wise)
Introduction to web technology Three tier/ n-tier architecture of web multitier architecture (often referred to as n-tier architecture) is a client server architecture in which presentation, application
More informationINFO/CS 4302 Web Informa6on Systems
INFO/CS 4302 Web Informa6on Systems FT 2012 Week 7: RESTful Webservice APIs - Bernhard Haslhofer - 2 3 4 Source: hmp://www.blogperfume.com/new- 27- circular- social- media- icons- in- 3- sizes/ 5 Plan
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts
More informationCourse. Multimediale Informationssysteme 2. Lecturer. Lecturer VU SS
Course Multimediale Informationssysteme 2 VU SS 2011-707.025 Denis Helic KMI, TU Graz Multimediale Informationssysteme 2 (VU 707.025) Elective (optional) course for Software Engineering Elective (optional)
More informationREST Web Services Objektumorientált szoftvertervezés Object-oriented software design
REST Web Services Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline HTTP REST REST principles Criticism of REST CRUD operations with REST RPC operations
More informationDatabase Driven Web 2.0 for the Enterprise
May 19, 2008 1:30 p.m. 2:30 p.m. Platform: Linux, UNIX, Windows Session: H03 Database Driven Web 2.0 for the Enterprise Rav Ahuja IBM Agenda What is Web 2.0 Web 2.0 in the Enterprise Web 2.0 Examples and
More informationWWW Architecture II. Software Architecture VO/KU ( / ) Denis Helic, Roman Kern. KMI, TU Graz. Dec 5, 2012
WWW Architecture II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Dec 5, 2012 Denis Helic, Roman Kern (KMI, TU Graz) WWW Architecture II Dec 5, 2012 1 / 66 Section
More informationXML Processing & Web Services. Husni Husni.trunojoyo.ac.id
XML Processing & Web Services Husni Husni.trunojoyo.ac.id Based on Randy Connolly and Ricardo Hoar Fundamentals of Web Development, Pearson Education, 2015 Objectives 1 XML Overview 2 XML Processing 3
More informationREST Easy with Infrared360
REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style
More informationDesigning RESTful Web Applications. Ben Ramsey
Designing RESTful Web Applications Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original
More informationA Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
More informationREST A brief introduction
REST A brief introduction Juergen Brendel What is it good for? Something with networks: APIs Interactions Distributed systems? All contents Copyright 2010, Mulesoft Inc. 2 Getting more popular All contents
More informationDatabase Applications
Database Applications Database Programming Application Architecture Objects and Relational Databases John Edgar 2 Users do not usually interact directly with a database via the DBMS The DBMS provides
More informationReading How the Web Works
Reading 1.3 - How the Web Works By Jonathan Lane Introduction Every so often, you get offered a behind-the-scenes look at the cogs and fan belts behind the action. Today is your lucky day. In this article
More informationWeb-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology
Web-APIs Examples Consumer Technology Cross-Domain communication Provider Technology Applications Blogs and feeds OpenStreetMap Amazon, Ebay, Oxygen, Magento Flickr, YouTube 3 more on next pages http://en.wikipedia.org/wiki/examples_of_representational_state_transfer
More informationImplementing a Numerical Data Access Service
Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various
More informationDistributed Systems Principles and Paradigms. Chapter 12: Distributed Web-Based Systems
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 12: Distributed -Based Systems Version: December 10, 2012 Distributed -Based Systems
More informationWeb Architecture Review Sheet
Erik Wilde (School of Information, UC Berkeley) INFO 190-02 (CCN 42509) Spring 2009 May 11, 2009 Available at http://dret.net/lectures/web-spring09/ Contents 1 Introduction 2 1.1 Setup.................................................
More informationWeb Services Week 10
Web Services Week 10 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap BPEL Process in Netbeans RESTful Web Services Introduction to Rest Api 2 Contents RESTful Web
More informationCaptainCasa Enterprise Client. CaptainCasa Enterprise Client. CaptainCasa & Java Server Faces
CaptainCasa & Java Server Faces 1 Table of Contents Overview...3 Why some own XML definition and not HTML?...3 A Browser for Enterprise Applications...4...Java Server Faces joins the Scenario!...4 Java
More informationIntroduction to REST. Kenneth M. Anderson University of Colorado, Boulder CSCI 7818 Lecture 6 08/27/2008. University of Colorado 2008
Introduction to REST Kenneth M. Anderson University of Colorado, Boulder CSCI 7818 Lecture 6 08/27/2008 University of Colorado 2008 Credit Where Credit is Due Portions of this lecture are derived from
More informationThe NoPlsql and Thick Database Paradigms
The NoPlsql and Thick Database Paradigms Part 2: Adopting ThickDB Toon Koppelaars Real-World Performance Oracle Server Technologies Bryn Llewellyn Distinguished Product Manager Oracle Server Technologies
More informationHTTP, REST Web Services
HTTP, REST Web Services Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2018 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) HTTP, REST Web Services Winter Term 2018 1 / 36 Contents 1 HTTP 2 RESTful
More informationChapter 10 Web-based Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial
More informationSoftware Paradigms (Lesson 10) Selected Topics in Software Architecture
Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1
More informationIntegrating with ClearPass HTTP APIs
Integrating with ClearPass HTTP APIs HTTP based APIs The world of APIs is full concepts that are not immediately obvious to those of us without software development backgrounds and terms like REST, RPC,
More informationCNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies
CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response
More informationWeb 2.0, AJAX and RIAs
Web 2.0, AJAX and RIAs Asynchronous JavaScript and XML Rich Internet Applications Markus Angermeier November, 2005 - some of the themes of Web 2.0, with example-sites and services Web 2.0 Common usage
More informationDistributed Multitiered Application
Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm
More informationCLIENT SERVER ARCHITECTURE:
CLIENT SERVER ARCHITECTURE: Client-Server architecture is an architectural deployment style that describe the separation of functionality into layers with each segment being a tier that can be located
More informationThe Architecture of the World Wide Web
The Architecture of the World Wide Web Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini after Giulio Piancastelli andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di
More informationTest On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions
Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Chapter 1: Abstract The Proway System is a powerful complete system for Process and Testing Data Analysis in IC
More informationTooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.
Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3
More informationLecture 9a: Sessions and Cookies
CS 655 / 441 Fall 2007 Lecture 9a: Sessions and Cookies 1 Review: Structure of a Web Application On every interchange between client and server, server must: Parse request. Look up session state and global
More informationSTARCOUNTER. Technical Overview
STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation
More informationSOA & REST. Ola Angelsmark
SOA & REST Ola Angelsmark What is SOA? Service oriented architecture A loosely-coupled architecture designed to meet the business needs of the organization. [1] SOAP
More informationApplication Design and Development: October 30
M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact
More informationdescribe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution
1 of 9 10/9/2013 1:38 AM WCF and WF Learning Objectives After completing this topic, you should be able to describe the functions of Windows Communication Foundation describe the features of the Windows
More informationDevelop Mobile Front Ends Using Mobile Application Framework A - 2
Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4
More informationThe Architecture of the World Wide Web
The Architecture of the World Wide Web Laboratory of Computer Technologies L-A Laboratorio di Tecnologie Informatiche L-A Giulio Piancastelli & Andrea Omicini {giulio.piancastelli, andrea.omicini}@unibo.it
More informationDeveloping RESTful Services Using JAX-RS
Developing RESTful Services Using JAX-RS Bibhas Bhattacharya CTO, Web Age Solutions Inc. April 2012. Many Flavors of Services Web Services come in all shapes and sizes XML-based services (SOAP, XML-RPC,
More informationPS/2 Web Services
703128 PS/2 Web Services REST Services Monday, 2015-01-12 Copyright 2014 STI INNSBRUCK www.sti-innsbruck.at Outline REST Services Task: Java API for RESTful Web Services (JAX-RS) REST Web Services design
More informationDatabases 2 (VU) ( )
Databases 2 (VU) (707.030) Denis Helic KMI, TU Graz Oct 5, 2015 Denis Helic (KMI, TU Graz) Dbase2 Oct 5, 2015 1 / 33 Lecturer Name: Denis Helic Office: IWM (Know-Center), Inffeldgasse 13, 5th Floor, Room
More informationEtanova Enterprise Solutions
Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...
More informationEEC-682/782 Computer Networks I
EEC-682/782 Computer Networks I Lecture 20 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at
More information7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these.
SAMPLE EXAMINATION QUESTIONS (Some of) the actual examination questions will be more precise than these. Basic terms and concepts Define, compare and discuss the following terms and concepts: a. HTML,
More informationSOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE
SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE Tomas Cerny, Software Engineering, FEE, CTU in Prague, 2014 1 ARCHITECTURES SW Architectures usually complex Often we reduce the abstraction
More informationICOM 5016 Database Systems. Database Users. User Interfaces and Tools. Chapter 8: Application Design and Development.
Chapter 8: Application Design and Development ICOM 5016 Database Systems Web Application Amir H. Chinaei Department of Electrical and Computer Engineering University of Puerto Rico, Mayagüez User Interfaces
More informationCOMP9321 Web Application Engineering
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411
More informationCOMP9321 Web Application Engineering
COMP9321 Web Application Engineering Semester 1, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457
More informationOverview of Web Application Development
Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview
More informationOther architectures are externally built or expanded
RESTful interfaces http://rest.elkstein.org/ (but not Section 11) http://net.tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/ and for a laugh (or cry) : http://www.looah.com/source/view/2284
More informationThere is REST and then there is REST. Radovan Semančík November 2017
There is REST and then there is REST Radovan Semančík November 2017 Who Am I? Ing. Radovan Semančík, PhD. Software Architect at Evolveum Architect of Evolveum midpoint Apache Foundation committer Contributor
More informationWeb Engineering (CC 552)
Web Engineering (CC 552) Introduction Dr. Mohamed Magdy mohamedmagdy@gmail.com Room 405 (CCIT) Course Goals n A general understanding of the fundamentals of the Internet programming n Knowledge and experience
More informationAll About Open & Sharing
All About Open & Sharing 차세대웹기술과컨버전스 Lecture 3 수업블로그 : http://itmedia.kaist.ac.kr 2008. 2. 28 한재선 (jshan0000@gmail.com) NexR 대표이사 KAIST 정보미디어경영대학원대우교수 http://www.web2hub.com Open & Sharing S2 OpenID Open
More informationApplikationen im Browser Webservices ohne Grenzen
Applikationen im Browser Webservices ohne Grenzen Dan Theurer, Technical Evangelist Yahoo! Developer Network Java Forum Stuttgart, CA 5. Juli 2007 2007 About Me Software Technik - FHTE Esslingen DB2e -
More informationDiscussion #4 CSS VS XSLT. Multiple stylesheet types with cascading priorities. One stylesheet type
Discussion #4 CSS VS XSLT Difference 1 CSS Multiple stylesheet types with cascading priorities XSLT One stylesheet type Difference 2 Used for HTML Used for structured document Difference 3 Only client
More informationWeb Application Expectations
Effective Ruby on Rails Development Using CodeGear s Ruby IDE Shelby Sanders Principal Engineer CodeGear Copyright 2007 CodeGear. All Rights Reserved. 2007/6/14 Web Application Expectations Dynamic Static
More informationExecution Architecture
Execution Architecture Software Architecture VO (706.706) Roman Kern Institute for Interactive Systems and Data Science, TU Graz 2018-11-07 Roman Kern (ISDS, TU Graz) Execution Architecture 2018-11-07
More informationJust relax - take some 90 minutes of ReST
Just relax - take some 90 minutes of ReST Markku Laitkorpi Nokia Research Center 4.10.2007 TUT 1 V1-Filename.ppt / yyyy-mm-dd / Initials Prologue: Why should I care? My WS tools can generate a nice SOAP
More informationMongoDB Web Architecture
MongoDB Web Architecture MongoDB MongoDB is an open-source, NoSQL database that uses a JSON-like (BSON) document-oriented model. Data is stored in collections (rather than tables). - Uses dynamic schemas
More informationAJAX Programming Overview. Introduction. Overview
AJAX Programming Overview Introduction Overview In the world of Web programming, AJAX stands for Asynchronous JavaScript and XML, which is a technique for developing more efficient interactive Web applications.
More informationSemantic Web and Web2.0. Dr Nicholas Gibbins
Semantic Web and Web2.0 Dr Nicholas Gibbins Web 2.0 is the business revolution in the computer industry caused by the move to the internet as platform, and an attempt to understand the rules for success
More informationSession 12. RESTful Services. Lecture Objectives
Session 12 RESTful Services 1 Lecture Objectives Understand the fundamental concepts of Web services Become familiar with JAX-RS annotations Be able to build a simple Web service 2 10/21/2018 1 Reading
More informationDelivery Options: Attend face-to-face in the classroom or remote-live attendance.
XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:
More informationSpace Details. Available Pages
Key: Space Details extremescale Name: WebSphere extreme Scale and DataPower XC10 Appliance Wiki Description: Creator (Creation Date): dwblogadmin (Apr 09, 2009) Last Modifier (Mod. Date): carriemiller
More informationREST AND AJAX. Introduction. Module 13
Module 13 REST AND AJAX Introduction > Until now we have been building quite a classic web application: we send a request to the server, the server processes the request, and we render the result and show
More informationSTANDARD REST API FOR
STANDARD REST API FOR EMAIL Kalana Guniyangoda (118209x) Dissertation submitted in partial fulfillment of the requirements for the degree Master of Science Department of Computer Science & Engineering
More informationExtended Identity for Social Networks
Extended Identity for Social Networks Antonio Tapiador, Antonio Fumero, and Joaquín Salvachúa Universidad Politécnica de Madrid, ETSI Telecomunicación, Avenida Complutense 30, 28040 Madrid, Spain {atapiador,amfumero,jsalvachua}@dit.upm.es
More informationIntroduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University
Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML
More informationDelivery Options: Attend face-to-face in the classroom or via remote-live attendance.
XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or
More informationRKN 2015 Application Layer Short Summary
RKN 2015 Application Layer Short Summary HTTP standard version now: 1.1 (former 1.0 HTTP /2.0 in draft form, already used HTTP Requests Headers and body counterpart: answer Safe methods (requests): GET,
More informationSimile Tools Workshop Summary MacKenzie Smith, MIT Libraries
Simile Tools Workshop Summary MacKenzie Smith, MIT Libraries Intro On June 10 th and 11 th, 2010 a group of Simile Exhibit users, software developers and architects met in Washington D.C. to discuss the
More informationITP 140 Mobile Technologies. Mobile Topics
ITP 140 Mobile Technologies Mobile Topics Topics Analytics APIs RESTful Facebook Twitter Google Cloud Web Hosting 2 Reach We need users! The number of users who try our apps Retention The number of users
More informationAnalysis and Selection of Web Service Technologies
Environment. Technology. Resources, Rezekne, Latvia Proceedings of the 11 th International Scientific and Practical Conference. Volume II, 18-23 Analysis and Selection of Web Service Technologies Viktorija
More informationModern web applications and web sites are not "islands". They need to communicate with each other and share information.
441 Modern web applications and web sites are not "islands". They need to communicate with each other and share information. For example, when you develop a web application, you may need to do some of
More informationSOA: Service-Oriented Architecture
SOA: Service-Oriented Architecture Dr. Kanda Runapongsa (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Gartner Prediction The industry analyst firm Gartner recently reported
More informationSemantic Web Lecture Part 1. Prof. Do van Thanh
Semantic Web Lecture Part 1 Prof. Do van Thanh Overview of the lecture Part 1 Why Semantic Web? Part 2 Semantic Web components: XML - XML Schema Part 3 - Semantic Web components: RDF RDF Schema Part 4
More informationCOMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES. Comet HTML5 WebSockets. Peter R. Egli INDIGOO.COM. indigoo.com. 1/18 Rev. 2.
COMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES Peter R. Egli INDIGOO.COM 1/18 Contents 1. Server push technologies 2. HTML5 server events 3. WebSockets 4. Reverse HTTP 5. HTML5
More informationWeb Development. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11. Sérgio Nunes
Web Development Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11 Sérgio Nunes 1 Summary The Internet The World Wide Web Web Technologies 2 Introduction 3 Previous Experience? 4 Web and Internet What
More informationWeb basics: HTTP cookies
Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh February 11, 2016 1 / 27 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the
More informationTop 10 AJAX security holes & driving factors
Top 10 AJAX security holes & driving factors Shreeraj Shah Founder, Net Square shreeraj@net-square.com Introduction One of the central ingredients of Web 2.0 applications is Ajax encompassed by JavaScripts.
More informationComprehensive AngularJS Programming (5 Days)
www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop
More informationEnterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets
1. Introduction How do the pages you're reading in your favorite Web browser show up there? When you log into your favorite Web site, how does the Web site know that you're you? And how do Web retailers
More information