Stanford University EH&S A Service Oriented Architecture For Rich Internet Applications Sheldon M. Heitz.

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

Welcome to Middleware Joseph Amrithraj
Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Apache Struts Technology
Session 13 Active Server Pages (ASP) Matakuliah: M0114/Web Based Programming Tahun: 2005 Versi: 5.
-Dynamic Web Pages 데이타베이스 연구실 홍 동 숙. Product HTML is static but CGI and Web server APIs aren ’ t –Using HTML, The text and the format of its display remain.
Apache Tomcat Server Typical html Request/Response cycle
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
Comp2513 Java Servlet Basics Daniel L. Silver, Ph.D.
PHP Scripts HTML Forms Two-tier Software Architecture PHP Tools.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
SaaS Software Container By Brian Moore Paul Kopacz.
Integrating CRM On Demand with the E-Business Suite to Supercharge your Sales Team Presented by: Tom Connolly, Jason Lieberman Company: BizTech Session.
SQL Server 2000 and XML Erik Veerman Consultant Intellinet Business Intelligence.
Java Server Programming Jeff Schmitt Towson University October 15, 1998.
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
UNIT-V The MVC architecture and Struts Framework.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
ABSTRACT Before the evolution of computers, all the details in a banking systems used to be maintained manually. This is not advisable because maintenance.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Product Evaluation ADP E-Time Enterprise Kronos Workforce Central.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Native Support for Web Services  Native Web services access  Enables cross platform interoperability  Reduces middle-tier dependency (no IIS)  Simplifies.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
Enticy GROUP THE A Framework for Web and WinForms (Client-Server) Applications “Enterprise Software Architecture”
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
1 Accelerated Web Development Course JavaScript and Client side programming Day 2 Rich Roth On The Net
Tom Castiglia Hershey Technologies
Tutorial 10 by Sam ine1020 Introduction to Internet Engineering 1 Database & Server-side Scripting Tutorial 10.
Struts J2EE web application framework “ Model 2 ” Model View Controller Controller Servlet Key features XML metadata Struts taglib Simplified form validation.
PHP and MySQL CS How Web Site Architectures Work  User’s browser sends HTTP request.  The request may be a form where the action is to call PHP.
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Searching Business Data with MOSS 2007 Enterprise Search Presenter: Corey Roth Enterprise Consultant Stonebridge Blog:
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
Running Kuali: A Technical Perspective Ailish Byrne (Indiana University) Jonathan Keller (University of California, Davis)
Implementing and Using the SIRWEB Interface Setup of the CGI script and web procfile Connecting to your database using HTML Retrieving data using the CGI.
Central Arizona Phoenix LTER Center for Environmental Studies Arizona State University Data Query Peter McCartney RDIFS Training Workshop Sevilleta LTER.
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Rolando Gaytan Clay Schumacher Josh Weisskopf Cory Simon Aaron Steil (Reiman Gardens) – Client Dr. Tien Nguyen - Advisor.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Presentation.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 21 Java Servlets Wed. 11/22/00 based on material.
Oracle Query VBA Tool (OQVT)
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Active Server Pages v.s. Java Server Pages Presenters: Lan Guo Qunying Fan Pei-Xun Wu Date:
ASP – Web Programming Class  Ravi Anand. ASP – Active Server Pages What is ASP? - Microsoft Technology - Can Run using IIS/PWS/Others - Helps us create.
 INDEX  Overview.  Introduction.  System Requirement.  Features Of SQL.  Development Process.  System Design (SDLC).  Implementation.  Future.
Introduction to Oracle Forms Developer and Oracle Forms Services
JDBC Database Management Database connectivity
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
Web Software Model CS 4640 Programming Languages for Web Applications
PHP / MySQL Introduction
Searching Business Data with MOSS 2007 Enterprise Search
Chapter 23 – ASP.NET Outline 23.1 Introduction NET Overview
Web Systems Development (CSC-215)
ASP.NET Module Subtitle.
Objectives In this lesson you will learn about: Need for servlets
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Presentation transcript:

