Server Side TechnologiesServer Side Technologies
by:by:
Michael Wakahe,Michael Wakahe,
EntrepreneurEntrepreneur
20102010
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
Definition of Server – Client-ServerDefinition of Server – Client-Server
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
Definition of Server – Peer-to-peerDefinition of Server – Peer-to-peer
Definition of ServerDefinition of Server
 What exactly is a server?What exactly is a server?
 HardwareHardware
 SoftwareSoftware
 A combinationA combination
Server HardwareServer Hardware
 3 main categories3 main categories
 Tower, Rack Mount, BladeTower, Rack Mount, Blade
Server Hardware - TowerServer Hardware - Tower
Dell PowerEdge T300
Server Hardware – Rack MountServer Hardware – Rack Mount
Dell PowerEdge R200
Server Hardware – BladeServer Hardware – Blade
HP Blade Server
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
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
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
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)
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
Server Hardware - LocationServer Hardware - Location
Server Hardware - LocationServer Hardware - Location
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
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
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
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
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)
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
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
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
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
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
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
Server Software - ApplicationServer Software - Application
 Software models:Software models:
 Closed vs Open SourceClosed vs Open Source
 Proprietary vs FreeProprietary vs Free
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
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
Servers - The Big PictureServers - The Big Picture
Server SoftwareServer Software
The EndThe End
Michael Wakahe,Michael Wakahe,
Tawi Commercial Services LtdTawi Commercial Services Ltd
+254 (0)20-239-3052+254 (0)20-239-3052
michael@tawi.mobimichael@tawi.mobi

Server Side Technologies

  • 1.
    Server Side TechnologiesServerSide Technologies by:by: Michael Wakahe,Michael Wakahe, EntrepreneurEntrepreneur 20102010
  • 2.
    Definition of ServerDefinitionof 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
  • 3.
    Definition of Server– Client-ServerDefinition of Server – Client-Server
  • 4.
    Definition of ServerDefinitionof 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
  • 5.
    Definition of Server– Peer-to-peerDefinition of Server – Peer-to-peer
  • 6.
    Definition of ServerDefinitionof Server  What exactly is a server?What exactly is a server?  HardwareHardware  SoftwareSoftware  A combinationA combination
  • 7.
    Server HardwareServer Hardware 3 main categories3 main categories  Tower, Rack Mount, BladeTower, Rack Mount, Blade
  • 8.
    Server Hardware -TowerServer Hardware - Tower Dell PowerEdge T300
  • 9.
    Server Hardware –Rack MountServer Hardware – Rack Mount Dell PowerEdge R200
  • 10.
    Server Hardware –BladeServer Hardware – Blade HP Blade Server
  • 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
  • 16.
    Server Hardware -LocationServer Hardware - Location
  • 17.
    Server Hardware -LocationServer Hardware - Location
  • 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
  • 32.
    Servers - TheBig PictureServers - The Big Picture
  • 33.
    Server SoftwareServer Software TheEndThe End Michael Wakahe,Michael Wakahe, Tawi Commercial Services LtdTawi Commercial Services Ltd +254 (0)20-239-3052+254 (0)20-239-3052 michael@tawi.mobimichael@tawi.mobi