Chapter 3: What Is An Enterprise Information System (2/2) PDF
Document Details
Uploaded by KnowledgeableObsidian
Tags
Summary
This document provides an overview of enterprise information systems, particularly focusing on the concepts of hardware and software. It explores how these components interact and how they enable computers to perform tasks. The author describes the basic functions of computer systems and their underlying principles.
Full Transcript
CHAPTER 3: WHAT IS AN ENTERPRISE INFORMATION SYSTEM (2/2) ========================================================= TRANSCRIPT VIDEO "WHY DO COMPUTERS DO ANYTHING IN THE FIRST PLACE?" ------------------------------------------------------------------- Imagine yourself on a beautiful summer night....
CHAPTER 3: WHAT IS AN ENTERPRISE INFORMATION SYSTEM (2/2) ========================================================= TRANSCRIPT VIDEO "WHY DO COMPUTERS DO ANYTHING IN THE FIRST PLACE?" ------------------------------------------------------------------- Imagine yourself on a beautiful summer night. But also imagine that it is a summer night of the year 1280, where after a long day of tending to your flock of sheep, you now lie in the grass next to your crackling campfire and stare up at the night sky, pondering the mysteries of the universe. Suddenly, in a flash of light, you\'re transported 750 years into the future, right into the bustling center of Times Square in midtown Manhattan. You spend the next hours in shock, but also in amazement, walking through the city and witnessing the modern wonders of electric lights, self-driving carriages, flying machines, and handheld talk boxes. What astounds you most about this strange new world are the little boxes everywhere that people are constantly massaging with their fingertips. You learn that they\'re called computers, and it seems that they can do anything that people tell them to. At first you think they function by something called magic, but you quickly learn that it\'s not exactly that. So this leaves you with the same question that many people in the 2020s also have. Why does a computer do anything in the first place? Let\'s look at that. Let\'s start by defining the two most general aspects of any information processing machines or computers architecture. First, there must be a way for any such a machine to know what it is to do. What are its instructions? What tasks should it fulfill? We call this component of a computer system the **software**. Software code is best described as a to-do list of instructions that its programmer has made. Since a computer is not some immaterial gaseous genie, it also needs a physical container to hold and carry out these software code instructions. Some sort of environment which will enable it to logically execute these instructions. The second component of a computer system is, of course, the **hardware**. The hardware describes all the components of the computer that you can touch with your fingers. The CPU, the memory sticks, the hard drives, all the electronics. So the actual big gray scary looking box which has been spewing dust underneath your office desk for the past seven years. Or your mobile phone, that\'s computer hardware too. Or your TV, your microwave, your digital camera, or your smart fridge. Even the ATM around the corner is hardware which can run Doom. However complex or simple, the hardware serves as the physical object which enables the software code to do its thing. In summary, you could compare the hardware to the human brain with its trillions of neural connections and the software to the mental processes that use this physical network of the brain in order to do the actual thinking. So far, so good. But this hardware and the software, how exactly do they work together to get stuff done? The thing about computers which differentiates them from most other classical machines is that they are digital. They work with so-called binary code. Surely you\'ve heard of the cryptic zeros and ones being mentioned anytime the concept of digital comes into play. Now this has to do with the type of language that computers speak. If you think of human language, in our case English, you will find that it is based upon 26 symbols, or as we call them, letters. Take any great works of English literature. You will find they all contain only these same 26 symbols. So what differentiates the ketchup song from Hamlet? In the end, it\'s nothing more than just a different combination of these symbols. Unlike English, the language which computers use has only two symbols. And to make it even more interesting, these symbols are not letters as such, but actual electrical states. We often refer to them as those famous zeros and ones, but these are also merely descriptions. The entire language of a computer consists of one state in which electricity is flowing through one of its circuits, which we\'ll call a 1, and a second state in which no electricity is flowing through that same circuit, which we\'ll call a 0. A current flows through a wire or a current does not flow through that same wire. That\'s a computer\'s language. Now that doesn\'t seem like a very expressive language, right? But just like in English, it\'s the combination of those two electrical states which the computer and all its parts use to talk to us. And this is where these other parts of the computer come in. First and foremost, we have the CPU or central processing unit. You can imagine the CPU like a giant railroad station and the electric signals like train engines and their wagons pulling into the station. The train station directs the different trains to different tracks, starts, moves, and stops them. It also changes the wagons on each train, rearranging them, unhooking them from certain trains, and attaching them to others. Then the trains are sent out of the train station or the CPU to other destinations inside the computer. This of course means that there are many many zeros and ones or train wagons filled with data involved in this process. And because a computer and CPU can manipulate a huge amount of zeros and ones incredibly quickly without breaking a sweat, it can use this skill to start speaking with us. With only one of these single electricity, no electricity states or zeros and ones, which we call a bit, you can\'t write much of a story yet. But if we take more of these electrical states or bits, group them together, and send them down the circuits of the CPU, it can combine them according to certain rules in meaningful ways. For example, let\'s take eight of these bits and let\'s call that combination a byte. It would look something like this. But why will grouping electrical states together help the CPU and other components do actual work with them? In any English dictionary, you\'ll find one specific combination of eight letters arranged like this. Mountain. And next to it, you\'ll find the definition of this combination of letters. A large natural elevation of the Earth\'s surface. And so, whenever you see the word mountain somewhere, you know that this combination of symbols is supposed to represent a large natural elevation of the Earth. Likewise, in a computer, you\'ll find one specific combination of eight bits, which looks like this. And here too, a special computer dictionary will define the meaning of this combination of electrical states. But the meaning will be much simpler. This combination will represent the English letter A. So with different combinations of electricity flowing and not flowing, and a special computer dictionary which the CPU uses to interpret what these combinations mean, it can translate its weird two-symbol electric slang into understandable human language. And back. And that computer dictionary which the PC uses to translate bytes into letters is called Unicode, based on an even older dictionary called ASCII. Now we can talk with the computer. But how do we formulate our commands? Programmers write their instructions for the computer in so-called programming languages, designed in such a way that the CPU can understand them even more precisely than using its own general dictionary. There are many dozens of different programming languages that we can choose from, all designed to have their own strengths and uses. And many of these programming languages are even quite similar to regular English, like Java or C++ or Python or Swift. Having decided on a language, the programmer enters his instructions via the keyboard. His key presses are translated by the CPU into sets of electrical impulses, which are then merrily sent on their way to different computer components to perform specific functions. These electrical impulses now travel in huge groups and carry lengthy instructions for these components. If you want to use the train station analogy for the CPU, then you could compare the motherboard of the PC, which is the part which holds all the components, to a city. The CPU would be the central station and the town hall, keeping the city organized. The memory, or RAM, would be the parking garages strewn throughout the city, designed for short-term parking. While the HDDs, or hard drives, would represent the warehouse district, keeping things in long-term storage. The GPU and sound card would be the factories, turning raw data into pictures and sound. And the integrated circuits of the motherboard would be the roads connecting all the components together, ultimately leading to the large highways outside the city. These highways, in the form of network, HDMI, and USB cables, move information in and out of the computer to its various local peripherals, such as mouse, keyboard, monitor, or printer, or even much further to other PCs, networks, or the internet. So, in closing, in order for any computer to do its thing, we need all these components, hardware and software, working in harmony in the step-by-step processes we\'ve discussed. Thank you. **\ ** TRANSCRIPT VIDEO "EIS COMPONENT \#4: SOFTWARE" ---------------------------------------------- The fourth crucial component of an organization's Enterprise Information System is Software. Unlike the other components we\'ve discussed, you\'ll find that the definition of software in an EIS is fairly uniform across organizations. **[Defining Software]** At its core, software is a set of instructions, data, or programs used to operate computers and execute specific tasks. It\'s the intangible counterpart to hardware. You can't touch it, but it's there to tell the hardware what to do. In fact, software tells the hardware WHAT to do, HOW to do it, and WHEN to do it. In essence, if hardware is the body of a computer system, software is its brain and nervous system. Software is divided into two main categories: **System Software** and **Application Software.** The main difference between these two is that system software runs in the background, managing and supporting the basic functions of the computer, while application software interacts directly with users to help them perform specific tasks. Let\'s break these down in more detail: **1. System Software** - - - - - - **2. Application Software** - - - - Perhaps it goes without saying, but software is the lifeblood of any Enterprise Information System. It\'s what transforms raw data into useful information, enables communication and collaboration across the organization, and automates complex business processes. **\ ** TRANSCRIPT VIDEO "EIS COMPONENT \#5: DATA" ------------------------------------------ The fifth and final component of any Enterprise Information System is what many consider the most valuable component of them all: "Data". As the saying goes, \"Data is the new oil.\" So, let\'s explore how this precious resource flows through an Enterprise Information System. **[Defining "Data"]** At its core, data is a collection of facts, figures, and information. Every moment, our species and its inventions are creating trillions of pieces of data, and interconnected devices are constantly collecting, analyzing and sharing this data. Data becomes valuable to an organization when it drives business decisions and operations successfully. And this is why organizations need to carefully manage their data to extract the most value from it. In a sense, this goal is the entire POINT of building an Information System in the first place. **[The Flow of Data in an Organization]** To understand how data is used within an EIS ecosystem, you need to look at the data lifecycle. Here's how data typically flows through an organization: 1. **Step 1: Data Entry:** First, data enters the organization from outside sources. This could be through "active collection" (like surveys or website analytics, for example) or through "passive reception" (like customer orders or supplier invoices). 2. **Step 2: Data Processing:** The incoming data is then filtered and processed to make it useful for the organization\'s purposes. This might involve cleaning the data, formatting it, or combining it with existing data. 3. **Step 3: Data Storage:** Processed data is then stored in the organization\'s databases or other storage systems. 4. **Step 4: Data Usage:** The stored data is used for various purposes across the organization, such as strategy formulation, production planning, sales forecasting, or marketing campaigns. 5. **Step 5: Data Modification:** As the data is used, it\'s often modified or updated. For example, customer information might be updated after a new purchase. 6. **Step 6: Modified Data Storage:** The modified data is then stored back in the system, creating a continuous cycle of data update and storage. 7. **Step 7: Data Distribution:** Finally, some of this data is distributed to external stakeholders, such as customers, suppliers, or government agencies. This lifecycle can repeat itself multiple times, with data constantly being collected, stored, modified, and distributed. Often, businesses will use specialized software or systems to help them manage this process. **[Categories of Data in an EIS]** Just as there were categories of other EIS components, there are also data categories. Organizations collect, use, modify, and store countless types of data across the categories you see on the screen. Later on in the course, we'll look at examples of typical data collected in each of these categories. **[The Challenges of Data Management]** As with any valuable resource, data presents challenges to the organization that uses it. Among these are 1. Data Quality -- Data Quality: This involves making sure that the data an organization uses is accurate, complete, and up-to-date. 2. Data Security -- Data Security involves protecting sensitive data from cybercriminals and any other unauthorized access. 3. Data Privacy -- Data Privacy involves complying with regulations like the EU GDPR and assuming Corporate Digital Responsibility in regards to the data of customers, employees, suppliers, and other stakeholders. 4. Data Volume -- A rapidly growing challenge in a world of Big Data is dealing with Data Volume. The ever-growing volumes of data are overwhelming and need to be managed properly in order to derive useful insights from them. **[Scope of Data in an EIS]** Large organizations deal with millions of data units every single day. The scope of which data an organization considers to be part of its EIS can vary from narrow to broad -- just like with the other components we've discussed. - In the narrowest sense, only the data an organization explicitly stores in its databases is considered to be part of its EIS. - In contrast, the broadest interpretation of EIS Data includes absolutely ANY data collected, modified, used, stored, or distributed by the organization. - Most organizations fall somewhere between these two extremes. When defining the data in your own EIS, our opinion is that your filter should be your business processes. All the key data that is required to properly carry out your business processes should constitute the data of your EIS, no more, no less. **[Conclusion ]** As we wrap up our series on the components of Enterprise Information Systems, it\'s clear that data ties everything together. It\'s the resource that flows through the hardware and software, guided by rules and protocols, and ultimately used by people to drive the organization forward. The ability to effectively collect, process, store, and leverage data is what separates successful organizations from the rest. COMMON COMPUTER DATA TYPES -------------------------- **Below are the most common data types that digital devices work with:** - **BOOLEAN DATA**: - **INTEGERS**: - **FLOATS**: - **DATE/TIME DATA**: - **STRINGS**: - **IMAGES**: - **AUDIO DATA**: - **VIDEO DATA**: - **OBJECTS**: **\ ** TYPICAL TYPES OF DATA AN ORGANIZATION COLLECTS ---------------------------------------------- In a world of Big Data, it would be silly to claim that there is a "standard" collection of data elements that all organizations need and that fits on a few slides! But just to whet your appetite:, here's a small sample of typical data that most EIS' collect. +-----------------------------------------------------------------------+ | **CUSTOMER DATA** | | | | - | +=======================================================================+ | **EMPLOYEE DATA** | | | | - | +-----------------------------------------------------------------------+ | **SUPPLIER AND VENDOR DATA** | | | | - | +-----------------------------------------------------------------------+ | **PRODUCT DATA** | | | | - | +-----------------------------------------------------------------------+ | **SALES AND MARKETING DATA** | +-----------------------------------------------------------------------+ | **INVENTORY AND OPERATIONS DATA** | +-----------------------------------------------------------------------+ | **FINANCIAL DATA** | +-----------------------------------------------------------------------+ | **REGULATORY AND COMPLIANCE DATA** | +-----------------------------------------------------------------------+ | **MARKET RESEARCH DATA** | | | | - | +-----------------------------------------------------------------------+ | **SOCIAL MEDIA DATA** | | | | - | +-----------------------------------------------------------------------+ | **WEBSITE AND APP DATA** | | | | - | +-----------------------------------------------------------------------+ | **CUSTOMER SERVICE DATA** | | | | - | +-----------------------------------------------------------------------+ | **CORPORATE SOCIAL RESPONSIBILITY DATA** | | | | - | +-----------------------------------------------------------------------+ | **HUMAN RESOURCES DATA** | | | | - | +-----------------------------------------------------------------------+ | **PERFORMANCE AND KPI DATA** | | | | - | +-----------------------------------------------------------------------+ **\ ** TRANSCRIPT VIDEO "DATABASES \#1: HOW IS DATA STORED?" ----------------------------------------------------- So you've spent the last three hours writing the best movie script idea you've ever had. All the text is right there, hanging on your screen. But what happens if you turn the computer off? Or if a blackout knocks out the electricity for even a minute. Will your script still be there when you reboot your computer? I think anyone who doesn't have "autosave" activated in Microsoft Word knows the answer to that. Most of us have learned it the hard way: if you want to use your data after your computer shuts down, you need to store it somewhere, permanently. We've done this countless times, by clicking on "Save as\..." and choosing a file name. As a result, our data was stored on our PC's hard drive. Or on a USB stick. Or in the cloud. Those are great solutions for individuals. But are they ideal for organizations, too? For argument's sake, let's assume that you have your own office area in your organization, and you set up a little private refrigerator to cool your smoothies and snacks -- as long as you're the only one using it, all is fine. But what if your entire office finds out, and suddenly everyone else thinks it's a great idea to store their snacks & smoothies in your fridge as well? Suddenly the "tiny private refrigerator" which has served you well isn't such a great solution anymore when everybody has access to it, because: **(a)** people will constantly be asking you if you could bring them their smoothies, or **(b)** people have to walk all the way to your office each time they want their snacks, or **c)** people will keep mixing up their snacks because the fridge is small and unorganized. What you need is a [community refrigerator]. Preferably [ ] in a central location, and with a lock, where only the employees that are entitled to the snacks get a key. That way, anytime someone wants something stored inside, they can simply go to the fridge, unlock it, and get what they want from a clearly labelled shelf, completely independently. No waiting, and sno disturbing you during your mid-afternoon office nap. When talking about efficient storage and access to DATA, the equivalent of a community fridge would be a DATABASE. And unlike a community fridge, everything stored in a database remains available for everyone indefinitely, and can be accessed by an infinite number of users -- even simultaneously. We know how to best organize the food in our own fridge, but how do we organize data in a database? If all the data in your database is stored in a structured, centralized manner (like food on the shelves of a refrigerator), we call it a **relational database**. You've worked with spreadsheet software like Excel. When you open a new Excel file, the first thing you see is an empty table. That table consists of an endless number of columns and rows. These columns and rows are split up into individual cells, into which you enter data. For simple tasks, one table is usually enough. But sometimes -- maybe because you're organized -- you want to split up your data over multiple tables. That's very easy in Excel. By clicking on a tab at the bottom of the window, you can access another worksheet -- or table. And another. And another. Relational Databases are not the exact same thing as spreadsheet software, but they DO share many similarities. We'll take a closer look at how they're set up in the next video. TRANSCRIPT VIDEO "DATABASES \#2: RELATIONAL DATABASES" ------------------------------------------------------ As discussed in the previous video, the structure of Relational Databases shares many similarities with spreadsheets. Let's take a closer look at the tables used in databases: In relational databases, their structure is based on tables. Just like with Excel, you have only a single table in such a database. But most organizations have far more than just one table - they typically split their data into categories such as "customer data", "order data", "supplier data", "inventory data", "employee data", "product data" an so on, and then create separate tables for each data category. For example, In this database, this company's data will be clustered into seven tables. Let's look at how relational database tables are structured: - A table in a relational database is split into rows and columns. - Each **row** in a database table represents a single **record** (or "instance") of interconnected data. - Each **column** in a database table represents a specific type of information to be stored. Let's make this clearer with an example: An organization wants to store various pieces of customer data. In its database, it creates a new table called "customer\_data". It creates the following columns in this table: "first name", "last\_name", "address", and "telephone number". Now it enters a new record, or row, for a customer. The data in this record is "John", "Smith", "Währinger Gürtel 97" and the telephone number. As you can imagine, the organization enters records, or rows, for each of its customers. But organizations can have hundreds of thousands of customers - can you think of a potential problem there? Exactly. What if TWO customers are named John Smith, both live at Währinger Gürtel 97 and both have the same phone number? Maybe because they're twins with -- let's face it -- very, very uncreative parents. And they live together and share a phone. In such a case, how can the organization access the 'correct' John Smith? There's a solution for this problem, and it's a part of any table in any relational database. The organization creates a column in the table that is a **primary key**. Basically, whenever a record is entered, a further piece of data (usually a number that increases by 1 for each new row),\ is included. This way, each row can always be uniquely identified. Even with two John Smiths. One column in every table is reserved for a primary key -- so, the data that allows users to access every row individually, even if all the data in two rows is identical. Each **column** in a database table represents a specific type of information to be stored - let's have a look at such a customer data table: (animation) Once a database table has been set up, entering records into that table becomes as simple as entering values into the cell of a spreadsheet. Accessing, modifying and deleting records is just as easy. Users can do all of these things through a type of software that is called a **database management system** (**DBMS**). Most database management systems are based on a simple programming language that was created specifically to work with relational databases: **SQL**. SQL stands for "**structured query language**", and as the name suggests, SQL only 'works' because the data in relational databases is stored in a highly structured manner - in tables, columns, and rows. For this reason, we refer to the data in a relational database as "**structured data**". Fun fact: when speaking about SQL, many programmers don't enunciate the letters\ "S", "Q", and "L". Instead, they say "sequel". They do this because they think it is cool. But it is not. TRANSCRIPT VIDEO "DATABASES \#3: NON-RELATIONAL DATABASES" ---------------------------------------------------------- According to data scientists, the global volume of data is expected to hit 175 zettabytes in 2025. That's enough space for about 43 trillion movies, so make sure you bring plenty of popcorn along. We've already mentioned the mega-trend "Big Data" a few times, and how it impacts modern organizations in countless ways. One of those ways is the type of database an organization uses. The 'relational databases' that we've discussed so far are very well suited for handling smaller, well-structured quantities of data. If an organization only wants to store data which is related to, for example, sales transactions, employee and customer data, inventory levels, and so forth -- then a relational database is the ideal option. Increasingly, though, organizations want -- or need -- to store far more data than that. We've already mentioned Business Intelligence. In order for BI analytics to deliver useful results, the BI software needs to draw on very large quantities of data -- as does any type of artificial intelligence an organization uses. Furthermore, there's the data-hungry rise of the Internet of Things. Any organization that manufactures digital devices -- or that uses data created by those devices -- will have to store that data somewhere: for strategic, operational and legal reasons. [The bottom line is:] Organizations are going to have to store all that Big Data someplace. Relational databases are excellent at processing smaller quantities of data that are well-structured. The problem is that Big Data is neither 'small' nor 'well-structured'. And as soon as there is too much data, relational databases suffer from many issues: performance, speed, cost, and data compatibility. For this reason, a new type of database "for Big Data" has emerged: the "NoSQL database". NoSQL databases, or "non-relational databases", have been designed to handle very large amounts of unstructured data, which means data which was created by many different sources, and has *not* yet been nicely split into tables, columns and rows. Perfect for Big Data. The first big difference to relational databases is that NoSQL databases are NOT based on any fixed type of structure. This means that you do not have to "pre-define" the type of data that will be stored by creating tables. Instead, new data is added to the database, entirely "as is". Let's look at an example: A company wants to store the following data in a database: Customer 1 always wants her products delivered to her home address. The organization knows her first name, her last name, her delivery address, and her phone number. It also has an audio file with a soothing melody that the delivery person must play to calm down the customer's angry dog at each delivery. Customer 2 always buys his products directly at the shop. The organization knows his last name, his email address, and his in-store shopping preferences. It also has an image file with a picture of the customer, to easily recognize him. Except for "last name", the data the company has per customer is entirely different. The data types involved include characters, integers, audio, and images. If the organization creates a table with pre-determined columns - like in a relational database -- then 80% of the record fields per customer will be left empty. Instead, with a non-relational database, the data per customer is added as it is -- without needing to fit into a predefined structure. And if data on a future Customer 3 happens to include a video and an academic degree, THAT can be added flexibly, too. The second big difference between NoSQL databases and relational databases is that the data is usually not stored on a single server. Instead, it is split up and stored on many servers around the world. This is called "sharding". (display definition:" Shard: a piece or fragment of something larger") In the case of sharding, all servers are still connected to one another, so users retrieving or storing data won't even be aware that their database has been "split up". As you can see below, the decentralized approach of NoSQL offers many advantages, such as: scalability, speed, cost-efficiency and security. So, to sum it up - if an organization only needs a database to store relatively simple data, such as employee records, customer data, sales transactions, inventory, and so on, then relational databases are the way to go. But for any organization venturing into the world of Big Data and/or Internet of Things, NoSQL databases are a necessary option to replace -- or at least complement -- its existing relational database. BIGGER DATA: WAREHOUSES AND LAKES --------------------------------- Relational databases are excellent tools through which to support your organization's operating activities (e.g. customer relationship management, inventory management, transactions processing, supply chain management, employee data management). However, a key component of modern-day strategy development lies in **Business Intelligence** (**BI**) activities. Such activities involve the use of software to analyze a very large volume of raw historical data. The software identifies patterns and trends in this data. It shares its insights -- and sometimes even recommendations - with the managers, who can then develop strategy that is highly data-based. Traditional relational databases are not ideally suited for handling the large amounts of data needed for good business intelligence. Because of this, organizations often set up a **Data Warehouse**. A data warehouse is ALSO a database. But it is developed with [the main purpose of analyzing large amounts of (historical) data]. Its advantages compared to a "regular" relational database are: - **Performance:** Data warehouses are designed to handle complex, data-heavy queries that take a long time to run; - **Scalability:** Data warehouses can easily be "expanded" to process large amounts of data and user requests; - **Data Integration:** Data warehouses are designed to integrate data from multiple (internal and external) sources; - **Data Quality:** Data warehouses use data cleansing and transformation processes to ensure data quality and consistency. An important data trend is the emergence of the **Data Lake**. A data lake has many similarities to a data warehouse. In both cases, they are used by an organization to collects a large quantity of data. And in both cases, the underlying technology is often a NoSQL database. However, the purpose of a data lake is very different from that of a data warehouse. While data warehouses are specifically created so that managers can carry out business intelligence analytics (i.e. analysis of large data samples for the purpose of making strategic decisions), data lakes are far more "experimental" in their purpose: - A data lake draws (or "ingests") its data from **[many different sources]** (or "streams"), such as social media platforms, websites, mobile apps, IoT devices and sensors, healthcare records, public government datasets and company databases. - These streams provide the data lake with massive amounts of **[raw, unstructured data]**. - This data is then cleaned and filtered with the help of AI-based software. - Finally, the data is analyzed by artificial intelligence - often for machine learning purposes -- to identify and learn new things. This **[learning process is far more open-ended]** than is the case with business intelligence analytics (i.e. data warehouses). There is no automatic rule in a data lake that the AI may only learn things that directly affect business strategy.