Server Side Technologies

  • View
    287

  • Download
    3

Embed Size (px)

Text of Server Side Technologies

  • Server Side Technologies

    by: Michael Wakahe,Entrepreneur2010

  • Definition of ServerClient-Server model is where client modules make requests for information to a server module, the server processes and sends back response

    Server usually more capable than clients, servers usually fewer in number than clients

  • Definition of Server Client-Server

  • Definition of ServerOther model: Peer-to-peer

    In Peer-to-peer, participants act both as clients and servers

    Participants are equally capable, have equal privileges

  • Definition of Server Peer-to-peer

  • Definition of ServerWhat exactly is a server?HardwareSoftwareA combination

  • Server Hardware3 main categories

    Tower, Rack Mount, Blade

  • Server Hardware - TowerDell PowerEdge T300

  • Server Hardware Rack MountDell PowerEdge R200

  • Server Hardware BladeHP Blade Server

  • Server Hardware - FeaturesGenerally more capable than desktops and laptopsMore RAM, storage spacePowerful processor(s), multiple processorsRAIDHot swappable components

  • Server Hardware - FeaturesMore connectivity multiple ethernet / fibre portsRedundant power supplyRobust casingRemote monitoring

  • Server Hardware - FeaturesNative virtualization support Cloud ComputingCan run for years without rebootingBetter support & warrantyMain worldwide vendors: IBM, HP, DellExpensive: Kshs. 100,000/- upwards

  • Server Hardware - LocationUsually stored in special server rooms, within business premises or colocation facilitiesFeatures of server rooms and colocation centres:SecureTemperature controlledCabinetsRedundant Power Public IPs (world viewable)

  • Server Hardware - LocationFeatures of server rooms and colocation centres (continued):Spike and Surge protectionHigh bandwidth availability - redundantMonitoring cameras, sensorsFire proof, Earthquake proofQualified staff

    Local examples: Access Kenya, UUNET, KDN

  • Server Hardware - Location

  • Server Hardware - Location

  • Server Software Operating SystemsControl hardware, provide abstraction for software2 main categories: Windows based and Unix derivativesWindows: based on Windows NT; Windows Server 2000, 2003, 2008Each version has different flavours, e.g. small business, standard, enterprise, data centre

  • Server Software Operating Systems

    Unix based: old Unix (AT&T, Bell Labs), BSD, Solaris, Linux

    Windows servers more prevalent because of easy-to-use Graphical User Interface

  • Server Software Operating SystemsFeatures of Server Operating SystemsRobust even during HW failureMultiple security features including firewalls & intrusion detectionRemote administrationExtensive audit trail both people & softwareTight coupling with hardware

  • Server Software Operating SystemsFeatures of Server Operating SystemsGenerally more capable on operating system features e.g. threading (concurrency)handle more varied and larger file systemshandle more RAM & virtual memorySupport for many hardware platformsbetter performance

  • Server Software - ApplicationApplication layer is what talks directly to mobile applicationsTraffic can be circuit switched e.g. SMS or packet switched (Internet)Circuit switched traffic usually converted to packet switched (Short Message Peer-to- Peer - SMPP)

  • Server Software - ApplicationPacket switched information is layeredMobile applications usually communicate in one of the 3 following layers:TCP / UDPApplication e.g. HTTP, FTPProtocols built on application layer e.g. XML, SOAP, RMI

  • Server Software - ApplicationSoftware that services client requests: Application ServerVarious application servers, can be classified by programming languageMain languages for server side programming: Microsoft .NET framework (C Sharp, J Sharp), Java & J2EE, PHP

  • Server Software - Application.NET framework offers libraries that are tightly coupled with the operating system that can act as an application serverJava Application Servers: Tomcat, Weblogic, Websphere, Glassfish, JBossMain PHP application server: ApacheOther application servers in other languages

  • Server Software - ApplicationServer side requires persistence SQL databasesMain vendors: Oracle, MySQL, Ingress Microsoft SQL Server, Postgres, Sybase, DB2Some offer special features e.g. replication, clusteringOracle is the leader

  • Server Software - ApplicationSpecial features of application servers and databases:RobustnessClustering / Load balancingVirtualizationSecurity (code isolation, cryptography)Remote monitoringAdvanced programming techniques

  • Server Software - ApplicationSome application servers and databases may have yet other additional features e.g. portal development, OS integration, mobile integration

    Usually they come with special developer tools: programming, debugging, testing etc

  • Server Software - Application

    Software models:Closed vs Open SourceProprietary vs Free

  • Server Software - ApplicationServer side software captures business logicClient should be as thin as possibleSoftware is built in modulesMulti-tiered approach

  • Server Software - ApplicationCase Study: Strathmore Mobile SystemStrathmore wants an SMS and Mobile Application SystemStudents can check grades, fees, timetablesSome of the modules: Communication, Authentication, Billing, Audit, Remote Monitoring & Administration, Backup

  • Servers - The Big Picture

  • Server SoftwareThe EndMichael Wakahe,Tawi Commercial Services Ltd+254 (0)20-239-3052michael@tawi.mobi