W I L L K O M M E N
F O R M A N A G E R S
CALGARY
WHO
AM I?
25% writer of
textbooks
25% computer education
researcher
15% web developer
15% computer science and
information systems
20% political science
and philosophy
2007
Addison-Wesley
2014
Pearson
2015
Pearson, Global Edition
2017
Pearson, Second Edition
Used at 120+ universities with about 3000 copies sold per year.
S O W H AT D O M A N A G E R S
N E E D TO K N O W
A B O U T
W E B D E V E L O P M E N T ?
S O I S E A R C H E D …
A N D F O U N D A L O T O F C L O U D S
A N D D AT E D + I N A C C U R AT E D E S C R I P T I O N S
IT’S NOT A FIRM
FOUNDATION
MY GOAL
PROVIDE A KNOWLEDGEABLE FOUNDATION
SO MANAGERS CAN MAKE INFORMED DECISIONS
IN REGARDS TO WEB-BASED TECHNOLOGIES
M Y P L A N N E D TO P I C S
What is web
development?
Where is the
Internet?
How does the
web work?
Client-side
development
Web
programming
M Y T I M E - W I L L I N G TO P I C S
Hosting and
Virtualization
Security and
Search
Miscellaneous Questions +
Wild Cheering
LET’S GET STARTED
w h a t
i s
w e b
D e v e l o p m e n t ?
S o m e Te r m i n o l o g y
R E Q U E S T - R E S P O N S E L O O P P E E R - TO - P E E R M O D E L
S TAT I C W E B PA G E
S I N G L E PA G E M U LT I P L E R E Q U E S T S
D Y N A M I C S E RV E R - S I D E W E B PA G E
D Y N A M I C W E B PA G E S TO D AY
I N T E R N E T I N T R A N E T
W E B D E V R O L E S A N D S K I L L S
WEBDEVELOPMENT
EMPLOYMENTWORLD
W h e r e i s t h e i n t e r n e t ?
I t i s n o t i n a c l o u d !
F R O M H O M E TO I S P
I N T E R N E T E X C H A N G E P O I N T ( I X P )
D ATA C E N T E R
SERVER RACK
Example
S E RV E R FA R M
WHY?
Performance
16% 43% 56% 85% 89%
Redundancy
A typical single server
can handle 1000-2000
requests/second.
Even if site isn’t busy
you still don’t want a
single point of failure.
does
wo rk?
How
the web
I P A D D R E S S E S
D O M A I N N A M E S Y S T E M
D O M A I N N A M E R E G I S T R AT I O N
H T T P P R O TO C O L
H T T P V E R B S
This software responds to HTTP requests.
Web server software is
an essential component
of web workflow
S E RV E R S O F T WA R E M A R K E T
S TA N D U P + S T R E T C H
CSS
HTML
MEDIA
CLIENT-SIDE
DEVELOPMENT
TECHNOLOGIES
H T M L
T I T L E O N E
C S S
C S S
RESPONSIVEDESIGN
CSSGRIDSYSTEMS
W H Y G R I D S ?
S T Y L E
G U I D E S
S E M A N T I C
M I C R O F O R M AT S
<div itemscope itemtype="http://schema.org/Person">
<a itemprop="url" href="http://mtroyal.ca">
<div itemprop="name"><strong>Randy Connolly</strong></div>
</a>
<div itemscope itemtype="http://schema.org/Organization">
<span itemprop="name">Mount Royal University</span></div>
<div itemprop="jobtitle">Professor</div>
…
</div>
T E M P L AT E I N D U S T RY
WEB MEDIA
R A S T E R
V E C TO R
V I D E O F O R M AT S
BUT programming technologies
a re needed f o r a ny rea l web s i te
PHP
JAVASCRIPT
DATABASE
WEB
PROGRAMMING
WHY?
S C E N A R I O 1 F O R M P R O C E S S I N G
S C E N A R I O 2
D ATA - D R I V E N
C O N T E N T
S C E N A R I O 3 I N T E R A C T I V I T Y
C L I E N T - S I D E S C R I P T
S E RV E R - S I D E S C R I P T
S E RV E R - S I D E A C C E S S TO R E S O U R C E S
D I F F E R E N T S E RV E R - S I D E T E C H N O L O G I E S
S A M E R E S U LT S
M A R K E T S H A R E
I N T E R N E T I N T R A N E T
D ATA B A S E S I N W E B D E V E L O P M E N T
D ATA B A S E S I N W E B D E V E L O P M E N T
S TA N D U P + S I N G ( O R YAW N )
CHALLENGES WITH SERVER-SIDE
F R O M T H E S E R V E R ’ S P E R S P E C T I V E
T H E S E A P P E A R T H E S A M E
W H AT T H E S E RV E R
S E E S
T H I S I S W H AT W E W A N T
T H E S E R V E R T O S E E …
HOW?
THERE ARE ONLY TWO WAYS TO
PASS INFO FROM CLIENT TO SERVER
QUERY STRINGS
COOKIES
1 . PA S S I N G D ATA V I A Q U E RY S T R I N G
U S I N G A U R L I N S T E A D
WHY?
S E O ( S E A R C H E N G I N E O P T I M I Z AT I O N )
2 . PA S S I N G D ATA V I A C O O K I E S
CLIENT-SIDE PROGRAMMING
S C E N A R I O 3 I N T E R A C T I V I T Y
C L I E N T - S I D E W I T H J AVA S C R I P T
JAVASCRIPT JAVA
C L I E N T - S I D E W I T H J AVA
A S Y N C H R O N O U S R E Q U E S T S
J AVA S C R I P T F R A M E W O R K S
J AVA S C R I P T
A N D
E M P L O Y M E N T
C O F F E E B R E A K
DEPLOYMENT
VIRTUALIZATION
A N D
D E D I C AT E D H O S T I N G
Each site is on its own server(s)
S I M P L E S H A R E D H O S T I N G
V I RT U A L S H A R E D H O S T
C L O U D H O S T I N G
W h y C l o u d H o s t i n g ?
R e d u n d a n
c y01
O n -
D e m a n d
P r o v i s i o n i
n g
02
S c a l a b i l i t y
03
C o s t
E f f i c i e n c y04
L o w S t a r t u p
C o s t s05
M a n a g e r s
S e e m t o
L o v e C l o u d s
…
06
HOW?
S E RV E R I N E F F I C I E N C I E S
H O W I T W O R K S
VA G R A N T A S T Y P E 2 H Y P E RV I S O R
P R O V I S I O N I N G W I T H VA G R A N T
M O R E E F F I C I E N C I E S W I T H C O N TA I N E R S
C l o u d S e r v i c e M o d e l s
C l o u d c o m p u t i n g p r o m i s e s s o m e t h i n g u s u a l l y r e f e r r e d t o a s e l a s t i c
c a p a c i t y / c o m p u t i n g ,
m e a n i n g t h a t s e r v e r c a p a b i l i t y c a n s c a l e w i t h d e m a n d .
Platform as a Service
(PaaS)
Infrastructure as a Service
(IaaS)
Software as a Service
(SaaS)
Amazon Web Services
Microsoft Azure
Google Cloud Platform
Security
and
Search
T H E P R O B L E M W I T H E V E
U S I N G E N C RY P T I O N
P R O B L E M : H O W T O T R A N S P O R T K E Y
S I M P L E E N C RY P T I O N E X A M P L E
H T T P S
Q U I C K LY
S E C U R I T Y T H R E AT S
S Q L I N J E C T I O N AT TA C K
C R O S S - S I T E S C R I P T I N G AT TA C K
D E N I A L O F S E RV I C E AT TA C K
R A I N B O W TA B L E AT TA C K ( C O N T E X T )
R A I N B O W TA B L E AT TA C K ( S O L U T I O N ? )
R A I N B O W TA B L E AT TA C K ( S O L U T I O N ! )
How does
search work?
S E A R C H E N G I N E S
W E B PA G E S A S V E C TO R S
Math is then used to calculate the angle of similarity between
search vector and page vector. The smallest angles indicate the
closest matches.
Miscellaneous
To p i c s
C O N T I N U O U S I N T E G R AT I O N
To avoid problems with integrating software changes,
many web developers have migrated to a continuous
integration model that is dependent upon …
V E R S I O N
C O N T R O L
A U TO M AT E D T E S T I N G
W E B A D V E RT I S E M E N T S
T H A N K Y O U
R A N D Y C O N N O L LY
h t t p : / / w w w. r a n d y c o n n o l l y. c o m

