server side technologies in mobile development
DESCRIPTION
Michael describes server side technologies that are encountered in mobile application development.Speaker: Michael Wakahe, Director, Shujaa Solutions LtdDate: 17th Mar 2011Venue: Inoorero University Mobile Boot CampTRANSCRIPT
![Page 1: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/1.jpg)
SERVER SIDE TECHNOLOGIES IN DEVELOPMENT
Inoorero University Mobile Boot Camp
Presented by:Michael WakaheShujaa Solutions LtdMar 17th 2011
![Page 2: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/2.jpg)
Table of Contents
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
Definition of Server
Server Hardware
Server Hardware - Features
Server Hardware - Location
Server Software - Operating Systems
Server Software - Application
![Page 3: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/3.jpg)
Definition of Server
• Client-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
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 4: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/4.jpg)
Definition of Server – Client-Server
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 5: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/5.jpg)
Definition of Server
• Other model: Peer-to-peer
• In Peer-to-peer, participants act both as clients and servers
• Participants are equally capable, have equal privileges
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 6: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/6.jpg)
Definition of Server – Peer-to-peer
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 7: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/7.jpg)
Definition of Server
• What exactly is a server?
– Hardware
– Software
– A combination
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 8: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/8.jpg)
Server Hardware
• 3 main categories
• Tower, Rack Mount, Blade
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 9: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/9.jpg)
Server Hardware - Tower
Dell PowerEdge T300
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 10: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/10.jpg)
Server Hardware – Rack Mount
Dell PowerEdge R200
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 11: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/11.jpg)
Server Hardware – Blade
HP Blade Server
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 12: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/12.jpg)
Server Hardware - Features
• Generally more capable than desktops and laptops
• More RAM, storage space
• Powerful processor(s), multiple processors
• RAID
• Hot swappable components
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 13: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/13.jpg)
Server Hardware - Features
• More connectivity – multiple ethernet / fibre
ports
• Redundant power supply
• Robust casing
• Remote monitoring
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 14: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/14.jpg)
Server Hardware - Features
• Native virtualization support – Cloud Computing
• Can run for years without rebooting
• Better support & warranty
• Main worldwide vendors: IBM, HP, Dell
• Expensive: Kshs. 100,000/- upwards
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 15: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/15.jpg)
Server Hardware - Location
• Usually stored in special server rooms, within business premises or colocation facilities
• Features of server rooms and colocation centres:– Secure– Temperature controlled– Cabinets– Redundant Power – Public IPs (world viewable)
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 16: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/16.jpg)
Server Hardware - Location
• Features of server rooms and colocation centres (continued):– Spike and Surge protection
– High bandwidth availability - redundant
– Monitoring – cameras, sensors
– Fire proof, earthquake proof, flood proof
– Qualified staff
• Local examples: Access Kenya, UUNET, KDN
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 17: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/17.jpg)
Server Hardware - Location
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 18: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/18.jpg)
Server Hardware - Location
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 19: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/19.jpg)
Server Software – Operating Systems
• Control hardware, provide abstraction for software• 2 main categories: Windows based and Unix
derivatives• Windows: based on Windows NT; Windows Server
2000, 2003, 2008• Each version has different flavours, e.g. small
business, standard, enterprise, data centre
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 20: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/20.jpg)
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
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 21: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/21.jpg)
Server Software – Operating Systems
Features of Server Operating Systems– Robust – even during HW failure– Multiple security features including firewalls &
intrusion detection– Remote administration– Extensive audit trail – both people & software– Tight coupling with hardware
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 22: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/22.jpg)
Server Software – Operating Systems
• Features of Server Operating Systems• Generally more capable on operating system features
e.g. threading (concurrency)
• handle more varied and larger file systems
• handle more RAM & virtual memory
• support for many hardware platforms
• better performance
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 23: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/23.jpg)
Server Software - Application
• Application layer is what “talks” directly to mobile applications
• Traffic can be circuit switched e.g. SMS or packet switched (Internet)
• Circuit switched traffic usually converted to packet switched (e.g. Short Message Peer-to- Peer - SMPP)
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 24: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/24.jpg)
Server Software - Application
• Packet switched information is “layered”
• Mobile applications usually communicate in
one of the 3 following layers: – Transport (TCP / UDP)
– Application e.g. HTTP, FTP
– Protocols built on application layer e.g. XML, SOAP, RMI
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 25: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/25.jpg)
Server Software - Application
• Software that services client requests: Application Server
• Various application servers, can be classified by programming language
• Main languages for server side programming: Microsoft .NET framework (C Sharp, J Sharp), Java & J2EE, PHP
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 26: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/26.jpg)
Server Software - Application
• .NET framework offers libraries that are tightly coupled with the operating system that can act as an application server
• Java Application Servers: Tomcat, Weblogic, Websphere, Glassfish, JBoss
• Main PHP application server: Apache• Other application servers in other languages
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 27: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/27.jpg)
Server Software - Application
• Server side requires persistence – SQL databases
• Main vendors: Oracle, MySQL, Ingress Microsoft SQL Server, Postgres, Sybase, DB2
• Some offer special features e.g. replication, clustering
• Oracle is the leader
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 28: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/28.jpg)
Server Software - Application
• Special features of application servers and databases:– Robustness– Clustering / Load balancing– Virtualization– Security (code isolation, cryptography)– Remote monitoring– Advanced programming techniques
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 29: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/29.jpg)
Server Software - Application
• Some 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
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 30: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/30.jpg)
Server Software - Application
• Software models:
– Closed vs Open Source
– Proprietary vs Free
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 31: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/31.jpg)
Server Software - Application
• Server side software captures business logic
• Client should be as thin as possible
• Software is built in modules
• Multi-tiered approach
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 32: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/32.jpg)
Server Software - Application
• Case Study: Inoorero Mobile System• Inoorero University wants an SMS and Mobile
Application System• Students can check grades, fees, timetables• Some of the modules: Communication,
Authentication, Billing, Audit, Remote Monitoring & Administration, Backup
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 33: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/33.jpg)
Servers - The Big Picture
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.
![Page 34: Server Side Technologies in Mobile Development](https://reader036.vdocuments.us/reader036/viewer/2022062616/5496afd1b479598e428b485b/html5/thumbnails/34.jpg)
The End
Michael [email protected]+254 (0)20 250 9260
www.shujaa.co.kewww.shujaa.mobi
Copyright © Shujaa Solutions Ltd. 2011. All Rights Reserved.