Web/Mobile Applications Principles

Size: px
Start display at page:

Download "Web/Mobile Applications Principles"

Transcription

1 Web/Mobile Applications Principles Pedro Alves Pedro Alves FCT / UNL Projecto Integrador 2015

2

3 Coupling

4 Coupling If changing one module in a program requires changing another module, then coupling exists Martin Fowler 2001

5 Coupling - Duplication <?php login_cookie_check()?> <?php db_connect( $g_hostname, $g_db_username, $g_db_password, $g_database_ name ); $query = "SELECT * FROM $g_mantis_user_table WHERE cookie_string='$g_string_cookie_val'";?> <p> <div align="center"> <table class="width75" cellspacing="1"> <form method="post" action="<?php echo $g_account_update?>"> <tr> <td class="form-title"> <?php echo $s_edit_account_title?> </td>

6 Coupling Too much intimacy

7 Coupling Dependency What if I want an alternative Renderer (e.g., HTML5ListRenderer)?

8 MVC Model Controller View Model Application state (data) and business logic View Presentation Controller Action handling (examples: press a button, submit a form, download a report)

9 MVC versão web

10 app/models/user.rb app/views/users/index.html app/controllers/users_controller.rb

11 MVC versão mobile Model Stores the value and the calculator operations such as add, subtract and multiply View Cotains 15 buttons and an input field Controller Catches the events triggered by pressing buttons, comunicates with the Model and updates the View with the new value from the Model

12 They don t talk to each other!! Model View

13 Vantagens da separação entre Model e View É possível ter o mesmo Model para várias Views (exemplos: HTML5/HTML4 ou Portrait/Landscape) É fácil testar o Model programaticamente A lógica de negócio está concentrada num componente, em vez de estar espalhada pela aplicação Mais fácil manutenção

14 Rule of thumb If it s hard to test, you have excessive coupling

15 What s wrong with this test??

16 Reduced coupling with DBManager: Testing is much easier!!

17 Taking decoupling to the next level

18 Model Controller View

19 Model Controller View

20 REST Webservices View Controller Model View View

21 Native Apps vs twitter.com

22 Single Page Applications Server responsibilities User authentication Secure and authorized access to resources Serve static content (images, etc.) Receive form submission Produce dynamic HTML pages Provide webservices to receive AJAX (JSON) requests

23 Single Page Applications <html ng-app="theaterapp"> <head> <title>theater</title> </head> <body> <div ng-view=""></div> <script src= js/angular.js"></script> <script src="js/theaterapp.js"></script> </body> </html>

24 What about mobile? Computing Devices Sales in Portugal - source: IDC

25 What about mobile? Mobile applications can be: Native An application that is downloaded to the device, runs directly over the operating system and has full access to the device Web An application that runs within the device browser and has limited access to the device

26 What about mobile? Developing for mobile Native ios Android Multi-platform (xamarin, titanium, ) Web Responsive web design Dynamic serving

27 Responsive Web Design

28 Responsive Web Design CSS3 Media Queries

29 Responsive Web Design <section id="recent" class="blog"> <article> <h1>best Summer Cookbooks</h1> <p>with the best of the season coming from...</p> <p class="meta"> <time datetime=" t02:41-05:00" pubdate>may 23, 2012</time> </p> </article> </section> HTML5 Controller Model CSS3 View

30 Dynamic serving Themes are chosen based on device rules Problem: We have to develop (and maintain!!) a theme for each set of devices

31 Guidelines for Web Applications Expose everything as a (REST) service or HTML5 (without CSS!) don t bother with the UI, provide a minimal basic HTML client Everything must be testable without UI it s too slow to test through the UI Develop the UI (native app, single page application, etc.) as a third-party you (UI) don t know the core team, they don t know about you The service API is king stabilize it before anything else; core team is allowed to change anything as long as it keeps the API intact

32 Tests UI tests are very difficult to automate Good News: Glad we have a Service API!

33 Tests Use Unit Tests to test the Models class TestAccount < Test::Unit::TestCase def = Account.new() end def teardown ## Nothing really end def assert_equal( assert_equal( ) end

34 Tests Use Functional Tests to test the Controllers def test_login(self): c = Client() response = c.post( login', { user': pedro, password : qwerty }) self.assertequals(unauthorized, response.status_code) response = c.post( login', { user': pedro, password : l45f43 }) self.assertequals(ok, response.status_code)

35 Tests Functional tests workflow 1. Create test DB 2. Create tables 3. Populate with general information (tests/fixtures) 4. Populate with specific information 5. Run test 6. Clear test DB (savepoint, drop,...)

