Internet Computing The Next Generation Starts from Now Richard P. Sinn.
-
Upload
stewart-edgar-james -
Category
Documents
-
view
214 -
download
0
Transcript of Internet Computing The Next Generation Starts from Now Richard P. Sinn.
![Page 1: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/1.jpg)
Internet Computing
The Next Generation Starts from Now
Richard P. Sinn
![Page 2: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/2.jpg)
Agenda
• Introduction- Who am I, Style of Presentation- Internet/Intranet Technology
• Problems and Solutions
– Big Picture
– Client Side Processing: Java, JavaScript, Image Map, Code Generation
– Server Side Processing: CGI-BIN, Integrated Solution
– Bring Backend to the World (DB Access and Workstation Gateway)
• Security of the Internet/Intranet
• DBCS Processing - A World Wide Problem
• Integration and Build Problems
• Internet Agent
• Conclusion
![Page 3: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/3.jpg)
Introduction• Web as a “top-level” protocol:
Source (Browser) Destination (Server)
• Using MINE (Multipurpose Internet Mail Extensions) to define rules for exchanging informationWeb encapsulate other protocols including FTP, Gopher, WAIS (Wide Area Information Server), NNTP (USENET News) and telnet, etc.
Web
FTP
TCP
IP
Web
FTP
TCP
IPPhy Net
![Page 4: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/4.jpg)
Introduction
• Web as a powerful Business Tool
Web Server = Platform + Software + Information
- Information Can be accessed in different Platforms
- Local Network Ring, PC Lan, Mainframe and the World can link together
• Enhance the Re-engineering of business process
(e.g. Traditional Q&A process for new products, Support Line, Networked Marketing, etc)
• Collaborative Management and Communication(Intranet as the heart of business administration)
• Business Applications(Web link to legacy systems, data warehouse and data mining)
![Page 5: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/5.jpg)
Introduction: Business Case
Server Support Area 12 Month Volume Volume Trend
Communication 1712 Unchanged
Hardware 1469 Unchanged
Language and Database 754 Unchanged
Remote Access 2336 Negative
Performance 322 Negative
Print 559 Unchanged
Small Products 179 Unchanged
Backup 582 Negative
Work Management 411 Negative
Other functions 247 Positive
Total 8571 Negative
![Page 6: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/6.jpg)
Introduction: Business Case
• How can we get the volume of support questions down ?
• Can we market new products better using the internet ?
• Can we use the question and answer better (data warehouse, data mining) ?
• Can we use the internet as proactive tool instead of traditional reactive ?
• Will chat room help ?
• What is the cost and profit ?
Interactive New products Preview
• Lessons on new products
Interactive Support Wizards
• Knowlege Base with problem reports
• Software Troubleshooting Wizards
• Frequently Asked Questions
• Download help files and fix packs
• Newsgroups and Chat Room
• Email A Question
• Support Options and Phone Numbers
![Page 7: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/7.jpg)
Introduction
• Web as a new source of problems• Performance Problem
• Availability on Different Platforms
• Scaleability
• Security
• DBCS Processing on the Web
• Business Case
• ISO 9000 Standard
![Page 8: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/8.jpg)
The Big Picture
Servers- Files- Mail Service- Print- Directory (x.500, LDAP)
ServiceApplicationServer
Traditional ApplicationSystemMVS, VM, CICS, etc
Internet/Intranet
Web ServersHTML, JavaScriptJava Applet/Appl
Client 3270, 5250, TCP/IP
Socket
Directory, File, Printing, Mail
HTTP
SecurityAvailablilityDBCSIntegration
PerformanceSecurity, Maintance
AvailabilitySecurity
Performance, Available
Current/Future Server Architecture
![Page 9: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/9.jpg)
Divide And Conquer
• Client Side Processing– Java
– JavaScript
– Browser Tricks
– Code Generation
• Server Side Processing– Server Integrated Solution
– HTML Gateway
– WWW DB2 Gateway, Java JDBC API
![Page 10: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/10.jpg)
Client Side: Java
Advantage
• Platform Independent (Portable)
• Enhance Software Reuse
• “Hot” in the market
• Relative short Learning Curve
• OO Internet Programming
• Secure ??
• High-performance ??
• Dynamic (Load class when needed)
• Multithreaded
Disadvantage
• Do not have information about browsers (vs JavaScript)
• Not available to all platforms(Only 56% of OS is windows base)
• Firewall block java applet from running
• Multithreaded problems (Scheduling information needed)
![Page 11: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/11.jpg)
Client Side: Java
<html><head><title>An Applet</title> </head>
<body>
<p><applet code="HelloApplet.class" WIDTH=300 HEIGHT=50>
<PARAM NAME=inputString VALUE="TESTING input string">
<PARAM NAME=colorString VALUE="cyan">
</applet>
<FORM METHOD=POST ACTION="list.cgi">
<P><PRE>
Link name: <INPUT NAME="name" SIZE="45">
Link URL: <INPUT NAME="url" SIZE="45">
</PRE>
<P>
This URL will be added to the <SELECT NAME="section">
<OPTION>home page
<OPTION>commercial
<OPTION>misc
</SELECT> section of the list.
<P><INPUT TYPE=submit VALUE="Add link"> <INPUT TYPE=reset>
</FORM>
</body>
</html>
AppletApplet
Button 1 Button 2
![Page 12: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/12.jpg)
Client Side: JavaScript
• Derived from Java, From LiveScript to JavaScript by Sun 1995
• Integrated into HTML
• Supported by Sun, Netscape, MS
• The Java Glue(“Glue Java Applets into Web Pages” by using capabilities to trap user events and pass relevant information to Java applets)
![Page 13: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/13.jpg)
Client Side: JavaScript
Advantage
• Integrated with Browser- Have access to history list- Use cookies to remember
• Integrated with HTML
• Supported by Sun and Netscape
• Object based language ??
• Can be used in client and some server side
• Good for simple user interface
Disadvantage
• Slow performance (Interpreted Language)
• Not fully extensible (limited set of base object)
• No code hiding
• Lack of debugging and development tools
• Not good for Big Application
![Page 14: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/14.jpg)
Client Side: JavaScript
• Cookies provide a method to store information at the client side and have the browser provide that information to the server along with a page request
• Cookie Information is shared between the client browser and a server using fields in the HTTP header.
• When the user requests a page in the future, if a matching cookie is found, the browser sends a Cookie field to the server in a request header. The header will contain the information stored in that cookie.
Custom Search Tool
• User calls the site by using an URL that request a CGI script
• The script checks whether it is the user’s first time at the site by checking whether cookie exist in the http header.
• If no cookies, all choices unselected
• If cookies exist, previous choices selected
• If user perform a search, the search results along with a Set-Cookie field in the header to reset the new cookie
![Page 15: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/15.jpg)
Client Side: JavaScript
Last Name
First Name
Custom Search
Sinn
Richard
Custom Search
![Page 16: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/16.jpg)
Client Side: JavaScript// Function to create or update a cookie.
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : ""); }
// Function to delete a cookie. (Sets expiration date to current date/time)
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1); // This cookie is history
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
<!-- HIDE FROM OTHER BROWSERS
// Cookie Functions
// "Internal" function to return the decoded value of a cookie
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
// Function to return the value of the cookie specified by "name".
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break; }
return null;}
![Page 17: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/17.jpg)
Client Side: JavaScript
• The Navigator Object
function checkBrowser(){
if ((navigator.appVersion.substring(0,6) != “2.0b6a”) && (navigator.appName != “Netscape”))
alert(“Please use Netscape with version 2.0b6a”);
}
• The History Object
The history list of a browser is accessible in JavaScript. For example:
history.back() goes to the previous page
history.go(-3) goes back to the page visited three pages ago (like clicking the back button three times)
• The form Object and document Object
![Page 18: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/18.jpg)
Client Side: Java and JavaScript
• We enjoy limited interaction between applets and the browser environment, using JavaScript today.
• With JavaScript capability to dynamically generate HTML code, a form in one frame could easily reload a Java applet in another frame, with new parameters.
<HEAD>
<TITLE>Example 14.3</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1>Growing Text Java Applet Tester</H1>
<FORM METHOD=POST>
Text to display: <INPUT TYPE=text NAME="text" SIZE=40><BR>
Delay between updates: <INPUT TYPE=text NAME="delay"><BR>
Font to use: <INPUT TYPE=text NAME="font" SIZE=40><BR>
<INPUT TYPE=checkbox NAME="bold"> Bold
<INPUT TYPE=checkbox NAME="blur"> Blur<BR>
<INPUT TYPE=button VALUE="Test Applet"
onClick="parent['applet'].location='applet.htm';"> </FORM>
</BODY>
</HTML>
![Page 19: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/19.jpg)
Client Side: Java and JavaScript<!-- SOURCE CODE FOR applet.htm -->
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!-- HIDE FROM OTHER BROWSERS
document.write('<APPLET CODE="GrowingText.class" WIDTH=500 HEIGHT=200>');
document.write('<PARAM NAME="text" VALUE="' +
parent["form"].document.forms[0].text.value + '">');
document.write('<PARAM NAME="delay" VALUE="' +
parent["form"].document.forms[0].delay.value + '">');
document.write('<PARAM NAME="fontName" VALUE="' +
parent["form"].document.forms[0].font.value + '">');
document.write('<PARAM NAME="boldBold" VALUE="' +
parent["form"].document.forms[0].bold.value + '">');
document.write('<PARAM NAME="blur" VALUE="' +
parent["form"].document.forms[0].blur.value + '">');
document.write('</APPLET>');
// STOP HIDING -->
</SCRIPT>
</BODY>
Text to display
Delay between display
Font to use
[] Bold [] Blur
Test Applet
Csci 8180 By Prof Tsai
250
Courier
Csci 8180 By Prof Tsai
![Page 20: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/20.jpg)
Client Side: Java and Javascript
• JavaScript should work with CGI-BIN and Java.
• Applet object should be added to enhanced interaction with Java.
• database object should be added to allow quick access to local DB systems.
• Using netscape product like LiveWire, CGI-BIN can be written with JavaScript.
• Make use of the current plug in to allow JavaScript to work with a range of file formats (Acrobat Amber Reader; ASAP WebShow, Corel Vector Graphics, EarthTime, VRML viewer, VR Scout, etc)
![Page 21: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/21.jpg)
Client Side: Image Map
• Traditional server side image maps involves extra communication with the server.
<IMG SRC = "clientimage.gif" USEMAP = "#clientimage.map">
<MAP NAME = "clientimage.map">
<AREA SHAPE = "RECT" COORDS = "0, 0, 109, 74" HREF = "#T1">
<AREA SHAPE = "RECT" COORDS = "110, 0, 218, 74" HREF = "#T9">
</MAP>
• Spyglass Mosaic, Netscape, MS-IE do client side image map differently
• With browsers do not have build-in image map, a combination of image maps might be needed.
Go to Top Page Go to Title T9
![Page 22: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/22.jpg)
Client Side: Code Generation
• With different platforms of databases exist out in the fields, an efficient way of extracting information for data warehouse and data mining is needed.
• As database exist in different platforms, program automation is needed to ensure consistence.
• The concept of Netobj is born. As with any object, a Network Object contains both data and operations on the data. The object itself is actually logically exists in the network. That means that a Network Object can "reside on" and "be accessed by" any system (VM, MVS, AIX, OS/2, and AS/400) connected to the network.
• The goal for a collection of Network Objects is to provide a "logical" data warehouse for a business enterprise. This warehouse will contain both data and information necessary for running a business.
![Page 23: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/23.jpg)
Client Side: NetObj
• Code Generation
• Fourth generation language
• The following type of files are generated:- DDS Files (Data definition files)- IDL File (Definition files for rpc)- Client Code (Stub of connect)- Server Code (Stub listening)- Procedure Code (Code contain SQL statement, does operations)
• C with imbedded SQL
• Java with JDBC
DB 1
DB 2
Server Code 1
Server Code 2
Client 1 Client 2
![Page 24: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/24.jpg)
Client Side: WinObj
• Pushing the concept of NetObj all the way to the client side, we have WinObj
• WinObj are user interface that reside on any platform on the network (Unix, Browser, VM, MVS)
• It provides consistent user interface to data and information (represented by Network Objects).
• It will link with Network Objects, and access common data and information from any system.
• It can generated Visual C++, REXX for Mainframe, C for UNIX, Java and HTML for browsers
• Remember we still have 44% of non-windows clients.
User Interface 1 User Interface 2
Client 1 from Netobj Client 2 from Netobj
![Page 25: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/25.jpg)
Server Side Processing
• We needed an Integrated Server Solution Instead of Different Machines will all kind of different information
• Single Sign-on for Authentication to Internet/Intranet, Legacy Application, x500, LDAP, NetWare, NT and any other LAN application.
• Internet/Intranet File Serving with choices of system (NetWare, AS/400, Unix, etc).
• All Information from LAN (NetWare, NT, Lanserver) available for Internet/Intranet usage.
• All Information from Legacy Application available for Internet/Intranet usage.
• CGI-BIN has access to Database, Application Data and all the information from the LAN.
![Page 26: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/26.jpg)
Server Side Processing
Integrated Solution From the Server Side
Servers- Files- Mail Service- Print- Directory (x.500, LDAP)
ServiceApplicationServer
Traditional ApplicationSystemMVS, VM, CICS, etc
Internet/IntranetWeb ServersHTML, JavaScriptJava Applet/Appl
Clients
HTMLGateway
NetWare “Gateway”
NT “Gateway”
![Page 27: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/27.jpg)
Backend of Server: Database
• A Web Server gateway is needed to allow the access of relational database management system
• An easy-to-use Web page paradigm for Web application development: no complex programming is required.
• Ability to work from any Web client (browsers)
• JDBC might be one of the solution(But what happen to all the non-java platforms ?)
• Picking the common denominator, a CGI-BIN implementation should be used
![Page 28: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/28.jpg)
WWW Database Connection
• One example to make your database information available through the internet.
![Page 29: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/29.jpg)
WWW Database Connection
• A Web server gateway can be build to access database. An application programmer writes macros, which are stored on the Web Server, letting customers query databases using HTML forms. The result of the query are displayed on the browsers.
![Page 30: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/30.jpg)
WWW Database Connection
![Page 31: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/31.jpg)
WWW Database Connection
• Authentication- Using the web server to control access to directories.- Same pwd and userid can be used to authenticate to database.
• Encryption- With SSL (Secured Sockets Layer) or SHTTP.
• Firewall- Web Database Gateway can be protected under a firewall as well.
![Page 32: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/32.jpg)
WWW Database Connection
• For most transactions you will find it useful to call an input section before making the query.
• The macro can be called using<A href="http://www.ibm.com/cgi-bin/db2www/equiplst.d2w/input">
List of hardware</A>
• Macro Section:%DEFINE DATABASE="MNS95"
%HTML_INPUT{
<H1>Hardware Query Form</H1>
<FORM METHOD="POST" ACTION="/cgi-bin/db2www/equiplst.d2w/report">
<dt>What hardware do you want to list?
<dd><input type="radio" name="hdware" value="MON" checked>Monitors
<dd><input type="radio" name="hdware" value="PNT">Pointing devices
<dd><input type="radio" name="hdware" value="PRT">Printers
<dd><input type="radio" name="hdware" value="SCN">Scanners
</dl>
<input type=submit value=Submit> </FORM> %}
%SQL{
SELECT MODNO, COST, DESCRIP FROM DB2USER.EQPTABLE
WHERE TYPE=$(hdware)
%SQL_REPORT{
<B>Here is the list you requested:</B>
<TABLE>
<TR>
<TD>$(N1)</TD>
<TD>$(N2)</TD>
<TD>$(N3)</TD>
%ROW{
<TR>
<TD>$(V1)</TD>
<TD>$(V2)</TD>
<TD>$(V3)</TD>
%}
</TABLE>
%}
%}
%HTML_REPORT{
%EXEC_SQL
%}
![Page 33: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/33.jpg)
WWW Database Connection
• Macro file format uses cross-language variable substitution (Code Generation)
• A JDBC Runtime can be provided to add advance functions
• DB2 World Wide Web Connection is an example products
• Access to other kind of database might be needed (Sybase, Access, Oracle, etc)
Hardware Query Form
What hardware do you want to list ?
[+] Monitors [] Pointing devices [] Printers [] Scanners
SubmitSubmit
![Page 34: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/34.jpg)
Put All Existing Applications on the Web !!!
The Workstation Gateway• A lot of applications still runs under text-based workstations and emulators
• Open all the applications to the internet market
• Port to internet without re-coding
• Port to internet even without having to run conversion program
• Use existing tools to do development for the web
• No need to retrain all programmers
• Traditional applications sent out in a 5250 data stream to the workstation, which then displays the text.
• Workstation Gateway intercepts the 5250 data stream and converts it to HTML, which any WWW browser can display
![Page 35: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/35.jpg)
Workstation Gateway
• A real example from IBM … Any PC that has a Web browser installed can run AS/400 applications !!!
![Page 36: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/36.jpg)
Workstation Gateway
After the 5250 connection from the Web browser to AS/400 is made. A set of events occurs:
• The request is received and processed
• The user job processes the application
• The workstation I/O is converted from 5250 to HTML
• The HyperText Markup Language (HTML) code is sent to the browser
• The connection is ended
The processes involved in establishing, processing, and ending this connection are:
• The Workstation gateway server jobs
• The user job (one per client)
• The communications router tasks
• The virtual terminal task
• The Telnet task
![Page 37: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/37.jpg)
Workstation Gateway
• Instant WWW access for all existing AS/400 applications without re-coding
• Use of existing development tools to develop for the internet
• Use Web browsers to run AS/400 applications
• Add graphics to AS/400 applications without disrupting workstation users
![Page 38: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/38.jpg)
Client and Server Processing
• Recap …
• Client Side Processing usually being used as performance solution.
• JavaScript and Java as well as CGI-BIN should work together to produce the best results.
• Different Platforms still exist without Java or JavaScript. Code generation can be used.
• A lot of opportunities still exists for research topics.
• Client Side Processing has to work together with Server Side in order to produce the best possible business results.
![Page 39: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/39.jpg)
Security on the Internet
• Do you know an internet a carrier has the ability to "take a peek" at your private information ?
• The following technology is available for providing limited security:
– Security ProtocolsMostly developed by commercial sites
– Methods of Securing CommunicationsRestrict access to your computer OR encrypt your communications
– Secure Applications and Netscape’s Broken SecurityLet’s look at how people break Netscape security
– Surveillance on the InternetThe government steps in …
![Page 40: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/40.jpg)
Security Issues
Secure Transfer Protocols
• SSLSecure Sockets Layer from Netscape. It provides low-level security for application protocols such as NNTP and HTTP
• SHTTPDeveloped by NCSA and RSA. Add message-based security to HTML. Can be used with SSL.
• Both under development
Securing Communications• Firewalls
Limit the internet traffic from the rest of the world (More later)
• Public Key CryptographyAnyone may encode a message and send it to you using the public key, but only you can decode and read a message with your private key (Electronic signatures and certification)
• RSATwo prime numbers multiplied together as key
• Anonymous RemailersAnonymous remailers forward your mail anonymously to their destinations (FBI can find it anyway)
![Page 41: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/41.jpg)
Security Issues
Secure Applications
• Application suppose to provide security functions
• July 14, 1994. The key of Netscape message is broken by 120 and two parallel supercomputers in eight days. (Netscape is using 40bit instead of 128bit encode method.)
• To deduce any key in about 25 second. Only a few seeds were used to generate random number by the system. (Increase the number of seeds.)
Surveillance on the Internet
• Clipper Chip (Skipjack algo by National Security Agency)
• Government access to the decryption key for ‘“tapping” of internet traffic
• Encryption algo restricted only to the government
• It is voluntary for now
• May enforce later ???
![Page 42: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/42.jpg)
Security: Firewall Technology
• A firewall is a control point between the private inner network and the untrusted outside network
• The basic building-block are
– Packet filtering router (normally a piece of hardware)
– Circuit Gateways (Two software modules)
– Proxy software (Aka application gateways)
• Common configurations are “Dual Homed Gateway”, “Screened Host” and “Screened Subnet”.
![Page 43: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/43.jpg)
Security:Packet filtering routers
Router
OK
Internet(Outside of Firewall)
No Denied
Flow of traffice
Physical Network
Send me to141.131.22
Private networks(inside firewall
141.131.44.1
Send me to141.131.44.1
141.131.22
![Page 44: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/44.jpg)
Security:Packet filtering routers
• Router acts as network traffic cop
• Read the packet header with source network address, destination network address, and the port of the source and destination address
• Enhanced to selectively pass on packets according to rules
• Permit or denied a set of network addresses and ports
• Some protocol requires that a call be made from outside to inside the firewall to set up connection (I.e. the outside party must callback)
• FTP and X Windows are examples
• With FTP, no way to know remote port in advance
• Complex to setup, test and maintain
![Page 45: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/45.jpg)
Security: Circuit Gateways
Flow of traffice
Physical Network
Internet(Outside of Firewall)
Private networks(inside firewall
PortP1
PortP2
PortP3
PortP4
Applicationand CircuitGatewaySoftware
Internet Server
Client Inside Firewall
No, denied; talk tothe circuit gateway
No, denied; talk tothe circuit gateway
Gateway
Relay
![Page 46: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/46.jpg)
Security: Circuit Gateways
• Computers sit between two networks (Internet and private net)
• Software module on the client computer on the inner net
• Software module (relay) on the gateway machine
• Connection on P1 to P2, P3 to P4
• Packets management by copying data packets on P2 and P3
• “Dual-homed gateway”
• May be a bottom neck if not management correctly
• Still FTP will not work as there is no network callback support
![Page 47: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/47.jpg)
Security: Application Gateways
Internet(Outside of Firewall)
Private networks(inside firewall
PortP1
PortP4
TelnetApplication
T
Internet Server(weeble.other.com)Client Inside Firewall
(daisy.any.com)Flow of traffice
Physical Network
PortP2Port
P2PortP3
No, denied; talk tothe circuit gateway
No, denied; talk tothe circuit gateway
TelnetProxy
TP
Firewall Components
PacketFilteringRouterR
TelnetServer
TS
firewall.any.com
![Page 48: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/48.jpg)
Security: Application Gateways
• Aka Proxies
• Application protocol can be understand
• Special version of server software and understands a subset of client programs commands
• Client has to telnet to the gateway
• Data packets copied between P2 and P3
• Router added to ensure only packet exchange between TP and Internet
• Packet only send from outside to P3
• Router only accept incoming packet from P3
• FTP and others will work
• “Screened host firewall”
![Page 49: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/49.jpg)
Security: Screened subnet
PacketFiltering Router
R1
Gateway
Web Server
Screened Subnet
PacketFiltering Router
R2PrivateInner
Subnet
Web Client
OtherClients
![Page 50: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/50.jpg)
Security:Screened subnet firewall
• “Screened subnet firewall”
• Good choice to offer public service (web service)
• R1 blocks internet traffic from accessing info on private inner subnet
• R2 gives an extra level of protection to the private inner subnet by blocking all network traffice from the Web server
• One of the best choice today
![Page 51: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/51.jpg)
WWW DBCS Processing
• Multiple DBCS problems exists when we deal with client/server technology today
• Different fix pack level
• Lack of design
• Lack of education
• Lack of testing
• Important problem facing the software industry
Database
Server Application Code
Server Base OS
Network Code
Client Base OS
Client Application Code
![Page 52: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/52.jpg)
DBCS: International Standard
• W3C - an industry consortium
• Promote standards for the evolution of the web
• Interoperability between WWW products by producing specifications and reference software
• Members: Apple, AT&T, IBM, Microsoft, Netscape, Novell, etc
![Page 53: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/53.jpg)
DBCS: HTTP Content
HTTP Content Negotiation
• Simple request-response architecture with content negotiation
Example:Client GET /japanese.html HTTP/1.1
Accept-Language:ja, en;q=0.5
Accept-Charset: x-sjis, x-eu c-jp;q=0.5
Accept: */*
Server 200 OK
Content-Type: text/html; charset=x-sjis
Content-Language: ja
Content-Length: 1042
… data ...
• If Accept-Language is missing, server assumes any language is acceptable (Problem ?)
• If Accept-Charset is missing, server assumes any coded character set is acceptable
• Content-Language can contain more than one language
![Page 54: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/54.jpg)
DBCS: Bidi Problem
HTML Bidi Language
• Problem:
E.g. <B> … RLE … </B> … PDF
where RLE is ‫ (U+202B) and
PDF is ‬ (U+202C)
• Solution:- Use the DIR attribute instead of RLE/LRE
and PDF
- E.g. <P DIR=RTL> … <Q DIR=LTR>
… </Q> … </P>
• The DIR attribute is used to indicate the directionality of the text order
– Normally used to indicate direction in the context of bidi text
– LTR (left-to-right) orRTL (right-to-left)
– Equivalent to U+202A Left-to-Right (LRE)U+202B Right-to-Left (RLE)
– Eng tagU+202C Pop directional formatting (PDF)
![Page 55: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/55.jpg)
DBCS: Coded Character Set
Coded Character Set Problem from document source
• Problem:E.g. <HEAD>
<META HTTP-EQUIV=“Content-Type” CONTENT=“text/html CHARSET=ISO-8859-4”>
<TITLE> … </TITLE>
Chicken-and-egg problem: may not work unless
the META tag is encoded in US-ASCII
• Problem:E.g. <A HREF=…CHARSET=“UTF-8”> .. </A>
May fail if the linked document’s CHARSET is changed
HTML Forms Problem• The server indicates the
CHARSETs it can accept via the ACCEPT-CHARSET attribute of the INPUT and TEXTAREA elements
E.g. <INPUT Accept-Charset=“x-sjis, x-euc-jp” .>
• Interpreted as either x-jis or x-euc-jp, not both !
• User agent is responsible in letting the user know which coded character sets are acceptable
![Page 56: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/56.jpg)
Integration and Build
• Complex Problem when doing integration for 1000+ components with 7 different platforms
• 150+ PY working on development and build tools
• OO Build Framework can be used
• Source Code Configuration managment tools are used
• HTML/CGI-BIN/JAVA can be build by the framework as well
Web Files
CGI-BIN Program
Server Code
Client Code
1000+ OtherComponents
DifferentRelease
(Version)
New Code
…………..
Release Driver 1 Driver N
Development Environment
![Page 57: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/57.jpg)
Integration and Build
Build Framework A Web Build Tool in the Build Framework
• Macros:E.g.:
define(`BULLET', <img align=top src="/afs/rchland.ibm.com/usr8/sinn/WWW/images/bullet_blue.gif"alt="">)
<HTML>
BULLET() List one
</HTML>
• Compile like a C or Java programs
• Other usage: Code generation, CGI-BIN, Different Language
Build Tools Appications(OS/2, NT, Win31, AIX, AS/400)
GUI
CMVC DB
File System (UNIX, PC)
Communication (TCP/IP NetBios)
![Page 58: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/58.jpg)
Internet Agent
• An interesting Idea
• What are Agents ?Agents can be considered personal software assistants with authority delegated from their users
• Human software entities that can perform a variety of tasks for their human master (e.g. Desktop agents, Software Agent as component - Steven Ketchpel 1994, COACH Agent - Lisp learning agent 1994, Learning Agent - CMU 1994)
• What about on the internet ?BargainFinder agent - Andersen Consulting 1995
• WebCrawler - resource discovery tool for the WWW that provides a fast way of finding resource by maintaining an index of specific topics
• Lycos is considered by some as an agent program with “best-first-search”
![Page 59: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/59.jpg)
Internet Agent
The Web Maintenance Problem
• How can we pick up all the dead link on a site with 10GB content and over 200,000 files + database ?
• Past Approaches
• Server Log AnalysisURL of return code (301 Moved Permanently)URL of Web pages that refer these links
• Manual Traversal
![Page 60: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/60.jpg)
Internet Agent
Web Maintenance Spiders - WebWalker
• Look up task description from task file
• Can run at a CGI-BIN script– A Web Robot Must Show ID
– Must obey exclusion standard
– Must not hog resources
– Must report errors
• LimitationNot recommend to run on remote siteCan not run in parallel computerResource not share with multiple users
E.g Webwalker [-h] [-f taskfile] [-d
maxdepth]
Output: Broken Links:
http://www.yahoo.com/Society_and_Culture/
People/ (603 Time out)
Changed Links
http://www.yahoo.com/Regional/Countries/
(200 OK)
…
Summary
Traversed xxx xxx xxx
Tested xxx xxx xxx
Redirected xxx xxx xxx
...
![Page 61: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/61.jpg)
Conclusion
• Still a lot of rooms in research and new product ideas
• We are at the cutting edge
• The Next Generation Starts Now !!!
![Page 62: Internet Computing The Next Generation Starts from Now Richard P. Sinn.](https://reader035.fdocuments.in/reader035/viewer/2022062515/56649cd75503460f9499f6fe/html5/thumbnails/62.jpg)
THANK YOUFOR YOUR
ATTENTION !