Web applications and Oracle

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Servlets and Java Server Pages.
Advertisements

17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Lecture plan Information retrieval (from week 11)
Chapter 10 Database Applications Copyright © 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. McGraw-Hill.
Technical BI Project Lifecycle
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Browsers and Servers CGI Processing Model ( Common Gateway Interface ) © Norman White, 2013.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
1 Chapter 12 Working With Access 2000 on the Internet.
Introduction to Web Database Processing
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Introduction to Web Interface Technology (CSE2030)
Building Enterprise Information Portal using Oracle Portal 3
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
Tutorial 8 Sharing, Integrating and Analyzing Data
1 Chapter 5: Introduction To Form Builder. 2 Forms  Why Do We Use Form Builder?  Why Don’t We Use SQL Only?!
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Tomcat Celsina Bignoli History of Tomcat Tomcat is the result of the integration of two groups of developers. – JServ, an open source.
Linux Operations and Administration
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Applets & Servlets.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Classroom User Training June 29, 2005 Presented by:
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
From Client Server to WEB Rizwan Akhtar Tangible Technologies
Integrating Forms, Reports and Discoverer into Portal Chris Ostrowski Technical Management Consultant TUSC Session id:
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Fundamentals of Database Chapter 7 Database Technologies.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
ASP Introduction Y.-H. Chen International College Ming-Chuan University Fall, 2004.
2 Copyright © 2004, Oracle. All rights reserved. Running a Forms Developer Application.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
4 Copyright © 2004, Oracle. All rights reserved. Creating a Basic Form Module.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Dynamic web content HTTP and HTML: Berners-Lee’s Basics.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
® IBM Software Group © 2007 IBM Corporation Best Practices for Session Management
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
Fall 2000C.Watters1 World Wide Web and E-Commerce Servers & Server Side Processing.
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.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
CHAPTER 7 LESSON C Creating Database Reports. Lesson C Objectives  Display image data in a report  Manually create queries and data links  Create summary.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
2 Copyright © 2004, Oracle. All rights reserved. Running a Forms Developer Application.
2 Copyright © 2006, Oracle. All rights reserved. Running a Forms Developer Application.
Fall 2000C.Watters1 World Wide Web and E-Commerce Servers & Server Side Processing.
Preface IIntroduction Course Objectives I-2 Course Content I-3 1Introduction to Oracle Reports Developer Objectives 1-2 Business Intelligence 1-3 Enterprise.
9 Copyright © 2004, Oracle. All rights reserved. Getting Started with Oracle Migration Workbench.
Portal v2.6 Service Pack 1 Update. 2 Portal v2.6 Service Pack 1 6/27/2016 ©2007 GE Fanuc Intelligent Platforms All Rights Reserved Portal v2.6 Service.
Progress Apama Fundamentals
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
Running a Forms Developer Application
Working in the Forms Developer Environment
WWW and HTTP King Fahd University of Petroleum & Minerals
Presentation transcript:

Web applications and Oracle FIS 432/632

Intranets, Extranets, and the Internet

The Ideal Client

The Five Ways of Building Oracle Web Applications Java Servlets (and Java Server Pages) PL/SQL Stored Procedures (and PL/SQL Server Pages) Designer PL/SQL Web Generator Oracle 9i Application Server Portal (previously called WebDB) Oracle Developer (Forms and Reports)

Java Servlets

Java Servlets The user requests a Web page (by typing in a URL, clicking a link, or pressing a button). The Apache HTTP server determines that the request is for a Java servlet and passes the request to the mod_jserv module. The mod_jserv module passes the request to the JServ servlet engine. The JServ servlet engine loads the requested servlet, creates a request object, which includes all the information from the request, and a response object, and passes both to the servlet. The servlet class executes, using JDBC to connect to the database if necessary. It writes the output to the response object.

Advantages and Disadvantages Java is a more modern and feature-rich programming language than PL/SQL New language to learn for many Oracle developers Java Servlets are not bound to a specific vendor Need much code (JDBC) or non-standard features (SQLJ) to retrieve data from database Some overhead in establishing a database connection

PL/SQL Web Applications

PL/SQL Web Applications The user requests a Web page by typing in a URL, clicking a linkor pressing a button. The Apache HTTP server determines that the request is for a PL/SQL stored procedure and passes it to mod_plsql. The mod_plsql module uses the information in the URL along with the configuration information in the Database Access Descriptor to determine to which Oracle user in which database it should connect. It then invokes the procedure in the database. The stored procedure runs, using the procedures in the HTTP package to write output in a buffer. The mod_plsql module returns the output in the buffer through the Apache HTTP server to the Web browser.

Advantages and Disadvantages Within the limitations of HTML, ”everything” is possible All code is hand-written (Documentation? Maintainability? Quality?) Easy and fast to set up Lack of integrated tools: Write HTML in HTML tool Convert to PL/SQL Add business logic in a PL/SQL tool Leverages existing PL/SQL skills

Oracle Designer Normal PL/SQL Web applications, i.e. HTML-based Desired functionality is modelled in the Designer tools together with the data model Designer PL/SQL Web Generator produces PL/SQL code from the model

Advantages and Disadvantages High quality documentation generated automatically Steep learning curve High maintainability Difficult to control the generated application through preferences and templates Option to change front end (Forms, PL/SQL Web, maybe Java?) Some limitations to the applications possible

Oracle Portal HTML-based (using PL/SQL) Browser-based: All development work is done in the browser with Wizards Portal generates PL/SQL stored procedures making extensive use of special Portal packages

Advantages and Disadvantages Fast and easy - Power users can develop small apps Strictly limited to the functionality offered by the Portal wizards No client installation needed No documentation (and no place to put documentation in the code) Also does site management and some basic DBA functions