36 Tests Run all the tests often 1. After making changes to the code 2. Before commiting to the repository 3. Before deploying a new version 4. Every night 5....

37 Tests Fixtures an environment for running tests which is in a fixed state (i.e. it is fixed ) Example: Initial data in the database Alert: Fixtures can become a maintenance nightmare!

38 Tests Mock objects Mock objects are simulated objects that mimic the behavior of real objects in controlled ways. public class DummyLogin extends Login { } public boolean ispasswordvalid(string password) { return true; // always returns true }

39 Tests Mock objects 1. Reduce dependency from resources outside our control e.g., third-party webservices 2. Allow faster development cycles start with mock, connect to real thing later on

40 Agile Development Test Dev 1 Version Control System Continuous Integration Dev 2 Production

41 Version Control Systems (centralized)

42 Version Control Systems ( half - distributed)

43 Version Control Systems (fully distributed)

44 Continuous Integration

45 Continuous Integration Maintain a code repository Automate the build Make the build self-testing Commit often Make it easy to get deliverables Everyone can see build results Gather metrics over time (e.g., code coverage) Automate deployment

46 Deployment

47 Deployment Cloud Application Platforms Virtual Private Server In-house Server

48 Deployment Automate deployment from scratch (assume only bare-bones OS) apt_get_install_ifnot_installed('apache2') apt_get_install_ifnot_installed('libapache2-mod-wsgi') sudo("sudo a2enmod rewrite") apt_get_install_ifnot_installed('debconf-utils') apt_get_install_ifnot_installed('htop') apt_get_install_ifnot_installed('gcc') # see sudo('ln -sf /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/') sudo('ln -sf /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/') sudo('ln -sf /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/') Tools: fabric (python), chef (ruby)

49 Deployment Tests/Quality/Production Environment No IDE No debug Concurrent access Can t see what the user sees Performance Recover from failures (reboot is not an option) Can t control dependencies (twitter is down??) People using the system at 3am Multiple browser, multiple OSs Multitple languages, multiple timezones...

50 Deployment Logs are your best friend At least one line for each user request INFO :45:33 palves GetUsersList - OK At least two lines for each external call INFO :45:33 Twitter sent request INFO :45:53 Twitter received response

51 Deployment Logs are your best friend On exceptions, show everything you have User Request Context Stacktrace...

52 Deployment Logs are your best friend Find out how to turn on SQL logging Users reporting strange results Application is slow

53 Deployment Prevent surprises Automate the build process You should be able to deploy a version in one step Lots of build tools available use them Ant, Make, Rake,... The build process includes: Getting the code, compile, run tests, package, send to test server (ssh/scp), install, restart server,...

54 Deployment Prevent surprises Use a Version Control System (CVS, SVN, Git) Always build from the VCS, never from your computer Be prepared to rollback

55 Deployment - Performance Use a Web Server (Apache, lighttpd,...) for static content Protect your resources (DB, webservices) from high load conditions Use Pools Cache frequently accessed data that rarely changes e.g., User data

56 Pedro Alves

Web Applications: Overview and Architecture

Web Applications: Overview and Architecture Web Applications: Overview and Architecture Computer Science and Engineering College of Engineering The Ohio State University Lecture 1 Road Map in Pictures: Web App Road Map in Pictures Browser Request

More information

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue Mobile Web Applications Gary Dubuque IT Research Architect Department of Revenue Summary Times are approximate 10:15am 10:25am 10:35am 10:45am Evolution of Web Applications How they got replaced by native

More information

Continuous Integration: Put it at the heart of your development

Continuous Integration: Put it at the heart of your development Continuous Integration: Put it at the heart of your development Susan Duncan Tools Product Manager, Oracle 1 Program Agenda What is CI? What Does It Mean To You? Make it Hudson Evolving Best Practice For

More information

Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester

Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester Continuous Integration and Bamboo Ryan Cutter CSCI 5828 2012 Spring Semester Agenda What is CI and how can it help me? Fundamentals of CI Fundamentals of Bamboo Configuration / Price Quick example Features

More information

Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB

Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB 21.1 Advanced Tornado Advanced Tornado One of the main reasons we might want to use a web framework like Tornado is that they hide a lot of the boilerplate stuff that we don t really care about, like escaping

More information

Copyrighted www.eh1infotech.com +919780265007, 0172-5098107 Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

Copyrighted www.eh1infotech.com +919780265007, 0172-5098107 Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh), Content of 6 Months Software Testing Training at EH1-Infotech Module 1: Introduction to Software Testing Basics of S/W testing Module 2: SQA Basics Testing introduction and terminology Verification and

