1 / 20

The Evolution of Computing

The Evolution of Computing. John R. Durrett ISQS 6343. 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.

rnewbill
Download Presentation

The Evolution of Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Evolution of Computing John R. Durrett ISQS 6343

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

  3. Vocabulary of OOP • Class - “Cookie cutter” • Object - “Cookie” • 3 Pillars of OO Wisdom • #1 Encapsulation

  4. # 2 Polymorphism • # 3 Inheritance

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

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

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

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

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

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

  11. General Magic • General Magic • Agent • Place • Telescript Engine • Transactions • Mobility • Communication • Agent Control & Coordination • Travel Agency

  12. 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?

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

  14. Strengths • Architecturally neutral • “comterpreted” • standardized APIs • Multiple execution paths • Managed memory system • Easy • single inheritance • memory management • dynamic linking • no pointers

  15. Security • Program (bytecode) verification • No Overflows • Variables by name not memory • Applets • no file i/o • limited network connectivity • no external application calls • Applications

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

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

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

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

  20. Promises for the future? • Good for Server Applications • I/O • execution speed • Secure • Write once & port anywhere • Is it safe to bet on Java?

More Related