Developing Dynamic Web Pages Without Programming

Slides:



Advertisements
Similar presentations
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Advertisements

Fundamentals, Design, and Implementation, 9/e Chapter 14 JDBC, Java Server Pages, and MySQL.
WebSheets UI Servlet ParametersSQL StatementsResultSet Figure 2. An input form page (Page1) and a result page (Page2) during development. WebDev allows.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 34 Servlets.
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Building Enterprise Information Portal using Oracle Portal 3
David Wolber Yingfeng Su Yih-Tsung Chiang. Programming by Example Conferences: CHI, UIST, IUI.
Interpret Application Specifications
Introduction To Form Builder
Java database Programming JDBC Trademarked name of a Java API that supports Java programs that access relational databases Stand for Java DataBase Connectivity.
Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
SQL Server 2000 and XML Erik Veerman Consultant Intellinet Business Intelligence.
UNIT-V The MVC architecture and Struts Framework.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Classroom User Training June 29, 2005 Presented by:
Get more out of 11i with Oracle ADI Richard Byrom Oracle Applications Consultant Appsworld January 2003.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
Introducing Dreamweaver MX 2004
1 Overview of Databases. 2 Content Databases Example: Access Structure Query language (SQL)
© D. Wong  Indexes  JDBC  JDBC in J2EE (Java 2 Enterprise Edition)
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
COMP 321 Week 7. Overview HTML and HTTP Basics Dynamic Web Content ServletsMVC Tomcat in Eclipse Demonstration Lab 7-1 Introduction.
1 Accelerated Web Development Course JavaScript and Client side programming Day 2 Rich Roth On The Net
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
Domain Driven Web Development With WebJinn Sergei Kojarski College of Computer & Information Science Northeastern University joint work with David H. Lorenz.
XML and Database.
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.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
WEB SERVER SOFTWARE FEATURE SETS
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 21 Java Servlets Wed. 11/22/00 based on material.
Advanced Java Session 5 New York University School of Continuing and Professional Studies.
CHAPTER 7 LESSON C Creating Database Reports. Lesson C Objectives  Display image data in a report  Manually create queries and data links  Create summary.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Preface IIntroduction Course Objectives I-2 Course Content I-3 1Introduction to Oracle Reports Developer Objectives 1-2 Business Intelligence 1-3 Enterprise.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Speaker Name Speaker Title Speaker Title Oracle Corporation Olivier Le Diouris Principal Product Manager Oracle Corporation Building Servlet and JSP Applications.
Architecture Review 10/11/2004
Web-based Software Development - An introduction
ASP.NET Forms.
Running a Forms Developer Application
Miscellaneous Excel Combining Excel and Access.
Working in the Forms Developer Environment
Servlet Fudamentals.
Java Servlets By: Tejashri Udavant..
Java Servlets.
XML and Databases.
Pentaho and Yahoo User Interface (YUI)
PHP / MySQL Introduction
Databases.
MSIS 655 Advanced Business Applications Programming
Chapter 26 Servlets.
MANAGING DATA RESOURCES
Brief description on how to navigate within this presentation (ppt)
Lecture 1: Multi-tier Architecture Overview
Objectives In this lesson you will learn about: Need for servlets
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Database Management Systems
DATABASES WHAT IS A DATABASE?
Tutorial 7 – Integrating Access With the Web and With Other Programs
CS122B: Projects in Databases and Web Applications Winter 2019
Siddhesh Bhobe Persistent eBusiness Solutions
Presentation transcript:

Developing Dynamic Web Pages Without Programming Research Project Led By: Professor David Wolber Chia-Han Liu Helen Kleytman Pooja Garg Yih-Tsung Chiang Yingfeng Su

Agenda Problems with Traditional Web Development Our solution: WebSheets WebSheets Demo System Internals XML Extension Conclusion

Problems of Traditional Web Development Presentation and logic are mixed together Artists/Designers can’t write code Artists/Designers must know SQL well to generate dynamic contents from database

Solution: Integrated Development Environment Macromedia DreamWeaver UltraDev4 IBM Websphere Studio ASPapp

Our Solution: WebSheets Programming by Demonstration Query by Example Spreadsheet Functions Designers J2EE WebSheets IDE JDBC Servlet XMLC

Key Terms and Concepts

What is an Application Server? Information Information Client Client Information Information SERVER Client Client

BEA Weblogic Server Side Services: HTTP Servlets - Composition of Dynamic Web Pages JDBC - Allows Java programs to access databases

HTTP Servlets HTTPResponse SERVLET HTTPRequest Client SERVER

JDBC Architecture Servlets JDBC Interface Driver (Oracle) Driver (ODBC) Driver (Sybase) Oracle DB MSAccess Sybase

HTTPServlet Designers and Programmers

Old Way vs. New Way

Templates: Separating the Tasks of Designers and Programmers HTML Template servlet code including DOM manipulation code and JDBC code XMLC Java DOM tree code HTML Output

JAVA DOM Manipulation Code Instance of XMLC Generated class XMLC provided Access functions

WebSheets Kills Programmers X Designers HTML Template servlet code including DOM manipulation code and JDBC code XMLC Java DOM tree code HTML Output

