51
WebServer on OS/390 Bill O'Donnell InfoTech Services [email protected]

WebServer on OS/390 Bill O'Donnell InfoTech Services [email protected]

Embed Size (px)

Citation preview

Page 1: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

WebServer on OS/390

Bill O'Donnell

InfoTech Services

[email protected]

Page 2: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Hope to accomplish Start our presentation at a high

level for the first half. As we go, we will revisit topic and

work down the technical road.

Page 3: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Topics of Discussion Video to help understand OS390 as a server. Some basics concepts on Web technology. OS/390 components. OS/390 Web Options. The Java Tools. Java application frame work. What is the State of Wisconsin doing? Educational tips. How to code a Java Servlet. Look at coding examples using the Java

application frame work and Servlet.

Page 4: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Some basics concepts on Web technology.

In this topic we will discuss: Communication Protocol Java Applets Servlets

Page 5: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Communication Protocols

Http

RMI

CORBA

Client

Server

Page 6: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Java Object oriented programming

language. High level language similar to C/C+

+. Java Soft Standard. Java compiles to Java byte code. Java Virtual Machine (JVM)

interprets Java byte code. High Performance Java (HPJ).

Page 7: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Java Applet Java application that runs under

the control of a Web browser JVM. Applet code is downloaded from a

server to the client. Best for interactive display. Difficult to access OS/390 data

directly. Depends on current

Browser software.

Page 8: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Java Servlet

Java application that runs on the server side.

Sends dynamic HTML results back to client.

Direct access to OS/390 data. No dependency on

Browser Software.

Page 9: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

HTTP and Servlets

Browser

Server

HTTP GET Request

Request Servlet

Send Static HTML

Send Dynamic HTML

Page 10: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

OS/390 components In this topic we will discuss:

OS/390 Unix Services. Lotus Go Domino Webserver 5.0. Java Virtual Machine (JVM). JDBC and SQLJ. DB2 for OS/390. CICS

Page 11: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

OS/390 Unix Services OS/390 is now a branded Unix

Operating System. The WebServer services run under

OS/390 Unix Services WebServer and Java were ported

from AIX and enhanced.

Page 12: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Lotus Go Domino Webserver 5.0. OS/390 has offered Webserver solution since

1995. The product has been renamed several times as

new functions and features became available. GDW 5.0 originally shipped with ServletExpress

and will be replaced by WebSphere Application Server.

OS/390 can achieve 20,000 HTTP page hits per second.

Page 13: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Security on OS/390 Http Server

Surrogate UserID and Password Certificates Once authentication is established:

Valid ID is validated All file references are check All resources like DB2 are

validated. InfoTech is looking at public

UserID administration

Page 14: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Java Virtual Machine

Today OS/390 has available JVM 1.1.6.

JVM runs under the OS/390 Unix Services.

Page 15: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

OS/390 componentsOS/390

Unix Services

Go Domino Webserver

RACF

TCPIP (OS/390 2.5+)

Client

JVMWebAS

Servlet

MVS

DB2

Page 16: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

DB2 Stored Procedures

Can be written in any Language (Java within a year).

Excellent performer due to Caching techniques.

Can access DB2 as well as other subsystems within OS/390.

Can be written and controlled by agency programmer staff

Page 17: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

OS/390 Web Solutions DB2

Java using JDBC Java using JDBC to DB2 Stored

Procedures Net.Data Some web method to CICS then to

DB2

Page 18: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

JDBC and SQLJ

Java DataBase Call is the Java API used to access any relational database.

JDBC uses dynamic SQL SQLJ is a Java API that performs

static SQL. JDBC and SQLJ can call Stored

procedures. IDMS can use JDBC. DB2

Oracle

Page 19: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

JDBC and DB2

Java JDBCSQLJ

CLI

DB2

DB2

DB2

StoreProc

Page 20: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

OS/390 Web Solutions CICS

Java to CICS Gate Way Java to JDBC to DB2 Stored

Procedures to CICS Templates CICS Web Server Several Third Party solutions

Page 21: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

OS/390 Web Solutions IMS

Java to JDBC to DB2 Stored Procedures to IMS

Templates Java to new IMS Java classes Third Party software tools CICS offers other facilities. Future CICS will be able to run

Java directly under CICS.

Page 22: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

OS/390 Web Solutions IDMS

Java to JDBC to DB2 Stored Procedures to IDMS

Java to JDBC to IDMS Possible third party solutions

Page 23: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

OS/390 Web Solutions VSAM

Java to JDBC to DB2 Stored Procedures to VSAM

Java using JRIO classes Third party solutions

Page 24: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Tools

WebSphere Application Server Http Java Enabler Plugs in many Http Servers

WebSphere Studio NetObjects Visual Age for Java Script Builder Servlet Builder

Many others

Page 25: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Tools work with OS390

Some tools will use FTP behind the covers directly to OS390

Today some tools may need manual effort to FTP

Later this summer DFS will be available for testing at InfoTech Mapping a virtual NT drive directly

to OS390

Page 26: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Development Environment

Could develop on NT and port to OS/390 for Java Apps

Could develop directly on OS390 Development, system test,

Acceptance test will be available that line directly with DB2/CICS/etc.

