There are four major themes in contemporary software platform evolution:
- Linux and open source software
- Java, HTML, and HTML5
- Web services and service-oriented architecture
- Software outsourcing and cloud services
1. Linux and Open Source Software
Open source software is software produced by a community of several hundred thousand programmers around the world. According to the leading open source professional association, OpenSource.org, open source software is free and can be modified by users. Works derived from the original code must also be free. Open source software is by definition not restricted to any specific operating system or hardware technology.
Popular open source software tools include the Linux operating system, the Apache HTTP web server, the Mozilla Firefox web browser, and the Apache OpenOffice desktop productivity suite. Google’s Android mobile operating system and Chrome web browser are based on open source tools. You can find out more about the Open Source Definition from the Open Source Initiative and the history of open source software in the Learning Tracks for this chapter.
Linux
Perhaps the most well-known open source software is Linux, an operating system related to Unix. Linux was created by Finnish programmer Linus Torvalds and first posted on the Internet in August 1991. Linux applications are embedded in cell phones, smartphones, tablet computers, and consumer electronics.
Linux is available in free versions downloadable from the Internet or in low- cost commercial versions that include tools and support from vendors such as Red Hat.
Although Linux is not used in many desktop systems, it is a leading operating system for servers, mainframe computers, and supercomputers. IBM, HP, Intel, Dell, and Oracle have made Linux a central part of their offerings to corporations. Linux has profound implications for corporate software platforms— cost reduction, reliability, and resilience—because Linux can work on all the major hardware platforms.
2. Software for the Web: Java, HTML, and HTML5
Java is an operating system-independent, processor-independent, object- oriented programming language created by Sun Microsystems that has become the leading interactive programming environment for the web. The Java platform has migrated into mobile phones, tablets, automobiles, music players, game machines, and set-top cable television systems serving interactive content and pay-per-view services. Java software is designed to run on any computer or computing device, regardless of the specific microprocessor or operating system the device uses. For each of the computing environments in which Java is used, a Java Virtual Machine interprets Java programming code for that machine. In this manner, the code is written once and can be used on any machine for which there exists a Java Virtual Machine.
Java developers can create small applet programs that can be embedded in web pages and downloaded to run on a web browser. A web browser is an easy-to-use software tool with a graphical user interface for displaying web pages and for accessing the web and other Internet resources. Microsoft’s Internet Explorer, Mozilla Firefox, Google Chrome, and Apple Safari browsers are examples. At the enterprise level, Java is being used for more complex e-commerce and e-business applications that require communication with an organization’s back-end transaction processing systems.
HTML and HTML5
Hypertext Markup Language (HTML) is a page description language for specifying how text, graphics, video, and sound are placed on a web page and for creating dynamic links to other web pages and objects. Using these links, a user need only point at a highlighted keyword or graphic, click on it, and immediately be transported to another document.
HTML was originally designed to create and link static documents composed largely of text. Today, however, the web is much more social and interactive, and many web pages have multimedia elements—images, audio, and video. Third-party plug-in applications like Flash, Silverlight, and Java have been required to integrate these rich media with web pages. However, these add-ons require additional programming and put strains on computer processing. The next evolution of HTML, called HTML5, solves this problem by making it possible to embed images, audio, video, and other elements directly into a document without processor-intensive add-ons. HTML5 makes it easier for web pages to function across different display devices, including mobile devices as well as desktops, and it will support the storage of data offline for apps that run over the web.
Other popular programming tools for web applications include Ruby and Python. Ruby is an object-oriented programming language known for speed and ease of use in building web applications, and Python (praised for its clarity) is being used for building cloud computing applications.
3. Web Services and Service-Oriented Architecture
Web services refer to a set of loosely coupled software components that exchange information with each other using universal web communication standards and languages. They can exchange information between two different systems regardless of the operating systems or programming languages on which the systems are based. They can be used to build open standard web-based applications linking systems of two different organizations, and they can also be used to create applications that link disparate systems within a single company. Different applications can use web services to communicate with each other in a standard way without time-consuming custom coding.
The foundation technology for web services is XML, which stands for Extensible Markup Language. This language was developed in 1996 by the World Wide Web Consortium (W3C, the international body that oversees the development of the web) as a more powerful and flexible markup language than hypertext markup language (HTML) for web pages. Whereas HTML is limited to describing how data should be presented in the form of web pages, XML can perform presentation, communication, and storage of data. In XML, a number is not simply a number; the XML tag specifies whether the number represents a price, a date, or a ZIP code. Table 5.3 illustrates some sample XML statements.
By tagging selected elements of the content of documents for their meanings, XML makes it possible for computers to manipulate and interpret their data automatically and perform operations on the data without human intervention. Web browsers and computer programs, such as order processing or enterprise resource planning (ERP) software, can follow programmed rules for applying and displaying the data. XML provides a standard format for data exchange, enabling web services to pass data from one process to another.
Web services communicate through XML messages over standard web protocols. Companies discover and locate web services through a directory. Using web protocols, a software application can connect freely to other applications without custom programming for each different application with which it wants to communicate. Everyone shares the same standards.
The collection of web services that are used to build a firm’s software systems constitutes what is known as a service-oriented architecture. A service- oriented architecture (SOA) is set of self-contained services that communicate with each other to create a working software application. Business tasks are accomplished by executing a series of these services. Software developers reuse these services in other combinations to assemble other applications as needed.
Virtually all major software vendors provide tools and entire platforms for building and integrating software applications using web services. Microsoft has incorporated web services tools in its Microsoft .NET platform.
Dollar Rent A Car’s systems use web services for its online booking system with Southwest Airline’s website. Although both companies’ systems are based on different technology platforms, a person booking a flight on Southwest.com can reserve a car from Dollar without leaving the airline’s website. Instead of struggling to get Dollar’s reservation system to share data with Southwest’s information systems, Dollar used Microsoft .NET web services technology as an intermediary. Reservations from Southwest are translated into web services protocols, which are then translated into formats that can be understood by Dollar’s computers.
Other car rental companies have linked their information systems to airline companies’ websites before. But without web services, these connections had to be built one at a time. Web services provide a standard way for Dollar’s computers to “talk” to other companies’ information systems without having to build special links to each one. Dollar is now expanding its use of web services to link directly to the systems of a small tour operator and a large travel reservation system as well as a wireless website for cell phones and smartphones. It does not have to write new software code for each new partner’s information systems or each new wireless device (see Figure 5.11).
4. Software Outsourcing and Cloud Services
Today, many business firms continue to operate legacy systems that continue to meet a business need and that would be extremely costly to replace. But they will purchase or rent most of their new software applications from external sources. Figure 5.12 illustrates the rapid growth in external sources of software for U.S. firms.
There are three external sources for software: software packages from a commercial software vendor (most ERP systems), outsourcing custom application development to an external vendor (which may or may not be offshore), and cloud-based software services and tools (SaaS/PaaS).
4.1. Software Packages and Enterprise Software
We have already described software packages for enterprise applications as one of the major types of software components in contemporary IT infrastructures. A software package is a prewritten commercially available set of software programs that eliminates the need for a firm to write its own software programs for certain functions, such as payroll processing or order handling.
Enterprise application software vendors such as SAP and Oracle have developed powerful software packages that can support the primary business processes of a firm worldwide from warehousing, customer relationship management, and supply chain management to finance and human resources. These large-scale enterprise software systems provide a single, integrated, worldwide software system for firms at a cost much less than they would pay if they developed it themselves. Chapter 9 discusses enterprise systems in detail.
4.2. Software Outsourcing
Software outsourcing enables a firm to contract custom software development or maintenance of existing legacy programs to outside firms, which often operate offshore in low-wage areas of the world. For example, in 2013, IKEA announced a six-year offshore IT outsourcing deal with German infrastructure solutions firm Wincor Nixdorf. Wincor Nixdorf set up 12,000 point-of- sale (POS) systems in 300 IKEA stores in 25 countries. These systems use Wincor Nixdorfs POS TP.net software to control furniture checkout transactions in each store and consolidate all data across the retail group. Wincor Nixdorf provides IKEA with services that include operation and customization of the systems, as well as updating the software and applications running on them. Having a single software provider offshore helped IKEA reduce the work to run the stores (Existek, 2017). Offshore software outsourcing firms have primarily provided lower-level maintenance, data entry, and call center operations, although more sophisticated and experienced offshore firms, particularly in India, have been hired for new-program development. However, as wages offshore rise and the costs of managing offshore projects are factored in (see Chapter 13), some work that would have been sent offshore is returning to domestic companies.
4.3. Cloud-Based Software Services and Tools
In the past, software such as Microsoft Word or Adobe Illustrator came in a box and was designed to operate on a single machine. Today, you’re more likely to download the software from the vendor’s website or to use the software as a cloud service delivered over the Internet and pay a subscription fee.
Cloud-based software and the data it uses are hosted on powerful servers in data centers and can be accessed with an Internet connection and standard web browser. In addition to free or low-cost tools for individuals and small businesses provided by Google or Yahoo, enterprise software and other complex business functions are available as services from the major commercial software vendors. Instead of buying and installing software programs, subscribing companies rent the same functions from these services, with users paying either on a subscription or per-transaction basis. A leading example of software as a service (SaaS) is Salesforce.com, described earlier in this chapter, which provides on-demand software services for customer relationship management.
In order to manage their relationship with an outsourcer or technology service provider, firms need a contract that includes a service level agreement (SLA). The SLA is a formal contract between customers and their service providers that defines the specific responsibilities of the service provider and the level of service expected by the customer. SLAs typically specify the nature and level of services provided, criteria for performance measurement, support options, provisions for security and disaster recovery, hardware and software ownership and upgrades, customer support, billing, and conditions for terminating the agreement. We provide a Learning Track on this topic.
4.4. Mashups and Apps
The software you use for both personal and business tasks today may be composed of interchangeable components that integrate freely with other applications on the Internet. Individual users and entire companies mix and match these software components to create their own customized applications and to share information with others. The resulting software applications are called mashups. The idea is to take different sources and produce a new work that is greater than the sum of its parts. You have performed a mashup if you’ve ever personalized your Facebook profile or your blog with a capability to display videos or slide shows.
Web mashups combine the capabilities of two or more online applications to create a kind of hybrid that provides more customer value than the original sources alone. For instance, ZipRealty uses Google Maps and data provided by an online real estate database. Apps are small, specialized software programs that run on the Internet, on your computer, or on your mobile phone or tablet and are generally delivered over the Internet. Google refers to its online services as apps. But when we talk about apps today, most of the attention goes to the apps that have been developed for the mobile digital platform. It is these apps that turn smartphones and tablets into general-purpose computing tools. There are now millions of apps for the IOS and Android operating systems.
Some downloaded apps do not access the web, but many do, providing faster access to web content than traditional web browsers. Apps provide a streamlined non-browser pathway for users to perform a number of tasks, ranging from reading the newspaper to shopping, searching, personal health monitoring, playing games, and buying. They increasingly are used by managers as gateways to their firm’s enterprise systems. Because so many people are now accessing the Internet from their mobile devices, some say that apps are “the new browsers.” Apps are also starting to influence the design and function of traditional websites as consumers are attracted to the look and feel of apps and their speed of operation.
Many apps are free or purchased for a small charge, much less than conventional software, which further adds to their appeal. The success of these mobile platforms depends in large part on the quantity and the quality of the apps they provide. Apps tie the customer to a specific hardware platform: As the user adds more and more apps to his or her mobile phone, the cost of switching to a competing mobile platform rises.
At the moment, the most commonly downloaded apps are games, news and weather, maps/navigation, social networking, music, and video/movies. But there are also serious apps for business users that make it possible to create and edit documents, connect to corporate systems, schedule and participate in meetings, track shipments, and dictate voice messages (see the Chapter 1 Interactive Session on Management). Most large online retailers have apps for consumers for researching and buying goods and services online.
Source: Laudon Kenneth C., Laudon Jane Price (2020), Management Information Systems: Managing the Digital Firm, Pearson; 16th edition.
Heya i am for the first time here. I came across this
board and I find It truly useful & it helped me out a lot.
I hope to give something back and help others like you aided me.
Excellent post. I was checking continuously this blog and
I am impressed! Extremely useful info specifically the
last part 🙂 I care for such info much. I was seeking this particular information for a very long time.
Thank you and best of luck.
Perfect as usual
Enjoyed the read
Everyone loves it when individuals come together and share opinions. Great website, continue the good work!
Very good read
Good read as usual