Software Platform Trends and Emerging Technologies

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 5

UNIT - 4

Software Platform Trends and Emerging Technologies

There are five major themes in contemporary software platform evolution:

1. Linux and open-source software


2. Java

3. Enterprise software

4. Web services and service-oriented architecture

5. Software outsourcing

Open-source software is software produced by a community of several hundred


thousands of programmers around the world, and is available free of charge to be
modified by users, with minimal restrictions. The premise that open-source
software is superior to commercial software is based on the ability of thousands of
programmers modifying and improving the software at a much faster rate. In
return for their work, programmers receive prestige and access to a network of
other programmers, and additional for-pay work opportunities. The process of
improving open source software is monitored by self-organized, professional
programming communities. Thousands of open-source programs, ranging from
operating systems to office suites, are available from hundreds of Web sites.

Linux, an operating system related to Unix, is one of the most well-known open-
source software, and is the world's fastest growing client and server operating
system, along with related Linux applications. The rise of open-source software,
particularly Linux and the applications it supports, has profound implications for
corporate software platforms: cost reduction, reliability and resilience, and
integration, because Linux works on all the major hardware platforms from
mainframes to servers to clients. Because of its reliability, low cost, and integration
features, Linux has the potential to break Microsoft's monopoly of the desktop.

Java, an operating system-independent, object-oriented programming language,


has become the leading programming environment for the Web, and its use has
migrated into cellular phones, cars, music players, and more.

For each of the computing environments in which Java is used, Sun has created a
Java Virtual Machine that 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. A Macintosh PC, an IBM PC running Windows,
a Sun server running Unix, and even a smart cellular phone or personal digital
assistant can share the same Java application.

Java is typically used to create small Web programs called applets, but is also a
very robust language designed to handle text, data, graphics, sound, and video.
Java enables PC users to manipulate data on networked systems using Web
browsers, reducing the need to write specialized software. 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.
Software for enterprise integration is one of the most urgent software priorities
today for U.S. firms who need to integrate existing legacy software with newer
technology. Replacing isolated systems that cannot communicate with enterprise
software is one solution; however, many companies cannot simply jettison
essential legacy mainframe applications. Some integration can be achieved
by middleware, software that creates an interface or bridge between two different
systems. Firms increasingly purchase enterprise application integration (EAI)
software that enables multiple systems to exchange data through a single software
hub.

Figure 5-12

FIGURE 5-12 ENTERPRISE APPLICATION INTEGRATION (EAI) SOFTWARE VERSUS


TRADITIONAL INTEGRATION

EAI software (a) uses special middleware that creates a common platform with which all
applications can freely communicate with each other. EAI requires much less programming than
traditional point-to-point integration (b).
Web services, loosely coupled software components that use Web communication
standards, can exchange information between different systems regardless of
operating system of programming language. Web services technology is founded
on Extensible Markup Language (XML). XML was developed as a more powerful
markup language than Hypertext Markup Language (HTML), a page description
language specifying how content appears on Web pages. By marking data with
XML tags, computers can interpret, manipulate, and exchange data from different
systems.

Web services communicate through XML messages over standard Web protocols,
such as:

 SOAP (Simple Object Access Protocol)  is a set of rules for structuring
messages that enables applications to pass data and instructions to one
another.

 WSDL (Web Services Description Language) is a common framework for


describing the tasks performed by a Web service and the commands and
data it will accept so that it can be used by other applications.
 UDDI (Universal Description, Discovery, and Integration)  enables a Web service
to be listed in a directory of Web services so that it can be easily located.

Using these protocols, a software application can connect freely to other


applications without custom programming for each different application with which
it wants to communicate. The collection of Web services used to build a firm's
software systems constitutes a service-oriented architecture (SOA). SOA is an
entirely new way of developing software for a firm. In the past, separate applications were
written for different divisions and tasks and could not communicate with each other. In an
SOA environment, a single application can be used and reused as a "service" that can be used
by other services. For example, an "invoice service" can be written that is the only program in
the firm responsible to calculating invoice information and reports. Virtually all major
software vendors provide tools and entire platforms for building and integrating software
applications using Web services.

Figure 5-13

FIGURE 5-13 HOW DOLLAR RENT A CAR USES WEB SERVICES

Dollar Rent A Car uses Web services to provide a standard intermediate layer of software to “talk”
to other companies’ information systems. Dollar Rent A Car can use this set of Web services to
link to other companies’ information systems without having to build a separate link to each
firm’s systems.
Other software trends include:

 Ajax (Asynchronouse JavaScript and XML): Ajax, and a related set of


techniques called RIA ("rich Internet applications") use JavaScript or
Macromedia Flash programs downloaded to your client to maintain a near
continuous conversation with the server you are using. While making the
life of consumers much easier, Ajax and RIA are even more important for
another new software development: Web-based applications.

 Web-based applications: Software firms are delivering software services


over the Web to client computers and their customer's sites. Google's
Google Apps for Your Domain is a Web-based suite of productivity tools,
including online spreadsheet, word processing, and calendars, aimed at
small businesses.

 Mashups: Part of a movement called Web 2.0, and in the spirit of musical


mashups, 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 example, housingmaps.com can display
real estate listings in local areas from Craigslist.com overlaid on Google
Maps, with pushpins showing the location of each listing. The result of these
techniques is that instead of the Web being a collection of pages, it
becomes a collection of capabilities, a platform where thousands of
programmers can create new services quickly and inexpensively.

Web 2.0 refers to "the new Web applications" like those above and is also the name
of an annual conference. Web 2.0 can be described also as an expression of all the
changes above, plus changes in the way people and business use the Web and
think about human interaction on the Web. These changes include seeing the Web
applications as services, not packaged software, seeing users as co-developers,
harnessing collective intelligence, and lightweight user interfaces, development
models, and business models.

Although traditionally businesses developed unique software themselves, today


most new software is purchased from external sources. There are three external
sources for software:
 Commercial software packages
 Software services from an application service provider (ASP)

 Outsourcing application development to an outside software firm

Figure 5-14
FIGURE 5-14 THE CHANGING SOURCES OF SOFTWARE

U.S. firms will spend nearly $340 billion on software in 2006. Over 30 percent of that software
will come from outsourcing its development and operation to outside firms, and another 15
percent will come from purchasing the service from application service providers either on the
Web or through traditional channels.
Sources: Authors estimates; Bureau of Economic Analysis, 2006; IT Spending and Trends,
eMarketer, 2004; IT Spending and Trends, eMarketer, 2005; SEC 10K statements, various firms.
A commercial software package is a prewritten set of software programs for certain
functions, eliminating the need for a firm to write its own software program.
Enterprise systems are so complex that few corporations have the expertise to
develop these in house and instead rely on enterprise software packages from
vendors such as SAP and PeopleSoft.

An application service provider (ASP) is a business that delivers and manages


applications and computer services from remote computer centers to multiple
users using the Internet or a private network. The software is paid for typically on
a per-user, subscription, or per-transaction basis. Renting enterprise software
avoids the expense and difficulty of installing, operating, and maintaining the
hardware and software needed for complex systems.

Large and medium-sized businesses are using ASPs for enterprise systems, sales
force automation, or financial management, and small businesses are using them
for functions such as invoicing, tax calculations, electronic calendars, and
accounting. Application service providers also enable small and medium-sized
companies to use applications that they otherwise could not afford

In outsourcing, a firm contracts custom software development or maintenance to


outside firms, frequently firms operating in low-wage areas of the world. With the
growing sophistication and experience of offshore firms, more and more new-
program development is outsourced.

You might also like