Terms

helium hard disk drive (HDD)

helium hard disk drive (HDD)

A helium drive is a high capacity hard disk drive (HDD) that is helium-filled. This hard drive technology replaces the air inside the HDD with helium and is hermetically sealed during manufacturing. Helium drive technology is compatible with most industry-standard magnetic recording technologies including perpendicular magnetic recording (PMR), two-dimensional magnetic recording (TDMR), shingled magnetic recording (SMR), microwave-assisted magnetic recording (MAMR), heat-assisted magnetic recording (HAMR) and bit-patterned media (BPM).

Helium Hard Drive

Image Description: Western Digital Ultrastar DC HC530 14-TB

Helium Improves Efficiency

Compared to air, helium is one-seventh the density. In traditional drives, the air inside typically creates an amount of drag on the platters, requiring more energy to spin. Replacing the air with helium reduces the amount of energy needed to spin the platters. By some estimates, helium HDDs may be up to 20 percent more efficient than air-filled drives. Additionally, helium drives offer higher sequential data transfer rates as a result of the overall increased areal density.

Helium Storage in the Data Center

Newer helium hard disk drives have provided an advantage in the data center, specifically, cloud and exascale data centers, where 14-TB plus capacity drives can maximize data storage capacity per rack while lowering power consumption to meet TCO objectives. Helium drives have lower cooling requirements which reduce overall energy costs.

As helium-filled drive technology advances, so does the storage capacity of the drives. In fact, Western Digital has announced (Sep 2019) a 20-TB helium-filled drive, using nine platters, each with a capacity of about 2.22TB and a 2.5M hour mean time before failure (MTBF) rating and feature SATA or SAS interface.

Helium Drives at Home

Currently, helium-filled drives that focus on the consumer market are limited. Standard drives are 3.5″ drives that use perpendicular magnetic recording (PMR) platters in a helium-filled enclosure, in capacities starting at 10-TB. The drives are compatible with specific lines of desktops and entry-level direct-attached storage enclosures.

Helium Drive History

The first helium-filled hard drive (6-TB capacity) drive was made commercially available by HGST, a Western Digital subsidiary, in November, 2013. Today, several hard drive manufacturers, Including Western Digital, Seagate and Toshiba offer helium hard disk drives.

Terms

cloud computing

cloud computing

Cloud computing is a type of computing that relies on shared computing resources rather than having local servers or personal devices to handle applications.

In its most simple description, cloud computing is taking services (cloud services) and moving them outside an organization’s firewall. Applications, storage and other services are accessed via the Web. The services are delivered and used over the Internet and are paid for by the cloud customer on an as-needed or pay-per-use business model.

Recommended Reading: Facts About Cloud Computing.

Cloud Computing Checklist

Jump to a topic in this article:

NIST Cloud Computing Introduction and Definition

The National Institute of Stands and Technology (NIST) has a more comprehensive definition of cloud computing. It describes cloud computing as “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”

Characteristics of Cloud Environments

According to the NIST, all true cloud environments have five key characteristics:

  1. On-demand self-service: This means that cloud customers can sign up for, pay for and start using cloud resources very quickly on their own without help from a sales agent.
  2. Broad network access: Customers access cloud services via the Internet.
  3. Resource pooling: Many different customers (individuals, organizations or different departments within an organization) all use the same servers, storage or other computing resources.
  4. Rapid elasticity or expansion: Cloud customers can easily scale their use of resources up or down as their needs change.
  5. Measured service: Customers pay for the amount of resources they use in a given period of time rather than paying for hardware or software upfront. (Note that in a private cloud, this measured service usually involves some form of chargebacks where IT keeps track of how many resources different departments within an organization are using.)

Cloud Computing

Cloud Delivery Models

Cloud computing can be divided into several sub-categories depending on the physical location of the computing resources and who can access those resources.

Public cloud vendors offer their computing services to anyone in the general public. They maintain large data centers full of computing hardware, and their customers share access to that hardware.

By contrast, a private cloud is a cloud environment set aside for the exclusive use of one organization. Some large enterprises choose to keep some data and applications in a private cloud for security reasons, and some are required to use private clouds in order to comply with various regulations.

