SlideShare a Scribd company logo
HÖNNUN OG SMÍÐI HUGBÚNAÐAR 2015
L01 INTRODUCTION TO ENTERPRISE SOFTWARE
Agenda
The Post-PC era
Enterprise Application
Building Blocks
Evolution of Enterprise Software
Building Blocks
Reading
Brown: 1-7
Hönnun og smíði hugbúnaðar 2015 - lýsing á námskeiðinu
Digital Lifestyle
Eric Schmidt talks the Future of Enterprise Software
Mobile is Eating the World
Enterprise Software
Software as a Service
The Post-PC era
Eric Schmidt
Future of Enterprise Software
Conversation with Salesforce CEO, Marc Benioff
L01 Introduction to Enterprise Software
1960 1970 1980 1990 2000 2010
Mainframes
Mini	
  computers
Personal	
  Computers
Servers
Clusters
Cloud	
  –	
  utility	
  computing
Laptops
Music	
  player
2G	
  Cell	
  phones
CONVERGE
DIVERGE
Smartphones
Tablets
Smart	
  TV
Internet	
  of	
  things
Smartwatch
2000 2010
THE DIGITAL
DECADE
L01 Introduction to Enterprise Software
“[The Personal Computer] can become the 'Digital Hub'
of our emerging digital lifestyle, adding tremendous value
to our other devices.”
- Steve Jobs, 2001 Keynote introducing the iPod
THE DIGITAL
DECADE
MUSIC PICTURESVOICE	
  CALLS SMART	
  PHONES
SHOWS
MOVIES
BOOKS/
MAGAZINES
THE DIGITAL
DECADE
2000 2010
2000 2010
iMac iPhone
iMac G3	
  
Mac OS 9.0.4

500 MHz PowerPC G3 CPU, 128MB Memory

Screen - 786K pixels

Storage - 30GB Hard Drive
iPhone 4	
  iOS 4.0

1 Ghz ARM A4 CPU, 512MB Memory

Screen - 614K pixels

Storage - 32GB Flash Drive
WHAT HAPPENED
AT THE END OF THE
DIGITAL DECADE?
L01 Introduction to Enterprise Software
1981-2011 The era of the PC
L01 Introduction to Enterprise Software
3 BILLION PEOPLE ARE ALREADY 

CONNECTED TO THE INTERNET
SOFTWARE AND DATA ARE STORED IN
THE CLOUD


UNIVERSAL ACCESS
OUR DEVICES ARE GATEWAYS TO THE CLOUD
Source: Slides from Benedict Evans, A16Z, ITU
Growth into the Bubble
Source: Slides from Benedict Evans, A16Z, ITU
Growth since the Bubble
Source: Slides from Benedict Evans, A16Z, ITU
Growth into the Future
The Post-PC Era
The Personal Computer era is over
Rise of the network
Smart phones rule the world
APIs
Enterprise systems are accessible by consumers, not operators
Everything gets connected, IoT
Challenges in Computing
New Requirements
Way more users (millions), more complicated software
Uptime, security and reliability
Scalability
Competition drives need for productivity - time to market
Leveraging investments – integration with existing systems
1980 1990 2000
Hardware
Connecting hardware
Network Software
Connecting

software
Challenges in Computing
Software and integration of components and devices are
the challenges ahead
Cloud computing and ubiquity
Move to Service Oriented Architecture or micro services
and APIs
New Approach to
Software
Architecture
Which	
  of	
  the	
  following	
  statements	
  is	
  not	
  true?
A) The	
  challenge	
  ahead	
  is	
  to	
  connect	
  software	
  
B) The	
  PC	
  is	
  no	
  longer	
  a	
  device	
  for	
  development	
  
C) Computing	
  has	
  moved	
  to	
  the	
  cloud	
  
D) During	
  the	
  digital	
  decade,	
  the	
  PC	
  was	
  the	
  digital	
  hub	
  for	
  all	
  you	
  devices	
  
QUIZ
Enterprise Applications
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
40
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
Enterprise Applications
Software running in corporate data centers
Characteristics:
✦ Involve data, some times huge amounts
✦ Concurrent data access, multiple users
✦ Lot of user interface screens
✦ Integration with other enterprise application
✦ Use of middleware software, such as databases, application
servers, web servers
✦ Operated by specialists – system operators
Examples
B2C - Business to Consumer
✦ E-commerce web sites such as Amazon, eBay
✦ Commercial services like banking
B2B – Business to Consumer
✦ Payroll, patient records, shipping tracking, cost analysis, credit
scoring, insurance, supply chain, accounting, customer service,
and foreign exchange trading
✦ Content such as: Stock quotes, sports results, email, blogs
Software as a Service (SaaS)
“On-demand” software
✦ Cloud computing
IT infrastructure demands
✦ Communication: interacting with the software
✦ Scalability: dealing with fluctuation
✦ Dependability: available 24/7
Software as a Service Examples
E-mail services
Project management
Blog services
What	
  is	
  not	
  necessarily	
  characteristic	
  of	
  enterprise	
  software?
A) Has	
  many	
  concurrent	
  users	
  working	
  on	
  the	
  same	
  data	
  