Web Development for Managers

  • 1.
    W I LL K O M M E N F O R M A N A G E R S
  • 3.
  • 5.
    WHO AM I? 25% writerof textbooks 25% computer education researcher 15% web developer 15% computer science and information systems 20% political science and philosophy
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
    Used at 120+universities with about 3000 copies sold per year.
  • 11.
    S O WH AT D O M A N A G E R S N E E D TO K N O W A B O U T W E B D E V E L O P M E N T ?
  • 12.
    S O IS E A R C H E D …
  • 13.
    A N DF O U N D A L O T O F C L O U D S
  • 15.
    A N DD AT E D + I N A C C U R AT E D E S C R I P T I O N S
  • 17.
    IT’S NOT AFIRM FOUNDATION
  • 18.
    MY GOAL PROVIDE AKNOWLEDGEABLE FOUNDATION SO MANAGERS CAN MAKE INFORMED DECISIONS IN REGARDS TO WEB-BASED TECHNOLOGIES
  • 19.
    M Y PL A N N E D TO P I C S What is web development? Where is the Internet? How does the web work? Client-side development Web programming
  • 20.
    M Y TI M E - W I L L I N G TO P I C S Hosting and Virtualization Security and Search Miscellaneous Questions + Wild Cheering
  • 21.
  • 22.
    w h at i s w e b D e v e l o p m e n t ?
  • 24.
    S o me Te r m i n o l o g y R E Q U E S T - R E S P O N S E L O O P P E E R - TO - P E E R M O D E L
  • 25.
    S TAT IC W E B PA G E
  • 26.
    S I NG L E PA G E M U LT I P L E R E Q U E S T S
  • 28.
    D Y NA M I C S E RV E R - S I D E W E B PA G E
  • 29.
    D Y NA M I C W E B PA G E S TO D AY
  • 30.
    I N TE R N E T I N T R A N E T
  • 31.
    W E BD E V R O L E S A N D S K I L L S
  • 32.
  • 33.
    W h er e i s t h e i n t e r n e t ?
  • 34.
    I t is n o t i n a c l o u d !
  • 36.
    F R OM H O M E TO I S P
  • 38.
    I N TE R N E T E X C H A N G E P O I N T ( I X P )
  • 41.
    D ATA CE N T E R
  • 42.
  • 43.
    S E RVE R FA R M
  • 44.
  • 45.
    Performance 16% 43% 56%85% 89% Redundancy A typical single server can handle 1000-2000 requests/second. Even if site isn’t busy you still don’t want a single point of failure.
  • 46.
  • 47.
    I P AD D R E S S E S
  • 48.
    D O MA I N N A M E S Y S T E M
  • 49.
    D O MA I N N A M E R E G I S T R AT I O N
  • 50.
    H T TP P R O TO C O L
  • 51.
    H T TP V E R B S
  • 52.
    This software respondsto HTTP requests. Web server software is an essential component of web workflow
  • 53.
    S E RVE R S O F T WA R E M A R K E T
  • 54.
    S TA ND U P + S T R E T C H
  • 55.
  • 56.
  • 57.
  • 58.
    T I TL E O N E
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
    W H YG R I D S ?
  • 64.
    S T YL E G U I D E S
  • 65.
    S E MA N T I C M I C R O F O R M AT S <div itemscope itemtype="http://schema.org/Person"> <a itemprop="url" href="http://mtroyal.ca"> <div itemprop="name"><strong>Randy Connolly</strong></div> </a> <div itemscope itemtype="http://schema.org/Organization"> <span itemprop="name">Mount Royal University</span></div> <div itemprop="jobtitle">Professor</div> … </div>
  • 66.
    T E MP L AT E I N D U S T RY
  • 67.
  • 68.
    R A ST E R V E C TO R
  • 71.
    V I DE O F O R M AT S
  • 72.
    BUT programming technologies are needed f o r a ny rea l web s i te
  • 73.
  • 74.
  • 75.
  • 76.
    S C EN A R I O 1 F O R M P R O C E S S I N G
  • 77.
    S C EN A R I O 2 D ATA - D R I V E N C O N T E N T
  • 78.
    S C EN A R I O 3 I N T E R A C T I V I T Y
  • 79.
    C L IE N T - S I D E S C R I P T S E RV E R - S I D E S C R I P T
  • 80.
    S E RVE R - S I D E A C C E S S TO R E S O U R C E S
  • 81.
    D I FF E R E N T S E RV E R - S I D E T E C H N O L O G I E S S A M E R E S U LT S
  • 82.
    M A RK E T S H A R E
  • 83.
    I N TE R N E T I N T R A N E T
  • 84.
    D ATA BA S E S I N W E B D E V E L O P M E N T
  • 85.
    D ATA BA S E S I N W E B D E V E L O P M E N T
  • 86.
    S TA ND U P + S I N G ( O R YAW N )
  • 87.
  • 88.
    F R OM T H E S E R V E R ’ S P E R S P E C T I V E T H E S E A P P E A R T H E S A M E W H AT T H E S E RV E R S E E S T H I S I S W H AT W E W A N T T H E S E R V E R T O S E E …
  • 89.
  • 90.
    THERE ARE ONLYTWO WAYS TO PASS INFO FROM CLIENT TO SERVER
  • 91.
  • 92.
    1 . PAS S I N G D ATA V I A Q U E RY S T R I N G
  • 93.
    U S IN G A U R L I N S T E A D WHY?
  • 94.
    S E O( S E A R C H E N G I N E O P T I M I Z AT I O N )
  • 95.
    2 . PAS S I N G D ATA V I A C O O K I E S
  • 96.
  • 97.
    S C EN A R I O 3 I N T E R A C T I V I T Y
  • 98.
    C L IE N T - S I D E W I T H J AVA S C R I P T
  • 99.
  • 100.
    C L IE N T - S I D E W I T H J AVA
  • 102.
    A S YN C H R O N O U S R E Q U E S T S
  • 104.
    J AVA SC R I P T F R A M E W O R K S
  • 105.
    J AVA SC R I P T A N D E M P L O Y M E N T
  • 106.
    C O FF E E B R E A K
  • 107.
  • 108.
    D E DI C AT E D H O S T I N G Each site is on its own server(s)
  • 109.
    S I MP L E S H A R E D H O S T I N G
  • 110.
    V I RTU A L S H A R E D H O S T
  • 111.
    C L OU D H O S T I N G
  • 112.
    W h yC l o u d H o s t i n g ? R e d u n d a n c y01 O n - D e m a n d P r o v i s i o n i n g 02 S c a l a b i l i t y 03 C o s t E f f i c i e n c y04 L o w S t a r t u p C o s t s05 M a n a g e r s S e e m t o L o v e C l o u d s … 06
  • 113.
  • 114.
    S E RVE R I N E F F I C I E N C I E S
  • 115.
    H O WI T W O R K S
  • 116.
    VA G RA N T A S T Y P E 2 H Y P E RV I S O R
  • 117.
    P R OV I S I O N I N G W I T H VA G R A N T
  • 118.
    M O RE E F F I C I E N C I E S W I T H C O N TA I N E R S
  • 119.
    C l ou d S e r v i c e M o d e l s C l o u d c o m p u t i n g p r o m i s e s s o m e t h i n g u s u a l l y r e f e r r e d t o a s e l a s t i c c a p a c i t y / c o m p u t i n g , m e a n i n g t h a t s e r v e r c a p a b i l i t y c a n s c a l e w i t h d e m a n d . Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Software as a Service (SaaS) Amazon Web Services Microsoft Azure Google Cloud Platform
  • 120.
  • 121.
    T H EP R O B L E M W I T H E V E
  • 122.
    U S IN G E N C RY P T I O N
  • 123.
    P R OB L E M : H O W T O T R A N S P O R T K E Y
  • 124.
    S I MP L E E N C RY P T I O N E X A M P L E
  • 125.
    H T TP S Q U I C K LY
  • 126.
    S E CU R I T Y T H R E AT S
  • 127.
    S Q LI N J E C T I O N AT TA C K
  • 128.
    C R OS S - S I T E S C R I P T I N G AT TA C K
  • 129.
    D E NI A L O F S E RV I C E AT TA C K
  • 130.
    R A IN B O W TA B L E AT TA C K ( C O N T E X T )
  • 131.
    R A IN B O W TA B L E AT TA C K ( S O L U T I O N ? )
  • 132.
    R A IN B O W TA B L E AT TA C K ( S O L U T I O N ! )
  • 133.
  • 134.
    S E AR C H E N G I N E S
  • 135.
    W E BPA G E S A S V E C TO R S Math is then used to calculate the angle of similarity between search vector and page vector. The smallest angles indicate the closest matches.
  • 136.
  • 137.
    C O NT I N U O U S I N T E G R AT I O N
  • 138.
    To avoid problemswith integrating software changes, many web developers have migrated to a continuous integration model that is dependent upon …
  • 139.
    V E RS I O N C O N T R O L
  • 140.
    A U TOM AT E D T E S T I N G
  • 141.
    W E BA D V E RT I S E M E N T S
  • 143.
    T H AN K Y O U R A N D Y C O N N O L LY h t t p : / / w w w. r a n d y c o n n o l l y. c o m