Organizations have two different options for the location of a private cloud: they can set up a private cloud in their own data centers or they can use a hosted private cloud service. With a hosted private cloud, a public cloud vendor agrees to set aside certain computing resources and allow only one customer to use those resources.

hybrid cloud is a combination of both a public and private cloud with some level of integration between the two. For example, in a practice called “cloud bursting” a company may run Web servers in its own private cloud most of the time and use a public cloud service for additional capacity during times of peak use.

A multi-cloud environment is similar to a hybrid cloud because the customer is using more than one cloud service. However, a multi-cloud environment does not necessarily have integration among the various cloud services, the way a hybrid cloud does. A multi-cloud environment can include only public clouds, only private clouds or a combination of both public and private clouds.

Recommended Reading: Webopedia’s Cloud Dictionary.

Common Cloud Service Models

Cloud services are typically deployed based on the end-user (business) requirements. The primary services include the following:

1. Software as a Service (SaaS)

SaaS is a software delivery method that provides access to software and its functions remotely as a Web-based service.  Instead of paying an upfront fee to purchase and/or license software, SaaS customers pay a recurring (often monthly or annual) fee to subscribe to the service. In general, they can access the SaaS from any Internet-connected device, any time day or night. Well-known examples of SaaS include Salesforce.com, Microsoft Office 365, Google G Suite, Dropbox, Adobe Creative Cloud and others.

2. Platform as a Service (PaaS)

PaaS is  a computing platform being delivered as a service. Here the platform is outsourced in place of a company or data center purchasing and managing its own hardware and software layers. Most PaaSes are designed for developers and aim to simplify the process of creating and deploying software. For example, a Web developer might use a PaaS that includes operating system software, Web server software, a database and related Web development tools. The leading PaaS vendors include Amazon Web Services, Microsoft Azure, IBM and Google Cloud Platform.

3. Infrastructure as a Service (IaaS)

Computer infrastructure, such as servers, storage and networking delivered as a service.  IaaS is popular with enterprises that appreciate the convenience of having the cloud vendor manage their IT infrastructure. They also sometimes see cost savings as a result of paying only for the computing resources they use. The leading IaaS vendors include Amazon Web Services, Microsoft Azure, IBM and Google Cloud Platform.

While SaaS, PaaS and IaaS are the three most common types of cloud services, cloud computing vendors sometimes also use other “as a service” labels to describe their offerings. For example, some offer database as a service (DBaaS), mobile back-end as a service (MBaaS), functions as a service (FaaS) or others.

Benefits of Cloud Computing

Consumers and organizations have many different reasons for choosing to use cloud computing services. They might include the following:

  • Convenience
  • Scalability
  • Low costs
  • Security
  • Anytime, anywhere access
  • High availability
Terms

application (application software)

application (application software)

An application is any program, or group of programs, that is designed for the end user. Applications software (also called end-user programs) include such things as database programs, word processors, Web browsers and spreadsheets.

application
Image: Application Software Diagram

Figuratively speaking, applications sit on top of systems software because they are unable to run without the operating system and system utilities. Systems software consists of low-level programs that interact with the computer at a very basic level. This includes operating systemscompilers, and utilities for managing computer resources.

Application Delivery Mechanisms

Developers have many different options for getting their applications to end users. In decades past, nearly all applications were installed directly on the users’ PCs and/or servers.

Today, many applications are delivered as Web applications. The code for these applications resides on a Web server, and users access the application via a Web browser. Common examples of Web applications include Web-based email, social media platforms, wikis and online auctions.

The distinctions between Web applications and websites can be a bit fuzzy. However, in general, websites have primarily static content with few interactive elements, while Web applications have primarily dynamic content and are designed for user interaction.

A third type, software-as-a-service (SaaS) applications, is closely related to Web applications. As with Web applications, users generally access SaaS applications via a Web browser. However, some SaaS applications can also be accessed via a native mobile app on a device like a smartphone or a tablet. Also, user data for a SaaS application is stored in a cloud computing environment (which may or may not be the case for Web applications), and many SaaS applications charge a subscription fee, which is less common for Web applications.