B) Integrates	
  with	
  other	
  IT	
  systems	
  
C) Deploys	
  some	
  form	
  of	
  distribution	
  strategy	
  
D) Is	
  operated	
  by	
  specialists	
  not	
  by	
  the	
  users	
  
QUIZ
Evolution of Enterprise Software
Evolution
60 70 80 90 00
IBM	
  
Mainframes	
  
Limited	
  
layering	
  or

abstraction
IBM,	
  DEC	
  
Mini-­‐

computers	
  
Unix,	
  VAX	
  
“Dumb”	
  
terminals	
  
Screens/DB
PC,	
  Intel,	
  
DOS,	
  Mac,	
  

Unix,	
  

Windows

Client/Server	
  
DB
Windows	
  
Internet	
  
HTTP	
  
Web	
  

Browsers	
  
Web

Applications	
  
DB
Windows,

Linux	
  
MacOS	
  
Browsers,	
  
Services	
  
Domain

Applications	
  
DB
60s 70s 80s 90s 00s
IBM	
  
nframes	
  
mited	
  
ering	
  or

traction
IBM,	
  DEC	
  
Mini-­‐

computers	
  
Unix,	
  VAX	
  
“Dumb”	
  
terminals	
  
Screens/Files
PC,	
  Intel,	
  
DOS,	
  Mac,	
  

Unix,	
  

Windows

Client/Server	
  
RMDB
Windows	
  
Internet	
  
HTTP	
  
Web	
  

Browsers	
  
Web

Applications	
  
RMDB
Windows,

Linux	
  
MacOS	
  
Browsers,	
  
Services	
  
Domain

Applications	
  
RMDB
iOS	
  
Android	
  
HTML5	
  
Browsers	
  
Apps	
  
API	
  
Cloud	
  
NoSQL
10s
Evolution
Server Database
Network protocolWindows
Client
Windows
Client
Two layer system
Thick native client running on a PC, contains all the presentation
and domain logic
Connects to the server for data
Client-Server
Network protocol
Server Database
Network protocolWindows
Client
Windows
Client
Limited reusability
Requiers installation and configuration
Versioning is hard
Dependant on specific OS
Not accessible from outside
Client-Server
Network protocol
Network protocolPresentation
Layer
Presentation
Layer
Classical three layers
Presentation Layer for the user interface, view and input
Domain Layer for the business logic
Data Source Layer for the data access
Move to Three Layers
Network protocol
Domain
Layer
Data
Source
Layer
Database
HTML/HTTPWeb
Browser
Web 

Browser
The Web added new challenges
The browser accesses strings of tags (HTML)
Move the logic from client to a web layer
Enter the Web Layer
HTML/HTTP
Domain
Layer
Data
Source
Layer
Database
Web
Layer
Presentation Layer
HTML/HTTPWeb
Browser
Web 

Browser
Domain components are deployed on Application Servers
- Distributed multi-tiered applications
- Examples: Spring, EJB containers
Application Servers
HTML/HTTP
Domain
Layer
Data
Source
Layer
Database
Web
Layer
Web Server Application Server
Web
Server
Domain
Layer
SOAP
HTTP SOAP
Web Browser
Native App
SOAP
Web Browser HTTP
Server
SOAP
Client
Built software into independent services
Use APIs such as SOAP to expose functionality
Service Oriented Architecture (SOA)
Web Browser
Native App
CMS
Web
Server
Web
Server
HTML REST
REST
Microservices
Built software into (smaller) independent services
Use RESTful APIs with Json
Content Management System for all operator editable content
Client Types
Native Applications
Apps
Usually use some OS
GUI and APIs
Windows, Linux,
MacOS, iOS, Andriod
Communication can
be anything
Use the power of the
device
Embedded
Run inside Web
Browsers
Flash, Java Applets
Communication with
XML using HTTP
Standardised, provide
rich functionality in
limited browsers
Rich Internet
Application (RIA)
JavaScript calls REST/
SOAP services for
data
HTML5 with XML/Json
using Ajax/jQuery
Standardised, provide
rich functionality using
HTML5
HTML Presentation
in Browsers
HTML Presentation in
Browsers
All functionality is
server side
Simple HTML
Tiers vs. Layers
Tier implies physical layer
Example:
Client-server is two-tier system: client on one machine, server on
another
Layers do not need to run on separate machines
Layers can be on the same machine
Example:
Web system with Web Layer, Domain Layer and Data Source Layer
on the same machine, then the database on a separate machine
Classic N-tier Web Architecture
HTTP Service
HTTP Service
HTTP Service
HTTP Service
Services
Services
Database
Legacy
Server
Scalability comes by adding more servers
Which of the following statements is not true?
A) Versioning is only a challenge with client-service model
B) Layers need not be on a separate machines
C) Web servers can be used as application servers
D) Scalability is achieved by duplicating the system
QUIZ
Building Blocks
Building Enterprise Applications
Building computer systems is hard
As the complexity of the system gets greater, the

task of building the software gets exponentially harder
Building Enterprise Applications
Building computer systems is hard
Software Architecture
Object Oriented 