Demo Bookstore scenario A bookstore manager who knows little about programming wants to create a dynamic page for customers to search books by title

WYSIWYG Editor Format of the text Hyperlinks Images Static tables Dynamic tables Preview

WYSIWYG Editor

Dynamic Components

Dynamic Components

Create Database from Scratch

Create Database from Scratch

Spreadsheet Formulas

Spreadsheet Formulas

Wizard Bar A context-sensitive guide Response every time an action is finished List several possible further steps

Wizard Bar

Centralized Configuration Administrator can set up the server addresses and database pool names Our system records these configuration User doesn’t need to know the detail of IP and pool Easy deployment

Centralized Configuration (Administrator)

Centralized Configuration (User Side)

Multiple Document Users can set up the relation between buttons and pages Destination page needs incoming information

Multiple Document

Multiple Document

Multiple Document

Multiple Document

WebSheets Code Generator servlet code including Code Generation WYSIWYG specs WebSheets Code Generator HTML Template servlet code including DOM manipulation code and JDBC code XMLC Java DOM tree code HTML Output

Code Generation Class GeneratedServlet extends HTTPServlet { // other methods public void act_delete(HttpServletRequest req, HttpServletRespons res) { // Access request parameters String minStock = req.getParameter(“MinStock”); // Access DOM tree created from HTML template BookListDOM doc = new BookListDOM(); Node tempRow = doc.getElementTempRow(); // Execute specified delete operations using JDBC // and SQL Delete statements stmt.execute("delete from BOOKS where INSTOCK<" + minStock); // Execute the specified Select statement to obtain // a resultset. rs =stmt.executeQuery("select * from BOOKS”);

Code Generation while(rs.next()) { // Use DOM manip. code to enter values in the // DOM tree. doc.setText_table1_col0(rs.getString(1)); doc.setText_table1_col1(rs.getString(2)); doc.setText_table1_col2(rs.getString(3)); // Evaluate the spreadsheet formulas doc.setText_table1_col3( String.valueOf(rs.getInt(2) * rs.getInt(3))); // Clone the sample row tempRow.getParentNode().insertBefore( tempRow.cloneNode(true), tempRow); } // Remove the sample row tempRow.getParentNode().removeChild(tempRow); // Write the updated DOM tree to the browser out.println(doc.toDocument());

Code Generation The service() method uses Java Reflection to dispatch the request to the corresponding handler public void service(HttpServletRequest req, HttpServletResponse resp) { String action = req.getParameter("act"); String mtdname = "act_" + action; Class[] paratypes = new Class[] { Class.forName("javax.servlet.http.HttpServletRequest”), Class.forName("javax.servlet.http.HttpServletResponse") }; Method mtd = this.getClass().getMethod(mtdname, paratypes); mtd.invoke(this, new Object[]{req, resp}); } // public void act_add(HttpServletRequest req, HttpServletResponse resp) { … } // public void act_delete(HttpServletRequest req,

Objective WebSheets Store & Retrieve Data Store & Retrieve Data Databases XML Files

XML Extension. Why? Pros Cons search engine data transfer hierarchical triggers security queries across multiple tables

Code Generation Model abstract class StorageProxy class JDBC_Storage abstract void genAdd(); abstract void genDelete(); abstract void genSelect(); class JDBC_Storage void genAdd(); void genDelete(); void genSelect(); class XML_Storage void genAdd(); void genDelete(); void genSelect();

Reusability abstract class StorageProxy class Other_Storage class abstract void genAdd(); abstract void genDelete(); abstract void genSelect(); class Other_Storage class Other_Storage class JDBC_Storage void genAdd(); void genDelete(); void genSelect(); class XML_Storage void genAdd(); void genDelete(); void genSelect();

*.DTD and *.XML Files

DOM ARCHITECTURE Java Tree XML Document XML Parser Object Object

Manipulation of the DOM tree Java Tree Object Servlet Hot Spots Object Object Object Object Object Object

Servlet : Get Parameters

Servlet : DOM Parser

Servlet : Perform action

act_add(String value) Step1 ROOT Object Object child child child child Object child child child child child child child child Object Object child child child child child child child child

act_add(String value) Step2 ROOT Object Object child child child child Object child child child child child child child child Object Object child child child child child child child child

Servlet : Serialization

Creation of XML file Object Object Object Object Object Object Object DOM Serialization Object Object Object Object

Servlet: Display on the Browser

Resulting HTML Page

Conclusion Artists/designers generate database table management servlets by “teaching” our system without writing any code. WebSheets allows database operations and computations to be specified visually

Conclusion (cont.) WebSheets uses Programming By Demonstration (PBD), Query By Example (QBE), and spreadsheet functions to build dynamic web pages 2 papers based on WebSheets are accepted by IUI2002 and VDB6 conferences

Future Work To support dynamic contents other than table mapping, i.e., parameter mapping on any part of the page, and HttpSession How to visually represent complicated table relationship, such as One-To-Many, Many-To-Many To support button-to-page dataflow Automatically register Servlets in WebLogic configuration file

Any Questions? Thanks…