More information

Continuous Delivery. Alejandro Ruiz

Continuous Delivery. Alejandro Ruiz Continuous Delivery Alejandro Ruiz True reality How the customer explained it How the project leader understood it How the analyst designed it How the programmer wrote it What the customer really needed

More information

Jenkins User Conference Herzelia, July 5 2012 #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP http://hp.

Jenkins User Conference Herzelia, July 5 2012 #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP http://hp. Testing a Large Support Matrix Using Jenkins Amir Kibbar HP http://hp.com/go/oo About Me! 4.5 years with HP! Almost 3 years System Architect! Out of which 1.5 HP OO s SA! Before that a Java consultant

More information

SaaS-Based Employee Benefits Enrollment System

SaaS-Based Employee Benefits Enrollment System Situation A US based industry leader in Employee benefits catering to large and diverse client base, wanted to build a high performance enterprise application that supports sizeable concurrent user load

More information

What s Happening to the Mainframe? Mobile? Social? Cloud? Big Data?

What s Happening to the Mainframe? Mobile? Social? Cloud? Big Data? Glenn Anderson, IBM Lab Services and Training What s Happening to the Mainframe? Mobile? Social? Cloud? Big Data? Summer SHARE August 2014 Session 15595 (c) Copyright 2014 IBM Corporation 1 Today s mainframe

More information

automated acceptance testing of mobile apps

automated acceptance testing of mobile apps automated acceptance testing of mobile apps Karl Krukow, CTO, LessPainful Goto Aarhus, 2012 karl@lesspainful.com, @karlkrukow 1 Agenda Automated testing for mobile desirable properties for an acceptance

More information

Concordion. Concordion. Tomo Popovic, tp0x45 [at] gmail.com

Concordion. Concordion. Tomo Popovic, tp0x45 [at] gmail.com Concordion Tomo Popovic, tp0x45 [at] gmail.com Concordion is an open source tool for writing automated acceptance tests in Java development environment. The main advantages of Concordion are based on its

More information

Cross-Platform Development

Cross-Platform Development 2 Cross-Platform Development Cross-Platform Development The world of mobile applications has exploded over the past five years. Since 2007 the growth has been staggering with over 1 million apps available

More information

Intell-a-Keeper Reporting System Technical Programming Guide. Tracking your Bookings without going Nuts! http://www.acorn-is.

Intell-a-Keeper Reporting System Technical Programming Guide. Tracking your Bookings without going Nuts! http://www.acorn-is. Intell-a-Keeper Reporting System Technical Programming Guide Tracking your Bookings without going Nuts! http://www.acorn-is.com 877-ACORN-99 Step 1: Contact Marian Talbert at Acorn Internet Services at

More information

Web Development 1 A4 Project Description Web Architecture

Web Development 1 A4 Project Description Web Architecture Web Development 1 Introduction to A4, Architecture, Core Technologies A4 Project Description 2 Web Architecture 3 Web Service Web Service Web Service Browser Javascript Database Javascript Other Stuff:

More information

Building native mobile apps for Digital Factory

Building native mobile apps for Digital Factory DIGITAL FACTORY 7.0 Building native mobile apps for Digital Factory Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels

More information

HTML5. Turn this page to see Quick Guide of CTTC

HTML5. Turn this page to see Quick Guide of CTTC Programming SharePoint 2013 Development Courses ASP.NET SQL TECHNOLGY TRAINING GUIDE Visual Studio PHP Programming Android App Programming HTML5 Jquery Your Training Partner in Cutting Edge Technologies

More information

Lucy Zhang UI Developer Lucyzhang3630@gmail.com/sales@besthtech.net Contact: 646-896-9088

Lucy Zhang UI Developer Lucyzhang3630@gmail.com/sales@besthtech.net Contact: 646-896-9088 Lucy Zhang UI Developer Lucyzhang3630@gmail.com/sales@besthtech.net Contact: 646-896-9088 SUMMARY Over 7 years of extensive experience in the field of front-end Web Development including Client/Server

More information

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. 20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction

More information

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery! Continuous Delivery for Alfresco Solutions Satisfied customers and happy developers with!! Continuous Delivery! About me Roeland Hofkens #rhofkens roeland.hofkens@westernacher.com http://opensource.westernacher.com

More information

Securely. Mobilize Any Business Application. Rapidly. The Challenge KEY BENEFITS

