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.

Network

CIDR – Classless Inter-Domain Routing

CIDR – Classless Inter-Domain Routing

Short for Classless Inter-Domain Routing, an IP addressing scheme that replaces the older system based on classes A, B, and C. With CIDR, a single IP address can be used to designate many unique IP addresses. A CIDR IP address looks like a normal IP address except that it ends with a slash followed by a number, called the IP network prefix.For example:

172.200.0.0/16

The IP network prefix specifies how many addresses are covered by the CIDR address, with lower numbers covering more addresses. An IP network prefix of /12,for example, can be used to address 1,048,576 former Class C addresses.

CIDR addresses reduce the size of routing tables and make more IP addresses available within organizations.

Terms

enterprise storage

enterprise storage

Enterprise storage is a broad category that includes products and services designed to assist large organizations with saving and retrieving digital information. Unlike consumer or small business storage devices, enterprise storage can handle large volumes of data and large numbers of users. It usually involves centralized storage repositories, such as storage area networks (SANs) or network-attached storage (NAS) devices.

Enterprise storage can be broken down into several categories. Primary storage houses the data that end users are actively accessing. Backup storage contains copies of the information in primary storage for use in disaster recovery situations or in other circumstances where a secondary copy is necessary. Backup storage is closely related to archive storage, which is where enterprises keep outdated information that needs to be saved for compliance or other purposes.

Benefits of Enterprise Storage: On-Premises or Cloud Deployment

Organizations can choose to purchase and deploy on-premises enterprise storage systems, or they can choose to store their data with an external cloud computing service. The advantage of on-premises enterprise storage is that the organization retains complete control of the hardware and data, satisfying some security and compliance concerns. On the other hand, cloud-bases enterprise storage simplifies storage management and may lower costs in some cases. Some companies take a hybrid approach and use a combination of both on-premise and cloud-based storage.

One of the key benefits of enterprise storage solutions is that they enable file sharing and collaboration among workers. Many offer security features, such as user-based permissions, that aren’t commonly found in consumer storage solutions. Enterprise storage also offers better performance, reliability, availability and scalability than other types of storage solutions.

Enterprise Storage Networking and Management

Enterprise storage devices utilize similar technology as consumer and small business storage solutions. However, enterprise data storage generally offers higher reliability, availability and scalability. As a result, enterprise storage generally costs more than consumer or small business storage. It also usually requires more time and expertise to set up, while many consumer storage vendors takes a plug-and-play approach, and enterprise storage networks are typically run by specialized personnel or administrators.

Terms frequently associated with enterprise storage include storage networking, which is the linking of storage devices with each other and other computer systems, and storage management, which includes technology and processes that help organizations control and maintain their storage systems.

Enterprise Storage Implementation

When you decide to deploy a new enterprise storage system, you face a number of choices. First, you must decide whether to design and build your own storage system or to utilize a cloud-based storage service. If you decide to use a cloud computing service, you won’t have to make very many decisions about the hardware and network architecture, because the cloud vendor will handle those for you. Generally, the deployment steps for cloud storage will be fairly simple: Select a cloud service that meets your needs, sign up for the service and configure it to work with your existing applications and networks. Your most important task will be researching the services to make sure that you get one that can meet your needs and work with your current infrastructure.

Recommended Reading: Choosing an Enterprise Storage Implementation.

Three Steps to Deploy On-Premises

The following three steps for deploying on-premises storage networks involve setting up the physical hardware and cables, migrating data (if necessary), configuring the devices and testing the system.

1. Choose a Storage Media

If you decide to build your own storage system, you’ll have to make some additional decisions .For example, you’ll need to select which storage media to use: Tape, hard disk drives (HDDs) or solid state drives (SSDs). Tape is the least expensive medium, but its performance and capabilities generally make it suitable only for backup and archive applications. HDDs are more expensive than tape, but they offer the higher performance necessary for primary storage.SSDs cost the most of all, but they offer much better performance and reliability than either tape or HDDs. Many organizations use a mix of tape, HDDs and SSDs, and some storage devices themselves include a mix of HDDs and SSDs.

2. Choose a Storage Architecture

You’ll also need to decide on your storage architecture. Enterprise storage can include direct-attached storage (DAS), storage area networks (SANs) or network-attached storage (NAS) devices. DAS devices connect directly to an individual PC or server and don’t offer the same collaboration capabilities as networked storage. However, you do gain collaboration benefits from SAN and NAS devices. SANs provide block-level storage for access by servers, while NAS devices offer file-level storage for access by end users. Many organizations use a combination of DAS, NAS and SAN devices.

3. Choose a Network Protocol