Well-known examples of SaaS applications include Salesforce.com, Microsoft Office 365 and Adobe Creative Cloud.

Recommended Reading: Webopedia’s enterprise application definition.

App Versus Application

Many people use the words app and application interchangeably, but purists will tell you that the two are slightly different. App is used to describe a type of application that has a single functionality, whereas an application may handle a number of functions. See Webopedia’s app definition to learn more.

Terms

HTTP – HyperText Transfer Protocol

HTTP – HyperText Transfer Protocol

http in a web address

HTTP means HyperText Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.

For example, when you enter a URL in your browser, this actually sends an HTTP command to the Web server directing it to fetch and transmit the requested Web page. The other main standard that controls how the World Wide Web works is HTML, which covers how Web pages are formatted and displayed.

Recommended Reading: Webopedia’s HTTP response header and HTTP request header definitions.

HTTP is a Stateless Protocol

HTTP is called a stateless protocol because each command is executed independently, without any knowledge of the commands that came before it. This is the main reason that it is difficult to implement Web sites that react intelligently to user input. This shortcoming of HTTP is being addressed in a number of new technologies, including ActiveXJavaJavaScript and cookies.

HTTP Status Codes are Error Messages

Errors on the Internet can be quite frustrating — especially if you do not know the difference between a 404 error and a 502 error. These error messages, also called HTTP status codes are response codes given by Web servers and help identify the cause of the problem.

For example, “404 File Not Found” is a common HTTP status code. It means the Web server cannot find the file you requested. This means the webpage or other document you tried to load in your Web browser has either been moved or deleted, or you entered the wrong URL or document name.

Knowing the meaning of the HTTP status code can help you figure out what went wrong. On a 404 error, for example, you could look at the URL to see if a word looks misspelled, then correct it and try it again. If that doesn’t work, backtrack by deleting information between each backslash, until you come to a page on that site that isn’t a 404. From there you may be able to find the page you’re looking for.

Additional information on HTTP error codes can be found in Webopedia’s common HTTP status codes article.

Custom 404 Error Pages

Many websites create custom 404 error pages that will help users locate a valid page or document within the website. For example, if you land on a 404 File Not Found page via Webopedia.com, a custom error page will load providing quick links to on-site navigation and site search features to help you find what you were looking for.

Webopedia 404 Error Page
Image: Webopedia’s custom “404 File Not Found” (HTTP status code) page.

What about HTTPS?

A similar abbreviation, HTTPS means Hyper Text Transfer Protocol Secure. Basically, it is the secure version of HTTP. Communications between the browser and website are encrypted by Transport Layer Security (TLS), or its predecessor, Secure Sockets Layer (SSL).

Terms

URL – Uniform Resource Locator

URL – Uniform Resource Locator

URL is the abbreviation of Uniform Resource Locator and is defined as the global address of documents and other resources on the World Wide Web. To visit this website, for example, you’ll go to the URL www.webopedia.com.

We all use URLs to visit webpages and other resources on the web. The URL is an address that sends users to a specific resource online, such as a webpage, video or other document or resource. When you search Google, for example, the search results will display the URL of the resources that match your search query. The title in search results is simply a hyperlink to the URL of the resource.

A URL is one type of Uniform Resource Identifier (URI); the generic term for all types of names and addresses that refer to objects on the World Wide Web.

What Are the Parts of a URL?

The first part of the URL is called a protocol identifier and it indicates what protocol to use, and the second part is called a resource name and it specifies the IP address or the domain name where the resource is located. The protocol identifier and the resource name are separated by a colon and two forward slashes.

URL

For example, the two URLs below point to two different files at the domain webopedia.com. The first specifies an executable file that should be fetched using the FTP protocol; the second specifies a webpage that should be fetched using the HTTP protocol:

ftp://www.webopedia.com/stuff.exe
http://www.webopedia.com/index.html

Accessing a URL that ends in .com, .html, or .htm will display a webpage located at that address. If, for example, you visit a URL that ends in .jpg or .png you can expect to view an image file.

