22
MP3 / MD740 Strategy & Information Systems Sept. 29, 2004 The Evolution of Software Technologies, Computing Architectures, and their Business Implications: Software as a Service, Java, Distributed Computing, and Web Services

MP3 / MD740 Strategy & Information Systems Sept. 29, 2004 The Evolution of Software Technologies, Computing Architectures, and their Business Implications:

Embed Size (px)

Citation preview

MP3 / MD740Strategy & Information Systems

Sept. 29, 2004

The Evolution of Software Technologies, Computing Architectures,

and their Business Implications: Software as a Service, Java, Distributed

Computing, and Web Services

Topics Covered

• ASPs / HSVs– Software as a service

• Computing Platforms and Java– Understanding the relationship between technology, strategy, and

product adoption• Architectures

– enable the range of technical options (and hence business options) available to a firm

– implications regarding cost, flexibility, security• Host / Terminal Model

– Old school, still enforced• Client / Server Model

– Request / Response• Web Services

– Linking applications made easier

Traditional Programs...

RealPlayer for Windows

RealPlayerfor Macintosh

Windows Compiler

Macintosh Compiler

Intelcode

1001001001...

0101100101...

PowerPC code

… are written for an Operating System (Windows, Macintosh, etc.) & compiled for a microprocessor (Intel x86, Power, Sun UltraSPARC, Compaq Alpha, etc.). Compiled code is ready to be executed by the appropriate microprocessor (fast).

DrawWindow()……

GetWindow()……

"[The Windows API] is so deeply embedded in the source code of many Windows apps that there is a huge switching cost to using a different operating system instead. It is this switching cost that has given the customers the patience to stick with Windows through all our mistakes, our buggy drivers, our high TCO [total cost of ownership], our lack of a sexy vision at times, and many other difficulties. Customers constantly evaluate other desktop platforms, [but] it would be so much work to move over that they hope we just improve Windows rather than force them to move."

-- Microsoft C++ general manager Aaron Contorer explains Windows' greatest selling point in a 1997 memo to Bill Gates. [source: San Jose Mercury News GMSV]

Java - a Cross-Platform Standard

• Java Consist of Two Components– object oriented programming language– virtual machine (software that executes Java byte code)

• Advantages– write-once run-anywhere. Runs on any machine with a JVM

(Java Virtual Machine) regardless of OS or microprocessor– object-oriented language (reuse, faster dev.)– secure

• Disadvantages– slow due to download times– slow due to interpreting line by line– inconsistent Java Virtual Machines

Java Programs...

Java Program Java Compiler

Windows,Intel JVM

0001011110...

… are written for the Java Virtual Machine (JVM). In theory, the same Java byte code can execute on any computer with a standard JVM, regardless of OS or processor (write once, run anywhere). Byte code is interpreted line-by-line for each processor (slow).

OpenWindow()……

Macintosh,PowerPC

JVM

Sun Solaris,Sparc JVM

Compaq UNIX, Alpha

JVM

Java bytecode

1011000110...

0101101100...

1100001010...

0111101100...

…and more

(code is generic & must be interpreted)

(JVM software isthe interpreter)

Java is Often Confused With...• JavaScript

– interpreted programming language that co-exists in same files as HTML (doesn’t need to be compiled into byte code)

– slower than Java– easier to program (you see this in your class

assignment)– supported by Netscape & Microsoft (w/some

consistency problems)– unlike Java, can only be used to create web pages

(Java can be used to create stand-alone applications that execute outside the browser).

Java is Often Confused With...• In-Browser applications (ActiveX, Plugins)

– ActiveX is Microsoft's component technology architecture (e.g. a way to string together pieces of reusable code).

– Compiled, so it’s faster than Java, but not cross platform.

– Unlike Java, it allows full access to the operating system (including file access commands). This means that ActiveX components are potentially less-secure than Java (easier to spread viruses, deploy malicious programs).

Host / Terminal Model

Dumb terminals typically display only text sent from host. They do not perform any computing & don’t have a microprocessor. PCs can run terminal programs to act like dumb terminals & access hosts.

All programs & data are on the host (usually mainframe)

Client / Server Computing• Client

– a program which makes request of another program, usually on another computer (e.g. web browser)

– requests data or other action from servers

• Server– a program (usually on another computer) that runs

services that are shared among multiple client/users on a network (ex. E-mail server, web server, database server).

– responds to client requests (delivers data, performs tasks)

Client / Server Model

PC executes client codeclient code makes a

request

Server executes server code & responds to request, holds data

sales

accounting

wheels

chemicals

Divide & Conquer

Share & Share Alike

business logicpalm

pocket pc

web

data

fat client (stored on local disk)

N-tier Client/Server

Local offices“screen real estate” - localization

Regional officesTrade regulations

Global HQCompany-wide standards for service,Central database

France

Italy

USA

Mexico

EU

NAFTA

Headquarters

Legacy Systems = IS HandcuffsMany firms have limited to no integration across

geographic areasfunctional areas (v-chain)

products, plants, & business units

Inbound Operations Outbound Marketing Servicelogistics logistics & Sales

Infrastructure: general mgmt, planning, finance, ISHRM: recruiting, hiring, training, and developmentTech. Development: R&DProcurement

BuyersSuppliers

Linking Applications

• EDI – Electronic Data Interchange– Well established (X.12/EDIFACT)– Expensive over private networks, complex

• Package Applications– Fast to deploy, but limited to vendor offerings

• Web Services– A collection of technologies (an alphabet soup of

tech standards & communications protocols) that together get computer programs to talk to one another.

– XML, SOAP, UDDI, WSDL, …

southwestairlines.com

dollar.com

alamo.com

hertz.com

Inter-Firm Web Services