Download presentation
Presentation is loading. Please wait.
1
Foundational Software Systems
A Brief Overview Copyright © Curt Hill
2
Introduction Certain classes of software need to be understood by all technical people Operating Systems Servers Databases and Data Warehouses Enterprise Resource Planning Customer Relationship Management Copyright © Curt Hill
3
Outroduction What this presentation is not about: Virtualization
Cloud computing Service Oriented Architecture Software as a Service These are important topics to be considered at another time Copyright © Curt Hill
4
OS Foundation of the foundation Every general purpose computer has one
Many special purpose computers as well Applications are why we buy the computer, but the operating system is required to run the applications Copyright © Curt Hill
5
What does an OS do? Execute application programs
Provide services to these programs Establish and manage a file system Utility functions Many functions that are used by most programs will eventually be incorporated into the OS Copyright © Curt Hill
6
Execute application programs
Interpret commands Interpret typed commands or mouse actions Load and execute programs Provide services to the running programs The exact description of these services distinguishes different OSs Copyright © Curt Hill
7
Provide services to the program
Memory management Memory allocation Virtual or fixed memory I/O management Manage file activity Often the most visible and important Task Scheduler Inter-process communication Managing priorities Copyright © Curt Hill
8
Establish and manage a file system
Determine how things are stored on disk Do we have a directory or just search? Are things stored in a contiguous fashion or scattered? How are things named? How are things accessed? Interrupt processing Utility functions Prepare a disk for use Copy/move/delete files Show contents of a file or disk Copyright © Curt Hill
9
How are files accessed? Access to files is a program service
Program says that it wants access to a file of some filename System finds it Gets it ready Gives it to the program one chunk at a time Several things should be transparent to program Buffering Devices Copyright © Curt Hill
10
Utility functions Protection Hardware manipulation Miscellaneous
Files from deletion by someone other than owner Memory of one program from another Hardware manipulation Mount disks and tapes Miscellaneous Error detection Multitasking Accounting Copyright © Curt Hill
11
Pieces of the operating system
CPU management Memory management Process management I/O management User management File management Others Copyright © Curt Hill
12
OS Layers Most OSs are onion shaped
For historical and maintenance reasons Historically the innermost was all that was available Each layer then communicates with adjacent layers through well defined paths Well defined in terms of this particular OS Layers: Kernel, Service, Command Copyright © Curt Hill
13
Kernel is the innermost layer
Low level activities only Load and/or execute a program Device allocation and access Process management Low level file access This is the lowest level interface to the hardware and the only one that touches the hardware directly In DOS there is the BIOS which amounts to a kernel The kernel is usually always resident in the memory Basic process management is usually here, since we need to make each program we load a process Copyright © Curt Hill
14
Service layer Set of routines that provide services
Use the kernel This is where the traditional file manipulation commands are executed, such as opening and closing files, reading and writing records Entire file copying is usually done at the next higher level The service layer represents the services that are available to a program The service layer is also designed to generalize the interface between devices A CRT, disk and tape are wildly different, yet we would like their interface to look similar Copyright © Curt Hill
15
Service Layer In the assembly language interface each of the service calls becomes a macro or subroutine call In a HLL it is usually built into the command part of the language or is in a library of some sort Some process management is here as well Inter-process communication Copyright © Curt Hill
16
Command layer The interface that allows the user to interface with the system directly This includes command interpretation This is Command.com in DOS or program manager in Windows Many utility functions are placed in this layer The DOS Format is a command in this layer It performs an essential function, but is its own program Copyright © Curt Hill
17
Familiar OSs Windows UNIX Mac OS LINUX
Several versions from personal to server UNIX Bell Labs and BSD Mac OS OS 10 is a BSD UNIX with specialized Mac GUI on top LINUX UNIX like alternative to UNIX Copyright © Curt Hill
18
LINUX Again LINUX is open source so there are many distributions of it: Debian Ubuntu Fedora SUSE Red Hat Enterprise There are very many others Copyright © Curt Hill
19
Servers Client server computing is the basis of the Internet
Among other things Requires two computers A client A server Communication medium The illusion is that each client computer thinks it is has exclusive access to the server Copyright © Curt Hill
20
The Paradigm Server provides one service
Waits for requests for that service Client initiates a request Server replies to the request Information may flow in both directions Many clients may make requests with just the one server Copyright © Curt Hill
21
Why Client - Server? Specialization Sharing
The client handles the user interface using local computational ability The server manages the data and communication Sharing One server may support many clients Services provided are effectively shared Data may be maintained in only one location Copyright © Curt Hill
22
Clients An application program that runs on the local computer
Able to use the local computer for doing work When invoked by a user, it initiates communication with a server Handles all the user interface issues Only used for a single session Copyright © Curt Hill
23
Example The ubiquitous client is the web browser Several functions:
Communicate with server Display HTML/XML Interpret client-side languages, such as JavaScript The trend is for the web browser to be the universal interface to every kind of server on the web Copyright © Curt Hill
24
Servers Specialized program that typically provides only one service
May handle multiple client requests simultaneously (or pseudo simultaneously) Interacts with users in many sessions Both simultaneously and over long time periods Waits for a request and then produces the reply Copyright © Curt Hill
25
Example The web server Waits for requests using Hyper Text Transmission Protocol Produces results in HTML/XML May handle many clients simultaneously Copyright © Curt Hill
26
Connection Diagrammed
Server Request Request Request Reply Reply Reply Client Client Client Copyright © Curt Hill
27
Interaction Diagrammed
Time Wait Processing Client Request Reply Server Wait Wait The server is not waiting if it is processing other requests The client may also perform other processing while waiting for the reply Copyright © Curt Hill
28
Multiple tiers The classic client-server is a two tier system
The client is one tier and the server another Three or more tiers are also possible The middle server functions as a Server to the client Client to other servers Known as middleware Often used to distribute load Copyright © Curt Hill
29
A Three Tier Approach Server Server Server Server Application Server
Client Client Client Client Copyright © Curt Hill
30
Examples of Multi-Tier
Authentication server Maintains a connection to verify user Funnels all requests to appropriate server Shopping cart Records purchases The product lookup/purchase handled by other servers Distributed Database Management System Copyright © Curt Hill
31
Horizontal Distribution
Multi-Tier is a vertical distribution A Horizontal distribution may also be effective A single server owns the web address: It then distributes all further requests to a rotation of identical web servers www1.x.com www2.x.com … wwwN.x.com Copyright © Curt Hill
32
Horizontal Distribution
www1.x www2.x wwwN.x … First Request Subsequent Request Client Client Client Client Client Client Copyright © Curt Hill
33
Database The web server may be the most common server type, but the database server is the workhorse It is the foundation for many other important classes of programs Copyright © Curt Hill
34
Historical Perspective
Actions we might want on any file of fixed records: Create Update (add, remove, change records) Sort Generate any of several reports Each of these would be a program for an overworked programming staff Typically a COBOL program Copyright © Curt Hill
35
Database The key The solution All these programs are about the same
All that changes is the underlying file The solution Describe the file in a general way This is the metadata – data that describes data Generate a program that handles the file based on the description Copyright © Curt Hill
36
How to describe a file A file is a collection of records
Each record is a collection of fields Typically only one type of record in a file Each field is described by a: Name Type For example numeric, string, boolean etc. Length Booleans have a predefined length, others require specification Copyright © Curt Hill
37
Database Advantages 1 Data independence Efficient access
Application program no longer need some or all of the files Do not know or care how data is stored, aka abstraction Simplifies application development Efficient access The DBMS employs sophisticated access techniques seldom used by normal programmers Copyright © Curt Hill
38
Database Advantages 2 Integrity constraints Security
The DBMS may check data in a way seldom done in normal file processing Eg. Account validity Security A DBMS may enforce requirements on who can access the data and in what way Copyright © Curt Hill
39
Database Advantages 3 Administration Concurrent access
Minimize redundancy Manage sharing of the data Optimize for the enterprise, not a small group Easier to backup the data Concurrent access Manages the simultaneous update problem Copyright © Curt Hill
40
Functions of a Database
Data storage and retrieval User-accessible catalog Transaction support Concurrency support Recovery services Authorization services Support for data communication Integrity services Data independence services Copyright © Curt Hill
41
Data storage and retrieval
While hiding the file structure, users may: Add Delete Update in place Most relational databases support a common language Structured Query Language Copyright © Curt Hill
42
SQL A language where a question is asked of the database and it provides an answer: Pronounced Sequel or spelled out Usually state what is wanted rather than how to get it The Data Manipulation Language usually includes both query and update facilities Copyright © Curt Hill
43
Transaction Support The unit of update is a transaction
All or nothing No partial updates are allowed The DBMS must guarantee the integrity of a transaction, even in the face of: Program errors Incorrect input System crashes Copyright © Curt Hill
44
Transactions: ACID Atomic Isolated Durable
Transaction perceived to be indivisible Consistent Transforms database from one consistent state to another Isolated Understandable without regards to any other agents Durable Once committed permanence is guaranteed even with system crashes Copyright © Curt Hill
45
Types of database A large organization often have two distinct types of databases A transactional or operational database An analytical database or data warehouse NoSQL These have separate uses Copyright © Curt Hill
46
Database uses The database is about transactions
Maintaining current knowledge The data warehouse is about decision support Spotting trends NoSQL is much harder to classify, any of these Massive data Unique organizations Distributed Among many others Copyright © Curt Hill
47
Characteristics Operational database have:
Strict performance requirements Predictable workloads Small units of work High utilization Data warehouses are contrary in every respect Copyright © Curt Hill
48
Warehouses A data warehouse Data warehouses support
Subject oriented, integrated, non-volatile, time-variant collection of data in support of management decsions Data warehouses support OLAP (OnLine Analytical Processing) DSS/EIS (Decision Support Systems or Executive Information Systems) Data mining Copyright © Curt Hill
49
What is Data Mining? Exploratory data analysis based on a data warehouse Knowledge Discovery in Databases (KDD) Data Mining extracts previously unknown and potentially useful information Rules, constraints, correlations, patterns, signatures and irregularities The goal is to automate the methods for finding these in the data Copyright © Curt Hill
50
Goals of Data Mining Prediction of future behaviors
Seasonal or non-seasonal trends How will consumers respond to discounts? Allows the enterprise to be ready Identification of item, event or activity Intruders may be identified by the files they access or programs they use Copyright © Curt Hill
51
Goals Again Classification of categories of users or products
Shoppers may be categorized as: Discount seeking Rush Regular Attached to certain brand names The store may be made more friendly to such Optimize the use of time, space, materials and money Copyright © Curt Hill
52
Knowledge Discovery There are several types of discoverable knowledge:
Association Rules Classification hierarchies Sequential patterns Time series patterns Clustering Copyright © Curt Hill
53
Databases The two types of databases are the transactional and analytical The day to day transactional feeds the analytical We do not want knowledge discovery, data mining and the like to occur on the transactional database Could seriously impede performance Either might be used in the next two applications Transactional is more likely Copyright © Curt Hill
54
Some Definitions Data Information Knowledge
Small measurable pieces of information Foundation of knowledge Information Organized data Putting data into meaningful patterns Knowledge A higher aggregation of information and data that enables interpretation Ability to use information Sets of rules and relationships Copyright © Curt Hill
55
Example Any numbers or text is data
Such as: It becomes information when we know its context Such as these are the number of items in stock and how much we paid per unit Knowledge is when we take this information and combine it with processes and rules Computing our price for selling something made out of these Copyright © Curt Hill
56
Data Mart A data warehouse restricted to a single subject
Such as a group or line of business within a larger organization A dependent data mart obtains its data from the central organizational data warehouse An independent data mart obtains data from other sources No overlap with the data warehouse Copyright © Curt Hill
57
Knowledge Warehouse An architectural integration of knowledge management, decision support, artificial intelligence and data warehousing Built on top of a data warehouse Must also encode the rules and processes of the business These rules used to only be in the minds of employees Next captured on documents Copyright © Curt Hill
58
ERP Enterprise Resource Planning
The key idea behind database technology is that the process of manipulating files is basically the same The only thing that changes is the file format The key to ERP is that many business processes are very similar Payroll is just payroll Took off because of the Euro and Y2K threat Copyright © Curt Hill
59
ERP Areas Financial Accounting Management Accounting Human Resources
Manufacturing Supply Chain Management Project Management Customer Relationship Management These were all separate programs at one time Copyright © Curt Hill
60
Configuration Most systems need to be customized by programmers modifying the code Most ERPs may be configured to customize to a particular situation This configuration is usually much easier than code modification The program typically handles best practices, but the configuration can take into account the idiosyncrasies of this business Copyright © Curt Hill
61
Simple Example The form of a product number drastically varies between companies Usually groups of letters and digits Configuring the system to store and validate the type used by a particular company needs to be a simple configuration Copyright © Curt Hill
62
CRM Customer Relationship Management The notion of a call center
A past, present or future customer calls A representative, with no previous knowledge of this customer, has to deal with them CRM puts all the information necessary to help in front of the representative, regardless of the purpose of the call Copyright © Curt Hill
63
Types of calls Sales Support after the sale Information and marketing
Availability, delivery, costs and discounts Support after the sale Warranty, replacements, returns Information and marketing Request for information Appointments for sales force Analysis of customer or products Copyright © Curt Hill
64
Implementation The leading CRMs, like ERPs are highly configurable
Also like ERPs they are backed by a transactional database Both generate large quantities of SQL on the fly ERPs are starting to absorb CRMs Copyright © Curt Hill
65
Finally The type or size of businesses that would be architected will likely have all of these They will also have serious customizations to these products Many other specialized applications also exist EG. EA tools Copyright © Curt Hill
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.