Securely. Mobilize Any Business Application. Rapidly. The Challenge KEY BENEFITS Mobilize Any Business Application. Rapidly. Securely. The Challenge Today's enterprises are increasingly leveraging mobility solutions to improve productivity, decrease response times and streamline operational

More information

TestOps: Continuous Integration when infrastructure is the product. Barry Jaspan Senior Architect, Acquia Inc.

TestOps: Continuous Integration when infrastructure is the product. Barry Jaspan Senior Architect, Acquia Inc. TestOps: Continuous Integration when infrastructure is the product Barry Jaspan Senior Architect, Acquia Inc. This talk is about the hard parts. Rainbows and ponies have left the building. Intro to Continuous

More information

Visualizing an OrientDB Graph Database with KeyLines

Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines 1! Introduction 2! What is a graph database? 2! What is OrientDB? 2! Why visualize OrientDB? 3!

More information

Web Programming with PHP 5. The right tool for the right job.

Web Programming with PHP 5. The right tool for the right job. Web Programming with PHP 5 The right tool for the right job. PHP as an Acronym PHP PHP: Hypertext Preprocessor This is called a Recursive Acronym GNU? GNU s Not Unix! CYGNUS? CYGNUS is Your GNU Support

More information

How To Develop A Mobile App With Phonegap

How To Develop A Mobile App With Phonegap Introduction to Mobile Development with PhoneGap Yeah it s pretty awesome. Who is this guy? Andrew Trice Technical Evangelist, Adobe atrice@adobe.com http://tricedesigns.com @andytrice http://github.com/triceam

More information

TESTING TOOLS COMP220/285 University of Liverpool slide 1

TESTING TOOLS COMP220/285 University of Liverpool slide 1 TESTING TOOLS COMP220/285 University of Liverpool slide 1 Objectives At the end of this lecture, you should be able to - Describe some common software tools - Describe how different parts of a multitier

More information

Simple Tips to Improve Drupal Performance: No Coding Required. By Erik Webb, Senior Technical Consultant, Acquia

Simple Tips to Improve Drupal Performance: No Coding Required. By Erik Webb, Senior Technical Consultant, Acquia Simple Tips to Improve Drupal Performance: No Coding Required By Erik Webb, Senior Technical Consultant, Acquia Table of Contents Introduction................................................ 3 Types of

More information

Client Requirement. Why SharePoint

Client Requirement. Why SharePoint Client Requirement Client wanted a sharepoint system that could meet their document and record management needs. It should also improve client s information management systems. To support existing and

More information

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically

More information

Pro<DOC/> e-commerce Technology An Introduction

Pro<DOC/> e-commerce Technology An Introduction Pro e-commerce Technology An Introduction From Rightangle Technologies Private Limited (www.rigthangle.co.in) 1 P a g e R i g h t a n g l e T e c h n o l o g i e s P v t. L t d. 1 Problem Statement

More information

100% NO CODING NO DEVELOPING IMMEDIATE BUSINESS -25% -70% UNLIMITED SCALABILITY DEVELOPMENT TIME SOFTWARE STABILITY

100% NO CODING NO DEVELOPING IMMEDIATE BUSINESS -25% -70% UNLIMITED SCALABILITY DEVELOPMENT TIME SOFTWARE STABILITY 100% UNLIMITED SCALABILITY TOTAL COST OF OWNERSHIP -25% +50% EFFICENCY INCREASE -70% +65% DEVELOPMENT TIME SOFTWARE STABILITY NO CODING NO DEVELOPING IMMEDIATE BUSINESS FlexyGo Rapid Application Builder

More information

JOSSO 2.4. Internet Information Server (IIS) Tutorial

JOSSO 2.4. Internet Information Server (IIS) Tutorial JOSSO 2.4 Internet Information Server (IIS) Tutorial JOSSO 2.4 : Internet Information Server (IIS) Tutorial 1. Introduction... 1 2. Prerequisites... 2 3. Defining Identity Appliance Elements... 3 3.1.

More information

Drupal Performance Tuning

Drupal Performance Tuning Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

Chapter 22 How to send email and access other web sites

Chapter 22 How to send email and access other web sites Chapter 22 How to send email and access other web sites Murach's PHP and MySQL, C22 2010, Mike Murach & Associates, Inc. Slide 1 Objectives Applied 1. Install and use the PEAR Mail package to send email

More information

ENABLING THE MOBILE ENTERPRISE. James W. Hammons Regional Sales Manager Red Hat Mobile Southern Europe, Middle East & Africa Twitter: @hammons_j

