SlideShare ist ein Scribd-Unternehmen logo
1 von 73
Lecture 01
Enterprise Applications
Agenda
 The Post-PC era
 Enterprise Application
 Building Blocks
 Evolution of Enterprise Software
Reading
 Brown 1
 Digital Lifestyle
 Enterprise Software
The Post-PC era
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
2000 2010
THE DIGITAL DECADE
MUSIC
PICTURE
S
VOICE
SMARTPHONES
TV SHOWS
MOVIES
BOOKS
WHAT HAPPENED
AT THE END OF THE
DIGITAL DECADE?
1981-2011 The era of the PC
THE PC IS JUST A
DEVICE
2000 2010
iMac iPhone
Mac OS 9.0.4
500 MHz PowerPC G3 CPU, 128MB Memory
Screen - 786K pixels
Storage - 30GB Hard Drive
iOS 4.0
1 Ghz ARM A4 CPU, 512MB Memory
Screen - 614K pixels
Storage - 32GB Flash Drive
Source: Ars Technical Images: Apple
Digital Lifestyle
The “mobile web” is just the
web – there is only one web
digital online world
Digital Online World
Work
More
information
Focused
Digital Online World
Browsing
Consuming
content
Checking
Mobile
Now
Consuming
Video
Information
The Post-PC Era
 The Personal Computer era is over
– Rise of the network
– APIs
– Enterprise systems are accessible
by consumers
– New devices, mobile phone,
ITV, game machines, MP3 players,...
Source: (cc) 1998-2008
Digibarn Computer Museum,
Source: Picture from Convergence Transforms Digital Home: Techno-Economic
Impact
The Post-PC Era
 New Requirements
– More users, more complicated software
– Uptime, security and reliability
– Scalability
– Competition drives need for productivity
– Leveraging investments – integration with existing
systems
Challenges in Computing
 Software and integration of components and
devices are the challenges ahead
 Cloud computing and ubiquity
 Move to Service Oriented Architecture and APIs
1980 1990 2000
Hardware
Connecting hardware
Network
Software
Connecting
software
New Approch 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
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 Application
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
– 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
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
Evolution
60 70 80 90 00
IBM
nframes
mited
ering or
traction
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
iOS
Android
HTML5
Browsers
Apps
API
Cloud
NoSQL
10
Client-Server
 Two-layer systems
– Thick client on PCs handle user interface and connect
to servers for data
Client-Server
 The client handles all computation – domain
logic (business logic)
– Limited reusability
– Versioning is a challenge
Move to Three Tiers
 Three Layers
– Presentation Layer for the User Interface
– Domain Layer for the domain logic
– Data Source Layer for the data access
Enter the Web Layer
 The Web added new challenges
– The browser accesses strings of tags (HTML)
– Move the logic from client to a web layer
– Web layer adds connectivity by HTTP protocols
Application Servers
 Domain Components are deployed on
Application Servers
– Distributed Multi-tiered Applications
– Example:
• Web Servers, Spring, EJB containers
Service Oriented Architecture
 Built software into independent services
 Use APIs such as SOAP to expose functionality
Web
Browser
Native
App
Web
Server
SOAP
Domain
Layer
HTTP
SERVER
Web
Browser
SOAP
HTML SOAP
Client
SOAP
Microservices
 Built software into (smaller) independent
services
 Use RESTful APIs with Json
Web
Browser
Native
App
Web
Server
Domain
LayerREST
CMS
RESTHTML
Client Types
 Native Applications – Apps
– Usually use some OS GUI and APIs
– Windows, Linux, MacOS, iOS, Andriod
– Communication can be anything
 Embedded
– Run inside Web Browsers
– Flash, Java Applets
– Communication with XML using HTTP
Client Types
 Rich Internet Application (RIA)
– JavaScript calls REST/SOAP services for data
– HTML with XML/Json using Ajax/jQuery
 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
N-tier Web App Architecture
 Classic architecture
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
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
Design
Pattern
Middleware
Frameworks
OO
Programming
Software
Architecture
Software Architecture
 Shared understanding of system’s design by the
