2. Definition of ServerDefinition of Server
Client-Server model is where clientClient-Server model is where client
modules make requests for information tomodules make requests for information to
a server module, the server processesa server module, the server processes
and sends back responseand sends back response
Server usually more capable than clients,Server usually more capable than clients,
servers usually fewer in number thanservers usually fewer in number than
clientsclients
4. Definition of ServerDefinition of Server
Other model: Peer-to-peerOther model: Peer-to-peer
In Peer-to-peer, participants act both asIn Peer-to-peer, participants act both as
clients and serversclients and servers
Participants are equally capable, haveParticipants are equally capable, have
equal privilegesequal privileges
6. Definition of ServerDefinition of Server
What exactly is a server?What exactly is a server?
HardwareHardware
SoftwareSoftware
A combinationA combination
11. Server Hardware - FeaturesServer Hardware - Features
Generally more capable than desktopsGenerally more capable than desktops
and laptopsand laptops
More RAM, storage spaceMore RAM, storage space
Powerful processor(s), multiple processorsPowerful processor(s), multiple processors
RAIDRAID
Hot swappable componentsHot swappable components
12. Server Hardware - FeaturesServer Hardware - Features
More connectivity – multiple ethernet /More connectivity – multiple ethernet /
fibre portsfibre ports
Redundant power supplyRedundant power supply
Robust casingRobust casing
Remote monitoringRemote monitoring
13. Server Hardware - FeaturesServer Hardware - Features
Native virtualization support – Cloud ComputingNative virtualization support – Cloud Computing
Can run for years without rebootingCan run for years without rebooting
Better support & warrantyBetter support & warranty
Main worldwide vendors: IBM, HP, DellMain worldwide vendors: IBM, HP, Dell
Expensive: Kshs. 100,000/- upwardsExpensive: Kshs. 100,000/- upwards
14. Server Hardware - LocationServer Hardware - Location
Usually stored in special server rooms, withinUsually stored in special server rooms, within
business premises or colocation facilitiesbusiness premises or colocation facilities
Features of server rooms and colocationFeatures of server rooms and colocation
centres:centres:
SecureSecure
Temperature controlledTemperature controlled
CabinetsCabinets
Redundant PowerRedundant Power
Public IPs (world viewable)Public IPs (world viewable)
15. Server Hardware - LocationServer Hardware - Location
Features of server rooms and colocation centresFeatures of server rooms and colocation centres
(continued):Spike and Surge protection(continued):Spike and Surge protection
High bandwidth availability - redundantHigh bandwidth availability - redundant
Monitoring – cameras, sensorsMonitoring – cameras, sensors
Fire proof, Earthquake proofFire proof, Earthquake proof
Qualified staffQualified staff
Local examples: Access Kenya, UUNET, KDNLocal examples: Access Kenya, UUNET, KDN
18. Server Software – OperatingServer Software – Operating
SystemsSystems
Control hardware, provide abstraction forControl hardware, provide abstraction for
softwaresoftware
2 main categories: Windows based and Unix2 main categories: Windows based and Unix
derivativesderivatives
Windows: based on Windows NT; WindowsWindows: based on Windows NT; Windows
Server 2000, 2003, 2008Server 2000, 2003, 2008
Each version has different flavours, e.g. smallEach version has different flavours, e.g. small
business, standard, enterprise, data centrebusiness, standard, enterprise, data centre
19. Server Software – OperatingServer Software – Operating
SystemsSystems
Unix based: old Unix (AT&T, Bell Labs),Unix based: old Unix (AT&T, Bell Labs),
BSD, Solaris, LinuxBSD, Solaris, Linux
Windows servers more prevalent becauseWindows servers more prevalent because
of easy-to-use Graphical User Interfaceof easy-to-use Graphical User Interface
20. Server Software – OperatingServer Software – Operating
SystemsSystems
Features of Server Operating SystemsFeatures of Server Operating Systems
Robust – even during HW failureRobust – even during HW failure
Multiple security features including firewalls &Multiple security features including firewalls &
intrusion detectionintrusion detection
Remote administrationRemote administration
Extensive audit trail – both people & softwareExtensive audit trail – both people & software
Tight coupling with hardwareTight coupling with hardware
21. Server Software – OperatingServer Software – Operating
SystemsSystems
Features of Server Operating SystemsFeatures of Server Operating Systems
Generally more capable on operating systemGenerally more capable on operating system
features e.g. threading (concurrency)features e.g. threading (concurrency)
handle more varied and larger file systemshandle more varied and larger file systems
handle more RAM & virtual memoryhandle more RAM & virtual memory
Support for many hardware platformsSupport for many hardware platforms
better performancebetter performance
22. Server Software - ApplicationServer Software - Application
Application layer is what “talks” directly toApplication layer is what “talks” directly to
mobile applicationsmobile applications
Traffic can be circuit switched e.g. SMS orTraffic can be circuit switched e.g. SMS or
packet switched (Internet)packet switched (Internet)
Circuit switched traffic usually converted toCircuit switched traffic usually converted to
packet switched (Short Message Peer-to-packet switched (Short Message Peer-to-
Peer - SMPP)Peer - SMPP)
23. Server Software - ApplicationServer Software - Application
Packet switched information is “layered”Packet switched information is “layered”
Mobile applications usually communicate inMobile applications usually communicate in
one of the 3 following layers:TCP / UDPone of the 3 following layers:TCP / UDP
Application e.g. HTTP, FTPApplication e.g. HTTP, FTP
Protocols built on application layer e.g. XML,Protocols built on application layer e.g. XML,
SOAP, RMISOAP, RMI
24. Server Software - ApplicationServer Software - Application
Software that services client requests:Software that services client requests:
Application ServerApplication Server
Various application servers, can be classified byVarious application servers, can be classified by
programming languageprogramming language
Main languages for server side programming:Main languages for server side programming:
Microsoft .NET framework (C Sharp, J Sharp),Microsoft .NET framework (C Sharp, J Sharp),
Java & J2EE, PHPJava & J2EE, PHP
25. Server Software - ApplicationServer Software - Application
.NET framework offers libraries that are.NET framework offers libraries that are
tightly coupled with the operating systemtightly coupled with the operating system
that can act as an application serverthat can act as an application server
Java Application Servers: Tomcat,Java Application Servers: Tomcat,
Weblogic, Websphere, Glassfish, JBossWeblogic, Websphere, Glassfish, JBoss
Main PHP application server: ApacheMain PHP application server: Apache
Other application servers in otherOther application servers in other
languageslanguages
26. Server Software - ApplicationServer Software - Application
Server side requires persistence – SQLServer side requires persistence – SQL
databasesdatabases
Main vendors: Oracle, MySQL, IngressMain vendors: Oracle, MySQL, Ingress
Microsoft SQL Server, Postgres, Sybase,Microsoft SQL Server, Postgres, Sybase,
DB2DB2
Some offer special features e.g.Some offer special features e.g.
replication, clusteringreplication, clustering
Oracle is the leaderOracle is the leader
27. Server Software - ApplicationServer Software - Application
Special features of application servers andSpecial features of application servers and
databases:databases:
RobustnessRobustness
Clustering / Load balancingClustering / Load balancing
VirtualizationVirtualization
Security (code isolation, cryptography)Security (code isolation, cryptography)
Remote monitoringRemote monitoring
Advanced programming techniquesAdvanced programming techniques
28. Server Software - ApplicationServer Software - Application
Some application servers and databasesSome application servers and databases
may have yet other additional features e.g.may have yet other additional features e.g.
portal development, OS integration,portal development, OS integration,
mobile integrationmobile integration
Usually they come with special developerUsually they come with special developer
tools: programming, debugging, testing etctools: programming, debugging, testing etc
29. Server Software - ApplicationServer Software - Application
Software models:Software models:
Closed vs Open SourceClosed vs Open Source
Proprietary vs FreeProprietary vs Free
30. Server Software - ApplicationServer Software - Application
Server side software captures businessServer side software captures business
logiclogic
Client should be as thin as possibleClient should be as thin as possible
Software is built in modulesSoftware is built in modules
Multi-tiered approachMulti-tiered approach
31. Server Software - ApplicationServer Software - Application
Case Study: Strathmore Mobile SystemCase Study: Strathmore Mobile System
Strathmore wants an SMS and MobileStrathmore wants an SMS and Mobile
Application SystemApplication System
Students can check grades, fees,Students can check grades, fees,
timetablestimetables
Some of the modules: Communication,Some of the modules: Communication,
Authentication, Billing, Audit, RemoteAuthentication, Billing, Audit, Remote
Monitoring & Administration, BackupMonitoring & Administration, Backup