ENABLING THE MOBILE ENTERPRISE. James W. Hammons Regional Sales Manager Red Hat Mobile Southern Europe, Middle East & Africa Twitter: @hammons_j ENABLING THE MOBILE ENTERPRISE James W. Hammons Regional Sales Manager Red Hat Mobile Southern Europe, Middle East & Africa Twitter: @hammons_j AGENDA 1. The Mobile Buzz 2. Why a Mobile Application Platform

More information

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project:

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project: Apache Cordova is a open-source mobile development framework. It allows you to use standard web technologies such as HTML5, CSS3 and JavaScript for cross-platform development, avoiding each mobile platform

More information

Sample HP OO Web Application

Sample HP OO Web Application HP OO 10 OnBoarding Kit Community Assitstance Team Sample HP OO Web Application HP OO 10.x Central s rich API enables easy integration of the different parts of HP OO Central into custom web applications.

More information

Lecture 4 Cross-Platform Development. <lecturer, date>

Lecture 4 Cross-Platform Development. <lecturer, date> Lecture 4 Cross-Platform Development Outline Cross-Platform Development PhoneGap Appcelerator Titanium Xamarin References Native Development Represents the baseline for comparisons You

More information

Cross-Platform Tools

Cross-Platform Tools Cross-Platform Tools Build once and Run Everywhere Alexey Karpik Web Platform Developer at ALTOROS Action plan Current mobile platforms overview Main groups of cross-platform tools Examples of the usage

More information

Building, testing and deploying mobile apps with Jenkins & friends

Building, testing and deploying mobile apps with Jenkins & friends Building, testing and deploying mobile apps with Jenkins & friends Christopher Orr https://chris.orr.me.uk/ This is a lightning talk which is basically described by its title, where "mobile apps" really

More information

ClaySys AppForms for SharePoint

ClaySys AppForms for SharePoint ClaySys AppForms for SharePoint - ClaySys AppForms for SharePoint is a No-Code development platform to build Business Applications and automate Business Processes. - The Key Value Proposition of the ClaySys

More information

A central continuous integration platform

A central continuous integration platform A central continuous integration platform Agile Infrastructure use case and future plans Dec 5th, 2014 1/3 The Agile Infrastructure Use Case By Stefanos Georgiou What? Development practice Build better

More information

Elle Décor Lookbook ipad Application

Elle Décor Lookbook ipad Application Elle Décor Lookbook ipad Application www.appnovation.com Elle Décor Lookbook ipad Application Contents 1.0 Background P. 3 2.0 Project Overview P. 4 3.0 Goals & Requirements P. 5 4.0 Development P. 8 P.2

More information

Mobile development with Apache OFBiz. Ean Schuessler, co-founder @ Brainfood

Mobile development with Apache OFBiz. Ean Schuessler, co-founder @ Brainfood Mobile development with Apache OFBiz Ean Schuessler, co-founder @ Brainfood Mobile development For the purposes of this talk mobile development means mobile web development The languages and APIs for native

More information

How Oracle MAF & Oracle Mobile Cloud can Accelerate Mobile App Development

How Oracle MAF & Oracle Mobile Cloud can Accelerate Mobile App Development How Oracle MAF & Oracle Mobile Cloud can Accelerate Mobile App Development A RapidValue Solutions Whitepaper Contents Executive Summary... 03 Oracle Mobile Application Framework (MAF): The Complete Development

More information

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction DRUPAL CONTINUOUS INTEGRATION Part I - Introduction Continuous Integration is a software development practice where members of a team integrate work frequently, usually each person integrates at least

More information

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction Title: Appium Automation for Mac OS X Created By: Prithivirajan M Abstract This document aims at providing the necessary information required for setting up mobile testing environment in Mac OS X for testing

More information

Developing and deploying mobile apps

Developing and deploying mobile apps Developing and deploying mobile apps 1 Overview HTML5: write once, run anywhere for developing mobile applications 2 Native app alternative Android -- Java ios -- Objective-C Windows Mobile -- MS tools

More information

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group DevOps Best Practices for Mobile Apps Sanjeev Sharma IBM Software Group Me 18 year in the software industry 15+ years he has been a solution architect with IBM Areas of work: o DevOps o Enterprise Architecture

More information

Using Cloud Services for Building Next Generation Mobile Apps

Using Cloud Services for Building Next Generation Mobile Apps Using Cloud Services for Building Next Generation Mobile Apps appcelerator.com Executive Summary Enterprises are in the midst of a major transformation as it relates to their interaction with customers,

More information

TeamCity A Professional Solution for Delivering Quality Software, on Time

