130 likes | 340 Views
Stanford GSB High Tech Club Tech 101 – Session 1. Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager of Software Architecture, Open Port Technology February 22, 2001. Mission.
E N D
Stanford GSB High Tech ClubTech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager of Software Architecture, Open Port Technology February 22, 2001
Mission To equip the MBA audience with a fundamental understanding of the software industry and its terminology in hopes that they’ll sound better in interviews, and have a better idea where to look for more information (highly recommended).
Topics • What is software? • How it is developed? • And distributed systems? • Application Service Providers (ASPs) • Industry trends
Applications Word, Excel, Quicken Application Programming Interfaces (APIs), Libraries Win32, ODBC, OpenGL Windows, Sun Solaris, Linux Operating System (OS) Intel x86, Sun Sparc, DEC Alpha Hardware What is Software? • Set of instructions: tells the hardware what to do
Source Code Executable (Binary) Compiler How is Software Developed? • Assembly Code • Programming Languages (C, C++, Java) • Scripting Languages (Perl, Tcl, Shell) • Other programming “environments” (Application Servers, Visual Basic, etc.)
How is Software Developed? • Product management – Helps gather customer and market requirements, prioritize features, negotiate schedules, position product, etc. • Programmers – Research available tools/libraries/components, plan software architecture, write source code, fix bugs/improve efficiency • Quality Assurance (QA) – Tries to break the software before it is release to customers. Find bugs. • Client Support – Interfaces with customers to help them solve problems and answer questions. Often file bugs.
And Distributed Systems? Required for when applications scale past the capabilities of a single machine. • File Servers • Database Servers • Napster • The Internet!
Application Presentation Session Transport Network Data Link Physical And Distributed Systems? The “Layered” Network Model HTTP, SMTP, SNMP, etc. TCP IP Optical, Copper Wire, Wireless
And Distributed Systems? Ubiquitous Client/Server Application Domain Name Server (DNS) Client (Internet Browser) Server (Apache Web Server)
And Distributed Systems? Napster, a peer-to-peer (P2P) application Napster Server (Holds Song to IP mapping) Napster User 1 (Client + Server) Napster User 2 (Client + Server)
ASPs Classic client/server, but with much more complex server functionality (it runs the whole application!) Client 1 Server (session for 1, 2, 3) Client 2 Client 3
ASPs Drivers Include • Company gets to focus on their core competency • Easy upgrades, access to latest technology • Eliminates heavy infrastructure costs • Scalability, availability, backups • Fewer IT personnel, developers
Trends, Hot Fields • Outsourcing apps, infrastructure (ASPs, LoudCloud) • Outsourcing development (BaliCamp) • Proliferation of devices (IP v6) • Ad-hoc, often wireless networks (Jini) • Standard data exchange (XML) • Peer-to-peer applications