The computer world is like a big exclusive club, complete with its own language. If you want to be accepted into the Royal Order of Computer Geeks, you had better learn the lingo. The following mini glossary helps you start.
ActiveX A relatively new technology that makes it easy both to embed animated objects, data, and computer code in the documents that you create and to share those objects with others. For example, with ActiveX, you can open a file created in Microsoft Word in your Web browser (for instance, Internet Explorer) and edit it just as if you had opened it in Word.
display card standard that increases the speed at which display instructions
travel from your system unit to the monitor. AGP is about four times faster
than the previous standard display configuration. Accelerated Graphics Port
Application Also known as program, a set of instructions that enable a computer to perform a specific task, such as word processing or data management. An application can also be a collection of programs, called a suite.
ASCII file A file containing characters that any program on any computer can use. Sometimes called a text file or an ASCII text file. (ASCII is pronounced "ASK-key.")
BIOS (basic input-output system) The BIOS, pronounced "BUY-ose," is the built-in set of instructions that tell the computer how to control the disk drives, keyboard, printer port, and other components that make up your computer. Think of the BIOS as the little black box inside new cars that keeps everything working in sync. The BIOS is stored on a ROM (read-only memory) chip. A flash BIOS enables you to update the BIOS by running a software program instead of replacing the ROM chip. A PnP BIOS supports plug-and-play components.
bit The basic unit of data in a computer. A computer's alphabet consists of two characters--
1 and 0. 1 stands for On, and 0 stands for Off. Bits are combined in sets of eight to form real characters, such as A, B, C, and D. See also byte.
bits per second A unit for measuring the speed of data transmission. Remember that it takes 8 bits to make a byte (the equivalent of a single character). Modems have common bps ratings of 28,800 to 56,600.
boot To start a computer and load its operating system software (usually Windows).
bps See bits per second.
bus A superhighway that carries information electronically from one part of the computer to another. The wider and faster (speed is measured in MHz) the bus, the faster your computer. The old ISA bus could carry 16 bits of data at a time; the newer PCI bus can carry 32 bits or 64 bits. There are three such highways:
- A data bus carries data back and forth between memory and the microprocessor.
- An address bus carries information about the locations (addresses) of specific information.
- A control bus carries control signals to make sure that the data traffic flows smoothly, without confusion.
byte A group of 8 bits that usually represents a character or a digit. For example, the byte 01000001 represents the letter A.
cache Pronounced "cash." A temporary storage area in memory or on disk that computer components and various programs use to quickly access data.
CD-ROM (compact disc-read-only memory) A storage technology that uses the same kind of discs that you play in an audio CD player for mass storage of computer data. A single disc can store more than 600MB of information. Pronounced "see-dee-rahm."
cell The box formed by the intersection of a row (1,2,3...) and column (A,B,C...) in a spreadsheet. Each cell has an address (such as B12) that defines its column and row. A cell may contain text, a numeric value, or a formula.
chat To talk to another person by typing at your computer. What you type appears on the other person's screen, and what the other person types appears on your screen. You can chat on the Internet or an online service, such as Prodigy or America Online.
click To move the mouse pointer over an object or icon and press and release the mouse button once without moving the mouse.
client Of two computers, the computer that's being served. On the Internet or on a network, your computer is the client, and the computer to which you're connected is the server.
Clipboard A temporary storage area that holds text and graphics. The Cut and Copy commands put text or graphics on the Clipboard, replacing the Clipboard's previous contents. The Paste command copies Clipboard data to a document.
CMOS (Complementary Metal-Oxide Semiconductor) Pronounced "sea-moss," this is a battery-powered storage unit that helps your computer remember the date, time, and additional settings. If your computer starts losing track of time, it might be a sign that you need to change the battery.
COM port Short for COMmunications port. A receptacle, usually at the back of the computer, into which you can plug a serial device such as a modem, mouse, or serial printer. If your computer has more than one COM port, the ports are numbered COM1, COM2, and so on.
command An order that tells the computer what to do. In command-driven programs, you have to press a specific key or type the command to execute it. With menu-driven programs, you select the command from a menu.
computer Any machine that accepts input (from IVuser), processes the input, and produces output in some form.
CPU (central processing unit) The computer's brain. See microprocessor.
crash Failure of a system or program. Usually, you realize that your system has crashed when you can't move the mouse pointer or type anything. The term crash is also used to refer to a disk crash (or head crash). A disk crash occurs when the read/write head in the disk drive falls on the disk. This would be like dropping a phonograph needle on a record. A disk crash can destroy any data stored where the read/write head falls on the disk.
cursor A horizontal line that appears below characters. A cursor acts like the tip of your pencil; anything that you type appears at the cursor. See also insertion point.
data The facts and figures that you enter into the computer and that are stored and used by the computer.
database A type of computer program used for storing, organizing, and retrieving information. Popular database programs include Access, Approach, and Paradox.
density A measure of the amount of data that can be stored per square inch of storage area on a disk.
desktop publishing (DTP) A program that enables you to combine text and graphics on the same page and manipulate the text and graphics onscreen. Desktop publishing programs are commonly used to create newsletters, brochures, flyers, résumés, and business cards.
dialog box An onscreen box that enables you to enter your preferences or supply additional information. You use the dialog box to carry on a "conversation" with the program.
directory A division of a disk or CD, which contains a group of related files. Think of your disk as a filing cabinet, and think of each directory as a drawer in the cabinet. By keeping files in separate directories, it is easier to locate and work with related files. Directories are more commonly called folders.
disk A round, flat, magnetic storage medium. A disk works like a cassette tape, storing files permanently so that you can play them back later. See also floppy disk and hard disk.
disk drive A device that writes data to a magnetic disk and reads data from the disk. Think of a disk drive as a cassette recorder/player. Just as the cassette player can record sounds on a magnetic cassette tape and play back those sounds, a disk drive can record data on a magnetic disk and play back that data.
docking station A unit that connects a portable computer to peripherals, making the portable computer act like a desktop computer. Docking stations typically enable you to connect a mouse, full-size keyboard and monitor, speakers, and a printer to your notebook computer.
DOS (disk operating system) DOS, which rhymes with "boss," is an essential program that provides the necessary instructions for the computer's parts (keyboard, disk drive, central processing unit, display screen, printer, and so on) to function as a unit. Although Windows makes DOS nearly obsolete, you still see its name floating around in Windows.
DOS prompt An onscreen prompt that indicates that DOS is ready to accept a command but provides no clue as to what command you should type. It looks something like C> or C:\.
download To copy files from another computer to your computer, usually through a modem. See also upload.
DVD (digital versatile disk or digital video disk) Disks that can store more than seven times as much data as a CD, making them useful for storing full-length movies. DVD drives are designed to handle the discs of the future but are also designed to play discs of the past (CDs).
Integrated Drive Electronics) A type of hard drive that is typically fast and
relatively inexpensive. EIDE drives have been popular for years but are being
phased out by faster drives.
email Short for electronic mail, email is a system that enables people to send and receive messages from computer to computer. Email is usually available on networks and online information services.
executable file A program file that can run the program. Executable files end in .BAT, .COM, or .EXE.
expanded memory Additional memory that a computer uses by swapping data into and out of a reserved portion of a computer's standard memory area. With expanded memory, additional memory is added to the computer in the form of memory chips or a memory board. To access this additional memory, an expanded memory manager reserves 64 of the standard 640KB as a swap area. The 64KB represent four pages, each page consisting of 16KB. Pages of data are swapped into and out of this 64KB region from expanded memory at a high speed. Old DOS programs commonly used expanded memory, but Windows and its programs prefer extended memory. See also extended memory.
expansion slot An opening on the motherboard (inside the system unit) that enables you to add devices to the system unit. Expansion slots enable you to add an internal modem, sound card, video accelerator, or other enhancement.
extended memory Any memory above the standard 640KB that performs the same way as the standard memory. Extended memory is directly available to the processor in your computer, unlike expanded memory, in which data must be swapped into and out of the standard memory. Most of your computer's memory is extended memory.
extension The portion of a file's name that comes after the period. Every filename consists of two parts--the base name (before the period) and an extension (after the period). The filename can be up to eight characters in DOS and Windows 3.x (up to 255 characters in Windows 95 and later). The extension (which is optional) can be up to three characters.
FAT32 A fairly recent hard disk innovation that divides large hard disk drives into small storage units so that the drive wastes less space. If you think of your hard disk as a parking lot, Fat32 paints the lines closer together so that it can fit more cars. See also file allocation table.
field A blank in a database record, into which you can enter a piece of information (for example, a telephone number, ZIP code, or a person's last name).
file A collection of information stored as a single unit on a floppy or hard disk. Files always have a filename to identify them.
file allocation table (FAT) A map on every disk that tells the operating system where the files on the disk are stored. It's a little like a classroom seating chart for files.
File Transfer Protocol (FTP) A set of rules that govern the exchange of files between two computers on the Internet. To copy a file from the Internet, you need a special program that can handle FTP file transfers.
fixed disk drive A disk drive that has a nonremovable disk, as opposed to floppy drives, in which you can insert and remove disks.
floppy disk A wafer encased in plastic that stores magnetic data (the facts and figures you enter and save). Floppy disks are the disks that you insert in your computer's floppy disk drive (located on the front of the computer).
folder The Windows name for a directory, a division of a hard disk or CD-ROM that stores a group of related files. See also directory.
font Any set of characters of the same typeface (design) and type size (measured in points). For example, Times Roman 12-point is a font: Times Roman is the typeface, and 12-point is the size. (There are 72 points in an inch.)
format (disk) To prepare a disk for storing data. Formatting creates a map on the disk that tells the operating system how the disk is structured. The operating system uses this map to keep track of where files are stored. Formatting also flags bad tracks or sectors (storage areas) on the disk, to prevent the drive from attempting to store data on defective areas.
format (document) To establish the physical layout of a document, including page size, margins, running heads, line spacing, text alignment, graphics placement, and so on.
FTP See File Transfer Protocol.
function keys The 10 or 12 F keys on the left side of the keyboard or 12 F keys at the top of the keyboard (some keyboards have both). F keys are numbered F1, F2, F3, and so on, and you can use them to enter specified commands in a program.
geek 1. An obsessive computer user who sacrifices food, sleep, and other pleasantries of life to spend more time at the keyboard. 2. A carnival performer whose act usually includes biting off the head of a live snake or chicken.
gigabyte A thousand megabytes. See megabyte.
graphical user interface (GUI, pronounced "GOO-ey") A type of program interface that uses graphical elements, such as icons, to represent commands, files, and (in some cases) other programs. The most famous GUI is Microsoft Windows.
hard disk A disk drive that comes complete with a nonremovable disk. It acts as a giant floppy disk drive and usually sits inside your computer.
Hayes-compatible A term to describe a modem that uses the Hayes command set for communicating with other modems over the phone lines. Hayes-compatible modems usually are preferred over other modems because most modems and telecommunications software are designed to be Hayes-compatible.
HTML Short for Hypertext Markup Language, the code used to create documents for the World Wide Web. These codes tell the Web browser how to display the text (titles, headings, lists, and so on), insert anchors that link this document to other documents, and control character formatting (by making it bold or italic).
icon A graphic image onscreen that represents another object, such as a file on a disk.
infrared A type of port, normally found on notebooks, which enables cable-free connections. You can then set your notebook in front of your printer (if the printer has an infrared port, too) and print, or connect your notebook to your desktop PC or network without a cable. Infrared ports work like TV and VCR remote controls, and you have to point one infrared device right at the other one to get it to work.
insertion point A blinking vertical line used in most Windows word processors to indicate the place where any characters that you type are inserted. An insertion point is the equivalent of a cursor.
integrated program A program that combines the features of several programs, such as a word processor, spreadsheet, database, and communications program.
interactive A user-controlled program, document, or game. Interactive programs commonly display onscreen prompts asking the user for input so that they can decide how to carry out a particular task. These programs are popular in education, enabling children to follow their natural curiosity to solve problems and gather information.
interface A link between two objects, such as a computer and a modem. The link between a computer and a person is called a user interface and refers to the way a person communicates with the computer.
Internet A group of computers all over the world that are connected to each other. Using your computer and a modem, you can connect to these other computers and tap their resources. You can view pictures, listen to sounds, watch video clips, play games, chat with other people, and even shop.
IRC Short for Internet relay chat, this is the most popular way to chat with others on the Internet. With an IRC client (chat program), you connect to an IRC server, where you are presented with a list of available chat rooms. You can enter a room and then start exchanging messages with others in the room.
ISDN (Integrated Services Digital Network) ISDN is a system that enables your computer, using a special ISDN modem, to perform digital data transfers over special phone lines. Non-ISDN modems use analog signals, which are designed to carry voices, not data. ISDN connections can transfer data at a rate of up to 128Kbs, compared to about 56Kbps for the fastest analog modems.
keyboard The main input device for most computers. You use the keyboard to type and to enter commands.
kilobyte (KB) A unit for measuring the amount of data. A kilobyte is equivalent to 1,024 bytes (each byte is a character).
laptop A small computer that's light enough to carry. Notebook computers and subnote-books are even lighter.
load To read data or program instructions from disk and place them in the computer's memory, where the computer can use the data or instructions. You usually load a program before you use it or load a file before you edit it.
macro A recorded set of instructions for a frequently used or complex task. In most programs, you create a macro by telling the program to record your actions. You then name the macro or assign to it a keystroke combination. You can replay the macro at any time by selecting its name or by pressing the keystroke combination that you assigned to it.
megabyte A standard unit used to measure the storage capacity of a disk and the amount of computer memory. A megabyte is 1,048,576 bytes (1,000KB). This is roughly equivalent to 500 pages of double-spaced text. Megabyte is commonly abbreviated as M, MB, or Mbyte.
memory An electronic storage area inside the computer, used to temporarily store data or program instructions when the computer is using them. The computer's memory is erased when the power to the computer is turned off. Also referred to as RAM.
menu A list of commands or instructions displayed onscreen. Menus organize commands and make a program easier to use.
MHz (megahertz) Pronounced "mega-hurts," the unit used to measure the speed at which computer parts work. For example, a Pentium II 300MHz processor is faster than a Pentium II 233MHz processor. You should, however, compare speeds only between comparable devices. For example, if one device transmits 32 bits of data per clock cycle at 75MHz, and another device transmits only 16 bits of data per clock cycle at 150MHz, the second device isn't any faster overall.
microprocessor Sometimes called the central processing unit (CPU) or processor, this chip is the computer's brain; it does all the calculations for the computer.
MMX This acronym doesn't stand for anything. MMX is a new multimedia technology, developed by Intel, that enables your computer's CPU (processor) to take on more of the workload for handling multimedia files. This enables your computer to play media files faster and more smoothly.
modem An acronym for MOdulator/DEModulator. A modem is a piece of hardware that enables a computer to send and receive data through an ordinary telephone line.
monitor A television-like screen on which the computer displays information.
motherboard The big printed circuit board inside the system unit into which everything else plugs.
mouse A hand-held device that you move across the desktop to move an arrow, called a mouse pointer, across the screen. Used instead of the keyboard to select and move items (such as text or graphics), execute commands, and perform other tasks.
MS-DOS (Microsoft disk operating system) See DOS.
multitasking The process of performing two computer tasks at the same time. For example, you can be printing a document from your word processor while checking your email in Prodigy. One of the primary advantages of Windows is that it enables you to multitask.
network computer A network computer (or NC) is a streamlined version of a standard PC, which relies on a network server or on Internet servers for most of its computing power. A typical network computer has a monitor, keyboard, mouse, processor, and memory but no hard drive or CD-ROM drive. Programs are stored on a central network computer. Although NCs cannot replace PCs, NCs are excellent for corporations because they require little maintenance and support.
newsgroup An Internet bulletin board for users who share common interests. There are thousands of newsgroups, ranging from body art to pets (to body art with pets). Newsgroups let you post messages and read messages from other users.
notebook A portable computer that weighs between 4 and 8 pounds.
online Connected, turned on, and ready to accept information. Used most often in reference to a printer or modem.
pane A portion of a window. Most programs display panes, so you can view two different parts of a document at the same time.
parallel port A connector used to plug a device, usually a printer, into the computer. Transferring data through a parallel port is much faster than through a serial port, but parallel cables can carry data reliably only 15 to 20 feet.
partition A section of a disk drive that's assigned a letter. A hard disk drive can be divided (or partitioned) into one or more drives, which your computer refers to as drive C, drive D, drive E, and so on. The actual hard disk drive is called the physical drive, and each partition is called a logical drive; however, these terms don't matter much--the drives still look like letters to you.
patch A set of program instructions designed to fix a programming bug or add capabilities to a program. On the Internet, you can often download patches for programs to update the program.
path The route that the computer travels from the root directory to any subdirectories when locating a file.
PC card An expansion card that's about the size of a credit card, though thicker, and slides into a slot on the side of the notebook computer. PC cards enable you to quickly install RAM or a hard disk drive, modem, CD-ROM drive, network card, or game port, without having to open the notebook computer. See also PCMCIA.
PCI (Peripheral Component Interconnect) A bus standard that effectively doubles or quadruples the amount of data that can travel around the highway system inside your computer. See also bus.
PCMCIA (Personal Computer Memory Card International Association) An organization that has set standards for notebook computer expansion cards. See also PC card.
Pentium The most popular CPU for PCs is manufactured by Intel. During the writing of this book, the Pentium II was the latest, greatest chip, offering speedy performance and support of MMX technology. You may also encounter an older Pentium, called Pentium (the original), Pentium Pro (a step up from the Pentium), or Pentium MMX (Pentium with enhanced multimedia features). A Pentium II is essentially a Pentium Pro with built-in MMX support.
peripheral A device that's attached to the computer but is not essential for the basic operation of the computer. The system unit is the central part of the computer. Any devices attached to the system unit are considered peripheral, including a printer, modem, or joystick. Some manufacturers consider the monitor and keyboard to be peripheral, too.
pixel A dot of light that appears on the computer screen. A collection of pixels forms characters and images on the screen.
PnP Short for plug-and-play, PnP enables you to install expansion cards in your computer without having to set special switches. You plug it in, and it works.
port replicator A slimmed down version of a docking station. See also docking station.
ports The receptacles at the back of the computer. They get their name from the ports where ships pick up and deliver cargo. In this case, the ports enable information to enter and leave the system unit.
PPP (Point-to-Point Protocol) A language that computers use to talk to one another. What's important is that when you choose an Internet service provider, you get the right connection--SLIP or PPP.
program A group of instructions that tells the computer what to do. Typical programs are word processors, spreadsheets, databases, and games.
prompt A computer's way of asking for more information. The computer basically looks at you and says, "Tell me something." In other words, the computer is prompting you or prodding you for information or a command.
protocol A group of communications settings that control the transfer of data between two computers.
pull-down menu A menu that appears at the top of the screen, listing various options. The menu is not visible until you select it from the menu bar. The menu then drops down, covering a small part of the screen.
random-access memory (RAM) Where your computer stores data and programs temporarily. RAM is measured in kilobytes and megabytes. In general, more RAM means that you can run more powerful programs and more programs at once. Also called memory.
record Used by databases to denote a unit of related information contained in one or more fields, such as an individual's name, address, and phone number.
ROM BIOS See BIOS.
scanner A device that converts images, such as photographs or printed text, into an electronic format that a computer can use. Many stores use a special type of scanner to read bar code labels into the cash register.
Screen Tip See ToolTip.
scroll To move text up and down or right and left on a computer screen.
SCSI (Small Computer System Interface) Pronounced "scuzzy," SCSI provides speedier data transfer rates than are available through standard serial or parallel ports and enables you to connect several devices to the same port. Although SCSI makes it much easier to add SCSI compatible devices to your computer, USB offers greater flexibility.
SDRAM (synchronous dynamic RAM) A type of RAM (memory) that is twice as fast as EDO DRAM because it synchronizes itself with the CPU. Although fast (operating at speeds of 100MHz), SDRAM has trouble keeping up with newer processors, which run at speeds of 300MHz. Look for even faster memory chips, such as RDRAM and SLDRAM.
server Of two computers, the computer that's serving the other computer. On the Internet or on a network, your computer is the client, and the computer to which you're connected is the server.
service provider The company that you pay in order to connect to its computer and get on the Internet.
shareware Computer programs that you can initially use for free and then must pay for if you decide to continue using them. Many programmers start marketing their programs as shareware, relying on the honesty and goodwill of computer users for their income. That's why most of these programmers have day jobs.
software Any instructions that tell your computer (the hardware) what to do. There are two types of software: operating system software and application software. Operating system software (such as Windows) gets your computer up and running. Application software enables you to do something useful, such as type a letter or chase lemmings.
spreadsheet A program used for keeping schedules and calculating numeric results. Common spreadsheets include Lotus
Microsoft Excel, and Quattro Pro.
status bar The area at the bottom of a program window that shows you what's going on as you work. A status bar may show the page and line number where the insertion point is positioned and indicate whether you are typing in overstrike or insert mode.
style A collection of specifications for formatting text. A style may include information for the font, size, style, margins, and spacing. Applying a style to text automatically formats the text according to the style's specifications.
taskbar A fancy name for the button bar at the bottom of the Windows desktop.
TCP/IP (Transmission Control Protocol/Internet Protocol) A set of rules that govern the transfer of data over the Internet. To do anything on the Internet, you need a TCP/IP program. This program connects your computer to your service provider's computer, which is part of the Internet. You can then run other programs that enable you to do fun stuff such as browse the World Wide Web. Windows Dial-Up Networking is the only TCP/IP program that you need.
TFT (thin film transistor) A technology used to improve the resolution on flat-panel displays, like those used on notebook computers.
toolbar A strip of buttons typically displayed near the top of a program window, below the menu bar. The toolbar contains buttons that you can click to enter common commands, enabling you to bypass the menu system.
ToolTip A small text box that displays the name of a button when you rest the mouse pointer on the button. ToolTips help you figure out what a button does, when you cannot figure it out from the picture.
touchpad A pointing device commonly found on laptop computers that enables you to move the mouse pointer by running your finger over the pad.
trackball A device, often used with laptop computers, which works like an upside-down mouse. It requires less desk space than a mouse because instead of moving it around the desk to move the pointer onscreen, you roll it in place to move the pointer.
transfer rate A measure of how much information a device (usually a disk drive) can transfer from the disk to your computer's memory in a second. A good transfer rate is in the range of 500 to 600KB per second. The higher the number, the faster the drive.
uninterruptible power supply (UPS) A battery-powered device that protects against power spikes and power outages. If the power goes out, the UPS continues supplying power to the computer so that you can continue working or can safely turn off your computer without losing data.
upload To send data to another computer, usually through a modem and a telephone line or through a network connection.
URL (uniform resource locator) An address for an Internet site. The Web uses URLs to specify the addresses of the various servers on the Internet and the documents on each server. For example, the URL for the Whitehouse server is http://www.whitehouse.gov. The http stands for Hypertext Transfer Protocol, which means this is a Web document; www stands for World Wide Web; whitehouse stands for Whitehouse; and gov stands for government.
USB (Universal Serial Bus) The ultimate in plug-and-play technology. USB enables you to install devices without turning off your computer or using a screwdriver. You plug the component into the USB port, and it works. USB enables you to connect up to 127 devices to a single port. You can daisy-chain the devices with cables up to 5 meters long. Daisy-chain means that you can plug one device into the system unit, another device into the first device, and so on, until you have completely filled your office with add-ons.
Usenet (User's Network) A collection of computers that is responsible for managing the flow of messages posted in newsgroups. See also newsgroup.
virtual memory Disk storage that is treated as RAM (memory). Windows 95 can use disk space as virtual memory.
virus A program that attaches itself to other files on a floppy or hard disk, duplicates itself without the user's knowledge, and may cause the computer to do strange and sometimes destructive things. The virus attacks the computer by erasing files from the hard disk or by formatting the disk.
Web See World Wide Web.
Web browser A program that enables you to navigate the World Wide Web (the most popular feature of the Internet). The World Wide Web consists of documents (pages) that may contain text, graphics, sound clips, video clips, and other items. A Web browser pulls the pages into your computer (using a modem or network connection) and displays them on your screen. See also World Wide Web.
wild card Any character that takes the place of another character or a group of characters. In DOS, you can use two wild card characters: a question mark (?) and an asterisk (*). The question mark stands in for a single character. The asterisk stands in for a group of characters.
Windows A way of displaying information in different parts of the screen. Often used as a nickname for Microsoft Windows.
word processor A program that enables you to enter, edit, format, and print text.
word wrap A feature that automatically moves a word to the next line if the word won't fit at the end of the current line.
World Wide Web A part of the Internet that consists of multimedia documents that are interconnected by links. To move from one document to another, you click a link, which may appear as highlighted text or as a small picture or icon. The Web contains text, sound, and video clips, pictures, catalogues, and much, much more. See also Web browser.
write-protect To prevent a computer from adding or modifying data stored on a disk.
Mobile applications are software programs that run on a mobile device. Typical enterprise mobile applications utilize mobile computing technology to retrieve information from a main computer server to the mobile device at anytime and anywhere. Moreover, mobile applications using the Cloud as the backend are becoming more and more popular.
The design and implementation of mobile applications is not as straightforward as desktop PC application development. It is very important for mobile application developers to consider the context in which the application will be used. From a business point of view, it is difficult for project managers to estimate the risk associated with a mobile application project due to the difficulties in comparing the various capabilities of existing mobile platforms.
Nowadays, the early mobile platforms like Symbian, Microsoft Windows Mobile, Linux and BlackBerry OS have been joined by Apple’s OS X iPhone, Android and recently Palm’s Web OS, adding a layer of complexity for developers.
Mobile device platform refers to the mobile hardware device and its operating system and/or integrated software. For example, Microsoft Windows Mobile 5.0 OS is installed on a Dell AXIM X51v device.
Mobile application development platform refers to the combination of programming languages, general development APIs, and the runtime environment for that language on the mobile device. The mobile application development platform runs on top of the mobile device platform and provides an extra layer of software as a protection barrier to limit the damage for erroneous or malicious software. For example, the typical development software for mobile applications for Windows Mobile 6.0 is Microsoft Visual Studio 2005/2008 plus Windows Mobile 6.0 SDK.
Cloud computing is not a new technology, but a new model to deliver IT resources. It gives the illusion that people can have access to an infinite amount of computing resources available on demand. With Cloud computing, you can rent computing power with no commitment. There is no need to buy a server, just pay for what you use. This new model is often compared with how people use and pay for utilities. For example, you only pay for how much water or electricity you consume for a given amount of time.
Cloud computing has drastically altered the way computing resources are obtained, allowing almost everybody, from one-man companies, large enterprises to governments work on projects that could not have been possible before.
While in the traditional IT model you need to request budget to acquire hardware, and invest a large amount of money upfront; with the Cloud computing model, your expenses are considered operating expenses to run your business; you pay on demand a small amount per hour for the same resources.
In the traditional IT model, requesting budget, procuring the hardware and software, installing it on a lab or data center, and configuring the software can take a long time. On average we could say a project could take 120 days or more to get started. With Cloud computing, you can have a working and configured system in less than 2 hours!
In the traditional IT model companies need to plan for peak capacity. For example if your company's future workload requires 3 servers for 25 days of the month, but needs 2 more servers to handle the workload of the last 5 days of the month then the company needs to purchase 5 servers, not 3. In the Cloud computing model, the same company could just invest on the 3 servers, and rent 2 more servers for the last 5 days of the month.
Characteristics of the Cloud
Cloud Computing is based on three simple characteristics:
Standardization provides the ability to build a large set of homogeneous IT resources mostly from inexpensive components. Standardization is the opposite of customization.
Virtualization provides a method for partitioning the large pool of IT resources and allocating them on demand. After use, the resources can be returned to the pool for others to reuse.
Automation allows users on the Cloud to have control on the resources they provision without having to wait for administrator to handle their requests. This is important in a large Cloud environment.
If you think about it, you probably have used some sort of Cloud service in the past. Facebook, Yahoo, and Gmail, for example, deliver services that are standardized, virtual and automated. You can create an account and start using their services right away.
The following is a description of some of these roles.
A data architect is responsible for designing an architecture that supports the organization's existing and future needs for data management. The architecture should cover databases, data integration and the means to get to the data. Usually the data architect achieves his goals by setting enterprise data standards. A Data Architect is also referred to as a Data Modeler. This is in spite of the fact that the role involves much more than just creating data models.
Some fundamental skills of a Data Architect are:
1. Logical Data modeling
2. Physical Data modeling
3. Development of a data strategy and associated policies
4. Selection of capabilities and systems to meet business information needs
This role is similar to a Data Architect, though constraints more towards a database solution. A database architect is responsible for the following activities:
1. Gather and document requirements from business users and management and address them in a solution architecture.
2. Share the architecture with business users and management.
3. Create and enforce database and application development standards and processes.
4. Create and enforce service level agreements (SLAs) for the business, specially addressing high availability, backup/restore and security.
5. Study new products, versions compatibility, and deployment feasibility and give recommendations to development teams and management.
6. Understand hardware, operating system, database system, multi-tier component architecture and interaction between these components.
7. Prepare high-level documents in-line with requirements.
8. Review detailed designs and implementation details.
It is critical for a database architect to keep pace with the various tools, database products, hardware platforms and operating systems from different vendors as they evolve and improve.
Database Administrator (DBA)
A database administrator (DBA) is responsible for the maintenance, performance, integrity and security of a database. Additional role requirements are likely to include planning, development and troubleshooting.
The work of a database administrator (DBA) varies according to the nature of the employing organization and the level of responsibility associated with the post. The work may be pure maintenance or it may also involve specializing in database development. Typical responsibilities include some or all of the following:
1. Establishing the needs of users and monitoring user access and security;
2. Monitoring performance and managing parameters to provide fast query responses to front-end users;
3. Mapping out the conceptual design for a planned database in outline;
4. Take into account both, back-end organization of data and front-end accessibility for end users;
5. Refining the logical design so that it can be translated into a specific data model;
6. Further refining the physical design to meet system storage requirements;
7. Installing and testing new versions of the database management system (DBMS);
8. Maintaining data standards, including adherence to the Data Protection Act;
9. Writing database documentation, including data standards, procedures and definitions for the data dictionary (metadata);
10. Controlling access permissions and privileges;
11. Developing, managing and testing backup and recovery plans;
12. Ensuring that storage, archiving, backup and recovery procedures are functioning correctly;
13. Capacity planning;
15. Working closely with IT project managers, database programmers and Web developers;
16. Communicating regularly with technical, applications and operational staff to ensure database integrity and security;
17. Commissioning and installing new applications.
Because of the increasing levels of hacking and the sensitive nature of data stored, security and recoverability or disaster recovery have become increasingly important aspects.
A database application developer is a person in charge of developing applications that access databases. An application developer requires knowledge of the following:
1. Integrated database application development environments (IDEs).
2. Database plug-ins for IDEs.
3. SQL development tools
4. Database performance monitoring and debugging
5. Application server environments, application deployment, application performance monitoring and debugging
An example of an IDE is IBM Data Studio, a free Eclipse-based environment which allows developers to work with DB2 objects such as tables, views, indexes, stored procedures, user-defined functions and Web services. It also provides facilities for debugging, development of SQL and XQuery, and integration with different application servers such as WebSphere® Application Server.
DB2 also includes add-ins that extend Microsoft® Visual Studio development environment with a comprehensive set of tools for developing DB2 objects (tables, views, stored procedures, user-defined functions etc.). This way, .NET developers do not need to switch back and forth between Microsoft Visual Studio and DB2 tools.
The roles and responsibilities discussed so far are very broad classifications. Different organizations have their own definition of roles within their organization’s context. These roles are listed to provide a big picture on various dimensions around database administration, application development and usage.
Since conceptual models can be implemented in different ways, multiple Data Models can be derived from a single Information Model.
Information model proposals can be split into nine historical epochs:
1. Network (CODASYL): 1970’s
2. Hierarchical (IMS): late 1960’s and 1970’s
3. Relational: 1970’s and early 1980’s
4. Entity-Relationship: 1970’s
5. Extended Relational: 1980’s
The next sections discuss some of these models in more detail.
In 1969, CODASYL (Committee on Data Systems Languages) released its first specification about the network data model. This followed in 1971 and 1973 with specifications for a record-at-a-time data manipulation language.
The hierarchical model organizes its data using a tree structure. The root of the tree is the parent followed by child nodes. A child node cannot have more than one parent, though a parent can have many child nodes.
A Hierarchical model
In a hierarchical model, a collection of named fields with their associated data types is called a record type. Each instance of a record type is forced to obey the data description indicated in the definition of the record type. Some fields in the record type are keys.
The first hierarchical database management system was IMS (Information Management System) released by IBM in 1968. It was originally built as the database for the Apollo space program to land the first humans on the moon. IMS is a very robust database that is still in use today at many companies worldwide.
The relational data model is simple and elegant. It has a solid mathematic foundation based on sets theory and predicate calculus and is the most used data model for databases today.
A threefold proposal:
1. Store the data in a simple data structure (tables)
2. Access it through a high level set-at-a-time Data Manipulation Language (DML)
3. Be independent from physical storage
With a simple data structure, one has a better chance of providing logical data independence. With a high-level language, one can provide a high degree of physical data independence. Therefore, this model allows also for physical storage independence. This was not possible in either IMS or CODASYL.
In the mid 1970’s, Peter Chen proposed the entity-relationship (E-R) data model. This was to be an alternative to the relational, CODASYL, and hierarchical data models. He proposed thinking of a database as a collection of instances of entities. Entities are objects that have an existence independent of any other entities in the database. Entities have attributes, which are the data elements that characterize the entity. One or more of these attributes could be designated to be a key.
Lastly, there could be relationships between entities. Relationships could be 1-to-1, 1-to-n, n-to-1 or m-to-n, depending on how the entities participated in the relationship. Relationships could also have attributes that described the relationship.
The Object-Relational (OR) model is very similar to the relational model; however, it treats every entity as an object (instance of a class), and a relationship as an inheritance. Some features and benefits of an Object-Relational model are:
1. Support for complex, user defined types
2. Object inheritance
3. Extensible objects
Object-Relational databases have the capability to store object relationships in relational form.
Other data models
The last decade has seen a substantial amount of work on semi-structured, semantic and object oriented data models.
XML is ideal to store semi-structured data. XML-based models have gained a lot of popularity in the industry thanks to Web 2.0 and service-oriented architecture (SOA).
Object oriented data models are popular in universities, but have not been widely accepted in the industry; however, object-relational mapping (ORM) tools are available which allow a seamless integration of object-oriented programs with relational databases.
While a database is a repository of data, a database management system, or simply DBMS, is a set of software tools that control access, organize, store, manage, retrieve and maintain data in a database. In practical use, the terms database, database server, database system, data server, and database management systems are often used interchangeably.
The most mature database systems in production are relational database management systems (RDBMS’s). RDBMS's serve as the backbone of applications in many industries including banking, transportation, health, and so on. The advent of Web-based interfaces has only increased the volume and breadth of use of RDBMS, which serve as the data repositories behind essentially most online commerce.
In the 1960s, network and hierarchical systems such as CODASYL and IMSTM were the state-of-the-art technology for automated banking, accounting, and order processing systems enabled by the introduction of commercial mainframe computers. While these systems provided a good basis for the early systems, their basic architecture mixed the physical manipulation of data with its logical manipulation. When the physical location of data changed, such as from one area of a disk to another, applications had to be updated to reference the new location.
A revolutionary paper by E.F. Codd, an IBM San Jose Research Laboratory employee in 1970, changed all that. The paper titled “A relational model of data for large shared data banks” introduced the notion of data independence, which separated the physical representation of data from the logical representation presented to applications. Data could be moved from one part of the disk to another or stored in a different format without causing applications to be rewritten. Application developers were freed from the tedious physical details of data manipulation, and could focus instead on the logical manipulation of data in the context of their specific application.
Today, relational database management systems are the most used DBMS's and are developed by several software companies. IBM is one of the leaders in the market with DB2 database server. Other relational DBMS's include Oracle, Microsoft SQL Server, INGRES, PostgreSQL, MySQL, and dBASE.
As increased amounts of data were collected and stored in databases, DBMS's scaled. In DB2 for Linux, UNIX and Windows, for example, a feature called Database Partitioning Feature (DPF) allows a database to be spread across many machines using a shared-nothing architecture. Each machine added brings its own CPUs and disks; therefore, it is easier to scale almost linearly. A query in this environment is parallelized so that each machine retrieves portions of the overall result.
Next in the evolution of DBMS's is the concept of extensibility. The Structured Query Language (SQL) invented by IBM in the early 1970's has been constantly improved through the years. Even though it is a very powerful language, users are also empowered to develop their own code that can extend SQL. For example, in DB2 you can create user-defined functions, and stored procedures, which allow you to extend the SQL language with your own logic.
Data is one of the most critical assets of any business. It is used and collected practically everywhere, from businesses trying to determine consumer patterns based on credit card usage, to space agencies trying to collect data from other planets. Data, as important as it is, needs robust, secure, and highly available software that can store and process it quickly. The answer to these requirements is a solid and a reliable database.
Database software usage is pervasive, yet it is taken for granted by the billions of daily users worldwide. Its presence is everywhere-from retrieving money through an automatic teller machine to badging access at a secure office location.
Since its advent, databases have been among the most researched knowledge domains in computer science. A database is a repository of data, designed to support efficient data storage, retrieval and maintenance. Multiple types of databases exist to suit various industry requirements. A database may be specialized to store binary files, documents, images, videos, relational data, multidimensional data, transactional data, analytic data, or geographic data to name a few.
Data can be stored in various forms, namely tabular, hierarchical and graphical forms. If data is stored in a tabular form then it is called a relational database. When data is organized in a tree structure form, it is called a hierarchical database. Data stored as graphs representing relationships between objects is referred to as a network database.
A modern computer system has lakhs of files on them.n one needs to transfer a large number of these files or an entire directory structure to another computer or storage device.
When one wants to transfer files (containing data or programs or both) to another computer or storage device, the amount of data to be transferred or stored becomes a concern.
Both computer networks and external storage devices are usually not as fast as internal components of a computer.
Thus, transferring larger amount of data can take more time.
If the Internet is used for such transfers, more time may be taken in the transfer due to slow Internet speed.
Also, such transfers put load on the usually clogged Internet connection.
Unless the user or organization has unlimited Internet plan, higher amount of data may result in higher cost as well.
Similarly, if the files and directories are transferred to a storage device, the amount of the data to be transferred again becomes an issue because of the finite capacity of storage devices and the multiple uses that they are put through.
Considering these issues, there is a need to reduce the amount of storage space occupied by computer files (and entire directory structures), whenever possible.
From a convenience point of view, in many cases it is also desirable to have a single file to handle rather than a large bunch of files or a complex directory structure.
Computer scientists have developed techniques to place a whole directory structure into a single file for convenience.
Such a file is called an “archive”.
They have also developed a number of techniques for reducing the storage requirements of computer files and directory structures.
These techniques are called data compression.
Data compression generally works by identifying repetition in the data and encoding the data in a way that reduces or eliminates such repetition.
Such techniques also identify and eliminate less important information to conserve space.