Programming
Frameworks
Middleware
Design Patterns
Object Oriented Programming
OO is key to development of systems
• Design for reusability, flexibility and performance
One of the biggest hurdles for developers
• Each component should be simple with simple task
• Involves understanding of interaction of parts
“OO design is more important than specific technologies, such as J2EE. 

We should try to avoid letting our technology choices, such as J2EE, constrain our ability to use true OO design”
– Rod Johnson
“If the design is good, there is no code”
– Jónas Þór, Senior Developer, Betware
Software Architecture
Shared understanding of system’s design by the expert
developers on a project - vision and structure
• Highest-level breakdown of a system into its parts
• Decisions that are hard to change
• Architecture influences design of 

components, technology, performance 

and middleware
• There are always multiple of options
Object Oriented Programming
Design using known ideas
• Design patterns are standard solutions to common problems
in software design
• Systematic approach for problems that reoccur in software
development
• Patterns have name and definitions - not language dependant
History
Landmark book from 1995: Design Patterns: Elements of
Reusable Object-Oriented Software Gang of Four (GoF)
Middleware
Enterprise system are built on middleware
• Can cover a broad spectrum of software and generally sits
between an application and an operating system
• For example, databases, application servers, web servers,
messaging systems, transaction monitors
• “The plumbing” – the infrastructure
Horizontal market
• Solves common problems – not specific business
requirements
• Low-level system
Frameworks
Frameworks define the support structure for how to organise
and build systems
• Can improve productivity
• We can use existing frameworks or build our own
Frameworks implement common problems
• Developers extend and add their business requirements
Framework design
• Use inheritance, inversion of control, interfaces and helper
classes
• Implement design patterns
Which of the following statement is not true?
A) Design patterns are solutions to common problems
B) Object oriented programing is good for general problems
C) Frameworks are used to increase productivity
D) Middleware can solve business related problems
QUIZ
THINK ABOUT THIS
Advice is a dangerous gift
There are no right answers
“Use the advice to prod your thinking, but don’t
use it as a replacement for your thinking”
– Martin Fowler
Ad

More Related Content

What's hot (20)

Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
asimnawaz54
 
INTEGRATIVE PROGRAMMING ch1.pptx
INTEGRATIVE PROGRAMMING ch1.pptxINTEGRATIVE PROGRAMMING ch1.pptx
INTEGRATIVE PROGRAMMING ch1.pptx
StephenStanleyAndres1
 
Chapter 3 principles of hci
Chapter 3 principles of hciChapter 3 principles of hci
Chapter 3 principles of hci
MLG College of Learning, Inc
 
System integration
System integrationSystem integration
System integration
Anita Martinek
 
requirement gathering
requirement gatheringrequirement gathering
requirement gathering
SaeedMat
 
Information security
Information securityInformation security
Information security
Lusungu Mkandawire CISA,CISM,CGEIT,CPF,PRINCE2
 
Human Computer Interaction - Interaction Design
Human Computer Interaction - Interaction DesignHuman Computer Interaction - Interaction Design
Human Computer Interaction - Interaction Design
Vrushali Dhanokar
 
Web services
Web servicesWeb services
Web services
Akshay Ballarpure
 
Java: GUI
Java: GUIJava: GUI
Java: GUI
Tareq Hasan
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
Adeel Javaid
 
Active directory
Active directory Active directory
Active directory
deshvikas
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
Rishabh Soni
 
2.1 users & groups
2.1 users & groups2.1 users & groups
2.1 users & groups
Muuluu
 
Network_Administration_PPT
Network_Administration_PPTNetwork_Administration_PPT
Network_Administration_PPT
Abhishek Kumar Ravi
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
University of Haripur
 
Designing Virtual Network Security Architectures
Designing Virtual Network Security ArchitecturesDesigning Virtual Network Security Architectures
Designing Virtual Network Security Architectures
Priyanka Aash
 
System and network administration network services
System and network administration network servicesSystem and network administration network services
System and network administration network services
Uc Man
 
introduction to Web system
introduction to Web systemintroduction to Web system
introduction to Web system
hashim102
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
asimnawaz54
 
requirement gathering
requirement gatheringrequirement gathering
requirement gathering
SaeedMat
 
Human Computer Interaction - Interaction Design
Human Computer Interaction - Interaction DesignHuman Computer Interaction - Interaction Design
Human Computer Interaction - Interaction Design
Vrushali Dhanokar
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
Adeel Javaid
 
Active directory
Active directory Active directory
Active directory
deshvikas
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
Rishabh Soni
 
2.1 users & groups
2.1 users & groups2.1 users & groups
2.1 users & groups
Muuluu
 
Designing Virtual Network Security Architectures
Designing Virtual Network Security ArchitecturesDesigning Virtual Network Security Architectures
Designing Virtual Network Security Architectures
Priyanka Aash
 
System and network administration network services
System and network administration network servicesSystem and network administration network services
System and network administration network services
Uc Man
 
introduction to Web system
introduction to Web systemintroduction to Web system
introduction to Web system
hashim102
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza
 

Viewers also liked (16)