TeamCity A Professional Solution for Delivering Quality Software, on Time TeamCity A Professional Solution for Delivering Quality Software, on Time Vaclav Pech Senior Software Developer JetBrains, Inc. About Us Vaclav Pech Professional software developer for 9 years IntelliJ

More information

Power Tools for Pivotal Tracker

Power Tools for Pivotal Tracker Power Tools for Pivotal Tracker Pivotal Labs Dezmon Fernandez Victoria Kay Eric Dattore June 16th, 2015 Power Tools for Pivotal Tracker 1 Client Description Pivotal Labs is an agile software development

More information

Personal Profile. Experience. Professional Experience

Personal Profile. Experience. Professional Experience Brice Bentler 2602 4 th Ave, Seattle, WA 98121, 425-890- 6287, me@bricebentler.com, Website: www.bricebentler.com, GitHub: https://github.com/server4001 Personal Profile Pursuing a position in the Software

More information

Here s how to choose the right mobile app for you.

Here s how to choose the right mobile app for you. Here s how to choose the right mobile app for you. There is no arguing with statistics. The future of the web is mobile. Tablet shipments are increasing exponentially and within two years consumer broadband

More information

How To Use Titanium Studio

How To Use Titanium Studio Crossplatform Programming Lecture 3 Introduction to Titanium http://dsg.ce.unipr.it/ http://dsg.ce.unipr.it/?q=node/37 alessandro.grazioli81@gmail.com 2015 Parma Outline Introduction Installation and Configuration

More information

Lab 0 (Setting up your Development Environment) Week 1

Lab 0 (Setting up your Development Environment) Week 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself

More information

Drupal CMS for marketing sites

Drupal CMS for marketing sites Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit

More information

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg Build Automation for Mobile or How to Deliver Quality Apps Continuously Angelo Rüggeberg Things to remember Publishing your App should not be painfull Angelo Rüggeberg Code Quality Matters Angelo Rüggeberg

More information

Software Requirements Specification

Software Requirements Specification Software Requirements Specification for easyrent Version 2.0 Prepared by Group Name: Foo- Tang Clan Abraham Dela Cruz Raj Luhar Chris Horuk Joey Phommasone Zack Warburg abrahamdc@gmail.com rluhar1990@gmail.com

More information

MobileFirst Application Development & Lifecycle Management für mobile Anwendungen

MobileFirst Application Development & Lifecycle Management für mobile Anwendungen MobileFirst Application Development & Lifecycle Management für mobile Anwendungen Agenda Warum sind Mobile Applikationen anders? Mobile Application Development Lifecycle Requirements Management Real Time

More information

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER TABLE OF CONTENTS Market Demand for Enterprise Mobile Mobile App Development Approaches Native Apps Mobile Web Apps Hybrid Apps Mendix Vision for Mobile App

More information

Azure Day Application Development

Azure Day Application Development Azure Day Application Development Randy Pagels Developer Technology Specialist Tim Adams Developer Solutions Specialist Azure App Service.NET, Java, Node.js, PHP, Python Auto patching Auto scale Integration

More information

CSc 230 Software System Engineering FINAL REPORT. Project Management System. Prof.: Doan Nguyen. Submitted By: Parita Shah Ajinkya Ladkhedkar

CSc 230 Software System Engineering FINAL REPORT. Project Management System. Prof.: Doan Nguyen. Submitted By: Parita Shah Ajinkya Ladkhedkar CSc 230 Software System Engineering FINAL REPORT Project Management System Prof.: Doan Nguyen Submitted By: Parita Shah Ajinkya Ladkhedkar Spring 2015 1 Table of Content Title Page No 1. Customer Statement

More information

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software Take Your Rocket U2 Apps Mobile with Rocket LegaSuite Greg Mummah, Product Manager Rocket Software Greg Mummah Product Manager Managed application modernization team at municipal government software vendor

More information

Continuous integration with Jenkins CI

Continuous integration with Jenkins CI Continuous integration with Jenkins CI Vojtěch Juránek JBoss - a division by Red Hat 17. 2. 2012, Developer conference, Brno Vojtěch Juránek (Red Hat) Continuous integration with Jenkins CI 17. 2. 2012,

More information

Content. Development Tools 2(63)

Content. Development Tools 2(63) Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)

More information

JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK

JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK Programming for Digital Media EE1707 JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK 1 References and Sources 1. DOM Scripting, Web Design with JavaScript

More information

Novell Identity Manager

Novell Identity Manager AUTHORIZED DOCUMENTATION Manual Task Service Driver Implementation Guide Novell Identity Manager 4.0.1 April 15, 2011 www.novell.com Legal Notices Novell, Inc. makes no representations or warranties with

