System Architecture / Organisational Context
System Architecture / Organisational Context
Organisational Context
Lecture 8
1
Lecture 8 Outline
2
Learning Objectives
Explain architectural concepts that influence system
design, including ubiquitous computing and software,
components, protocols, interoperability, and
distributed architectures
Describe and draw location, network, and deployment
diagrams
Describe a system’s environment by drawing
architectural diagrams and answering key questions
Design larger application components based on use
cases and other analysis models
3
Overview
An important part of new system development is
choosing appropriate technologies
Explain and provide a summary of technology and
architectural concepts
describe the details for the activity – Describe the
Environment
Describe the details for the activity – Design the
application components
4
Activities of “Design System Components”
5
Anatomy of a Modern System –
Computing Devices
Server – manages shared resources and enables
users and other computers access to these
resources
Personal computing devices or clients
Desktops, laptops, tablets, smartphones…
6
Simplified architecture for application
(Amazon.com)
7
Server Farm –
Very large databases and very high use
8
Anatomy - Networks
Computer network – hardware, software,
transmission media
Internet backbone –
High-capacity with high-bandwidth trunk lines and
large high-speed computers
Owned by governments and telecom companies
Local area network (LAN) –
Small network for a single site
World Wide Web (WWW)
All the interconnected resources accessed through the
Internet
9
Anatomy - Networks
Uniform Resource Locator (URL)
The identifier for the Web to locate a particular resource
Hyperlink –
The URL of a resource embedded within another resource
10
Anatomy - Software
Application software – programs that perform work
for users
Either a custom app or a Web-based application
App –
A custom program usually for a laptop or
smartphone
System Software –
Behind the scene software, works as glue to hold
everything together
11
Anatomy – Software
12
Anatomy – Software
Web-Based Applications
Uses a web browser
Accessed through a URL
Resides on a Web server
Uses standard IP protocols
Embedded Software
Software apps or functions embedded within
another app, such as within a browser or O/S
Toolbars, Plug-ins, Widgets
13
Anatomy – Protocols
Protocol
A set of languages and rules to ensure
communication and data exchange between
hardware and software
Network protocols
Virtual Private Network (VPN)
Creates a private network but on the Internet by using
secure technologies and encryption
14
Anatomy – Software and Protocols
15
Anatomy – Web Protocols
HTML (hypertext markup language)
Protocol for the structure and content of a Web page
XML (extensible markup language)
An extensions of HTML that enables defining semantics of
tags
HTTP (hypertext transfer protocol)
Defines format and content for transfer of Web documents
HTTPS (hypertext transfer protocol secure)
Encrypted and secure http transfers
16
Architectural Concepts
Technology architecture
Computers, network computers and hardware, and
system software
Application architecture
The software programs and their configuration
17
Software as a Service (SaaS)
SaaS
No software is installed on the user’s device
Application services is accessed remotely
User data is isolated and stored on common servers
18
Web Services
Web service
Software function that is executed with Web
standards
Access via a URL
Inputs sent via the URL
Executes remotely
Data returned within a Web page
19
Distributed Architectures
Client/Server architecture
Software design with part of the application on a
server and part on the client
21
Three Layer Architecture
22
Interoperability
Interoperability
The ability of an application to interact with other
software
Important characteristic in current development
projects
Understand the environment
Reuse software existing components (purchased or
in-house)
Build components considering interoperability
Combine all components into a solution system
23
Diagrams for System Architectures
Location Diagrams
Identify geographical
placement of
hardware, software,
and users
24
Diagrams for System Architecture
Network Diagrams
How the application software is deployed across
the hardware and system software
25
Diagrams for System Architecture
Deployment Diagrams
How the components of a network are
interconnected
26
Describing the Environment
Key Questions to help describe accurately
What are the key features of existing or new
environment
O/S, system software, networks, tools
What are the external systems or DBMSs
What kind of interaction
What is the data
What are the protocols
What kind of security
27
Describing the Environment
Key Questions to help describe accurately
What devices will be required
Protocols for devices
Security
What APIs
What user-interface technology will be used
Where and who are users, and what skills
What hardware and devices
What client O/S will be used
Security requirements
What APIs are needed
28
RMO Environment - Existing
Current environment prior to new development
29
RMO Environment - Proposed
More mobile devices and apps
Web application software and content
Social networking applications
Security issues
External hosting of portions
30
RMO Environment - Proposed
31
Designing Application Components
Application Component Boundaries
Which components perform which functions
How to group functions to build components
Actors – what functions to particular actors use
Shared data – what functions use the same data
Events – what functions occur in common business
events
32
Summary
Anatomy of a Modern Information System
Consist of computing devices, networks, software,
and protocols
Deployed as stand-alone software, network based,
Web based
Architectural Concepts
SaaS – software as a service
Web services
Distributed architectures
Client/server and three-layer architecture
33
Summary (cont)
Interoperability
Getting all the components to work together
Architectural diagrams
Location diagrams
Network diagrams
Deployment diagrams
34
Summary (cont)
Describing the Environment
External systems
Technology architecture
Key questions requiring answers
Designing Application Components
Application component boundaries
Grouping functions into components
System of record – who owns the data
35