Chapter 10 Web-Based Information Systems.Pptx

Chapter 10 Web-Based Information Systems.Pptx

Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 [email protected] Chapter 10 Web-based Information Systems Role of the WWW for IS n Initial purpose: sharing information on the internet n technologies n HTML documents n HTTP protocol n web browser as client for internet information access n For Information Systems: connecting remote clients with applications across the internet/intranet n "web-enabled" applications n extend application reach to the consumer n leverage advantages of web technologies n web browser as a universal application client n "thin client" n no application-specific client code has to be installed n requirements n content is coming from dynamic sources (IS, DBS) n request to access a resource has to result in application invocation n session state: tracking repeated interactions of the same client with a web server 2 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Architecture for Web-IS client n Presentation layer may be realized in separate tiers web browser n client-side presentation using browser, client components (optional) presentation web server n server-side presentation done by web layer server, dynamic HTML generation information system information (HTML filter) HTML filter n Presentation components interact with application logic components n managed by appl. server, or run application (or web) server within web server environment application logic n Access to RM layer n "encapsulated" in appl. logic component n may also be performed directly within resource management presentation logic component layer n special case, if there is no application logic (only data access logic) 3 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Overview persistent (applet) HTML: HyperText Markup Language Web Browser program cache CGI: Common Gateway Interface (Client) HTTP: HyperText Transfer Protocol JSP: Java Server Page 1 Proxy Server 6 2 Communication Web Server Server JVM 5 Servlet, SSI, Server 3 8 extension JSP CGI HTML programs images 7 applets scripts 9 4 DB-Server 4 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Server Components n WWW-Server n core component n provides static HTML pages, incl. embedded images, etc. (u, v) n provides Java applets, which may access a DB either directly (y) or via a communication server (z, {) n invokes server-side extensions (w) n invokes CGI programs (w) n invokes Java servlets, Java Server Pages (JSPs) (|) n delivers results of DB interactions (CGI programs x, Java servlets }) as dynamically generated HTML to web browser 5 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Server Components (2) n DB-Server n manages application data n may manage static HTML pages (or fragments) n Proxy-Server n caches results (HTML documents, images) of an HTTP request to improve response time for static information requests n dynamically generated or specially marked documents are not cached n Communication-Server n can be used to support DB-Server connectivity for Java applets (z, {) n Application-Server (not included in our chart!) 6 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Core Technologies n Client-side n Java Applets, Javascript n Server-side n Common Gateway Interface (CGI) programs n Web Server API n Java Servlets n Server-side Includes (SSI) n Java Server Pages (JSP) 7 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Client-Side Approaches n Goal: application-specific, dynamic clients integrated into the web browser n Capabilities n application modules can be downloaded (at run-time) to the client and executed n don't need to be pre-installed prior to invocation n module can access application server or DB server n may result in performance benefits n module can manage state across multiple interactions 8 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Java Applets n Application component embedded in HTML page (similar to images), stored on the web server n Dynamically transferred to the client to be executed in a Java-enabled web browser (u, v) n requires JVM integrated into web browser or loaded by Java plug-in n Applets can use full Java language support n JAR files (Java ARchive) can be used to package all class files needed by an applet for download over the network n General security restrictions (untrusted applets) n no access to local resources n network communication restricted to server of origin n Signed Applets n Security concept for applets (since JDK 1.1) n JAR file contains digitally signed applet files and digital certificate n guarantee that applet has not been modified after signed by providing party n client may trust applets, grant permissions based on certificates n Can be stored persistently on the client side 9 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Applet-based DB Access n Using JDBC/SQLJ n Type 3 driver n improved security n communication server for load balancing n works with unsigned applets n communication overhead (longer response times) n Type 4 driver n direct communication n requires either signed applets or identical DB-server and web server location n Additional alternatives and APIs n ODMG Java-Binding n for access OODBMS n defines language binding for ODL (Object Definition Language) to Java n API for executing OQL(Object Query Language) statements and processing of results n other Java-DB APIs n proprietary, DBMS-vendor-specific Java-APIs n applet implementations not portable 10 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Interaction with Application Components n CORBA n since CORBA 2.2: Java Language Binding, supported by numerous ORBs with Java support n Java-IDL n CORBA-compliant ORB, can communicate with server objects and server-side ORBs using IIOP (Internet Inter Orb Protocol) n available in all Java-enabled browsers as part of JDK 1.2 n avoids downloading CORBA runtime n Java Remote Method Invocation (RMI) n interoperability with CORBA/EJB n RMI over IIOP 11 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Applet-based Architecture for Web-IS persistent (applet) Web Browser program cache (Client) HTML ORB HTTP Web Server images applets IIOP Type 3 Communication Server CORBA ORB application objects Type 4 DB-Server 12 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Evaluation: Advantages n Enhanced UI-support n HTML only supports presentation of alpha-numeric data, potentially in tabular form n applets can leverage Java to process data and visualize complex data structures (e.g., geometry/CAD data) n complete UI has to be implemented in Java n transient storage of state within applet, across multiple user interactions n Connectivity, transactions n applet may connect directly to n DB-Server (y) n Connection-Server (z, {) n Application-Server n applet state can preserve DB-connections across interactions n long, multi-step transactions n distributed transactions 13 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Evaluation: Disadvantages n Loading time n higher initial loading time due to downloading applet (application logic, UI) from web server n solution: persistent program cache n in combination with signed applets n applets can be held persistently at client n alternative: use of Java interfaces, delaying download of implementation n Java security n unsigned applet can only connect back to server of origin n web, DB/connection server have to reside on the same machine (-> bottleneck) n this restriction can be avoided by using signed applets and appropriate client security policies n No adequate support for combined client/server-side transactions n passing transaction context to server-side web components not supported by HTTP n Requires enabling/allowing connection to DB server systems from web clients n may be suitable for the intranet n questionable for internet scenarios (security, firewalls, …) 14 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Client-Side Processing n JavaScript n object-oriented scripting language (syntax similar to Java) n can be embedded in or referenced from within a web page n script can interact with the Document Object Model (DOM) of the web page n can manipulate the page/HTML n can react to user events n Web browser n needs to support the JavaScript language n interprets the script elements n Main use n implement user interface logic of a web page n validate web forms n make web pages more interactive, dynamic and responsive 15 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems Ajax n Originally a shorthand for „Asynchronous JavaScript and XML“ n Indicates a set of technologies used for web applications n presentation based on XHTML, CSS n dynamic display and interaction using Document Object Model n data interchange and manipulation using XML, XSLT n asynchronous data retrieval using XMLHttpRequest n JavaScript (binding everything together) n Ajax „variations“ n use of another scripting language (e.g., VBScript) n data interchange based on JavaScript Object Notation (JSON) or others n Main benefits n avoids reloading complete pages, only interacts with server for subset of the content or avoids interactions altogether n user perceives web application as faster, due to asynchronous loading of data n state preserved inside JavaScript variables across multiple interactions n main container page is not reloaded 16 © Prof.Dr.-Ing. Stefan Deßloch Middleware for Information Systems

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    30 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us