You’ll also need to choose which network protocol you’ll use. Your options include the Internet Protocol Suite (TCP/IP), Fibre Channel Protocol (FCP) and Internet SCSI (iSCSI) protocol. The type of storage architecture you select will impact which network protocol(s) you can use. For example, Fibre Channel and iSCSI are SAN protocols, while NAS is an IP storage protocol. Fibre Channel over Ethernet (FCoE) has emerged as one way for Ethernet and Fibre Channel networks to converge.

Enterprise Storage Technology

One of the primary organizations involved in setting standards for the enterprise storage industry is the Storage Networking Industry Association (SNIA). It has published numerous standards, including the Storage Management Initiative Specification (SMI-S)Solid State Storage Performance Test Specification (SSS PTS) and the eXtensible Access Method (XAM) specification.

The Internet Engineering Task Force (IETF) publishes the TCP/IP and iSCSI protocols. The Fibre Channel Industry Association (FCIA) publishes Fibre Channel specifications.

Enterprise Storage Vendors

There are a number of vendors that sell enterprise storage hardware or offer cloud-based enterprise storage. View Webopedia’s enterprise storage vendor list.

Terms

storage networking

storage networking

Storage networking is the practice of linking together storage devices and connecting them to other IT networks. Storage networks provide a centralized repository for digital data that can be accessed by many users, and they use high-speed connections to provide fast performance. It’s most common to find storage networks in enterprise settings, although some vendors do sell networked storage products for consumers and small businesses.

Storage Networking and SAN

The phrase “storage networking” is commonly used in reference to storage area networks (SANs). A SAN links together multiple storage devices and provides block-level storage that can be accessed by servers.

Some people also use the phrase “storage networking” in reference to network attached storage (NAS) devices. Similar to a file server, a NAS array is a standalone device that connects to a network and provides file-level storage that can be accessed by end users.

The benefits of storage networking can include improved performance, reliability and availability. It can enable greater collaboration among workers, and it can simplify some IT management tasks. Storage networks also make it easier to back up data for compliance and disaster recovery purposes. In addition, they can free up valuable server CPU cycles for more important tasks. And although setting up a storage network can be costly, in some cases, it can reduce overall storage costs.

Storage and Other Networks

Storage networking is very similar to other kinds of IT networking. Just as you can connect multiple PCs and servers into a local area network (LAN) or a wide area network (WAN), you can connect multiple storage arrays into a storage area network (SAN).

SANs are often confused with the other common kind of networked storage — NAS devices. In a nutshell, the difference between SAN and NAS is that a SAN is a network, while a NAS array is a device connected to a network. End users don’t save files directly to SANs. Instead, SANs store blocks of data for access by the applications running on servers. By contrast, end users can save files directly to NAS devices.

Making things somewhat more confusing, the lines between SAN and NAS devices are beginning to blur as some vendors release storage appliances with a combination of SAN and NAS capabilities. Many organizations use both SANs and NAS devices, and some connect NAS arrays to their SANs.

The alternative to networked storage is direct attached storage (DAS). Before the advent of storage networking, DAS was the only option for saving digital information. With DAS, a storage device is connected directly to a server or a PC, not to a network. Familiar examples of DAS include a desktop or laptop hard drive, a CD-ROM, a USB memory stick and a hard drive attached directly to an individual server.

Storage Networking Implementation

The process for setting up a storage network will vary depending on whether you are deploying a SAN or a NAS device. Generally, NAS devices are easier to deploy. They connect directly to a LAN via a TCP/IP connection. Some NAS arrays sold for home or small business networks are so easy to deploy that it takes only a few minutes to plug in the cables and configure the network before the devices are up and running.

Deploying a SAN, on the other hand, can be much more complicated. You can create a simple SAN with a storage device, a SAN controller and the appropriate cables. However, in data center environments, a typical SAN will include multiple storage devices, controllers, and networking gear like routers, switches, bridges and gateways, much like you would find in a LAN or WAN. The exact design of the SAN will depend on the needs of the organization and the types of hardware in use. SANs can use a variety of communication protocols, including Fibre Channel (the most common), iSCSI, ATA over Ethernet (AoE), Fibre Channel over Ethernet (FCoE), ESCON over Fibre Channel, HyperSCSI and others.

Storage networks are often used alongside storage management technologies, such as storage resource management software, virtualizationmirroring, and compression.

Storage Networking Technology

An organization called the Storage Networking Industry Association (SNIA) promotes storage networking and establishes standards designed to grow the industry. This group has published the Storage Management Initiative Specification (SMI-S) and numerous related standards.  Another group, the Fibre Channel Industry Association (FCIA), also promotes storage networking and data storage, video, networking and storage area networking (SAN) management technology.