SlideShare uma empresa Scribd logo
1 de 73
Baixar para ler offline
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
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
“[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?
1981-2011 The era of the PC
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
40
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

Mais conteúdo relacionado

Mais procurados

Synopsis for student interaction portal
Synopsis for student interaction portalSynopsis for student interaction portal
Synopsis for student interaction portalmukesh Chettri
 
Active directory
Active directory Active directory
Active directory deshvikas
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architectureBiruk Mamo
 
Content Management System
Content Management SystemContent Management System
Content Management SystemRavi Bhadauria
 
1 introduction to windows server 2016
1  introduction to windows server 20161  introduction to windows server 2016
1 introduction to windows server 2016Hameda Hurmat
 
Web content management
Web content managementWeb content management
Web content managementSmita Chandra
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modelingAbdul Basit
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Evgeniy Labunskiy
 
Content Management System - CMS
 Content Management System - CMS Content Management System - CMS
Content Management System - CMSJaime Delgado
 
Requirements documentation standards ieee830
Requirements documentation standards   ieee830Requirements documentation standards   ieee830
Requirements documentation standards ieee830Abdul Basit
 
WEB-SYSTEM-AND-TECHNOLOGIES-INTRODUCTION-1.pptx
WEB-SYSTEM-AND-TECHNOLOGIES-INTRODUCTION-1.pptxWEB-SYSTEM-AND-TECHNOLOGIES-INTRODUCTION-1.pptx
WEB-SYSTEM-AND-TECHNOLOGIES-INTRODUCTION-1.pptxjwhuqyqtayaw
 
Ejabberd with xmpp
Ejabberd with xmppEjabberd with xmpp
Ejabberd with xmppPrem Narain
 
Social & professional issues in IT
Social & professional issues in ITSocial & professional issues in IT
Social & professional issues in ITRohana K Amarakoon
 

Mais procurados (20)

Synopsis for student interaction portal
Synopsis for student interaction portalSynopsis for student interaction portal
Synopsis for student interaction portal
 
student portal
student portal student portal
student portal
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Active directory
Active directory Active directory
Active directory
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
Content Management System
Content Management SystemContent Management System
Content Management System
 
1 introduction to windows server 2016
1  introduction to windows server 20161  introduction to windows server 2016
1 introduction to windows server 2016
 
IIS
IISIIS
IIS
 
Windows Server 2019 -InspireTech 2019
Windows Server 2019 -InspireTech 2019Windows Server 2019 -InspireTech 2019
Windows Server 2019 -InspireTech 2019
 
Web content management
Web content managementWeb content management
Web content management
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modeling
 
Html5 for mobiles
Html5 for mobilesHtml5 for mobiles
Html5 for mobiles
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?
 
Content Management System - CMS
 Content Management System - CMS Content Management System - CMS
Content Management System - CMS
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Requirements documentation standards ieee830
Requirements documentation standards   ieee830Requirements documentation standards   ieee830
Requirements documentation standards ieee830
 
WEB-SYSTEM-AND-TECHNOLOGIES-INTRODUCTION-1.pptx
WEB-SYSTEM-AND-TECHNOLOGIES-INTRODUCTION-1.pptxWEB-SYSTEM-AND-TECHNOLOGIES-INTRODUCTION-1.pptx
WEB-SYSTEM-AND-TECHNOLOGIES-INTRODUCTION-1.pptx
 
Ejabberd with xmpp
Ejabberd with xmppEjabberd with xmpp
Ejabberd with xmpp
 
Social & professional issues in IT
Social & professional issues in ITSocial & professional issues in IT
Social & professional issues in IT
 

Destaque

Talygen Business Management Software
Talygen Business Management SoftwareTalygen Business Management Software
Talygen Business Management SoftwareTalygen 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 HumphreyUXMalaysia
 
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 SoftwareInsight 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 ProductsJonathan 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 SoftwareRMS
 
Hospital Inventory Management System
Hospital Inventory Management SystemHospital Inventory Management System
Hospital Inventory Management SystemGoods 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 NicheLeslie Samuel
 

Destaque (16)

HCM Software
HCM SoftwareHCM Software
HCM Software
 
Talygen Business Management Software
Talygen Business Management SoftwareTalygen Business Management Software
Talygen Business Management Software
 
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
 
Open ERP Keypoints
Open ERP KeypointsOpen ERP Keypoints
Open ERP Keypoints
 
Human Resource Management System(HRMS)
Human Resource Management System(HRMS)Human Resource Management System(HRMS)
Human Resource Management System(HRMS)
 
Apple inc
Apple incApple inc
Apple inc
 
Benefits of Inventory Management system Software
Benefits of Inventory Management system SoftwareBenefits of Inventory Management system Software
Benefits of Inventory Management system Software
 
Openerp Rise Web
Openerp Rise WebOpenerp Rise Web
Openerp Rise Web
 
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...
 
Enterprise Software Roadmap for Microsoft Products
Enterprise Software Roadmap for Microsoft ProductsEnterprise Software Roadmap for Microsoft Products
Enterprise Software Roadmap for Microsoft Products
 
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.
 
Class2 Business Software
Class2 Business SoftwareClass2 Business Software
Class2 Business Software
 
Hospital Inventory Management System
Hospital Inventory Management SystemHospital Inventory Management System
Hospital Inventory Management System
 
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)
 
Hospital management system
Hospital management systemHospital management system
Hospital management system
 
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
 

Semelhante a L01 Introduction to Enterprise Software

