Presentation is loading. Please wait.

Presentation is loading. Please wait.

Internet Computing The Next Generation Starts from Now Richard P. Sinn.

Similar presentations

Presentation on theme: "Internet Computing The Next Generation Starts from Now Richard P. Sinn."— Presentation transcript:

1 Internet Computing The Next Generation Starts from Now Richard P. Sinn

2 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

3 Introduction Web as a “top-level” protocol : Source (Browser) Destination (Server) Using MINE (Multipurpose Internet Mail Extensions) to define rules for exchanging information Web encapsulate other protocols including FTP, Gopher, WAIS (Wide Area Information Server), NNTP (USENET News) and telnet, etc. Web FTP TCP IP Web FTP TCP IP Phy Net

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

5 Introduction: Business Case

6 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

7 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

8 The Big Picture Servers - Files - Mail Service - Print - Directory (x.500, LDAP) Service Application Server Traditional Application System MVS, VM, CICS, etc Internet/Intranet Web Servers HTML, JavaScript Java Applet/Appl Client 3270, 5250, TCP/IP Socket Directory, File, Printing, Mail HTTP Security Availablility DBCS Integration Performance Security, Maintance Availability Security Performance, Available Current/Future Server Architecture

9 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

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

11 Client Side: Java An Applet Link name: Link URL: This URL will be added to the home page commercial misc section of the list. Applet Button 1Button 2

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

13 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

14 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

15 Client Side: JavaScript Last Name First Name Custom Search Sinn Richard Custom Search

16 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(); } 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" class="image_link uk-text-large uk-margin-small-left uk-margin-small-right">19 Client Side: Java and JavaScript 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

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

21 Client Side: Image Map Traditional server side image maps involves extra communication with the server. 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

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

23 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 1Client 2

24 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 1User Interface 2 Client 1 from NetobjClient 2 from Netobj

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

26 Server Side Processing Integrated Solution From the Server Side Servers - Files - Mail Service - Print - Directory (x.500, LDAP) Service Application Server Traditional Application System MVS, VM, CICS, etc Internet/Intranet Web Servers HTML, JavaScript Java Applet/Appl Clients HTML Gateway NetWare “Gateway” NT “Gateway”

27 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

28 WWW Database Connection One example to make your database information available through the internet.

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

30 WWW Database Connection

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

32 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 List of hardware Macro Section: %DEFINE DATABASE="MNS95" %HTML_INPUT{ Hardware Query Form What hardware do you want to list? Monitors Pointing devices Printers Scanners %} %SQL{ SELECT MODNO, COST, DESCRIP FROM DB2USER.EQPTABLE WHERE TYPE=$(hdware) %SQL_REPORT{ Here is the list you requested: $(N1) $(N2) $(N3) %ROW{ $(V1) $(V2) $(V3) %} %} %HTML_REPORT{ %EXEC_SQL %}

33 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 Submit

34 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

35 Workstation Gateway A real example from IBM … Any PC that has a Web browser installed can run AS/400 applications !!!

36 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

37 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

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

39 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 Protocols Mostly developed by commercial sites –Methods of Securing Communications Restrict access to your computer OR encrypt your communications –Secure Applications and Netscape’s Broken Security Let’s look at how people break Netscape security –Surveillance on the Internet The government steps in …

40 Security Issues Secure Transfer Protocols SSL Secure Sockets Layer from Netscape. It provides low-level security for application protocols such as NNTP and HTTP SHTTP Developed 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 Cryptography Anyone 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) RSA Two prime numbers multiplied together as key Anonymous Remailers Anonymous remailers forward your mail anonymously to their destinations (FBI can find it anyway)

41 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 ???

42 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”.

43 Security:Packet filtering routers Router OK Internet (Outside of Firewall) No Denied Flow of traffice Physical Network Send me to 141.131.22 Private networks (inside firewall Send me to 141.131.22

44 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

45 Security: Circuit Gateways Flow of traffice Physical Network Internet (Outside of Firewall) Private networks (inside firewall Port P1 Port P2 Port P3 Port P4 Application and Circuit Gateway Software Internet Server Client Inside Firewall No, denied; talk to the circuit gateway No, denied; talk to the circuit gateway Gateway Relay

46 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

47 Security: Application Gateways Internet (Outside of Firewall) Private networks (inside firewall Port P1 Port P4 Telnet Application T Internet Server ( Client Inside Firewall ( Flow of traffice Physical Network Port P2 Port P2 Port P3 No, denied; talk to the circuit gateway No, denied; talk to the circuit gateway Telnet Proxy TP Firewall Components Packet Filtering Router R Telnet Server TS firewall.any. com

48 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”

49 Security: Screened subnet Packet Filtering Router R1 Gateway Web Server Screened Subnet Packet Filtering Router R2 Private Inner Subnet Web Client Other Clients

50 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

51 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

52 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

53 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

54 DBCS: Bidi Problem HTML Bidi Language Problem: E.g. … RLE … … PDF where RLE is ‫ (U+202B) and PDF is ‬ (U+202C) Solution: - Use the DIR attribute instead of RLE/LRE and PDF - E.g. … … … 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) or RTL (right-to-left) –Equivalent to U+202A Left-to-Right (LRE) U+202B Right-to-Left (RLE) –Eng tag U+202C Pop directional formatting (PDF)

55 DBCS: Coded Character Set Coded Character Set Problem from document source Problem: E.g. … Chicken-and-egg problem: may not work unless the META tag is encoded in US-ASCII Problem: E.g... 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. 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

56 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+ Other Components Different Release (Version) New Code ………….. Release Driver 1Driver N Development Environment

57 Integration and Build Build FrameworkA Web Build Tool in the Build Framework Macros: E.g.: define(`BULLET', ) BULLET() List one 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 CMVCDB File System (UNIX, PC) Communication (TCP/IP NetBios)

58 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”

59 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 Analysis URL of return code (301 Moved Permanently) URL of Web pages that refer these links Manual Traversal

60 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 Limitation Not recommend to run on remote site Can not run in parallel computer Resource not share with multiple users E.g Webwalker [-h] [-f taskfile] [-d maxdepth] Output: Broken Links: People/ (603 Time out) Changed Links (200 OK) … Summary Traversedxxxxxxxxx Testedxxxxxxxxx Redirectedxxxxxxxxx...

61 Conclusion Still a lot of rooms in research and new product ideas We are at the cutting edge The Next Generation Starts Now !!!


Download ppt "Internet Computing The Next Generation Starts from Now Richard P. Sinn."

Similar presentations

Ads by Google