expert developers on a project
– 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 options
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 Betware developer
Design Patterns
 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
organize 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
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
✔
Next
 Dæmatími: Hlutbundin forritun með Java
– Uppsetning á Java umhverfinu
– IntelliJ
– Java æfingar
 Fyrirlestur föstudag: L02 Architecture

Weitere ähnliche Inhalte

Was ist angesagt?

IBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapIBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapEd Brill
 
Ibm messaging & collaboration roadmap 2013 (external)
Ibm messaging & collaboration roadmap 2013 (external)Ibm messaging & collaboration roadmap 2013 (external)
Ibm messaging & collaboration roadmap 2013 (external)Scott Souder
 
IBM Connect 2014 KEY102
IBM Connect 2014 KEY102IBM Connect 2014 KEY102
IBM Connect 2014 KEY102Scott Souder
 
Handheld Slideshow J Heggarty
Handheld Slideshow J HeggartyHandheld Slideshow J Heggarty
Handheld Slideshow J HeggartyMike Moran
 
Ibm messaging & collaboration roadmap 2013 (netherlands)
Ibm messaging & collaboration roadmap 2013 (netherlands)Ibm messaging & collaboration roadmap 2013 (netherlands)
Ibm messaging & collaboration roadmap 2013 (netherlands)e-office bv
 
Resume J Daniel Oblak
Resume J Daniel OblakResume J Daniel Oblak
Resume J Daniel OblakDan Oblak
 
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013We4IT Group
 
Introducing IBM Lotus Notes and Domino 8.5
Introducing IBM Lotus Notes and Domino 8.5Introducing IBM Lotus Notes and Domino 8.5
Introducing IBM Lotus Notes and Domino 8.5Thomas Coustenoble
 
Ibm connect2013 id105-ibmconnections-mail
Ibm connect2013 id105-ibmconnections-mailIbm connect2013 id105-ibmconnections-mail
Ibm connect2013 id105-ibmconnections-mailScott Souder
 
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
 
Migration Of Lotus To Ms Slideshare
Migration Of Lotus To Ms   SlideshareMigration Of Lotus To Ms   Slideshare
Migration Of Lotus To Ms SlideshareEdwin Kanis
 
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyIBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyEd Brill
 
We4IT LCTY 2013 - Captain Mobility - INV102 Mobile Strategy
We4IT LCTY 2013 - Captain Mobility - INV102 Mobile StrategyWe4IT LCTY 2013 - Captain Mobility - INV102 Mobile Strategy
We4IT LCTY 2013 - Captain Mobility - INV102 Mobile StrategyWe4IT Group
 
Ibm notes 9 social edition (external)
Ibm notes 9 social edition (external)Ibm notes 9 social edition (external)
Ibm notes 9 social edition (external)Scott Souder
 

Was ist angesagt? (18)

IBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapIBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration Roadmap
 
Ibm messaging & collaboration roadmap 2013 (external)
Ibm messaging & collaboration roadmap 2013 (external)Ibm messaging & collaboration roadmap 2013 (external)
Ibm messaging & collaboration roadmap 2013 (external)
 
IBM Connect 2014 KEY102
IBM Connect 2014 KEY102IBM Connect 2014 KEY102
IBM Connect 2014 KEY102
 
Team rocket
Team rocketTeam rocket
Team rocket
 
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
 
Handheld Slideshow J Heggarty
Handheld Slideshow J HeggartyHandheld Slideshow J Heggarty
Handheld Slideshow J Heggarty
 
Ibm messaging & collaboration roadmap 2013 (netherlands)
Ibm messaging & collaboration roadmap 2013 (netherlands)Ibm messaging & collaboration roadmap 2013 (netherlands)
Ibm messaging & collaboration roadmap 2013 (netherlands)
 
Resume J Daniel Oblak
Resume J Daniel OblakResume J Daniel Oblak
Resume J Daniel Oblak
 