More information

Website Design Trends

Website Design Trends Website Design Trends Keeping Your Online Presence Fresh By Eric Cook, MBA @EricCook Banker For 15 Years Graduate School of Banking 2003 Graduate Faculty Now Consultant Since 2007 Focused on Community

More information

Architecture Workshop

Architecture Workshop TIE-13100 / TIE-13106 Tietotekniikan projektityö / Project Work on Pervasive Systems Architecture Workshop Hadaytullah Marko Leppänen 21.10.2014 Workshop Plan Start Technologies Table (Collaboration) Workshop

More information

Reporting works by connecting reporting tools directly to the database and retrieving stored information from the database.

Reporting works by connecting reporting tools directly to the database and retrieving stored information from the database. Print Audit 6 - Step by Step Walkthrough IMPORTANT: READ THIS BEFORE PERFORMING A PRINT AUDIT 6 INSTALLATION Print Audit 6 is a desktop application that you must install on every computer where you want

More information

Open Source DBMS CUBRID 2008 & Community Activities. Byung Joo Chung bjchung@cubrid.com

Open Source DBMS CUBRID 2008 & Community Activities. Byung Joo Chung bjchung@cubrid.com Open Source DBMS CUBRID 2008 & Community Activities Byung Joo Chung bjchung@cubrid.com Agenda Open Source DBMS CUBRID 2008 CUBRID Community Activities Open Source DBMS CUBRID 2008 Open Source DBMS CUBRID

More information

Software Construction

Software Construction Software Construction Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can explain the importance of continuous integration

More information

Building Rich Internet Applications with PHP and Zend Framework

Building Rich Internet Applications with PHP and Zend Framework Building Rich Internet Applications with PHP and Zend Framework Stanislav Malyshev Software Architect, Zend Technologies IDG: RIAs offer the potential for a fundamental shift in the experience of Internet

More information

MASTERTAG DEVELOPER GUIDE

MASTERTAG DEVELOPER GUIDE MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...

More information

PHP Framework Performance for Web Development Between Codeigniter and CakePHP

PHP Framework Performance for Web Development Between Codeigniter and CakePHP Bachelor Thesis in Software Engineering 08 2012 PHP Framework Performance for Web Development Between Codeigniter and CakePHP Håkan Nylén Contact Information: Author(s): Håkan Nylén E-mail: hakan@dun.se

More information

Create and run apps on HANA Cloud in SAP Web IDE

Create and run apps on HANA Cloud in SAP Web IDE SAP Web IDE How-To Guide Provided by Customer Experience Group Create and run apps on HANA Cloud in SAP Web IDE Applicable Releases: SAP Web IDE 1.4 Version 2.0 - October 2014 Document History Document

More information

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration. CSC 440: Software Engineering Slide #1 Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge

More information

Load and Performance Load Testing. RadView Software October 2015 www.radview.com

Load and Performance Load Testing. RadView Software October 2015 www.radview.com Load and Performance Load Testing RadView Software October 2015 www.radview.com Contents Introduction... 3 Key Components and Architecture... 4 Creating Load Tests... 5 Mobile Load Testing... 9 Test Execution...

More information

The Anatomy of a Native App

The Anatomy of a Native App The Anatomy of a Native App 01 Defining Native Whether accessing order history during a sales call or checking a flight status, users expect information to be instantly accessible and presented in a way

More information

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app Your guide to building great apps Upgrade your skills and update your tools to create the next great app Introduction Visual Studio 2015 helps you turn great ideas into great business applications. Our

More information

Successful PaaS and CI in the Cloud

Successful PaaS and CI in the Cloud Successful PaaS and CI in the Cloud Steven G. Harris steven.g.harris@cloudbees.com @stevengharris AgileALM/EclipseCon 2012 Platform as a Service As-a-Service Examples Today SaaS PaaS "Cloud computing is

More information

Zero-Touch Drupal Deployment

Zero-Touch Drupal Deployment Zero-Touch Drupal Deployment Whitepaper Date 25th October 2011 Document Number MIG5-WP-D-004 Revision 01 1 Table of Contents Preamble The concept Version control Consistency breeds abstraction Automation

More information

@jenkinsconf. Maintaining huge Jenkins clusters - Have we reached the limit of Jenkins?

@jenkinsconf. Maintaining huge Jenkins clusters - Have we reached the limit of Jenkins? Maintaining huge Jenkins clusters - Have we reached the limit of Jenkins? Robert Sandell Sony Mobile Communications www.sonymobile.com www.rsandell.com @jenkinsconf 1 TOC! How We Work! Jenkins & topography

