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 componentsOS/390
Unix Services
Go Domino Webserver
RACF
TCPIP (OS/390 2.5+)
Client
JVMWebAS
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
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
Friday, November 27, 1998
InfoTech Services.
JDBC and DB2
Java JDBCSQLJ
CLI
DB2
DB2
DB2
StoreProc
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 ObjData Objects
Separation of Business, presentation, and data objects
DB2IMS 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 ServletInit()
Pgm2 Servletdestroy()
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?
Recommended