MSCIT Unit 1
MSCIT Unit 1MSCIT Unit 1
MSCIT Unit 1
 
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
We4IT lcty 2013 - keynote - ibm messaging & collaboration roadmap 2013
 
Introducing IBM Lotus Notes and Domino 8.5
Introducing IBM Lotus Notes and Domino 8.5Introducing IBM Lotus Notes and Domino 8.5
Introducing IBM Lotus Notes and Domino 8.5
 
Ibm connect2013 id105-ibmconnections-mail
Ibm connect2013 id105-ibmconnections-mailIbm connect2013 id105-ibmconnections-mail
Ibm connect2013 id105-ibmconnections-mail
 
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
 
Migration Of Lotus To Ms Slideshare
Migration Of Lotus To Ms   SlideshareMigration Of Lotus To Ms   Slideshare
Migration Of Lotus To Ms Slideshare
 
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration StrategyIBM - Lotusphere 2012: Messaging and Collaboration Strategy
IBM - Lotusphere 2012: Messaging and Collaboration Strategy
 
We4IT LCTY 2013 - Captain Mobility - INV102 Mobile Strategy
We4IT LCTY 2013 - Captain Mobility - INV102 Mobile StrategyWe4IT LCTY 2013 - Captain Mobility - INV102 Mobile Strategy
We4IT LCTY 2013 - Captain Mobility - INV102 Mobile Strategy
 
Ibm notes 9 social edition (external)
Ibm notes 9 social edition (external)Ibm notes 9 social edition (external)
Ibm notes 9 social edition (external)
 
A2 SLED Lotusday
A2 SLED LotusdayA2 SLED Lotusday
A2 SLED Lotusday
 

Andere mochten auch

2014 Asdenca - Capability-based business model transformation
2014 Asdenca - Capability-based business model transformation2014 Asdenca - Capability-based business model transformation
2014 Asdenca - Capability-based business model transformationCaaS EU FP7 Project
 
Full tutorial on Capability driven development
Full tutorial on Capability driven developmentFull tutorial on Capability driven development
Full tutorial on Capability driven developmentCaaS EU FP7 Project
 
Online Quiz System Project PPT
Online Quiz System Project PPTOnline Quiz System Project PPT
Online Quiz System Project PPTShanthan Reddy
 
Using Business Architecture to enable customer experience and digital strategy
Using Business Architecture to enable customer experience and digital strategyUsing Business Architecture to enable customer experience and digital strategy
Using Business Architecture to enable customer experience and digital strategyCraig Martin
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewEnterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewWinton Winton
 

Andere mochten auch (6)

CaaS: Explotation Overview
CaaS: Explotation OverviewCaaS: Explotation Overview
CaaS: Explotation Overview
 
2014 Asdenca - Capability-based business model transformation
2014 Asdenca - Capability-based business model transformation2014 Asdenca - Capability-based business model transformation
2014 Asdenca - Capability-based business model transformation
 
Full tutorial on Capability driven development
Full tutorial on Capability driven developmentFull tutorial on Capability driven development
Full tutorial on Capability driven development
 
Online Quiz System Project PPT
Online Quiz System Project PPTOnline Quiz System Project PPT
Online Quiz System Project PPT
 
Using Business Architecture to enable customer experience and digital strategy
Using Business Architecture to enable customer experience and digital strategyUsing Business Architecture to enable customer experience and digital strategy
Using Business Architecture to enable customer experience and digital strategy
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewEnterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
 

Ähnlich wie Hönn2014 L01 Enterprise Applications

Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsShashank Banerjea
 
IS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxIS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxAbbadabbajabba1
 
Scalable And Usable Web Applications
Scalable And Usable Web ApplicationsScalable And Usable Web Applications
Scalable And Usable Web ApplicationsClint Edmonson
 
Introduction to Cloud computing
Introduction to Cloud computingIntroduction to Cloud computing
Introduction to Cloud computingMathews Job
 
A brief history_of_vdi_1.0
A brief history_of_vdi_1.0A brief history_of_vdi_1.0
A brief history_of_vdi_1.0Jimmy Chang
 
ArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web ApplicationsArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web ApplicationsMicrosoft ArcReady
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
Desktop is going to be v2
Desktop is going to be  v2Desktop is going to be  v2
Desktop is going to be v2Pini Cohen
 
Wei's Self Intro
Wei's Self IntroWei's Self Intro
Wei's Self Introsunmast
 
Cloud Computing E-Lect.ppt
Cloud Computing E-Lect.pptCloud Computing E-Lect.ppt
Cloud Computing E-Lect.pptarunimaarunima1
 
Infrastructure student
Infrastructure studentInfrastructure student
Infrastructure studentJohn Scrugham
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An AppManish Jain
 
Tecnologias Free e Open Source na Plataforma Microsoft
Tecnologias Free e Open Source na Plataforma MicrosoftTecnologias Free e Open Source na Plataforma Microsoft
Tecnologias Free e Open Source na Plataforma MicrosoftGustavo Malheiros
 

Ähnlich wie Hönn2014 L01 Enterprise Applications (20)

L01 Enterprise Application Architecture
L01 Enterprise Application ArchitectureL01 Enterprise Application Architecture
L01 Enterprise Application Architecture
 
IT Infrastructure and Emerging Technologies
IT Infrastructure and Emerging TechnologiesIT Infrastructure and Emerging Technologies
IT Infrastructure and Emerging Technologies
 
Training - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE ProjectsTraining - Managing .NET/J2EE Projects
Training - Managing .NET/J2EE Projects
 
IS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxIS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptx
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Scalable And Usable Web Applications
Scalable And Usable Web ApplicationsScalable And Usable Web Applications
Scalable And Usable Web Applications
 
Introduction to Cloud computing
Introduction to Cloud computingIntroduction to Cloud computing
Introduction to Cloud computing
 
A brief history_of_vdi_1.0
A brief history_of_vdi_1.0A brief history_of_vdi_1.0
A brief history_of_vdi_1.0
 
ArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web ApplicationsArcReady - Scalable And Usable Web Applications
ArcReady - Scalable And Usable Web Applications
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
Desktop is going to be v2
Desktop is going to be  v2Desktop is going to be  v2
Desktop is going to be v2
 
Wei's Self Intro
Wei's Self IntroWei's Self Intro
Wei's Self Intro
 
Cloud Computing E-Lect.ppt
Cloud Computing E-Lect.pptCloud Computing E-Lect.ppt
Cloud Computing E-Lect.ppt
 
Chapter4
Chapter4Chapter4
Chapter4
 
Infrastructure student
Infrastructure studentInfrastructure student
Infrastructure student
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An App
 
Tecnologias Free e Open Source na Plataforma Microsoft
Tecnologias Free e Open Source na Plataforma MicrosoftTecnologias Free e Open Source na Plataforma Microsoft
Tecnologias Free e Open Source na Plataforma Microsoft
 
L23 Summary and Conclusions
L23 Summary and ConclusionsL23 Summary and Conclusions
L23 Summary and Conclusions
 

Mehr von Ó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
 

Mehr von Ó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
 

Kürzlich hochgeladen

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 

Kürzlich hochgeladen (20)

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 

