Chapter 13
EDI (electronic data interchange)
A term you might hear when talking about API's (sharing computing). It is a set of standards for exchanging information between computer applications. EDI is most often used as a way to send the electronic equivalent of structured documents between different organizations. One study showed that firms that used EDI decreased their error rates by 82 percent, and their cost of producing each document fell by up to 96 percent.
XML (extensible markup language)
XML has lots of uses, but in the context of distributed systems, it allows software developers to create a set of standards for common data elements that, like EDI messages, can be sent between different kinds of computers, different applications, and different organizations. XML is often thought of as easier to code than EDI, and it's more robust because it can be extended—organizations can create formats to represent any kind of data (e.g., a common part number, photos, the complaint field collected by customer support personnel)
software
a computer program or collection of programs. It is a precise set of instructions that tells hardware what to do
server
a program that fulfills requests (e.g., the Apache open source Web server)
Java
Wouldn't it be great if software could be written once and run everywhere? That's the idea behind Java—a programming language developed by Sun Microsystems.
Enterprise Software
refers to applications that address the needs of multiple, simultaneous users in an organization or work group.
whats the best way to think of software?
As a layer cake. Think about computer hardware as being at the bottom of the layer cake. The next layer is the operating system, the collection of programs that control the hardware. Windows, Mac OS X, iOS, and Linux are operating systems. On top of that layer are applications—a range of which include end-user programs like those in Office, apps that run on smartphones, and the complex set of programs that manage a business's inventory, payroll, and accounting. At the top of the cake are users.
Operating Systems
Computing hardware needs to be controlled, and that's the role of the operating system. The operating system (sometimes called the "OS") provides a common set of controls for managing computer hardware. raphical user interface (UI) items like scroll bars and menus are displayed on the hardware of the computer display.
database management system (DBMS), sometimes referred to as a "database system."
Most enterprise software works in conjunction with a ___. The database system stores and retrieves the data that an application creates and uses. Many ERP systems and enterprise software programs are configured to share the same database system so that an organization's different programs can use a common, shared set of data. This system can be hugely valuable for a company's efficiency.
integrated development environment
Most professional programmers use an integrated development environment (IDE) to write their code. The IDE includes a text editor, a debugger for sleuthing out errors, and other useful programming tools.
Application Software
Operating systems are designed to create a platform so that programmers can write additional applications, allowing the computer to do even more useful things. While operating systems control the hardware, application software (sometimes referred to as software applications, applications, or even just apps) perform the work that users and firms are directly interested in accomplishing.
Service oriented architecture
Organizations that have created a robust set of Web services around their processes and procedures are said to have a service-oriented architecture (SOA).
Scripting languages
Scripting languages are interpreted within their applications, rather than compiled to run directly by a microprocessor. This distinction makes them slower than the kinds of development efforts found in most commercial software. But most scripting languages are usually easy to use, and are often used both by professional programmers and power users.
enterprise resource planning (ERP) software packages
Since many firms have similar procedures for accounting, finance, inventory management, and human resource functions, it often makes sense to buy a software package (a software product offered commercially by a third party) to support some of these functions. These are called ___
Programming languages
So you've got a great idea that you want to express in software—how do you go about creating a program? Programmers write software in a programming language. While each language has its strengths and weaknesses, most commercial software is written in a variant of the C programming language such as C++ (pronounced "see plus plus"), C# (pronounced "see sharp"), or Objective C (popular for iOS app development). Visual Basic (from Microsoft) and Java (from Sun) are also among the more popular of the dozens of programming languages available.
API (or Application Programming Interface)
There are deeper technical issues that precisely define web services and the super-set of technologies known APIs (and even IBM says existing definitions aren't especially precise),[] but for managerial purposes you can think of Web services and APIs as doing pretty much the same thing; they are referring to pieces of code, and the request/response standards so that this code be summoned by other programs to perform a task. Have you seen firms other than Google using Google Maps? They can do this because Google publishes APIs so that others can use this service. As an example of the business value of APIs in action, consider the Expedia Affiliate Network. Expedia sells a lot of travel through its own apps and website, but it realized that by sharing its inventory with partners (for a cute of the revenue), Expedia could sell even more. API = sharing
TCO
Total cost of ownership
distributed computing
When computers in different locations can communicate with one another, this is often referred to as distributed computing. Ex: the World Wide Web The World Wide Web, like many other distributed computing services, is what geeks call a client-server system. Client-server refers to two pieces of software: a client (software program) that makes a request and a server that receives and attempts to fulfill the request. Another example is smartphone voice recognition software, such as Apple's Siri. Voice recognition typically requires computing power far greater than that held on a smartphone, so Apple sends your voice to a more powerful collection of servers for processing and interpretation.
hardware
When we refer to computer hardware (sometimes just hardware), we're talking about the physical components of information technology—the equipment that you can physically touch, including computers, storage devices, networking equipment, and other peripherals.