Download presentation
Presentation is loading. Please wait.
1
http://wwwis.win.tue.nl/ / department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Web programming Technologies, tools & languages
2
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Client Side Programming Extension of standard browser features Interaction (‘mouse over’ displays) Communication (uploading, streaming data) Animation Simulation
3
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Client Side Technologies Scripting (e.g. Javascript) Applets VRML Flash, etc. Built in browser or added using plugins or separate programs
4
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Server Activities Standard: transfer of documents Additional: Maintenance of changeable information (hit counters) Processing of user input (calculations) Use of external services (other servers, DBs) Complex tasks (shopping carts, questionaires)
5
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Web Applications
6
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Server Side Extensions Data retrieval (databases, web servers) Presentation generation on the fly Sessions (maintaining state) Transaction handling / security Adaptation / shopping carts
7
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Web service example Amazon book store: Browsing Searching Personalized notification Shopping cart Ordering & accounting Order tracking
8
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Web Services Document based Simple files Servlets JSP XML + XSLT (Cocoon) RPC based
9
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Web Application Tasks Application management Coordination of tasks Change management User management Username & password Preferences & permissions Session management Login & authorisation Ordering & accounting Resource management (e.g. DBMS)
10
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Application Management Contexts: shared accessibility of data and programs In Java: interface ‘ServletContext’: Shared servlets and context attributes. Associated with specific namespace in server
11
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e User Management Storing and maintaining: User ID & password Preferences Personal history
12
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e session management persistency of sessions: possibilities: stateless “session”: server doesn’t remember any state (state changes through links) e.g. tic tac toe session: server keeps state (identifiable; resumable) during this session permanently client may also keep state
13
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Components of User Requests URL: http://somehost:port/path/path-info?query-string Host / server / port ID. Task (servlet) id. path info Request parameters (GET method) HTTP headers Cookies Message body: Request parameters (POST method)
14
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Components of Server Responses Data stream (incl. URLs) HTTP headers Cookies
15
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e User Management User database combined with: ID cookies Explicit logins + URLs Cookies containing user data
16
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Session Management With Cookies a request arrives that isn’t part of a session yet the server generates a “cookie” with state info the server sends it with the document (in a HTTP response header) the client remembers this cookie the client sends it along with subsequent URLs (in a HTTP request header) the server identifies the client by the cookie
17
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e URLs vs cookies URLs must be short URLs are public (can be guessed) URLs are always supported by the client cookies must be optional: clients may refuse them
18
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Server Side Technologies CGI + C++, Perl, etc. (JAVA) servlets Fill in the holes: JSP, ASP, PHP Application support: Cocoon, HTL
19
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Common Gateway Interface (CGI) Activates separate process Request: - command filename +arguments - environment variables Response: - HTTP headers - document content
20
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Servlets Standard for interfacing web client with web server. Set of JAVA packages (javax.servlet, javax.servlet.http) Way of interfacing clients with back-end services (JDBC servers, etc.) Way to implement proxies (e.g. for applets)
21
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e JAVA servlets Alternative for CGI scripts: JAVA technology Servlet support integrated in server JAVA threads: no independent process Sharing of resources with server Protocol independent Security issues: JAVA sandbox
22
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Servlet Example public class xyz extends HttpServlet { public void init(ServletConfig config) {…} public void doGet(HttpServletRequest request, HttpServletResponse response) {…} public void doPost(HttpServletRequest request, HttpServletResponse response) {…} etc. }
23
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Application Deployment TomCat Configuration file: web.xml Context: context root name context root path parameters Servlets: servlet name (alias path) servlet class initial parameters filter specification & configuration
24
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Embedding in Webserver Configuration file: XYZServlet xyz param1 abc
25
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Context Management Initial parameters getInitParameterNames() getInitParameter() Attribute objects setAttribute() getAttributeNames() setAttribute() removeAttribute() Event listeners in attribute objects
26
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Session Management Session = client * web application * time frame Life cycle management: getSession() Time out Invalidate() Session state (e.g. JAVA session attributes)
27
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Fill-in-the-hole technologies HTML or XML + program code JSP: HTML / XML + JAVA + XML ASP: HTML + VBScript / Perl / Jscript PHP: HTML + special language XSP, ColdFusion, etc.
28
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e HTML Interleaving <a href= >text
29
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e JSP SUN standard For HTML or XML Processing instruction tags XML extensions: predefined ‘ ’, etc. custom Uses JAVA Gives access to Servlet packages
30
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Most Important JSP Tags
31
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e JSP: Implicit Objects config – ServletConfig object request – ServletRequest object response – ServletResponse object application – ServletContext object session – HttpSession object out – Writer for output data
32
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e JSP + XML Alternative syntax: JSP: XML: a = b; Tag libraries … Directives <jsp:plugin type=“applet” code=“xyz” …
33
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e ASP Microsoft product Extends HTML pages Tags: Uses VBScript, PerlScript (=Perl) or Jscript Built-in objects: Application, ASPError, Request, Response, Server, Session
34
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Chaining of Operations
35
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Combined Transformations D o = U S (P S (S))(U Q (P Q (Q))(D i ))
36
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems architecture of information systems technische universiteit eindhoven TU/e Next Generation Web Programming WSDL: Web Services Description Language
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.