Stanford University EH&S A Service Oriented Architecture For Rich Internet Applications Sheldon M. Heitz

Design Goals Extend U.I. feature set, make robust across multiple platforms Reduce dependence on HTML and JavaScript Improve development productivity Implement an object oriented design Increase code reusability Maintain database compatibility with existing version Create a platform for exploring XML technologies Provide built-in support for multiple client organizations

Proof of Concept Demo … Before we start: Application is running live on this platform 2.4 gigahertz Pentium megabytes ram Windows XP - Running Concurrently - Oracle 9i with Stanford dataset (200k+ inventory, etc.) IIS 5.1 web server Altio Developer Suite / Tomcat servlet engine Jrun 4 servlet engine for service servlet Oracle Jdeveloper 10g Microsoft PowerPoint

Components and Integration Using familiar technologies Simple servlet-based web service Returns database data as XML Implements user authentication and session handling As generic as possible Generic single-transaction method Specific batch-transaction method

Runtime Environment Web Server Isapi filter to forward servlet requests to Jrun Database Client Browser Web pages Altio “Smart Client” Jrun Model / Controller servlet Tomcat Connector servlet, Altio Presentation Server

Process Flow: initial access Web Server Loads “access.html” as designated in web virtual directory Client Browser “server.stanford.edu /stanford”

Process Flow: forward to Jrun Web Server Loads “access.html” designated in IIS virtual directory … onLoad send request to controller servlet, ct_action = wurl_login, ct_client = stanford (parsed from URL) Client Browser “server.stanford.edu /stanford Jrun Model / Controller servlet

Process Flow: Jrun session, I Web Server Sends login page to client Client Browser “server.stanford.edu /stanford” Jrun Model / Controller servlet Loads configuration from database based on ct_client, forwards request to login page: wurl_login = stanford/login.html Database

Process Flow: Jrun session, II Web Server Forwards to Jrun Client Browser …/servlet/ct2_controller LOGIN, client, username, password Jrun Model / Controller servlet Authenticates, loads user properties from database, stores info as hash table to ServletContext, keyed by timestamp Database

Process Flow: to Tomcat Web Server Forwards to Jrun Client Browser …/servlet/ct2_controller LOGIN, client, username, password Jrun Forwards to Tomcat ct2Altio servlet, ct_reference = [key] Database Tomcat Creates Tomcat session, stores: ct_ reference = [key] to session object

Process Flow: Load Altio Applet Web Server Client Browser Jrun Database Tomcat Forwards Altio applet holder page back to browser

Process Flow: Link Jrun sessions Web Server Client Browser Altio UI applet – application requests initial data = LINK, includes ct_reference [key] as parameter from Tomcat session Jrun Creates Jrun session for new access from Tomcat, gets info hash table from ServletContext by [key] loads properties to new session. Database Tomcat Altio presentation engine requests LINK from jrun, passing ct_reference [key]

Process Flow: Future Requests Web Server Client Browser Altio UI applet – application requests data from service Jrun Servlet responds to request from APS using properties in session Database Tomcat Altio presentation engine requests data from servlet, as client with specific Jrun session.

Process Flow: Servlet Detail Servlet: Receives from UI Application applet: - SQL query - Values of bind variables from UI app / user input - Values of “order by” variables from UI app / user input - Values of minimum and maximum fetch row numbers - Element and Item strings for formulating XML Builds JDBC query statement, binding values to “where clause”, adds “order-by clause”, wraps in “partial fetch” query, and executes statement. Retrieves result set, parses column names from result set metadata, builds XML, returns XML to UI applet via “typical” output stream printwriter. Database UI Applet

Wrap Up … Architecture provides high degree of component re-use: RIA client components eliminate need for UI coding. “Generic” servlet methods can be re-used for common database functions with little or no additional coding. Exposing data via XML web service allows access from other client software if properly authenticated. UI layer only loosely bound to server application – service components may be replaced without requiring UI changes. Additional benefits: Generic HTML components easily reconfigured for other applications. Configurations stored in database ease application setup.