Web Address is a URL with HTTP/HTTPS

The term “web address” is a synonym for a URL that uses the HTTP or HTTPS protocol. The Uniform Resource Locator (URL) was developed by Tim Berners-Lee in 1994 and the Internet Engineering Task Force (IETF) URI working group. Today, the format of the URL has not changed. The URL format is specified in RFC 1738 Uniform Resource Locators (URL).

In Programming: The URL Class

Note that in object-oriented programming, such as Java, programs can use a class (a category of objects) called URL. You can create a URL object to represent the URL address.

Recommended Reading: See Java Tutorials: Working with URLs in the Related Links section below for additional information on using the URL object in a Java program.

Uncategorized

ERP module – Enterprise Resource Planning module

ERP module – Enterprise Resource Planning module

In software a module is a part of a program, and programs are composed of one or more independently developed modules that are not combined until the program is linked.

ERP (Enterprise Resource Planning) software typically consists of multiple enterprise software modules that are individually purchased, based on what best meets the specific needs and technical capabilities of the organization.

Each ERP module is focused on one area of business processes, such as product development or marketing. Some of the more common ERP modules include those for product planning, material purchasing, inventory control, distribution, accounting, marketing, finance and HR.

Terms

OOP – Object Oriented Programming

OOP – Object Oriented Programming

Object-oriented programming (OOP) refers to a type of computer programming (software design) in which programmers define not only the data type of a data structure, but also the types of operations (functions) that can be applied to the data structure.

In this way, the data structure becomes an object that includes both data and functions. In addition, programmers can create relationships between one object and another. For example, objects can inherit characteristics from other objects.

The Basic OOP Concepts

If you are new to object-oriented programming languages, you will need to know a few basics before you can get started with code. The following Webopedia definitions will help you better understand object-oriented programming:

  • Abstraction: The process of picking out (abstracting) common features of objects and procedures.
  • Class: A category of objects. The class defines all the common properties of the different objects that belong to it.
  • Encapsulation: The process of combining elements to create a new entity. A procedure is a type of encapsulation because it combines a series of computer instructions.
  • Information hiding: The process of hiding details of an object or function. Information hiding is a powerful programming technique because it reduces complexity.
  • Inheritance: a feature that represents the “is a” relationship between different classes.
  • Interface: the languages and codes that the applications use to communicate with each other and with the hardware.
  • Messaging: Message passing is a form of communication used in parallel programming and object-oriented programming.
  • Object: a self-contained entity that consists of both data and procedures to manipulate the data.
  • Polymorphism: A programming language’s ability to process objects differently depending on their data type or class.
  • Procedure: a section of a program that performs a specific task.

Recommended Reading: Webopedia Study Guides – Java Basics: Variables, Syntax and Conventions and Java Basics Part 2: Operators, Modifiers and Structures.

Advantages of Object Oriented Programming

One of the principal advantages of object-oriented programming techniques over procedural programming techniques is that they enable programmers to create modules that do not need to be changed when a new type of object is added. A programmer can simply create a new object that inherits many of its features from existing objects. This makes object-oriented programs easier to modify.

OOPL – Object Oriented Programming Languages

An object-oriented programming language (OOPL) is a high-level programming language based on the object-oriented model. To perform object-oriented programming, one needs an object-oriented programming language.  Many modern programming languages are object-oriented, however some older programming languages, such as Pascal, do offer object-oriented versions. Examples of object-oriented programming languages include JavaC++ and Smalltalk.

The First  OOPL

Simula, developed in the 1960s at the Norwegian Computing Center in Oslo, is considered to be the first object-oriented programming language. Despite being first, Smaslltalk is considered to be the only true object-oriented programming environment and the one against which all others must be compared. It was first developed for educational use at Xerox Corporation’s Palo Alto Research Center in the late 1960s and released in 1972.

Terms

API – application program interface

API – application program interface

 

An application program interface (API) is a set of routinesprotocols, and tools for building software applications. Basically, an API specifies how software components should interact. Additionally, APIs are used when programming graphical user interface (GUI) components. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.

API Icon