Page 27: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Why OS/390 solution Best platform to scale applications Availability Workload Manager GeoPlex/Sysplex Security Major Player for E-business

transactions. Web apps should be close to the data. Removes complexity for OS390 data

applications.

Page 28: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Performance

You need to look at the round trips for a transaction.

Best world is bring App close to the data.

OS390 2.7 is performing 20,000 http page hits per second.

DB2 Stored procedures are extremely fast.

Page 29: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

What is the State of Wisconsin doing?

Department of Revenue Employee Trust Fund Treasure Office Technology Management Cares Interested DOT Interested

Page 30: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Java Application Frame Work

In this topic we will discuss: Write once run anywhere. Separation of business,

presentation, and data objects. Component Broker.

Page 31: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Write once run anywhere Platform can be chosen after

development stage. Platform can be changed at any

time with little effort. Database manager can be chosen

after development stage using JDBC.

Database manager can be changed at anytime.

Page 32: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Presentation Objects

Business ObjData Objects

Separation of Business, presentation, and data objects

DB2IMS Oracle

JDBC SQLJ

Applet Servlet CORBA

Page 33: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Component Broker

Look for this next year!

Page 34: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Education tips.

Experienced OS390 Application programmers have great advantage. They know OS390!

Get training in OO HTML Java

Start with a small project.

Page 35: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

How to code a Java Servlet

In this topic we will discuss: Servlet API. How to code JDBC. How to code Dynamic HTML. How to code Java Server Page

(JSP).

Page 36: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

The Servlet API

A Java Servlet runs under Servlet enabled Webserver.

The Java program uses Servlet API as documented by JavaSoft.

Webserver is responsible to handle Servlet API calls.

Java program codes methods within a Java Servlet Class. These methods are the Servlet API.

Page 37: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Common Methods to code

Init() method is invoked at the time the Servlet is first loaded.

Destroy() method is invoked at the time the Servlet is unloaded.

doGet() or doPost() method is invoked to handle a request from a browser.

Page 38: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Init() and destroy() method

WebAS

Pgm1 Pgm1 ServletInit()

Pgm2 Servletdestroy()

Loading

Unloading

Page 39: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

doGet() method<HTML><form name=dman method=get action=/servlet/SampleServlet><input type=submit value=ADD name=button></HTML>

public class SampleServlet extends HttpServlet{ … }public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException { …. }

Page 40: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

doPost() method<HTML><form name=dman method=post action=/servlet/SampleServlet><input type=submit value=ADD name=button></HTML>

public class SampleServlet extends HttpServlet{ … }public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException { …. }

Page 41: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

How to code JDBC

Before you start, you will need to get the following information: The database driver

DB2 on NT is COM.ibm.db2.jdbc.app.DB2Driver

DB2 on OS/390 is ibm.sql.DB2Driver

The database URL DB2 on NT is

jdbc:db2:databaseName DB2 on OS/390 is

jdbc:db2os390:DB2LocationName

Page 42: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

JDBC coding step 1

Load the driver

try { Class.forName("COM.ibm.db2.jdbc.app.DB2Driver"); } catch (ClassNotFoundException e) {

e.printStackTrace(); }

Page 43: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

JDBC coding step 2

Setup the URL

String url = "jdbc:db2:dbmanu";

Page 44: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

JDBC coding step 3

Perform the connection to DB2

Connection con = DriverManager.getConnection (url,userid,password);Statement stmt = con.createStatement();

Page 45: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

JDBC coding step 4

Perform some SQL

ResultSet rs = stmt.executeQuery("SELECT * FROM SYSIBM.SYSTABLES ");

Page 46: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

JDBC coding step 5

Time to Close

stmt.close(); con.close();

Page 47: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

How to code Dynamic HTML

res.setContentType("text/html"); res.setHeader("Pragma", "no-cache");res.setHeader("Cache-Control", "no-cache");res.setDateHeader("Expires", 0);ServletOutputStream out = res.getOutputStream();

out.println("<html>");out.println("<head>");out.println("<title>manufacturer information</title>”);out.println(“</head>");

.

.

.Out.println(“</html”);

Page 48: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

How to code Java Server Page (JSP)

dataManager dataBean; try { dataBean = data; } catch (Exception ex) {throw new ServletException("Can not create BEAN of class DataBean: " + ex.getMessage()); } ((com.sun.server.http.HttpServiceRequest) req).setAttribute("dataBean",dataBean); ((com.sun.server.http.HttpServiceResponse) res).callPage("/view.jsp",req);

}

The Servlet Side

Page 49: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

JSP HTML Template

<html> <head> <title>manufacturer information</title></head> </head><bean name="dataBean" type="dataManager” introspect="no” scope="request"> </bean><a> This is a test. Manufacturer is =<%= dataBean.getManufacturer() %> </a></html>

Page 50: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

What does this all mean

OS390 legacy data can be made available to the Internet Online.

OS390 great platform for Web applications requiring: High volume of transactions. Large database systems. 24 by 7 availability.

Java provides great flexibility.

Page 51: WebServer on OS/390 Bill O'Donnell InfoTech Services Bill.ODonnell@doa.state.wi.us

Friday, November 27, 1998

InfoTech Services.

Questions?