MP3 / MD740 Strategy & Information Systems Sept. 29, 2004 The Evolution of Software Technologies,...
-
Upload
elijah-strickland -
Category
Documents
-
view
214 -
download
0
Transcript of MP3 / MD740 Strategy & Information Systems Sept. 29, 2004 The Evolution of Software Technologies,...
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
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, …