stanford gsb high tech club tech 101 – session 1 introduction to software, distributed...

13
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

Upload: marian-foster

Post on 18-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

Stanford GSB High Tech Club

Tech 101 – Session 1

Introduction to Software, Distributed Architectures, and ASPs

Presented by Shawn CarolanFormer Manager of Software Architecture, Open Port Technology

February 22, 2001

Page 2: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

MissionMission

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

Page 3: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

TopicsTopics

What is software?How it is developed?And distributed systems?Application Service Providers (ASPs)Industry trends

Page 4: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

What is Software?What is Software?

Set of instructions: tells the hardware what to do

Operating System (OS)

Hardware

Application ProgrammingInterfaces (APIs), Libraries

Applications Word, Excel, Quicken

Win32, ODBC, OpenGL

Windows, Sun Solaris, Linux

Intel x86, Sun Sparc, DEC Alpha

Page 5: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

How is Software Developed?

How is Software Developed?

Assembly CodeProgramming Languages (C, C++, Java)Scripting Languages (Perl, Tcl, Shell)Other programming “environments” (Application

Servers, Visual Basic, etc.)

CompilerSource CodeExecutable

(Binary)

Page 6: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

How is Software Developed?

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.

Page 7: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

And Distributed Systems?And Distributed Systems?

Required for when applications scale past the capabilities of a single machine.

File ServersDatabase ServersNapsterThe Internet!

Page 8: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

And Distributed Systems?And Distributed Systems?

The “Layered” Network Model

Physical

Data Link

Network

Transport

Session

Presentation

Application HTTP, SMTP, SNMP, etc.

TCP

IP

Optical, Copper Wire, Wireless

Page 9: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

And Distributed Systems?And Distributed Systems?

Ubiquitous Client/Server Application

Client(Internet Browser)

Server(Apache Web Server)

Domain Name Server(DNS)

Page 10: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

And Distributed Systems?And Distributed Systems?

Napster, a peer-to-peer (P2P) application

Napster User 2(Client + Server)

Napster Server(Holds Song to IP mapping)

Napster User 1(Client + Server)

Page 11: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

ASPsASPs

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

Page 12: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

ASPsASPs

Drivers IncludeCompany gets to focus on their core competencyEasy upgrades, access to latest technologyEliminates heavy infrastructure costsScalability, availability, backupsFewer IT personnel, developers

Page 13: Stanford GSB High Tech Club Tech 101 – Session 1 Introduction to Software, Distributed Architectures, and ASPs Presented by Shawn Carolan Former Manager

Trends, Hot FieldsTrends, 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