Different Types of APIs

There are many different types of APIs for operating systems, applications or websites. Windows, for example, has many API sets that are used by system hardware and applications — when you copy and paste text from one application to another, it is the API that allows that to work.

Most operating environments, such as MS-Windows, provide APIs, allowing programmers to write applications consistent with the operating environment. Today, APIs are also specified by websites. For example, Amazon or eBay APIs allow developers to use the existing retail infrastructure to create specialized web stores. Third-party software developers also use Web APIs to create software solutions for end-users.

Popular API Examples

ProgrammableWeb, a site that tracks more than 15,500 APIs, lists Google Maps, Twitter, YouTube, Flickr and Amazon Product Advertising as some of the the most popular APIs. The following list contains several examples of popular APIs:

1. Google Maps API: Google Maps APIs lets developers embed Google Maps on webpages using a JavaScript or Flash interface. The Google Maps API is designed to work on mobile devices and desktop browsers.

2. YouTube APIs: YouTube API: Google’s APIs lets developers integrate YouTube videos and functionality into websites or applications. YouTube APIs include the YouTube Analytics API, YouTube Data API, YouTube Live Streaming API, YouTube Player APIs and others.

3. Flickr API: The Flickr API is used by developers to access the Flick photo sharing community data. The Flickr API consists of a set of callable methods, and some API endpoints.

4. Twitter APIs: Twitter offers two APIs. The REST API allows developers to access core Twitter data and the Search API provides methods for developers to interact with Twitter Search and trends data.

5. Amazon Product Advertising API: Amazon’s Product Advertising API gives developers access to Amazon’s product selection and discovery functionality to advertise Amazon products to monetize a website.

Terms

programming language

programming language

A programming language is a vocabulary and set of grammatical rules for instructing a computer or computing device to perform specific tasks. The term programming language usually refers to high-level languages, such as BASICCC++COBOLJavaFORTRANAda, and Pascal.

Each programming language has a unique set of keywords (words that it understands) and a special syntax for organizing program instructions.

Programming Language

High-Level Programming Languages

High-level programming languages, while simple compared to human languages, are more complex than the languages the computer actually understands, called machine languages. Each different type of CPU has its own unique machine language.

Lying between machine languages and high-level languages are languages called assembly languages. Assembly languages are similar to machine languages, but they are much easier to program in because they allow a programmer to substitute names for numbers. Machine languages consist of numbers only.

Lying above high-level languages are languages called fourth-generation languages (usually abbreviated 4GL). 4GLs are far removed from machine languages and represent the class of computer languages closest to human languages.

Converting to Machine Language

Regardless of what language you use, you eventually need to convert your program into machine language so that the computer can understand it. There are two ways to do this:

1) Compile the program.
2) Interpret the program.

Recommended Reading: See compile and interpreter for more information about these two methods.

The question of which language is best is one that consumes a lot of time and energy among computer professionals. Every language has its strengths and weaknesses. For example, FORTRAN is a particularly good language for processing numerical data, but it does not lend itself very well to organizing large programs. Pascal is very good for writing well-structured and readable programs, but it is not as flexible as the C programming language. C++ embodies powerful object-oriented features, but it is complex and difficult to learn.

The Top Programming Languages?

According to IEEE Spectrum’s interactive ranking, Python is the top programming language of 2017, followed by C, Java and C++. Of course, the choice of which language to use depends on the type of computer the program is to run on, what sort of program it is, and the expertise of the programmer.

Top Programming Languages

Image: IEEE Spectrum Interactive Ranking (2017)

Uncategorized

rapid application development

rapid application development

A programming system that enables programmers to quickly build working programs. In general, RAD systems provide a number of tools to help build graphical user interfaces that would normally take a large development effort. Two of the most popular RAD systems for Windows are Visual Basic and Delphi.

Historically, RAD systems have tended to emphasize reducing development time, sometimes at the expense of generating efficient executable code. Nowadays, though, many RAD systems produce extremely fast code. Conversely, many traditional programming environments now come with a number of visual tools to aid development. Therefore, the line between RAD systems and other development environments has become blurred.