architects and architectures. 2 definitions system a group of interrelated elements forming a...
TRANSCRIPT
Architects and Architectures
2
Definitions
System A group of interrelated elements forming a collective
entity Architecture
A style and method of design and construction
3
What is System Architecture?
A set of agreed-to methods, standards, and techniques that promote both efficient division of responsibility and increased functional reliability while building complex functions from simple components.
A holistic set of models that represent an enterprise’s information systems in order to manage change.
Exercise: Give an example of a system architecture. Analyse how it supports the two definitions
4
Everyday Example
System architectures are everywhere and can be recognized by standards bodies, government regulation, or commodity products
Eg: food health and safety regulations, building codes, consumer electronics
5
Bringing Home a New TV
A television relies upon two systems Electrical distribution Broadcast distribution
The consumer has an application and relies upon these systems implicitly
6
Reliability
Standards: voltage, plug configuration, fusing, codes
Methods: metropolitan distribution, long-line transmission, generation
So, the customer doesn’t check the wiring before plugging in the TV
7
Modularity
Standard interfaces allow architectures to upgrade components as needs or technologies change
Broadcast has changed several times over the lifetime of TV
8
TV Architecture Changes
Film
Program
Broadcast
Display
Black & White
Film
Program
Broadcast
Display
Colour
Film
Program
Broadcast
Display
Satellite
Film
Program
Broadcast
Display
Pay Per View
9
Architectures Enable Change
Designers can add new standards within an existing framework and create new services
Migration to new services is gradual and modular – not sudden and universal
10
Enterprise Systems
Goals of a systems architecture for enterprise systems include: Smooth flow of transactional information across multiple systems Accountability and security through elimination of custom
interfaces or manual processes Access to current information aggregated across organizational
domains Improve systems incrementally
Goal to be like Lego™ bricks Fit together easily Easy to recombine in different ways Flexible to solve many different problems
11
Architecture Examples
Architectures can exist at an individual layer of the technology stack or span multiple layers. Any organisation will utilise multiple architectures.
The following are examples of architectures that are used in organisations. Client/server - widely used and relies and clients that request services
and servers that respond to these requests. The workload is shared and distributed.
Peer-to-peer – networked computers share resources, every system is equal.
Wireless (mobile) – allow communication from remote locations.
12
The role of the architect
The architect develops plans based on a vision of the customer of the system (or in this example a house) which is a blueprint of the companies systems.
This “blueprint” is used for translating business strategy into a plan for IT.
The IT infrastructure is everything that supports the flow and processing of information (hardware, software, data, and networks).
Must understand what is expected from business.
Must clearly communicate between technology and business
13
Relevant questions for architects
What IT architecture is already in place?
Is the company developing the IT architecture from scratch?
Is the company replacing an existing architecture?
Does the company need to work within the confines of an existing architecture?
Is the company expanding an existing architecture?
14
Understanding existing architecture
Understanding existing architecture allows managers to evaluate the IT requirements of an evolving business strategy vs. their current IT.
Plans for the future architecture can then be compared with the current infrastructure to help identify which components of the current system can b e used in the system being developed.
15
e.g. Dealing with Legacy systems
The following steps allow architects to derive the most value and suffer the fewest problems when working with legacy systems: 1. Objectively analyze the existing architecture and
infrastructure 2. Objectively analyze the strategy served by the existing
architecture. 3. Objectively analyze the ability of the existing architecture and
infrastructure to further the current strategic goals.
16
Understanding time scales Strategic Time Frame
What is the life span of the system?
Technological Advances Can the infrastructure and architecture support these advances?
E.g. SOA (Service Oriented Architecture) defines a service or an interface as a reusable piece of software.
Growth Requirements Will it meet future demand? Is it scalable?
17
Evaluate on expected financial value. Can be difficult to quantify.
Steps Quantify costs Determine the anticipated life cycles of system components Quantify benefits Quantify risks Consider ongoing dollar costs and benefits
Assessing Financial Issues
18
Scalability. Standards. Maintainability. IT staff skill set.
Assessing Technical Issues
Two histories of enterprise computing
19
20
A history of enterprise applications: Calculation systems
1950-80 Single purpose Eliminate tedious human work Examples: Payroll, General ledger, Inventory Technology used: Mainframes, magnetic
tapes, batch processing
21
A history of enterprise applications II: Functional systems
1975-2001 (say) Use computers to improve operations Applications: Human resources, order entry,
manufacturing resource planning Technologies: Mainframes, PC’s, LAN’s
22
Functional systems
Typically contained within a department Islands of automation Applications independently developed and deployed Driving force: availability of mini-computers
23
Functional system applications
Human resources System Accounting and finance systems Sales and marketing System Operations management System Manufacturing Systems
24
Types of Organizational information Systems
Administrative systems Scheduling / Transaction systems Value oriented systems Reporting and controlling systems Analysis and information systems Planning and decision support systems
25
Problems with function based application
Sharing of data between systems Data duplication Data inconsistency Applications that don’t talk to one
another Limited or lack of integrated information Isolated decisions lead to overall
inefficiencies Increased expenses
Stovepipe systems
HR Sales
Manufacturing
Exercise
Each group chose a different business function within the organisation.
Define how a customer will be represented. Personal details 1 or more details specific to your selected business function
26
27
History part III: Pressures on business forced change
It becomes less and less possible to think about isolated systems. The world is becoming more joined up.
eCommerce Need to allow access to customers
Out sourcing Need to integrate with 3rd party systems
Mergers and acquisitions Regulation
Sarbanes-Oxley requires must better integration and reporting
28
An architectural history of computing
1 tier architecture monolithic Information Systems presentation, application logic, and resource management
were merged into a single tier 2 tier architecture
separation of presentation tier from other 2 tiers (app + resource)
became popular as 'client/server' systems 3 tier architecture
can be achieved by separating RM (resource management) from application logic tier
29
Tiers of an architecture
<html>...</html>
browser
Presentation tier
Application logic tier
Resource management tier
Client
info
rmat
ion
sys
tem
Visualise
Calculate
Store
30
Presentation Tier
How the data should appear to the user and how the user should interact with the interface
31
Application Logic Tier
Data Processing (Business Logic & calculation)
Here the algorithms are implemented This tier is often referred to as
Services Business logic Business rules Server
32
Resource Management Layer
Deals with and implements different data sources of Information Systems
The 'data layer' in a restricted interpretation as in J2EE or Database Management System
Can also be a gateway to recursively using other ISs
33
1 – Tier Architectures
Monolithic Information Systems
Presentation, application logic, and resource management were merged into a single tier
Many of these 'old' Systems are still in use!
34
Design of 1 – Tier Architecture
Presentation layer
Application logic layer
Resource management layer
Client
info
rmat
ion
sys
tem
Advantages: easy to optimise performance no context switching no compatibility issues no client development,
maintenance and deployment cost
Disadvantages: monolithic pieces of code (high
maintenance) hard to modify lack of qualified programmers for
these systems
35
2 - Tier Architectures
fig 1.7 p.12
Client
Info
rmat
ion
sys
tem
Resource management layer
Application logic layer
Ser
ver
Presentation layer
36
2 - Tier Architectures
Separation of presentation layer from other 2 layers (app + resource)
Client/server systems with thin clients/fat clients Use RPC (Remote Procedure Call) to communicate between
tiers Need for standardisation for inter-tier communication
Advantages portability no need for context switches or calls between component for key
operations Disadvantages
limited scalability legacy problems (blown up clients)
37
3 - Tier Architectures
info
rmat
ion
sys
tem
resource management layer
application logic layer
middleware
client
presentationlayer
38
3 - Tier Architectures
Separating RM (resource management) from application logic layer
Additional middleware layer between client and server integration logic application logic
Lead to the introduction of clear RM layer interfaces
Good at dealing with intgration of different resources
39
Business logic resides in middle tier Alternatives
Client tier leads to Fat clients Reimplementing it for each different type of client Redistributing clients after each software update
Data tier leads to Vendor and technology dependence grows Different applications have different needs for the same data Performance issues in resource usage
40
3 - Tier Architectures
Advantages scalability by running each layer on a different server scalability by distributing AL (application logic layer) across many
nodes additional tier for integration logic Flexibility
Disadvantages performance loss if distributed over the internet problem when integrating different 3 – tier systems
41
3 - tier Architectures
info
rmat
ion
sys
tem
resource management layer
application logic layer
middleware
client
presentationlayer
GUI clientsC++, VB, Java
MiddlewareServer
Databases Legacy Systems
42
Middleware Middleware refers to the software which is common to multiple
applications and builds on the network transport services to enable ready development of new applications and network services.
Middleware typically includes a set of components such as resources and services that can be utilised by applications either individually or in various subsets. Examples of services: Security, Directory and naming, end-to-end
quality of service, support for mobile code. Examples:
OMG’s CORBA J2EE - Java 2 Enterprise Edition Microsoft’s .Net
43
Middleware features
Allows communication through a standard language across different platforms between legacy and modern applications
Takes care of transactions between servers data conversion authentication communications between computers
44
Middleware features Provides runtime environment for components in the middle-
tier Component lifecyle and management Transaction, event and security services Provides connections to databases, mainframes and legacy
systems
Separates client-tier from the data source Clean separation of user-interfaces and presentation logic from
the data source
45
n -tier
N-tier is a generalisation of the 3-tier architecture
Reflects the reality that most 3-tier systems are not self-contained.
Most 3-tier systems connect into other systems in order to complete the processing. E.g. an online flight booking engine connects to
the credit card system.
N-tier reflects this E.g. the online flight booking engine is at least 4
tiers.
46
n - tier
[fig 1.13 p. 21]
databaseserver applicationfile
server
middlewareapplication
logic
middlewareapplication
logic
additional RM layers
middlewareapplication
logic
internalclients
Web servercluster
LANgateways
FIREWALL
INTERNET
remoteclient
remoteclient
remoteclient
remoteclient
remoteclient
remoteclient...
47
General benefits of adding tiers
With growing number of tiers one gains: flexibility functionality possibilities for distribution
But: Each tier increases communication costs Complexity rises leading to higher cost and risk
Higher complexity of development Higher complexity of management and tuning
Redundency increases
Exercise
Why is performance a harder issue to resolve with n-tier systems than with 1-tier systems?
Identify 10 ways to improve performance
48
49
Example: Resolving scalability in an n-tier architecture Use faster machine
Increases the ability to do more work in a unit of time by processing tasks more rapidly.
Applies to almost any nodes in the system (from edge servers to database server).
Need to analyse reasons for slow processing to correctly specify machine (i.e. CPU, networking, disk access, memory)
Cluster machines Splits up workload into managable chunks to obtain more predictible
response times. Applies to Web representation server, Web application server, the data
server and the network. Need to identify and address any data synchronisation issues between
clustered machines and select appropriate load balancing mechanisms.
50
Resolving scalability II
Use dedicated machines Improves efficiency of a component by using a special purpose machine,
which is optimised for a specific function Applies to edge server, Web presentation server, directory and security
servers, the network and the Internet firewall. Need to balance benefit of dedicated machine against potential increase
in network traffic (e.g. use of a centralised message transformation server could increase network load excessively.)
Segment the workload Services more client requests. improves response time through
parallelism Can be applied to Web presentation server, Web application server,
directory and security servers. Need to balance improved response time against increase network
latency and load. Also need to verify that segmentation across multiple machines is better than upgrading the individual server.
51
Resolving scalability III
Batch requests Reduces number of requests by defining new ones that combine multiple
requests. Applies to Web presentation server, Web application server, directory
and security servers, existing business applications and database. Need to analyse and verify where the benefits are coming from: reduced
network traffic or transactional overhead.
Aggregate user data Allows rapid access to large customer data controlled by existing system
applications by aggregating distributed customer data into a costomer information service
Applies to the Web presentation server, Web application server and the network
Potential additional benefits of reduced data synchronisation issues.
52
Resolving scalability IV
Manage Connections Minimises number of connections and eliminates overhead of setting up
connections by sharing a pool of preestablished connections between the layers
Applies to Web presentation server, Web aplication server and the database.
Connection pooling can also be efficient from a software licensing perspective.
Cache data Improves performance and scalability and response time by buffering
data flows and reducing consumption of resources Applies to the edge server, Web presentation server, Web application
server, network, existing business applications and the database. Need to provide sufficient protection against out of date data being used
– depends on the application context and cache management software.
Classification of Information systems
54
Organisational Hierarchy
Organisational Levels
Information Systems
Classification of Information Systems
55SALES & MANUFACTURING FINANCE ACCOUNTING HUMAN
Types of system Groups Served
STRATEGIC LEVEL SENIOR MANAGERS
MANAGEMENT LEVEL MIDDLE MANAGERS
OPERATIONAL OPERATIONALLEVEL MANAGERS
KNOWLEDGE LEVEL KNOWLEDGE &DATA WORKERS
RESOURCESMARKETING & ENGINEERING
Information System from business perspective
56SALES & MANUFACTURING FINANCE ACCOUNTING HUMAN
Types of system Groups Served
STRATEGIC LEVEL SENIOR MANAGERS
MANAGEMENT LEVEL MIDDLE MANAGERS
OPERATIONAL OPERATIONALLEVEL MANAGERS
KNOWLEDGE LEVEL KNOWLEDGE &DATA WORKERS
RESOURCESMARKETING & ENGINEERING
Horizontal information flows
Ver
tical
info
rmat
ion
flow
s
Information System from business perspective
57
Management Structures and Information Requirements
Higher up the pyramid, the less structured the decision Less defined External orientation More summarized information Future oriented Less frequent Less accurate
Lower down the pyramid, the more structured the decision More defined Internal orientation More detailed information Historical More frequent More accurate
58
Four General Kinds of IS
Operational-level systems support operational managers by monitoring the day-to-day’s
elementary activities and transactions of the organization. e.g. TPS.
Knowledge-level systems support knowledge and data workers in designing products,
distributing information, and coping with paperwork in an organization. e.g. KWS, OAS
Management-level systems support the monitoring, controlling, decision-making, and administrative
activities of middle managers. e.g. MIS, DSS
Strategic-level systems support long-range planning activities of senior management. e.g.
ESS
59
A Framework for IS
• Executive Support Systems (ESS)• Management Information Systems (MIS)• Decision Support Systems (DSS)• Knowledge Work Systems (KWS)• Office Automation Systems (OAS)• Transaction Processing Systems (TPS)
60
Transaction Processing Systems Transaction Processing Systems (TPS)(TPS)
Computerized system that performs and records the Computerized system that performs and records the daily routine transactions necessary to conduct the daily routine transactions necessary to conduct the business; these systems serve the operational level of business; these systems serve the operational level of the organizationthe organization
• TYPE: Operational-levelTYPE: Operational-level• INPUTS: transactions, eventsINPUTS: transactions, events• PROCESSING: updatingPROCESSING: updating• OUTPUTS: detailed reportsOUTPUTS: detailed reports• USERS: operations personnel, supervisorsUSERS: operations personnel, supervisors• DECISION-MAKING: highly structuredDECISION-MAKING: highly structured
EXAMPLE:EXAMPLE: payroll, accounts payable payroll, accounts payable
61
Typical Applications of TPS
TYPE OF TPS SYSTEMSales/ Manufacturing! Finance/ Human Other typesmarketing production accounting resources (e.g., university)systems systems systems systems
Major functions Sales management Scheduling Budgeting Personnel recard Admissionsof system Market research Purchasing General ledger Benefits Grade records
Promotion Shipping/receiving Billing Cornpensation Course recordsPricing Engineering Cost accounting Labor relations AlumniNew products Operations Training
Major Sales order Materials resource General ledger Payroll Registration systemapplication information system planning systemssystems Market research Purchase order Accounts Employee records Student transcript
system control systems receivable/payable systemPricing system Engineering Budgeting Benefit systems Curriculum class
systems control systemsQuality control Funds management Career path Alumni benefactorsystems systems systems system
62
Office Automation Systems Office Automation Systems (OAS)(OAS)
Computer system, such as word processing, electronic mail system, and scheduling system, that is designed to increase the productivity of data workers in the office.
• TYPE: Knowledge-levelTYPE: Knowledge-level• INPUTS: documents, schedulesINPUTS: documents, schedules• PROCESSING: document management, PROCESSING: document management, scheduling, scheduling, communicationcommunication• OUTPUTS: documents; schedulesOUTPUTS: documents; schedules• USERS: clerical workersUSERS: clerical workers
EXAMPLE:EXAMPLE: document imaging system document imaging system
63
Decision Support Systems Decision Support Systems (DSS)(DSS) Information system at the management level of an organization that combines data and sophisticated analytical models or data analysis tools to support semi-structured and unstructured decision making.
•TYPE: Management-levelTYPE: Management-level• INPUTS: low volume dataINPUTS: low volume data• PROCESSING: simulations, analysis PROCESSING: simulations, analysis • OUTPUTS: decision analysisOUTPUTS: decision analysis• USERS: professionals, staff managersUSERS: professionals, staff managers• DECISION-MAKING: semi-structuredDECISION-MAKING: semi-structured
EXAMPLE:EXAMPLE: sales region analysis sales region analysis
64
Characteristics of Characteristics of Decision-Support SystemsDecision-Support Systems
1. DSS offer users flexibility, adaptability, and a quick response.
2. DSS operate with little or no assistance from professional programmers.
3. DSS provide support for decisions and problems whose solutions cannot be specified in advance.
4. DSS use sophisticated data analysis and modelling tools.
65
Management Information Management Information Systems (MIS)Systems (MIS)
Information system at the management level of an organization that serves the functions of planning, controlling, and decision making by providing routine summary and exception reports.
• TYPE: Management-levelTYPE: Management-level• INPUTS: high volume dataINPUTS: high volume data• PROCESSING: simple models PROCESSING: simple models • OUTPUTS: summary reportsOUTPUTS: summary reports• USERS: middle managersUSERS: middle managers• DECISION-MAKING: structured to semi-structuredDECISION-MAKING: structured to semi-structured
EXAMPLEEXAMPLE: annual budgeting: annual budgeting
66
Characteristics of Management Characteristics of Management information Systemsinformation Systems
1. MIS support structured decisions at the operational and management control levels. However, they are also useful for planning purposes of senior management staff.
2. MIS are generally reporting and control oriented. They are designed to report on existing operations and therefore to help provide day-to-day control of operations.
3. MIS rely an existing corporate data-and data flows.4. MIS have little analytical capability.5. MIS generally aid in decision making using past and present
data.6. MIS are relatively inflexible.7. MIS have an internal rather than an external orientation.
67
Executive Support Systems (ESS)Executive Support Systems (ESS)
Information system at the strategic level of an organization that address unstructured decision making through advanced graphics and communications.
TYPE: Strategic levelTYPE: Strategic level• INPUTS: aggregate data; internal and externalINPUTS: aggregate data; internal and external• PROCESSING: interactivePROCESSING: interactive• OUTPUTS: projectionsOUTPUTS: projections• USERS: senior managersUSERS: senior managers• DECISION-MAKING: highly unstructured DECISION-MAKING: highly unstructured
EXAMPLEEXAMPLE: 5 year operating plan: 5 year operating plan
68
A single software package like Microsoft Office or even an application like Microsoft Excel could be classified as any or all of the following: DSS, TPS, MIS, or ESS (albeit, a trivial ESS, DSS, etc.)
When considering classification, consider how the tool is used, not what it could be used for.
A tools meets a need posed by the enterprise A service is provided by the tool is a solution.
However, the world is not that However, the world is not that straight forwardstraight forward