HCM Software
HCM SoftwareHCM Software
HCM Software
Eilisys Technologies
 
Talygen Business Management Software
Talygen Business Management SoftwareTalygen Business Management Software
Talygen Business Management Software
Talygen Inc.
 
Design for enterprise software by Benjamin Humphrey
Design for enterprise software by Benjamin HumphreyDesign for enterprise software by Benjamin Humphrey
Design for enterprise software by Benjamin Humphrey
UXMalaysia
 
Open ERP Keypoints
Open ERP KeypointsOpen ERP Keypoints
Open ERP Keypoints
Fabien Pinckaers
 
Human Resource Management System(HRMS)
Human Resource Management System(HRMS)Human Resource Management System(HRMS)
Human Resource Management System(HRMS)
Ariful Islam
 
Apple inc
Apple incApple inc
Apple inc
mahi mahi
 
Benefits of Inventory Management system Software
Benefits of Inventory Management system SoftwareBenefits of Inventory Management system Software
Benefits of Inventory Management system Software
Insight Stock
 
Openerp Rise Web
Openerp Rise WebOpenerp Rise Web
Openerp Rise Web
David Janssens
 
Archiving qualitative data for policy research meeting challenges and establ...
Archiving qualitative data for policy research  meeting challenges and establ...Archiving qualitative data for policy research  meeting challenges and establ...
Archiving qualitative data for policy research meeting challenges and establ...
Merlien Institute
 
Enterprise Software Roadmap for Microsoft Products
Enterprise Software Roadmap for Microsoft ProductsEnterprise Software Roadmap for Microsoft Products
Enterprise Software Roadmap for Microsoft Products
Jonathan Daniels
 
10 signs you need business management software.
10 signs you need business management software.10 signs you need business management software.
10 signs you need business management software.
Domo
 
Class2 Business Software
Class2 Business SoftwareClass2 Business Software
Class2 Business Software
RMS
 
Hospital Inventory Management System
Hospital Inventory Management SystemHospital Inventory Management System
Hospital Inventory Management System
Goods Order Inventory
 
