Download Technical Aspects of E

Document related concepts

Server Message Block wikipedia , lookup

Distributed firewall wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Cross-site scripting wikipedia , lookup

Lag wikipedia , lookup

Remote Desktop Services wikipedia , lookup

Transcript
Technical Aspects of
E-Commerce Part 1 of 2
Mort Anvari
Introduction
- Overview of Sample Network
- Definitions
- Transaction Walk Through
- The E-Commerce Application
- Web Servers
- Operating Systems
- Hardware
2
Sample Network
PC
Web
Server
PC
Internet
R
SQL
Server
PC
FW
PC
Mail
Server
File
Server
PC
PC
3
Architecture
CGI Script
User
Space
Web Server
Software
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
HD Controller
Hard Drive
Data
Video
Card
Network
Card
Hardware
HTML
Pages
4
Definitions
Scalability - The ability of a product to
work well as it or it’s environment is
changed in size or power.
Reliability - The ability of product to
continue working in adverse situations
or with bad data.
TCO - Total Cost of Ownership. How
much a product costs over it’s life span.
5
Definitions
Manageability - The ease with which a
product can be maintained. Also, the
degree of control allowed by the vendor.
User Friendliness - The ease with which
and untrained person can use a
product.
Security - The ability of a product to
protect itself from malicious attack.
6
Example Transaction
In our example, the user wants to get
their bank statement for the month as
well as their bank balances. This is
representative of small to medium size
e-commerce sites. Larger sites use
much of the same components, but
more powerful or in larger quantities.
7
Example Transaction
1. Client makes request to Web Server
PC
Web
Server
PC
Internet
R
SQL
Server
PC
FW
PC
Mail
Server
File
Server
PC
PC
8
Example Transaction
2. Web server fetches
HTML page
containing a form
from the hard drive
CGI Script
User
Space
Web Server
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
Video
Card
Data
Network
Card
HTML
Pages
9
Example Transaction
3. Server sends page to client
PC
Web
Server
PC
Internet
R
SQL
Server
PC
FW
PC
Mail
Server
File
Server
PC
PC
10
Example Transaction
4. User fills in form and clicks on submit button.
PC
Web
Server
PC
Internet
R
SQL
Server
PC
FW
PC
Mail
Server
File
Server
PC
PC
11
Example Transaction
5. Browser sends contents of form to web server
requesting that it be passed to a specific cgi script.
The name of the script to be executed is embedded
in the form.
PC
Web
Server
PC
Internet
R
SQL
Server
PC
FW
PC
Mail
Server
File
Server
PC
PC
12
Example Transaction
6. Web server
executes CGI script
and passes it form
data.
CGI Script
User
Space
Web Server
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
HD Controller
Hard Drive
Data
Video
Card
Network
Card
HTML
Pages
13
Example Transaction
7. CGI script validates
the “form” data.
CGI Script
User
Space
Web Server
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
HD Controller
Hard Drive
Data
Video
Card
Network
Card
HTML
Pages
14
Example Transaction
8. The script contacts the SQL server and requests the
account history and balances using the account
number given to the script by the user.
PC
Web
Server
PC
Internet
R
SQL
Server
PC
FW
PC
Mail
Server
File
Server
PC
PC
15
Example Transaction
9. The SQL server locates the data and sends it back to
the CGI Script.
PC
Web
Server
PC
Internet
R
SQL
Server
PC
FW
PC
Mail
Server
File
Server
PC
PC
16
Example Transaction
CGI Script
User
Space
Web Server
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
HD Controller
Hard Drive
Data
HTML
Pages
Video
Card
Network
Card
10. Using the account
history and balances
acquired from the
SQL server, the script
creates a web page.
A common method is
to have a template file
that contains the
basic HTML
formatting and fill in
the body with
dynamic data.
17
Example Transaction
11. The CGI script
passes the newly
formed page to the
web server.
CGI Script
User
Space
Web Server
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
HD Controller
Hard Drive
Data
Video
Card
Network
Card
HTML
Pages
18
Example Transaction
12. Web server sends the final page to the client PC’s
browser which displays it for the user.
PC
Web
Server
PC
Internet
R
SQL
Server
PC
FW
PC
Mail
Server
File
Server
PC
PC
19
The E-Commerce App
What is it?
- Set of software components and web data
- Made to conduct business transactions
- Designed to interact with both web users and
internal company systems
- It is the web site
- All other components act as support for this
piece
20
The E-Commerce App
CGI Script
User
Space
Web Server
Software
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
HD Controller
Hard Drive
Data
Video
Card
Network
Card
Hardware
HTML
Pages
21
The E-Commerce App
- Web Page Languages
- CGI Scripts & Their Languages
- What do the scripts do?
- Prepackaged or Custom?
22
Web Page Languages
- HTML
- JavaScript
- Java
- ActiveX
23
HTML
Hyper Text Markup Language
- The Lingua Franca of the Web
- Accessible from all browsers
- No Intelligence
- Cannot be changed on the fly
- All of your pages should look good
using HTML only. The rest is gravy.
24
Java Script
- Language designed to add minor
functionality to HTML pages
- Simple Intelligence
- Sample Apps: counters, audio
effects, calculators, scrolling text,
menus, graphic effects etc...
25
Java
- Sophisticated language and operating
environment from Sun Microsystems
- Very intelligent
- Platform Independent
- Sample Apps: word processors,
control systems, network services
26
ActiveX
- A mechanism for transmitting full
programs over the internet and
running them
- Arguably most powerful technology
- Major security headache
- Platform Dependant
- Faster than Java
27
Best Use
HTML
- The basis of all web pages
- Pages should be accessible to
HTML only browsers
JavaScript
- Add on to HTML for pizzazz
28
Best Use
Java
- Add real sophistication to web pages
ActiveX
- Add real sophistication to web pages
- Best in Intranets
- Sites may block your ActiveX
29
CGI Scripts
- CGI = Common Gateway Interface
- CGI connects web users to programs
- Script is just a normal program
- Makes web pages
- May take other, advanced actions
- Think Security: The whole world can
run programs on your server
30
ASPs and PHP3
- ASP = Active Server Page
- PHP3 = PHP: Hypertext Preprocessor
- A very efficient replacement for CGI
- Puts tiny programs in web pages
- The programs are run before the page
is sent to the browser
- Browsers can only see the results of the
program
31
CGI Script/ASP Languages
- Visual Basic/VB Script
- Shell Scripts
- Java
- Perl
- C/C++
32
Visual Basic/VB Script
- Reasonably sophisticated languages
produced by Microsoft
- Easy to find programmers
- Not Platform Independent
- Not very efficient
- VB Script is a cut-down version of
Visual Basic
33
Shell Scripts
- A way of automating complex tasks in
Unix. Like a DOS batch file but far
more sophisticated
- Powerful and easy to write
- Platform Independent amongst Unixes
34
Java
- Java is also used as a server side
language. It is one of the few that can
be used on both the client and server
sides.
35
Perl
- An extremely versatile language
designed by Larry Wall
- Scripts can be written quickly and
efficiently
- A very practical language
- Platform Independent
36
C/C++
- The Lingua Franca of professional
application development
- Easy to find programmers
- Takes longer to write in but yields a
better product
- Platform Independent
37
Types of Scripts
- Submit form contents into database
- Send form contents via e-mail
- Retrieve information from database
and create web page based on it
- Verify credit card transaction
- Send form contents as fax
- Send a message to a pager
38
Pre-Packaged vs. Custom
Pre-Packaged
- Minimal Effort
- Many can be found for free
- Difficult or impossible to customize
- Licensing agreements may limit your
commercial use
39
Pre-Packaged vs. Custom
Custom
- Expensive
- Long implementation time
- Built to suit
Hybrid
- Best overall solution
40
Web Server
What is it?
- A software program
- Prepares HTML pages by reading them from
disk or executing a CGI Script
- Sends HTML pages to web client
- Runs the CGI scripts
- Passes user data to the CGI scripts
41
Web Servers
CGI Script
User
Space
Web Server
Software
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
HD Controller
Hard Drive
Data
Video
Card
Network
Card
Hardware
HTML
Pages
42
Web Servers
- Microsoft IIS
- Netscape Enterprise
- Apache
43
Microsoft IIS
- IIS = Internet Information Server
- Inexpensive
- Solid feature set
- Fast
- Best pre-packaged site support
- Security Problems
- Platform Dependant
44
Netscape Enterprise Server
- Best overall web server
- Best feature set
- Decentralized content creation
- Good security
- Multi-platform
- Relatively costly
45
Apache
- Market dominance (55%)
- Very fast, scalable & flexible
- Great support
- Best security
- Not user friendly
- Features may need to be added
46
Reliability Chart
1.
2.
3.
Apache
Netscape
IIS
100
95
90
47
Scalability Chart
1.
2.
3.
Apache
Netscape
IIS
100
90
45
48
Manageability Chart
1.
2.
3.
Netscape
IIS
Apache
100
90
80
49
Security Chart
1.
2.
3.
Apache
Netscape
IIS
100
95
60
50
User Friendliness Chart
1.
2.
3.
IIS
Netscape
Apache
80
70
35
51
Price Chart
1.
2.
3.
Apache
IIS
Netscape
100
98
40
52
Best Uses for Servers
Microsoft IIS
- Medium traffic sites
- Good for cost conscious sites
- Not good for E-Commerce
Netscape Enterprise
- Medium or high traffic sites
- Best intranet server
- E-Commerce capable
53
Best Uses for Servers
Apache
- Low, medium or high traffic sites
- E-Commerce capable
- Best overall server
- Not for technical newcomers
54
Operating System
What is it?
- A software program
- Manages all other programs
- Manages hardware resources
- Handles input and output from to and from
devices like printers, disks, and the network
- Communicates status info to users
55
Operating Systems
CGI Script
User
Space
Web Server
Software
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
HD Controller
Hard Drive
Data
Video
Card
Network
Card
Hardware
HTML
Pages
56
Operating Systems
- Windows 95/98
- Windows NT
- Unix
- Linux
57
Windows 95/98
- Microsoft’s consumer level OS
- Not a proper OS
- No scalability
- Inefficient
- Dies like a lemming
- It’s rubbish
- Never use it for anything serious
58
Windows NT/2000
- Microsoft’s Professional OS
- Better than 95/98 in every respect
- Inexpensive
- Excellent application support
- Security Issues
- Immature
- Highly proprietary
59
Unix
- Collection of similar OSes
- HP/UX, Solaris, AIX
- Best is all categories except
User Friendliness
- Mature, Internet = Unix
- Multi-user design
- Expensive and technical
60
Linux
- Free version of Unix
- Huge momentum in marketplace
- Great support
- Friendlier than other Unixes
- E-Commerce in a box
- Not quite as good as other Unixes
61
Reliability Chart
1.
2.
3.
4.
5.
Unix
Linux
Windows NT
Windows 95
Windows 3.11
100
90
40
15
5
62
Scalability Chart
1.
2.
3.
4.
Unix
Linux
Windows NT
Windows 95
100
50
20
5
63
Manageability Chart
1.
2.
3.
4.
Unix
Linux
Windows NT
Windows 95
100
90
60
40
64
Security Chart
1.
2.
3.
4.
B1 Unix
C2 Unix/Linux
Windows NT
Windows 95
100
65
40
5
65
User Friendliness Chart
1.
2.
3.
4.
5.
Macintosh
Windows 95
Windows NT
Linux
Unix
100
60
55
45
20
66
Price Chart
1.
2.
3.
4.
Linux
Windows 95
Windows NT
Unix
95
65
35
10
67
Best Uses of Each OS
Windows 95
- Games
- Word Processing
- Not a serious OS
Windows NT
- Low to medium traffic
- Be very careful with E-Commerce
- Best for low-tech firms
68
Best Uses of Each OS
Unix
- Low, medium and high traffic
- E-Commerce capable
- Best for mega-sites
Linux
- Low, medium and high traffic
- E-Commerce capable
- Good for all uses
69
Hardware
What is it?
- The physical components of a computing
system
- If it can be held in your hand it’s hardware
- If it can’t it’s software
70
Hardware
CGI Script
User
Space
Web Server
Software
Operating
System
Space
System
I/O Layer
Motherboard
Physical
World
HD Controller
Hard Drive
Data
Video
Card
Network
Card
Hardware
HTML
Pages
71
Hardware
- Architecture
- Hard Drives
- Backup Systems
- Network Interfaces
- RAM
72
Architecture
- CISC (Complex Instruction Set Comp.)
Can do complex operations
Can do many functions
i.e. 486, Pentium, PowerPC
- RISC (Reduced Instruction Set Comp.)
Can do a few simple operations
Faster than CISC
i.e. SPARC, HP9000
73
Hard Drives
- Single
A regular hard drive
- Mirrored
Fault-Tolerant
Expensive
- Drive Array
Fault-Tolerant
Slower but cheaper than Mirror
74
Hard Drives
- Highly Redundant Drive Enclosure
External to server
Can lose multiple drives
Very fast
Very expensive
75
Backup Systems
- DAT (Digital Audio Tape)
Fast, efficient and reliable
Tape sizes from 2-24GB
Backwards compatible
- DLT (Digital Linear Tape)
Very fast, reliability problems
Tapes can hold up to 70GB
New technology
76
Backup Systems
- Tape Library
Uses multiple DLTs or DATs
Uses many tapes
Robotic arm changes tapes
77
Network Interfaces
- LAN (Local Area Network)
Small in geographic size
Fast and cheap
Owned
- WAN (Wide Area Network)
Connects distant LANs
Slow and expensive
Rented
78
Random Access Memory
- Regular
Garden variety memory
- Parity
Checks for memory errors
Stops machine on error
- ECC (Error Checking and Correcting)
Checks for memory errors
Corrects errors
79
Next Time
PC
Web
Server
PC
Internet
R
SQL
Server
PC
FW
PC
Mail
Server
File
Server
PC
PC
80