the evolution of computing john r. durrett isqs 6343
TRANSCRIPT
![Page 1: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/1.jpg)
The Evolution of Computing
John R. Durrett
ISQS 6343
![Page 2: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/2.jpg)
Mainframe Era
• Mainframes– Dumb terminals– All processing on mainframe– Time Sharing– One vendor sold everything
• Mini-computer– Smaller mainframe– Local area network– Still centralized processing– Still host centric computing
![Page 3: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/3.jpg)
Vocabulary of OOP
• Class - “Cookie cutter”
• Object - “Cookie”
• 3 Pillars of OO Wisdom
• #1 Encapsulation
![Page 4: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/4.jpg)
• # 2 Polymorphism
• # 3 Inheritance
![Page 5: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/5.jpg)
Client / Server
• Open system
• Clients on PCs
• Server as a “specialist”– File, Database, Transaction,
Groupware (fat client / thin servers)
– Web Servers (thin client / fat server)
• Not host centric– Processes run on separate machines
– Shared Resources
– Transparency of location
![Page 6: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/6.jpg)
C/S Limitations
• Remote Procedure Call driven
• Based on simple Transactions– Single repeated requests– Small amount of data transferred– Short lived– Static locations
• Limited standards
• Performance– Network traffic– Process management
• Hard to change or reconfigure
![Page 7: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/7.jpg)
Distributed Objects
• Process based
• “Live anywhere on network”
• Well standardized– CORBA
– COM
• “Component ware”– History of software– OLE +
• Individual objects can be modified without affecting others parts of the system
• Agent model of computing
![Page 8: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/8.jpg)
Agent Based Computing
• RP based
• higher level of abstraction
• applets, distributed functions
• virtual terminal
• much more flexible - less hardware/OS dependent, easier to change code
![Page 9: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/9.jpg)
Software Agent
• “A Software program that can roam a network, interact with other agents, gather information and return home.”
• AI Community of the 1950’s– John McCarthy’s “software robots”
– Oliver Selfridge “intelligent agent” • Eliza - Weizenbaum (MIT)• MUDs - Carnegie Mellon’s TinyMUD
• Usenet - spam, spamdectors, cancelbots
• IRC - chatterbots, warbots, guardbots
• WWW - Spiders, Wanders
• IBM Charlie / Microsoft Bob
![Page 10: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/10.jpg)
Agent Dimensions
• Mobility– Office Bound (static agents)
• active env. monitoring
– Field Workers (mobile agents)• Knowledge workers
• “live” on remote servers
• Communications abilities– continuum
• coordination between agents– distributed artificial intelligence– Authority structure
• Learning
![Page 11: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/11.jpg)
General Magic
• General Magic
• Agent
• Place
• Telescript Engine
• Transactions
• Mobility
• Communication
• Agent Control & Coordination
• Travel Agency
![Page 12: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/12.jpg)
Driving forces
• Explosive growth in EC• Competitive environment• Growing complexity• Information overload• Decision Support/Expert System• Search & Retrieval• Mundane Time consuming chores• Java as an Agent Platform?
![Page 13: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/13.jpg)
The History of Java
• Oak– Green Project– small appliance user interface
• To Java in early 1995
• Distributed programming
• Well accepted by developers
• Acceptance by users is unclear
![Page 14: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/14.jpg)
Strengths
• Architecturally neutral– “comterpreted”– standardized APIs
• Multiple execution paths
• Managed memory system
• Easy– single inheritance– memory management– dynamic linking– no pointers
![Page 15: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/15.jpg)
Security
• Program (bytecode) verification
• No Overflows
• Variables by name not memory
• Applets – no file i/o– limited network connectivity– no external application calls
• Applications
![Page 16: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/16.jpg)
Java vs. C++
• No structs or enums
• Easy to use exceptions
• No functions, all object oriented
• No multiple inheritance
• No operator overloading
• No direct memory pointers
• No automatic type conversions
• No preprocessor
• Dynamic linking
![Page 17: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/17.jpg)
Weaknesses
• Java is slow– cost of interpreted language– cost of multi-threading– JIT compilers, Java chip
• Lack of dynamic mobility– Mobility continuum– Object state– Tcl, Telescript
• No uniform comm. model
• lack of standardized JVM
![Page 18: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/18.jpg)
Tools and APIs
• First generation tools– JDK, Symantec Café
• Second generation– J++, Visual J++– Visual Café
• Visual tools– Visual Age, vCafe 2.0
• APIs– RogueWave– SunSoft
![Page 19: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/19.jpg)
Fact Now
• William Blundon
– “The Truth about Java,” Internet World, V7N12, Dec 1996
– Director OMG
Good platform for building Client Software
• Easy to use and learn
• High Quality code
• database access
• Java Beans
![Page 20: The Evolution of Computing John R. Durrett ISQS 6343](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649f505503460f94c73947/html5/thumbnails/20.jpg)
Promises for the future?
• Good for Server Applications– I/O– execution speed
• Secure
• Write once & port anywhere
• Is it safe to bet on Java?