More information

Backend as a Service

Backend as a Service Backend as a Service Apinauten GmbH Hainstraße 4 04109 Leipzig 1 Backend as a Service Applications are equipped with a frontend and a backend. Programming and administrating these is challenging. As the

More information

CRM. itouch Vision. This document gives an overview of OneTouch Cloud CRM and discusses the different features and functionality.

CRM. itouch Vision. This document gives an overview of OneTouch Cloud CRM and discusses the different features and functionality. itouch Vision CRM This document gives an overview of OneTouch Cloud CRM and discusses the different features and functionality. For further information, about implementation and pricing please contact us.

More information

Automate Your BI Administration to Save Millions with Command Manager and System Manager

Automate Your BI Administration to Save Millions with Command Manager and System Manager Automate Your BI Administration to Save Millions with Command Manager and System Manager Presented by: Dennis Liao Sr. Sales Engineer Date: 27 th January, 2015 Session 2 This Session is Part of MicroStrategy

More information

Tutto quello che c è da sapere su Azure App Service

Tutto quello che c è da sapere su Azure App Service presenta Tutto quello che c è da sapere su Azure App Service Jessica Tibaldi Technical Evangelist Microsoft Azure & Startups jetiba@microsoft.com @_jetiba www.wpc2015.it info@wpc2015.it - +39 02 365738.11

More information

Cloudera Manager Training: Hands-On Exercises

Cloudera Manager Training: Hands-On Exercises 201408 Cloudera Manager Training: Hands-On Exercises General Notes... 2 In- Class Preparation: Accessing Your Cluster... 3 Self- Study Preparation: Creating Your Cluster... 4 Hands- On Exercise: Working

More information

Integrating Team Foundation Server, Microsoft Test Manager and Coded UI Tests

Integrating Team Foundation Server, Microsoft Test Manager and Coded UI Tests Integrating Team Foundation Server, Microsoft Test Manager and Coded UI Tests Ing. Gonzalo Alba Trainer, MCP, CSM, Automation developer Introduction to Application Lifecycle Management with Visual Studio

More information

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved. Reference Application Architecture Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents

More information

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth. 1 Continuous Integration with Jenkins Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.se Faculty of Engineering, Lund Univeristy (LTH) March 5, 2013 Abstract

More information

A Step-by-Step Guide to Defining Your Cloud Services Catalog

A Step-by-Step Guide to Defining Your Cloud Services Catalog A Step-by-Step Guide to Defining Your Cloud Services Catalog Table of Contents Introduction Chapter 1 Defining the Services Catalog Chapter 2 Building a Services Catalog Chapter 3 Choosing the Right Solution

More information

BeBanjo Infrastructure and Security Overview

BeBanjo Infrastructure and Security Overview BeBanjo Infrastructure and Security Overview Can you trust Software-as-a-Service (SaaS) to run your business? Is your data safe in the cloud? At BeBanjo, we firmly believe that SaaS delivers great benefits

More information

Sports Management Information Systems. Camilo Rostoker November 22, 2002

Sports Management Information Systems. Camilo Rostoker November 22, 2002 Sports Management Information Systems Camilo Rostoker November 22, 2002 Introduction We are in the information age The availability of technology has brought forth a new problem domain how do we manage

More information

HTML Application Creation. Rich Loen CTO, InGenius June 26, 2007

HTML Application Creation. Rich Loen CTO, InGenius June 26, 2007 HTML Application Creation Rich Loen CTO, InGenius June 26, 2007 What is the HTML Toolkit? Allows dealers and developers to create HTML-based applications that run on 5330 and 5340 phone sets. Screen-savers

More information

The State of Hybrid Mobile Development

The State of Hybrid Mobile Development The State of Hybrid Mobile Development By TJ VanToll May 5, 2014 Share This: Twitter Facebook Google+ Hybrid development, or the approach of building native apps using Web technologies, has gone through

More information

Build management & Continuous integration. with Maven & Hudson

Build management & Continuous integration. with Maven & Hudson Build management & Continuous integration with Maven & Hudson About me Tim te Beek tim.te.beek@nbic.nl Computer science student Bioinformatics Research Support Overview Build automation with Maven Repository

More information

DevOps Course Content

DevOps Course Content DevOps Course Content INTRODUCTION TO DEVOPS What is DevOps? History of DevOps Dev and Ops DevOps definitions DevOps and Software Development Life Cycle DevOps main objectives Infrastructure As A Code

More information