Oracle Forms: Getting the Forms Applet to the User

Oracle Forms: Getting the Forms Applet to the User The user requests the first Web page of the application. The Apache HTTP server determines that the request is for a CGI program and passes the request to the mod_cgi module. The mod_cgi module starts the Forms CGI program. The Forms CGI program produces an HTML page with an instruction to load the Forms applet. The HTML page is passed back to the Web browser through the mod_cgi module and the HTTP server. The Web browser automatically requests the Forms applet from the HTTP server (and possibly the JInitiator Java plug-in). The HTTP server delivers the Forms applet (and JInitiator) to the Web browser, that starts the JVM and the applet.

Oracle Forms: Running a Web Forms Application

Oracle Forms: Running a Web Forms Application The Forms applet contacts the Forms Listener to start a session. This connection does not involve the Apache HTTP server in any way—it goes straight from the applet to the Forms Listener. The Forms Listener starts a Forms Runtime Engine for that client. The Forms Runtime Engine establishes a connection to the database and to the client applet.

Advantages and Disadvantages Full control over the user interface Needs a specific Java Virtual Machine (IE5 or separate plug-in to download) Leverage existing Forms skills Longer startup time (applet download, JVM initialization) Obvious first migration path for Client/Server applications Needs more hardware (Server: 10+ MB RAM per client, Client: 64+ MB RAM)

Oracle Reports

Oracle Reports The user requests the report by typing in a URL or clicking a link. The HTTP server passes the request to the mod_cgi module. The mod_cgi module invokes the Reports CGI program. The Reports CGI or servlet reformats the request and passes it on to the Reports Server. The Reports Server checks whether the desired report already exists in the report cache. If the report is not in the cache, the Reports Server assigns the report to the next available Reports Runtime Engine. The Reports Runtime Engine connects to the database, retrieves and formats the data, and writes the report in the cache. The Reports Server instructs the requesting Web browser to pick up the report through the HTTP server. The Web browser requests the report from the Web server. The Web server delivers the report.

Advantages and Disadvantages Familiar tool Complicated to control layout Productive wizards Choice of output formats: HTML, HTML with CSS, PDF

Choose Your Weapon Who will be using your application? Intranet, extranet, Internet users? How complex is the user interface you need?

Building Applet-Based Applications Using Web Forms Using Java applets

Building HTML-Based Applications What language skills do your developers have? Is it important to be independent of Oracle?

Generating Applications If you can live with the user interface they offer, Oracles code-generating tools allow much higher developer productivity Oracle Portal is fully browser-based: The application developer defines the application by filling in fields in a form Oracle Designer is a full-featured CASE tool: The developer uses a number of development tools that work against a common repository storing a model of your application.

Could I Have That in Writing? Printing from Java applets is tedious (and is for security reasons disabled by default) Printing from HTML gives only rudimentary control over the appearance of the printed page. PDF format allows you to produce good-looking reports in a Web browser and on paper Oracle Reports can produce reports in both HTML and PDF

Summary Heads-down users might need a Java applet application: Use Oracle Forms Casual users and Internet users need an HTML-based application Build HTML-based applications with Oracle Designer if you can You can use either PL/SQL or Java for handwritten parts of HTML-based applications: Java is vendor independent and offers the advantages of modern object-oriented programming PL/SQL offers unbeatable performance for database-intensive applications. Portal is promising as integration point for all applications, but not a real alternative for application development

The Designer Approach Computer-Aided Software Engineering A Model stored in a Repository Generates code at the push of a button Many ways to use Information Engineering Rapid Application Development Version Control possible

The Designer Tools

Building Applications with Designer Logical Data Design Data/Function Mapping Function Design Transform Transform Physical Table Design Table/Module Mapping Module Design Database Tables etc. PL/SQL packages

Building the Database When building the database, the end result is the same: tables in the database. But you have two ways of getting there: you can either start with an Entity-Relationship model in the E-R modeler or go directly to the Design Editor. Advantages Disadvantages Using the E-R Diagrammer Design Editor Focus on logical design Several tools involved Entire design in one step Must code PK and FK columns

Design Capture Reading the definition of existing database objects into the Repository Making changes in Designer Generating a script to implement the changes

Building an Employee List The hierarchy of objects: Module Module Component Table Usage Context items: The columns appearing on the Record List

The Basic Employee List Without setting preferences and applying formatting, the application doesn't look very appealing

Important Generator Preferences Name Description Value Comment MODSUB Substitute HTML Reserved Characters No To allow HTML tags in user text MODALR Startup Page: About Page Hyperlink To remove the About link PKGLST PL/SQL Package List Format The HTML-generating pack-ages recognized by Designer MODSFA Standard Footer on All Pages Yes Instruction to use footer MODSFT Standard Footer format.pageEnd A call to the Format package MODSHA Standard Header on All Pages Instruction to use header MODSHD Standard Header format.pageStart('Module Title')

Formatted Employee List Using a format package and a standard preference set improves the look

Adding a Query Form Appears automatically if any items are queryable Intelligent date interval Oracle interMedia Text querying

The Query Form for the Employee List From and To date with pop-up calendar

Maintain Employees Continue your work on a copy Add insert, update, delete functionality to the module component Define operations on bound items

Building an Employee List The hierarchy of objects: Module Module Component Table Usage Lookup tables

Adding Lookups

Employee Detail with Lookup Department name comes from lookup table Manager name selected via List-of-Values

Multi-Record View Forms Multi-record View Forms are a Designer6i feature

Master-Detail Design

Master-Detail Web Page