Presentation is loading. Please wait.

Presentation is loading. Please wait.

/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems.

Similar presentations


Presentation on theme: "/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems."— Presentation transcript:

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


Download ppt "/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems."

Similar presentations


Ads by Google