Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 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... … 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). RealPlayer for Windows Windows Compiler 10010 01001... DrawWindow()… … RealPlayer for Macintosh GetWindow()… … Intel code Macintosh Compiler PowerPC code 01011 00101... "[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... … 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). (code is generic & must be interpreted) Java Program Java Compiler OpenWindow()… … Windows, Intel JVM 10110 00110... Macintosh, PowerPC JVM Sun Solaris, Sparc JVM 01011 01100... 11000 01010... Java byte code Compaq UNIX, Alpha JVM 01111 01100... 00010 11110... …and more (JVM software is the 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 All programs & data are on the host (usually mainframe) 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. 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 Divide & Conquer PC executes client code client code makes a request Server executes server code & responds to request, holds data Share & Share Alike sales accounting wheels chemicals N-tier Client/Server palm business logic pocket pc web fat client (stored on local disk) data France Italy EU USA Headquarters NAFTA Mexico Local offices “screen real estate” - localization Regional offices Trade regulations Global HQ Company-wide standards for service, Central database Legacy Systems = IS Handcuffs Many firms have limited to no integration across geographic areas functional areas (v-chain) products, plants, & business units Infrastructure: general mgmt, planning, finance, IS HRM: recruiting, hiring, training, and development Tech. Development: R&D Procurement Inbound Operations Outbound Marketing logistics logistics & Sales Suppliers Service Buyers 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, … Inter-Firm Web Services alamo.com southwestairlines.com dollar.com hertz.com