IS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxIS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxAbbadabbajabba1
 
20080117 Iasa Software + Services
20080117   Iasa   Software + Services20080117   Iasa   Software + Services
20080117 Iasa Software + ServicesDavid Chou
 
Making The Desktop Dynamic
Making The Desktop DynamicMaking The Desktop Dynamic
Making The Desktop DynamicJeff Fisher
 
Scalable And Usable Web Applications
Scalable And Usable Web ApplicationsScalable And Usable Web Applications
Scalable And Usable Web ApplicationsClint Edmonson
 
Desktop is going to be v2
Desktop is going to be  v2Desktop is going to be  v2
Desktop is going to be v2Pini 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 2007Jorgen Thelin
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsShashank 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 OperationsAVEVA
 
TechNet Event: August 2011 Cloud Essentials
TechNet Event: August 2011 Cloud EssentialsTechNet Event: August 2011 Cloud Essentials
TechNet Event: August 2011 Cloud EssentialsHarold 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 BrowsersRahul 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 TangSpiffy
 
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 ApplicationsMicrosoft ArcReady
 
Microsoft .NET and the System i
Microsoft .NET and the System iMicrosoft .NET and the System i
Microsoft .NET and the System iLANSA
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSDevOps.com
 

Semelhante a L01 Introduction to Enterprise Software (20)

L01 Enterprise Application Architecture
L01 Enterprise Application ArchitectureL01 Enterprise Application Architecture
L01 Enterprise Application Architecture
 
Hönn2014 L01 Enterprise Applications
Hönn2014 L01 Enterprise ApplicationsHönn2014 L01 Enterprise Applications
Hönn2014 L01 Enterprise Applications
 
IS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxIS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptx
 
20080117 Iasa Software + Services
20080117   Iasa   Software + Services20080117   Iasa   Software + Services
20080117 Iasa Software + Services
 
Making The Desktop Dynamic
Making The Desktop DynamicMaking The Desktop Dynamic
Making The Desktop Dynamic
 
Scalable And Usable Web Applications
Scalable And Usable Web ApplicationsScalable And Usable Web Applications
Scalable And Usable Web Applications
 
Desktop is going to be v2
Desktop is going to be  v2Desktop is going to be  v2
Desktop is going to be v2
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application
 
WS-* Specifications Update 2007
WS-* Specifications Update 2007WS-* Specifications Update 2007
WS-* Specifications Update 2007
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE Projects
 
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
 
TechNet Event: August 2011 Cloud Essentials
TechNet Event: August 2011 Cloud EssentialsTechNet Event: August 2011 Cloud Essentials
TechNet Event: August 2011 Cloud Essentials
 
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
 
S+S Overview
S+S OverviewS+S Overview
S+S Overview
 
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
 
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...
 
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...
 
ArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web ApplicationsArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web Applications
 
Microsoft .NET and the System i
Microsoft .NET and the System iMicrosoft .NET and the System i
Microsoft .NET and the System i
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
 

Mais de Ó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
 

Mais de Ó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
 
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
 
New Technology Summer 2020 Course Introduction
New Technology Summer 2020 Course IntroductionNew Technology Summer 2020 Course Introduction
New Technology Summer 2020 Course Introduction
 
L01 Introduction
L01 IntroductionL01 Introduction
L01 Introduction
 
L23 Robotics and Drones
L23 Robotics and Drones L23 Robotics and Drones
L23 Robotics and Drones
 
L22 Augmented and Virtual Reality
L22 Augmented and Virtual RealityL22 Augmented and Virtual Reality
L22 Augmented and Virtual Reality
 
L20 Personalised World
L20 Personalised WorldL20 Personalised World
L20 Personalised World
 
L19 Network Platforms
L19 Network PlatformsL19 Network Platforms
L19 Network Platforms
 
L18 Big Data and Analytics
L18 Big Data and AnalyticsL18 Big Data and Analytics
L18 Big Data and Analytics
 
L17 Algorithms and AI
L17 Algorithms and AIL17 Algorithms and AI
L17 Algorithms and AI
 
L16 Internet of Things
L16 Internet of ThingsL16 Internet of Things
L16 Internet of Things
 
L14 From the Internet to Blockchain
L14 From the Internet to BlockchainL14 From the Internet to Blockchain
L14 From the Internet to Blockchain
 
L14 The Mobile Revolution
L14 The Mobile RevolutionL14 The Mobile Revolution
L14 The Mobile Revolution
 
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
 
L12 digital transformation
L12 digital transformationL12 digital transformation
L12 digital transformation
 
L10 The Innovator's Dilemma
L10 The Innovator's DilemmaL10 The Innovator's Dilemma
L10 The Innovator's Dilemma
 
L09 Disruptive Technology
L09 Disruptive TechnologyL09 Disruptive Technology
L09 Disruptive Technology
 
L09 Technological Revolutions
L09 Technological RevolutionsL09 Technological Revolutions
L09 Technological Revolutions
 
L07 Becoming Invisible
L07 Becoming InvisibleL07 Becoming Invisible
L07 Becoming Invisible
 
L06 Diffusion of Innovation
L06 Diffusion of InnovationL06 Diffusion of Innovation
L06 Diffusion of Innovation
 

Último

SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Último (20)

SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

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
  • 6.
  • 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
  • 9.
  • 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?
  • 14.
  • 15. 1981-2011 The era of the PC
  • 16.
  • 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
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. 40
  • 41.
  • 42.
  • 43.
  • 44.
  • 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