WebServer on OS/390

observancecookieSecurity

Nov 5, 2013 (3 years and 9 months ago)

52 views

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.

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.

Friday, November 27, 1998

InfoTech Services.

Some basics concepts on Web
technology.



In this topic we will discuss:


Communication Protocol


Java


Applets


Servlets

Friday, November 27, 1998

InfoTech Services.

Communication Protocols

Http

RMI

CORBA

Client

Server

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).

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.

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.

Friday, November 27, 1998

InfoTech Services.

HTTP and Servlets

Browser

Server

HTTP GET Request

Request Servlet

Send Static HTML

Send Dynamic HTML

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

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.

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
.

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

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.

Friday, November 27, 1998

InfoTech Services.

OS/390 components

OS/390

Unix Services

Go

Domino


Webserver

RACF

TCPIP (OS/390 2.5+)

Client

JVM

WebAS

Servlet

MVS

DB2

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

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

Friday, November 27, 1998

InfoTech Services.

JDBC and SQLJ


J
ava
D
ata
B
ase
C
all 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

Friday, November 27, 1998

InfoTech Services.

JDBC and DB2

Java


JDBC

SQLJ

CLI

DB2

DB2

DB2

Store

Proc

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

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.


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


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


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


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

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.

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.

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.

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


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.



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.

Friday, November 27, 1998

InfoTech Services.

Presentation Objects

Business Obj

Data Objects

Separation of Business,
presentation, and data objects

DB2

IMS

Oracle

JDBC

SQLJ

Applet

Servlet

CORBA

Friday, November 27, 1998

InfoTech Services.

Component Broker

Look for this next year!

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.

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).


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.


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.

Friday, November 27, 1998

InfoTech Services.

Init() and destroy() method

WebAS


Pgm1

Pgm1 Servlet

Init()

Pgm2 Servlet

destroy()

Loading

Unloading

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


{ …. }

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


{ …. }

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


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();



}

Friday, November 27, 1998

InfoTech Services.

JDBC coding step 2

Setup the URL

String url = "jdbc:db2:dbmanu";

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();

Friday, November 27, 1998

InfoTech Services.

JDBC coding step 4

Perform some SQL

ResultSet rs =


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

Friday, November 27, 1998

InfoTech Services.

JDBC coding step 5

Time to Close

stmt.close();


con.close();

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”);

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

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>

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.

Friday, November 27, 1998

InfoTech Services.

Questions?