What are the current computer software platforms and trends?

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 hun­dred 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 op­erating 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 op­erating 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 sys­tem related to Unix. Linux was created by Finnish programmer Linus Torvalds and first posted on the Internet in August 1991. Linux applications are embed­ded 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 operat­ing system for servers, mainframe computers, and supercomputers. IBM, HP, Intel, Dell, and Oracle have made Linux a central part of their offerings to cor­porations. 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 be­come the leading interactive programming environment for the web. The Java platform has migrated into mobile phones, tablets, automobiles, music play­ers, 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 op­erating 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 brows­ers 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 im­mediately 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 re­quired 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 pos­sible to embed images, audio, video, and other elements directly into a doc­ument 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 ex­change information with each other using universal web communication standards and languages. They can exchange information between two differ­ent 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 sin­gle 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 de­velopment 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 mean­ings, XML makes it possible for computers to manipulate and interpret their data automatically and perform operations on the data without human inter­vention. 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 ex­change, enabling web services to pass data from one process to another.

Web services communicate through XML messages over standard web pro­tocols. 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 communi­cate 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 in­formation 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 comput­ers 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 sys­tems 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 com­mercial 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 pro­grams 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 man­agement, 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 develop­ment 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 infrastruc­ture 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 sin­gle 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 busi­nesses provided by Google or Yahoo, enterprise software and other complex business functions are available as services from the major commercial soft­ware vendors. Instead of buying and installing software programs, subscribing companies rent the same functions from these services, with users paying ei­ther 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 ser­vice provider, firms need a contract that includes a service level agreement (SLA). The SLA is a formal contract between customers and their service pro­viders 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 termi­nating 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 com­posed of interchangeable components that integrate freely with other applications on the Internet. Individual users and entire companies mix and match these soft­ware components to create their own customized applications and to share infor­mation 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 ser­vices 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 stream­lined non-browser pathway for users to perform a number of tasks, ranging from reading the newspaper to shopping, searching, personal health monitor­ing, 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 conven­tional 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.

2 thoughts on “What are the current computer software platforms and trends?

  1. Carmon says:

    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.

  2. Alphonso says:

    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.

Leave a Reply

Your email address will not be published. Required fields are marked *