Hönn2014 L01 Enterprise Applications

  • 2. Agenda  The Post-PC era  Enterprise Application  Building Blocks  Evolution of Enterprise Software
  • 3. Reading  Brown 1  Digital Lifestyle  Enterprise Software
  • 5. 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
  • 7.
  • 8. “[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
  • 9. 2000 2010 THE DIGITAL DECADE MUSIC PICTURE S VOICE SMARTPHONES TV SHOWS MOVIES BOOKS
  • 10. WHAT HAPPENED AT THE END OF THE DIGITAL DECADE?
  • 11.
  • 12. 1981-2011 The era of the PC
  • 13.
  • 14. THE PC IS JUST A DEVICE
  • 15. 2000 2010 iMac iPhone Mac OS 9.0.4 500 MHz PowerPC G3 CPU, 128MB Memory Screen - 786K pixels Storage - 30GB Hard Drive iOS 4.0 1 Ghz ARM A4 CPU, 512MB Memory Screen - 614K pixels Storage - 32GB Flash Drive Source: Ars Technical Images: Apple
  • 16. Digital Lifestyle The “mobile web” is just the web – there is only one web digital online world
  • 19. The Post-PC Era  The Personal Computer era is over – Rise of the network – APIs – Enterprise systems are accessible by consumers – New devices, mobile phone, ITV, game machines, MP3 players,... Source: (cc) 1998-2008 Digibarn Computer Museum, Source: Picture from Convergence Transforms Digital Home: Techno-Economic Impact
  • 20. The Post-PC Era  New Requirements – More users, more complicated software – Uptime, security and reliability – Scalability – Competition drives need for productivity – Leveraging investments – integration with existing systems
  • 21. Challenges in Computing  Software and integration of components and devices are the challenges ahead  Cloud computing and ubiquity  Move to Service Oriented Architecture and APIs 1980 1990 2000 Hardware Connecting hardware Network Software Connecting software
  • 23. 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
  • 24. 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 ✔
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. 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
  • 42. 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 – Stock quotes, sports results, email, blogs
  • 43. 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
  • 44. Software as a Service Examples  E-mail services  Project management  Blog services
  • 45. 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
  • 46. 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 ✔
  • 48. 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
  • 49. Evolution 60 70 80 90 00 IBM nframes mited ering or traction 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 iOS Android HTML5 Browsers Apps API Cloud NoSQL 10
  • 50. Client-Server  Two-layer systems – Thick client on PCs handle user interface and connect to servers for data
  • 51. Client-Server  The client handles all computation – domain logic (business logic) – Limited reusability – Versioning is a challenge
  • 52. Move to Three Tiers  Three Layers – Presentation Layer for the User Interface – Domain Layer for the domain logic – Data Source Layer for the data access
  • 53. Enter the Web Layer  The Web added new challenges – The browser accesses strings of tags (HTML) – Move the logic from client to a web layer – Web layer adds connectivity by HTTP protocols
  • 54. Application Servers  Domain Components are deployed on Application Servers – Distributed Multi-tiered Applications – Example: • Web Servers, Spring, EJB containers
  • 55. Service Oriented Architecture  Built software into independent services  Use APIs such as SOAP to expose functionality Web Browser Native App Web Server SOAP Domain Layer HTTP SERVER Web Browser SOAP HTML SOAP Client SOAP
  • 56. Microservices  Built software into (smaller) independent services  Use RESTful APIs with Json Web Browser Native App Web Server Domain LayerREST CMS RESTHTML
  • 57. Client Types  Native Applications – Apps – Usually use some OS GUI and APIs – Windows, Linux, MacOS, iOS, Andriod – Communication can be anything  Embedded – Run inside Web Browsers – Flash, Java Applets – Communication with XML using HTTP
  • 58. Client Types  Rich Internet Application (RIA) – JavaScript calls REST/SOAP services for data – HTML with XML/Json using Ajax/jQuery  HTML Presentation in Browsers – All functionality is server side – Simple HTML
  • 59. 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
  • 60. N-tier Web App Architecture  Classic architecture
  • 61. 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
  • 62. 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 ✔
  • 64. 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
  • 65. Building Enterprise Applications  Building computer systems is hard Design Pattern Middleware Frameworks OO Programming Software Architecture
  • 66. Software Architecture  Shared understanding of system’s design by the expert developers on a project – 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 options
  • 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 Betware developer
  • 68. Design Patterns  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)
  • 69. 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
  • 70. Frameworks  Frameworks define the support structure for how to organize 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
  • 71. 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
  • 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. Next  Dæmatími: Hlutbundin forritun með Java – Uppsetning á Java umhverfinu – IntelliJ – Java æfingar  Fyrirlestur föstudag: L02 Architecture

Hinweis der Redaktion

  1. 19
  2. 21
  3. 65
  4. 68
  5. 69
  6. 70