technology choosing strategies for web and mobile applications
TRANSCRIPT
![Page 1: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/1.jpg)
Technology Selection Strategies for Web and Mobile Applications
Henry Sampson
![Page 2: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/2.jpg)
Is this worth our time?
• What is the time?
![Page 3: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/3.jpg)
Is this worth our time?
• Now, what is the time?
![Page 4: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/4.jpg)
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
![Page 5: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/5.jpg)
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 ]
![Page 6: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/6.jpg)
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
![Page 7: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/7.jpg)
How are we making decisions today?
• Religious Affiliations– Some are devoted to • .NET• Java• Ruby• Erlang
• Company Policy• Knowledge and familiarity
![Page 8: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/8.jpg)
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
![Page 9: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/9.jpg)
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?
![Page 10: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/10.jpg)
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
![Page 11: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/11.jpg)
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
![Page 12: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/12.jpg)
Case Study 1
MoTeCH
![Page 13: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/13.jpg)
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
![Page 14: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/14.jpg)
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
![Page 15: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/15.jpg)
Technologies Used (Mobile)
• J2ME– OpenXData: Mobile Data Entry• Custom Serializer library for transporting objects to
server
![Page 16: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/16.jpg)
Case Study 2
myTXTbuddy
![Page 17: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/17.jpg)
Requirements
• Develop online bulk messaging service• Must be significantly faster than current
desktop applications• UI must be superior to current market offering
![Page 18: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/18.jpg)
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
![Page 19: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/19.jpg)
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
![Page 20: Technology Choosing Strategies for Web and Mobile Applications](https://reader038.vdocuments.us/reader038/viewer/2022110118/554fb449b4c905ad218b5446/html5/thumbnails/20.jpg)
Questions?