Technology Choosing Strategies for Web and Mobile Applications
Upcoming SlideShare
Loading in...5
×
 

Technology Choosing Strategies for Web and Mobile Applications

on

  • 903 views

 

Statistics

Views

Total Views
903
Views on SlideShare
903
Embed Views
0

Actions

Likes
1
Downloads
6
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Technology Choosing Strategies for Web and Mobile Applications Technology Choosing Strategies for Web and Mobile Applications Presentation Transcript

    • Technology Selection Strategies for Web and Mobile Applications
      Henry Sampson
    • Is this worth our time?
      What is the time?
    • Is this worth our time?
      Now, what is the time?
    • Is this worth our time?
      This is similar to our technology landscape today
      The internet is filled with tons of languages, frameworks and/or libraries to choose from
    • Is this worth our time?
      There are over 2000 High Level languages today [http://www.cs.man.ac.uk/~pjj/cs1001/software/node3.html#SECTION00033000000000000000]
    • Is this worth our time?
      Making such decisions are at the core of Software Development
      Difference between delivering on time and late
      Difference between going above or staying within budget
    • How are we making decisions today?
      Religious Affiliations
      Some are devoted to
      .NET
      Java
      Ruby
      Erlang
      Company Policy
      Knowledge and familiarity
    • Questions to Consider
      Who or why are you developing the application?
      Enterprise
      Personal
      Leisure/Fun
      Automation
      What problem are you solving?
      Content
      Security
      Communication
      Reporting
      Tracking
    • Questions to Consider
      How soon are you to finish?
      1 week (prototype)
      1 month (Patch)
      1 year (Government Project)
      What SLA has been imposed on you?
      Reliability
      Availability
      Scalability
      What phones will run your application? (Mobile)
      What is your budget?
    • Key Decision Points (Web)
      Language
      UI mark-up: HTML, JavaScript, Java (applet)
      Server-side: PHP, .NET, J2EE, Python
      Storage
      RDBMS: PostgreSQL, MySQL, SQL Server, Oracle
      File: Well…depends on the complexity of your mind
      Cloud: Amazon EC2, Cassandra
      Monitoring
      Log files: Language specific
      Messaging Passing: JMS, MPI
      Website usage service: Google Analytics
    • Key Decision Points (Mobile)
      Language
      Java (Android)
      J2ME
      Python
      Ruby
      Objective C (iPhone)
      Storage
      RDBMS: Apache Derby, Java DB, Floggy, SQLite,
      File: Records Management Store (RMS)
      Monitoring
      HTTP: more commonly used
      RMS
    • Case Study 1
      MoTeCH
    • Requirements
      Develop a Maternal Health Software on top of OpenMRS (MoTeCH Server)
      J2EE
      Spring, Hibernate, Quartz, Maven, Tomcat
      Develop a mobile app that communicates with MoTeCH Server
      Data Entry
      Query Server
    • Technologies Used (Server)
      J2EE – Largely influenced by OpenMRS
      Spring: IoC, Transaction Management
      Hibernate: Persistence Framework
      Maven: Project Management
      MySQL: RDBMS
      Tomcat: Servlet Container
      Quartz: Scheduling
      EasyMock: Testing
      OpenXData: Mobile Data Entry
    • Technologies Used (Mobile)
      J2ME
      OpenXData: Mobile Data Entry
      Custom Serializer library for transporting objects to server
    • Case Study 2
      myTXTbuddy
    • Requirements
      Develop online bulk messaging service
      Must be significantly faster than current desktop applications
      UI must be superior to current market offering
    • Technologies Used
      PHP: Front end marketing pages
      Sencha: Data Binding UI component
      jQuery: Front-end k3ts3 (beautification)
      J2EE
      Spring
      Hibernate
      Quartz
      GSON: JSON to Java Object
      Log4J: Logging Framework
    • Key Points
      You must meet your requirements before experimenting
      Consider the number of people using the technology – COMMUNITY
      Be Open-minded and not religious
      Not the best idea to choose new technologies for a new project.
      Experiment with different technologies in your leisure
    • Questions?