case study on ERP success(cadbury) and failure(hershey's)
case study on ERP success(cadbury) and failure(hershey's)case study on ERP success(cadbury) and failure(hershey's)
case study on ERP success(cadbury) and failure(hershey's)
Chitrangada Roy
 
Hospital management system
Hospital management systemHospital management system
Hospital management system
Mohammad Safiullah
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
 
Talygen Business Management Software
Talygen Business Management SoftwareTalygen Business Management Software
Talygen Business Management Software
Talygen Inc.
 
Design for enterprise software by Benjamin Humphrey
Design for enterprise software by Benjamin HumphreyDesign for enterprise software by Benjamin Humphrey
Design for enterprise software by Benjamin Humphrey
UXMalaysia
 
Human Resource Management System(HRMS)
Human Resource Management System(HRMS)Human Resource Management System(HRMS)
Human Resource Management System(HRMS)
Ariful Islam
 
Benefits of Inventory Management system Software
Benefits of Inventory Management system SoftwareBenefits of Inventory Management system Software
Benefits of Inventory Management system Software
Insight Stock
 
Archiving qualitative data for policy research meeting challenges and establ...
Archiving qualitative data for policy research  meeting challenges and establ...Archiving qualitative data for policy research  meeting challenges and establ...
Archiving qualitative data for policy research meeting challenges and establ...
Merlien Institute
 
Enterprise Software Roadmap for Microsoft Products
Enterprise Software Roadmap for Microsoft ProductsEnterprise Software Roadmap for Microsoft Products
Enterprise Software Roadmap for Microsoft Products
Jonathan Daniels
 
10 signs you need business management software.
10 signs you need business management software.10 signs you need business management software.
10 signs you need business management software.
Domo
 
Class2 Business Software
Class2 Business SoftwareClass2 Business Software
Class2 Business Software
RMS
 
Hospital Inventory Management System
Hospital Inventory Management SystemHospital Inventory Management System
Hospital Inventory Management System
Goods Order Inventory
 
case study on ERP success(cadbury) and failure(hershey's)
case study on ERP success(cadbury) and failure(hershey's)case study on ERP success(cadbury) and failure(hershey's)
case study on ERP success(cadbury) and failure(hershey's)
Chitrangada Roy
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
 
Ad

Similar to L01 Introduction to Enterprise Software (20)

L01 Enterprise Application Architecture
L01 Enterprise Application ArchitectureL01 Enterprise Application Architecture
L01 Enterprise Application Architecture
Ólafur Andri Ragnarsson
 
Hönn2014 L01 Enterprise Applications
Hönn2014 L01 Enterprise ApplicationsHönn2014 L01 Enterprise Applications
Hönn2014 L01 Enterprise Applications
Ólafur Andri Ragnarsson
 
IS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxIS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptx
Abbadabbajabba1
 
20080117 Iasa Software + Services
20080117   Iasa   Software + Services20080117   Iasa   Software + Services
20080117 Iasa Software + Services
David Chou
 
Making The Desktop Dynamic
Making The Desktop DynamicMaking The Desktop Dynamic
Making The Desktop Dynamic
Jeff Fisher
 
Scalable And Usable Web Applications
Scalable And Usable Web ApplicationsScalable And Usable Web Applications
Scalable And Usable Web Applications
Clint Edmonson
 
Desktop is going to be v2
Desktop is going to be  v2Desktop is going to be  v2
Desktop is going to be v2
Pini Cohen
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application
Dharmendra Sid
 
WS-* Specifications Update 2007
WS-* Specifications Update 2007WS-* Specifications Update 2007
WS-* Specifications Update 2007
Jorgen Thelin
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE Projects
Shashank Banerjea
 
Packaging Machine Automation Trends, Solutions and Operations
Packaging Machine Automation Trends, Solutions and OperationsPackaging Machine Automation Trends, Solutions and Operations
Packaging Machine Automation Trends, Solutions and Operations
AVEVA
 
Microsoft DOT NET: Unlocking Scalable and Cross-Platform Development Solutions
Microsoft DOT NET: Unlocking Scalable and Cross-Platform Development SolutionsMicrosoft DOT NET: Unlocking Scalable and Cross-Platform Development Solutions
Microsoft DOT NET: Unlocking Scalable and Cross-Platform Development Solutions
basheerhardwin
 
TechNet Event: August 2011 Cloud Essentials
TechNet Event: August 2011 Cloud EssentialsTechNet Event: August 2011 Cloud Essentials
TechNet Event: August 2011 Cloud Essentials
Harold Wong
 
Living in the Web is Easy! Making the Move from Rich Clients to Browsers
Living in the Web is Easy! Making the Move from Rich Clients to BrowsersLiving in the Web is Easy! Making the Move from Rich Clients to Browsers
Living in the Web is Easy! Making the Move from Rich Clients to Browsers
Rahul A. Garg
 
S+S Overview
S+S OverviewS+S Overview
S+S Overview
Clint Edmonson
 
WebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David TangWebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David Tang
Spiffy
 
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
mfrancis
 
Florin Dobre (Plant an App) - Building the future: low-code/no-code tools for...
Florin Dobre (Plant an App) - Building the future: low-code/no-code tools for...Florin Dobre (Plant an App) - Building the future: low-code/no-code tools for...
Florin Dobre (Plant an App) - Building the future: low-code/no-code tools for...
constantadevelopers
 
ArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web ApplicationsArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web Applications
Microsoft ArcReady
 
Microsoft .NET and the System i
Microsoft .NET and the System iMicrosoft .NET and the System i
Microsoft .NET and the System i
LANSA
 
IS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxIS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptx
Abbadabbajabba1
 
20080117 Iasa Software + Services
20080117   Iasa   Software + Services20080117   Iasa   Software + Services
20080117 Iasa Software + Services
David Chou
 
Making The Desktop Dynamic
Making The Desktop DynamicMaking The Desktop Dynamic
Making The Desktop Dynamic
Jeff Fisher
 
Scalable And Usable Web Applications
Scalable And Usable Web ApplicationsScalable And Usable Web Applications
Scalable And Usable Web Applications
Clint Edmonson
 
Desktop is going to be v2
Desktop is going to be  v2Desktop is going to be  v2
Desktop is going to be v2
Pini Cohen
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application
Dharmendra Sid
 
WS-* Specifications Update 2007
WS-* Specifications Update 2007WS-* Specifications Update 2007
WS-* Specifications Update 2007
Jorgen Thelin
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE Projects
Shashank Banerjea
 
Packaging Machine Automation Trends, Solutions and Operations
Packaging Machine Automation Trends, Solutions and OperationsPackaging Machine Automation Trends, Solutions and Operations
Packaging Machine Automation Trends, Solutions and Operations
AVEVA
 
Microsoft DOT NET: Unlocking Scalable and Cross-Platform Development Solutions
Microsoft DOT NET: Unlocking Scalable and Cross-Platform Development SolutionsMicrosoft DOT NET: Unlocking Scalable and Cross-Platform Development Solutions
Microsoft DOT NET: Unlocking Scalable and Cross-Platform Development Solutions
basheerhardwin
 
TechNet Event: August 2011 Cloud Essentials
TechNet Event: August 2011 Cloud EssentialsTechNet Event: August 2011 Cloud Essentials
TechNet Event: August 2011 Cloud Essentials
Harold Wong
 
Living in the Web is Easy! Making the Move from Rich Clients to Browsers
Living in the Web is Easy! Making the Move from Rich Clients to BrowsersLiving in the Web is Easy! Making the Move from Rich Clients to Browsers
Living in the Web is Easy! Making the Move from Rich Clients to Browsers
Rahul A. Garg
 
WebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David TangWebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David Tang
Spiffy
 
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
mfrancis
 
Florin Dobre (Plant an App) - Building the future: low-code/no-code tools for...
Florin Dobre (Plant an App) - Building the future: low-code/no-code tools for...Florin Dobre (Plant an App) - Building the future: low-code/no-code tools for...
Florin Dobre (Plant an App) - Building the future: low-code/no-code tools for...
constantadevelopers
 
ArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web ApplicationsArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web Applications
Microsoft ArcReady
 
Microsoft .NET and the System i
Microsoft .NET and the System iMicrosoft .NET and the System i
Microsoft .NET and the System i
LANSA
 
Ad

More from Ólafur Andri Ragnarsson (20)

Nýsköpun - Leiðin til framfara
Nýsköpun - Leiðin til framfaraNýsköpun - Leiðin til framfara
Nýsköpun - Leiðin til framfara
Ólafur Andri Ragnarsson
 
Nýjast tækni og framtíðin
Nýjast tækni og framtíðinNýjast tækni og framtíðin
Nýjast tækni og framtíðin
Ólafur Andri Ragnarsson
 
New Technology Summer 2020 Course Introduction
New Technology Summer 2020 Course IntroductionNew Technology Summer 2020 Course Introduction
New Technology Summer 2020 Course Introduction
Ólafur Andri Ragnarsson
 
L01 Introduction
L01 IntroductionL01 Introduction
L01 Introduction
Ólafur Andri Ragnarsson
 
L23 Robotics and Drones
L23 Robotics and Drones L23 Robotics and Drones
L23 Robotics and Drones
Ólafur Andri Ragnarsson
 
L22 Augmented and Virtual Reality
L22 Augmented and Virtual RealityL22 Augmented and Virtual Reality
L22 Augmented and Virtual Reality
Ólafur Andri Ragnarsson
 
L20 Personalised World
L20 Personalised WorldL20 Personalised World
L20 Personalised World
Ólafur Andri Ragnarsson
 
L19 Network Platforms
L19 Network PlatformsL19 Network Platforms
L19 Network Platforms
Ólafur Andri Ragnarsson
 
L18 Big Data and Analytics
L18 Big Data and AnalyticsL18 Big Data and Analytics
L18 Big Data and Analytics
Ólafur Andri Ragnarsson
 
L17 Algorithms and AI
L17 Algorithms and AIL17 Algorithms and AI
L17 Algorithms and AI
Ólafur Andri Ragnarsson
 
L16 Internet of Things
L16 Internet of ThingsL16 Internet of Things
L16 Internet of Things
Ólafur Andri Ragnarsson
 
L14 From the Internet to Blockchain
L14 From the Internet to BlockchainL14 From the Internet to Blockchain
L14 From the Internet to Blockchain
Ólafur Andri Ragnarsson
 
L14 The Mobile Revolution
L14 The Mobile RevolutionL14 The Mobile Revolution
L14 The Mobile Revolution
Ólafur Andri Ragnarsson
 
New Technology 2019 L13 Rise of the Machine
New Technology 2019 L13 Rise of the Machine New Technology 2019 L13 Rise of the Machine
New Technology 2019 L13 Rise of the Machine
Ólafur Andri Ragnarsson
 
L12 digital transformation
L12 digital transformationL12 digital transformation
L12 digital transformation
Ólafur Andri Ragnarsson
 
L10 The Innovator's Dilemma
L10 The Innovator's DilemmaL10 The Innovator's Dilemma
L10 The Innovator's Dilemma
Ólafur Andri Ragnarsson
 
L09 Disruptive Technology
L09 Disruptive TechnologyL09 Disruptive Technology
L09 Disruptive Technology
Ólafur Andri Ragnarsson
 
L09 Technological Revolutions
L09 Technological RevolutionsL09 Technological Revolutions
L09 Technological Revolutions
Ólafur Andri Ragnarsson
 
L07 Becoming Invisible
L07 Becoming InvisibleL07 Becoming Invisible
L07 Becoming Invisible
Ólafur Andri Ragnarsson
 
L06 Diffusion of Innovation
L06 Diffusion of InnovationL06 Diffusion of Innovation
L06 Diffusion of Innovation
Ólafur Andri Ragnarsson
 
New Technology Summer 2020 Course Introduction
New Technology Summer 2020 Course IntroductionNew Technology Summer 2020 Course Introduction
New Technology Summer 2020 Course Introduction
Ólafur Andri Ragnarsson
 
New Technology 2019 L13 Rise of the Machine
New Technology 2019 L13 Rise of the Machine New Technology 2019 L13 Rise of the Machine
New Technology 2019 L13 Rise of the Machine
Ólafur Andri Ragnarsson
 

Recently uploaded (20)

How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 

L01 Introduction to Enterprise Software

  • 1. HÖNNUN OG SMÍÐI HUGBÚNAÐAR 2015 L01 INTRODUCTION TO ENTERPRISE SOFTWARE
  • 2. Agenda The Post-PC era Enterprise Application Building Blocks Evolution of Enterprise Software Building Blocks
  • 3. Reading Brown: 1-7 Hönnun og smíði hugbúnaðar 2015 - lýsing á námskeiðinu Digital Lifestyle Eric Schmidt talks the Future of Enterprise Software Mobile is Eating the World Enterprise Software Software as a Service
  • 5. Eric Schmidt Future of Enterprise Software Conversation with Salesforce CEO, Marc Benioff
  • 7. 1960 1970 1980 1990 2000 2010 Mainframes Mini  computers Personal  Computers Servers Clusters Cloud  –  utility  computing Laptops Music  player 2G  Cell  phones CONVERGE DIVERGE Smartphones Tablets Smart  TV Internet  of  things Smartwatch
  • 10. “[The Personal Computer] can become the 'Digital Hub' of our emerging digital lifestyle, adding tremendous value to our other devices.” - Steve Jobs, 2001 Keynote introducing the iPod THE DIGITAL DECADE
  • 11. MUSIC PICTURESVOICE  CALLS SMART  PHONES SHOWS MOVIES BOOKS/ MAGAZINES THE DIGITAL DECADE 2000 2010
  • 12. 2000 2010 iMac iPhone iMac G3   Mac OS 9.0.4
 500 MHz PowerPC G3 CPU, 128MB Memory
 Screen - 786K pixels
 Storage - 30GB Hard Drive iPhone 4  iOS 4.0
 1 Ghz ARM A4 CPU, 512MB Memory
 Screen - 614K pixels
 Storage - 32GB Flash Drive
  • 13. WHAT HAPPENED AT THE END OF THE DIGITAL DECADE?
  • 15. 1981-2011 The era of the PC
  • 17. 3 BILLION PEOPLE ARE ALREADY 
 CONNECTED TO THE INTERNET
  • 18. SOFTWARE AND DATA ARE STORED IN THE CLOUD 
 UNIVERSAL ACCESS
  • 19. OUR DEVICES ARE GATEWAYS TO THE CLOUD
  • 20. Source: Slides from Benedict Evans, A16Z, ITU Growth into the Bubble
  • 21. Source: Slides from Benedict Evans, A16Z, ITU Growth since the Bubble
  • 22. Source: Slides from Benedict Evans, A16Z, ITU Growth into the Future
  • 23. The Post-PC Era The Personal Computer era is over Rise of the network Smart phones rule the world APIs Enterprise systems are accessible by consumers, not operators Everything gets connected, IoT
  • 24. Challenges in Computing New Requirements Way more users (millions), more complicated software Uptime, security and reliability Scalability Competition drives need for productivity - time to market Leveraging investments – integration with existing systems
  • 25. 1980 1990 2000 Hardware Connecting hardware Network Software Connecting
 software Challenges in Computing Software and integration of components and devices are the challenges ahead Cloud computing and ubiquity Move to Service Oriented Architecture or micro services and APIs
  • 27. Which  of  the  following  statements  is  not  true? A) The  challenge  ahead  is  to  connect  software   B) The  PC  is  no  longer  a  device  for  development   C) Computing  has  moved  to  the  cloud   D) During  the  digital  decade,  the  PC  was  the  digital  hub  for  all  you  devices   QUIZ
  • 40. 40
  • 45. Enterprise Applications Software running in corporate data centers Characteristics: ✦ Involve data, some times huge amounts ✦ Concurrent data access, multiple users ✦ Lot of user interface screens ✦ Integration with other enterprise application ✦ Use of middleware software, such as databases, application servers, web servers ✦ Operated by specialists – system operators
  • 46. Examples B2C - Business to Consumer ✦ E-commerce web sites such as Amazon, eBay ✦ Commercial services like banking B2B – Business to Consumer ✦ Payroll, patient records, shipping tracking, cost analysis, credit scoring, insurance, supply chain, accounting, customer service, and foreign exchange trading ✦ Content such as: Stock quotes, sports results, email, blogs
  • 47. Software as a Service (SaaS) “On-demand” software ✦ Cloud computing IT infrastructure demands ✦ Communication: interacting with the software ✦ Scalability: dealing with fluctuation ✦ Dependability: available 24/7
  • 48. Software as a Service Examples E-mail services Project management Blog services
  • 49. What  is  not  necessarily  characteristic  of  enterprise  software? A) Has  many  concurrent  users  working  on  the  same  data   B) Integrates  with  other  IT  systems   C) Deploys  some  form  of  distribution  strategy   D) Is  operated  by  specialists  not  by  the  users   QUIZ
  • 51. Evolution 60 70 80 90 00 IBM   Mainframes   Limited   layering  or
 abstraction IBM,  DEC   Mini-­‐
 computers   Unix,  VAX   “Dumb”   terminals   Screens/DB PC,  Intel,   DOS,  Mac,  
 Unix,  
 Windows
 Client/Server   DB Windows   Internet   HTTP   Web  
 Browsers   Web
 Applications   DB Windows,
 Linux   MacOS   Browsers,   Services   Domain
 Applications   DB
  • 52. 60s 70s 80s 90s 00s IBM   nframes   mited   ering  or
 traction IBM,  DEC   Mini-­‐
 computers   Unix,  VAX   “Dumb”   terminals   Screens/Files PC,  Intel,   DOS,  Mac,  
 Unix,  
 Windows
 Client/Server   RMDB Windows   Internet   HTTP   Web  
 Browsers   Web
 Applications   RMDB Windows,
 Linux   MacOS   Browsers,   Services   Domain
 Applications   RMDB iOS   Android   HTML5   Browsers   Apps   API   Cloud   NoSQL 10s Evolution
  • 53. Server Database Network protocolWindows Client Windows Client Two layer system Thick native client running on a PC, contains all the presentation and domain logic Connects to the server for data Client-Server Network protocol
  • 54. Server Database Network protocolWindows Client Windows Client Limited reusability Requiers installation and configuration Versioning is hard Dependant on specific OS Not accessible from outside Client-Server Network protocol
  • 55. Network protocolPresentation Layer Presentation Layer Classical three layers Presentation Layer for the user interface, view and input Domain Layer for the business logic Data Source Layer for the data access Move to Three Layers Network protocol Domain Layer Data Source Layer Database
  • 56. HTML/HTTPWeb Browser Web 
 Browser The Web added new challenges The browser accesses strings of tags (HTML) Move the logic from client to a web layer Enter the Web Layer HTML/HTTP Domain Layer Data Source Layer Database Web Layer Presentation Layer
  • 57. HTML/HTTPWeb Browser Web 
 Browser Domain components are deployed on Application Servers - Distributed multi-tiered applications - Examples: Spring, EJB containers Application Servers HTML/HTTP Domain Layer Data Source Layer Database Web Layer Web Server Application Server
  • 58. Web Server Domain Layer SOAP HTTP SOAP Web Browser Native App SOAP Web Browser HTTP Server SOAP Client Built software into independent services Use APIs such as SOAP to expose functionality Service Oriented Architecture (SOA)
  • 59. Web Browser Native App CMS Web Server Web Server HTML REST REST Microservices Built software into (smaller) independent services Use RESTful APIs with Json Content Management System for all operator editable content
  • 60. Client Types Native Applications Apps Usually use some OS GUI and APIs Windows, Linux, MacOS, iOS, Andriod Communication can be anything Use the power of the device Embedded Run inside Web Browsers Flash, Java Applets Communication with XML using HTTP Standardised, provide rich functionality in limited browsers Rich Internet Application (RIA) JavaScript calls REST/ SOAP services for data HTML5 with XML/Json using Ajax/jQuery Standardised, provide rich functionality using HTML5 HTML Presentation in Browsers HTML Presentation in Browsers All functionality is server side Simple HTML
  • 61. Tiers vs. Layers Tier implies physical layer Example: Client-server is two-tier system: client on one machine, server on another Layers do not need to run on separate machines Layers can be on the same machine Example: Web system with Web Layer, Domain Layer and Data Source Layer on the same machine, then the database on a separate machine
  • 62. Classic N-tier Web Architecture HTTP Service HTTP Service HTTP Service HTTP Service Services Services Database Legacy Server Scalability comes by adding more servers
  • 63. Which of the following statements is not true? A) Versioning is only a challenge with client-service model B) Layers need not be on a separate machines C) Web servers can be used as application servers D) Scalability is achieved by duplicating the system QUIZ
  • 65. Building Enterprise Applications Building computer systems is hard As the complexity of the system gets greater, the
 task of building the software gets exponentially harder
  • 66. Building Enterprise Applications Building computer systems is hard Software Architecture Object Oriented 
 Programming Frameworks Middleware Design Patterns
  • 67. Object Oriented Programming OO is key to development of systems • Design for reusability, flexibility and performance One of the biggest hurdles for developers • Each component should be simple with simple task • Involves understanding of interaction of parts “OO design is more important than specific technologies, such as J2EE. 
 We should try to avoid letting our technology choices, such as J2EE, constrain our ability to use true OO design” – Rod Johnson “If the design is good, there is no code” – Jónas Þór, Senior Developer, Betware
  • 68. Software Architecture Shared understanding of system’s design by the expert developers on a project - vision and structure • Highest-level breakdown of a system into its parts • Decisions that are hard to change • Architecture influences design of 
 components, technology, performance 
 and middleware • There are always multiple of options
  • 69. Object Oriented Programming Design using known ideas • Design patterns are standard solutions to common problems in software design • Systematic approach for problems that reoccur in software development • Patterns have name and definitions - not language dependant History Landmark book from 1995: Design Patterns: Elements of Reusable Object-Oriented Software Gang of Four (GoF)
  • 70. Middleware Enterprise system are built on middleware • Can cover a broad spectrum of software and generally sits between an application and an operating system • For example, databases, application servers, web servers, messaging systems, transaction monitors • “The plumbing” – the infrastructure Horizontal market • Solves common problems – not specific business requirements • Low-level system
  • 71. Frameworks Frameworks define the support structure for how to organise and build systems • Can improve productivity • We can use existing frameworks or build our own Frameworks implement common problems • Developers extend and add their business requirements Framework design • Use inheritance, inversion of control, interfaces and helper classes • Implement design patterns
  • 72. Which of the following statement is not true? A) Design patterns are solutions to common problems B) Object oriented programing is good for general problems C) Frameworks are used to increase productivity D) Middleware can solve business related problems QUIZ
  • 73. THINK ABOUT THIS Advice is a dangerous gift There are no right answers “Use the advice to prod your thinking, but don’t use it as a replacement for your thinking” – Martin Fowler