Architecture Workshop

Size: px
Start display at page:

Download "Architecture Workshop"

Transcription

1 TIE / TIE Tietotekniikan projektityö / Project Work on Pervasive Systems Architecture Workshop Hadaytullah Marko Leppänen

2 Workshop Plan Start Technologies Table (Collaboration) Workshop Workshop Groups Questions For Each Workshop Group Warm-up Thoughts (Presentation) Open Discussion End

3 What is software architecture and why it is important? Scenarios or Use cases Logical View An abstract view of the system Development View Process View Architectural Specification Physical View Communication Work Distribution Pre-Dev. Testing Analysis

4 Architecting in Real Logical View Development View Process View Physical View

5 Goals Decisions Architecture D Functional Goals D Non- Functional Goals D D D D D

6 Cross-cutting concerns Architecture

7 Freedom of choice? Dictators Frameworks (Web Frameworks) Eco System (ios MVC, Delegate, Protocol, Singleton) Technologies (AngularJ MVC) Organization of Team

8 update Evaluation: ATAM 1 Stake holders 2 Goals 3 Scenarios 4 Simulate Analyze 5 Satisfied? Architecture

9 Designing and Documenting using UML Scenarios Use Cases Behavior Sequence Diagram Structure Class Diagram Behavior State Diagram Development Package Diagram Behavior Activity Diagram Physical Deployment Diagram

10 Integration & Testing Big Bang Putting all together at once and testing Why? Feeling lazy? No continuous integration tools? Don t do it. Why? Time consuming Whose component is failing? Origin of bugs is hard to trace Trust me, there will be many bugs! Continuous Develop, test and deploy as you go Why? It makes more sense Tools available, automated unit testing scripts Do it. Why? Automatable If build FAILS, the last commit is the potential culprit Automated deployment, if build PASSES Less last moments stress

11 This is how you would do it! Initial Architecture Coding Black hole

12 Workshop

13 Technologies G2 Node-RED Node.js HTML5 AngularJS REST JSON MongoDB Linux Docker G8 BeagleBone Black Raspberry Pi Node.js AngularJS PostgreSQL Bookshelf.js Bootstrap G3 G6 Flask flask-babel flask-sqlalchemy Bootstrap d3.js AngularJS PostgreSQL Git Back-end techology: Node.js Database: Sequelize Front-end technology: Angular.js Deployment: Heroku G5 PHP JavaScript jquery Bootstrap CodeIgniter IIS Express server SQL server Git

14 Three Tier Architecture Client-Server Client Server Database Modifiability Design Pattern Different Technologies for each tier can be used Each tier can change independent of others Efficiency may suffer Poor network speed or bandwidth Reliability R= Client Reliability * Server Reliability * DB Reliability Security Encrypt the messages Usually encryption is by default supported

15 Why Model-View-Controller? User Interface Synch Data View View Perform action on view Data Changed Notification User action Get New Data 1 Model Update Data 2 3 Controller 4 5 MVC = Separation between Views and Application or Business Logic Business logic and Views can change independently Each view can show the data in a different way (e.g., charts, table etc.) There can be different Views for different devices (Mobile, Tablet, PC, TV etc.)

16 Questions (G3) How to distribute the work among the project team when the application's architecture is not yet modular and requires work on basic parts? (G2) What are good practices of documenting the architecture and why the customer might need it? (G5) What are the main pros and cons of using MVC architecture for designing a web service system? Which other arcitectural styles work well for web systems? (G5) How to decide which parts of the web application should run on the server, and which ones on the browser? (G6) Should it be the backend or the client that fetches data from third party REST interface? (In what kind of situations?)

17 Questions (G7)What kind of software architecture evaluation methods would be feasible on this project course? (G7) In a web application, where the backend is a REST API to a relational SQL database: What kind of software architecture would allow synchronising the data between clients efficiently? (Like in google docs for example: one user edits the document and others see the changes almost instantaneously.) (G8) Is a formal architecture evaluation really necessary, when developing a relatively small web application? (G8) What are some usual problems/considerations with tried and true web-architectures? For example nodejs backend with a REST-api and angularjs frontend.

18 Questions Why MVC models are getting more and more popular in web front ends? How single page application web pages affect information security when combined with MVC front end? E.g. Admin page implementation. How to manage the amount of javascript files on big web pages and their depedencies? Is there any options? When using Entity-Component design pattern for high-level architechture (for example when using Unity), what approach should be taken for project-spanning architechture? When the project begins with proof of concept and heavy prototyping, what is the optimal point for rebooting with production quality architechture or should it emerge gradually?

19 NOTE Group Hardware Client Messaging Server ORM Database Version Control Deployment G1 G2 G3 G4 G5 G6 G7 G8 - The assistants have filled in some missing technologies and marked them with "?" mark. Remove the "?" mark if you are using the technology or - If your product does not fit into Client-Server paradigm, please add free form text stating your technologies to the table. - Deployment: Does your tool support continuous integration? if Yes, please add "(Continuous)". Rasberry Pi (Embedded) BealgleBoneBlack, HTML5, Backbone.js on web server + Python on RPi JSON Node.js Sequelize.js MySQL Git Raspberry Pi HTML5, AngularJS, (Embedded) Bootstrap?, jquery? JSON Node.js, REST? MongoDB Git? Google glass (Embedded) Java JSON? REST, Node.js??? Bitbucket? PC/Mac/ Mobile/ AngularJS, HTML5?, Embedded? Bootstrap?, jquery? JSON? Node.js, REST? Sequelize.js? Git? PC/Mobile(tablet) PC/Mac/ Mobile/ Embedded? PC/Mac/ Mobile/ Embedded? PC/Mac/ Mobile Docker + SD card image Docker (Continuous?) Heroku (Continuous?) HTML, Javascript, jquery, Bootstrap JSON PHP(CodeIgniter ),IIS Express Server CodeIgniter's "Active record" SQL Server Git? Flask, d3.js, AngularJS, Bootstrap, Html5? JSON??? PostgreSql Git? HTML5, AngularJS, REST w/ C#, Bootstrap, jquery JSON? Apache Custom PostgreSql Git? HTML5, AngularJS, Bootstrap JSON Node.js, REST Bookshelf.js PostgreSql Git? G9 PC/Mac C#, Unity Java, HTML5, CSS, G10 Mobile / Desktop Javascript, AngularJS JSON Bitbucket/ SourceTree? Python(Django), REST, MongoDB Git?

20 Theoretical 1. (G3) How to distribute the work among the project team when the application's architecture is not yet modular and requires work on basic parts? - Define the architecture and interfaces and distribute them. - Coming up with initial architecture should not be that challenging. - Design for the team or team for the design, choose what is possible for you. In this course work, perhaps, teams are already fixed, therefore your design should follow the team structure (keeping in mind team member skills). 2. (G2) What are good practices of documenting the architecture and why the customer might need it? - Document minimum as needed according to customer demands. Use figures to show big picture of the architecture. - Agile manifesto view: Working software over comprehensive documentation. See: A. Rüping: Agile Documentation - It should be possible to trace the architectural choices back to the goals or requirements. Therefore, not only document the architecture but also the decisions or rationale that explains why the architecture is the way it is. It is good for transfer of knowledge when the architect leaves the teams in companies. Tech savvy customer may want to see the architecture to confirm that it delivers what he or she has demanded from you. Customer may internally conduct (or demand from you) formal evaluation/review of the architecture for further satisfaction. 3. When the project begins with proof of concept and heavy prototyping, what is the optimal point for rebooting with production quality architecture or should it emerge gradually? - If something is expected to change in future, make is modifiable. - Build your MVP first and then see if it can be extended without so many problems, otherwise go for next prototype. Throwing away might be sensible if fixing cost more - An old saying states that PoC s and prototypes should always be thrown away. When starting the actual product, PoCs and prototypes work as ideas how to design the actual architecture. So, play with prototypes, make quick n dirty solutions, but when you have learned enough, start with a scratch. 4. (G7)What kind of software architecture evaluation methods would be feasible on this project course? (G8) Is a formal architecture evaluation really necessary, when developing a relatively small web application? - Full-scale evaluation might take too much time to deliver any real value for anyone. However, could some things from evaluation methods be applied to your context too?

21 For example, documenting arch. decisions and their rationale for future use? Could scenarios help to facilitate discussion with stakeholders? 5. (G10) Should the architecture be designed so that it's easily tested even if it could severly cripple other aspects of the architecture? And how much weight should be given for the testability when planning the architecture? - If your tools dictate wrong methods that will cripple the architecture, try finding other tools that may work for your architecture. - Architecture is enabler of multiple cross-cutting concerns (functionality vs testability vs efficiency vs reliability). Find a balance among them or overweight one over another according to your application s needs or stakeholders interests. Patterns 6. MVC: (G5) What are the main pros and cons of using MVC architecture for designing a web service system? Which other architectural styles work well for web systems? How single page application web pages affect information security when combined with MVC front end? E.g. Admin page implementation. - See workshop slides on MVC for introduction to the pattern. - MVC alternative- Presentation Abstraction Control (PAC) Design Pattern (Agents hierarchy + separate MVC per view or agent at every level, no connection between Model:Abstraction and Views:Presentation, Centralized at Controller) - Security; Each view is restricted to show (and receive) some part of the information available in the model. This inherently enables some level of secure data visualization. 7. CLIENT-SERVER: (G5) How to decide which parts of the web application should run on the server, and which ones on the browser? - Computation intensive parts and databases usually go to the server side. - See workshop slides on Three Tier Architecture. 8. (G6) Should it be the backend or the client that fetches data from third party REST interface? (In what kind of situations?) - Technically it should be possible to access a third part REST API from your client unless the owner of the API restricts such access. Another option is to build a proxy server for the third party API, if allowed.

22 Technical 9. (G7) In a web application, where the backend is a REST API to a relational SQL database: What kind of software architecture would allow synchronising the data between clients efficiently? (Like in google docs for example: one user edits the document and others see the changes almost instantaneously.) - use sockets - This approach works for cloud based apps. All major ecosystems have their own solutions. e.g., Google cloud messaging and their Backup API for Android OS. icloud support data synchronization as a built-in feature. Microsoft Sync Framework for SQL server. 10. (G8) What are some usual problems/considerations with tried and true webarchitectures? For example node.js backend with a REST-api and angular.js frontend. - NodeJS and its technologies are still immature, so keep expectations a bit lower. For example, is NodeJS and technologies built upon it are powerful enough to support the incoming traffic or a large database? How many parallel connections can it support without crashing? Are the NodeJS ORMs really good as traditional tools like HIBERNATE etc. 11. How to manage the amount of javascript files on big web pages and their dependencies? Is there any options? - TaskRunner, Grunt (watch out for circular dependencies) - RequireJS 12. (G10) An external system contains large amounts of location based data which is accessed through an API which doesn't fit our needs. Could there be any other viable options than to replicate the entire external database which will make the size of our own database huge? - If the owner s API provide restrictive access then even your own API has to obey such restrictions. Otherwise, it might be time consuming, however, could be possible to adapt the external API for you needs by creating a Proxy server? (OR) Partially or fully replicate the database on your own server and write a fresh API satisfying your application s needs, if possible. Other

23 13. When using Entity-Component design pattern for high-level architecture (for example when using Unity), what approach should be taken for project-spanning architecture? - Unity dictates it own solutions and constraints

Start up Jobs Germany FEB 2014

Start up Jobs Germany FEB 2014 Start up Jobs y FEB 2014 JOB TITLE LANGUAGE LOCATION REQUIREMENTS REF Lead English Berlin Lots of PHP, Magento, Zend, 80H PHPUnit, MySQL Snr ERP English Berlin Navision ERP development, Version 80I 2009

More information

www.expaway.com Offerte del 13 giugno 2014

www.expaway.com Offerte del 13 giugno 2014 www.expaway.com Offerte del 13 giugno 2014 TR1414A - SOFTWARE DEVELOPER/ ARCHITECT (GERLINGEN) Location: Gerlingen (9 km west of Stuttgart) Field of operation: Consumer Services Founded: 2011 and German

More information

Syllabus INFO-GB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups)

Syllabus INFO-GB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups) Syllabus INFO-GB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Spring 2015 Stern School of Business Norman White, KMEC 8-88 Email: nwhite@stern.nyu.edu Phone: 212-998

More information

Syllabus INFO-UB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups)

Syllabus INFO-UB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups) Syllabus INFO-UB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Fall 2014 Stern School of Business Norman White, KMEC 8-88 Email: nwhite@stern.nyu.edu Phone: 212-998

More information

HYBRID. Course Packet

HYBRID. Course Packet HYBRID Course Packet TABLE OF CONTENTS 2 HYBRID Overview 3 Schedule 4 Prerequisites 5 Admissions Process 6 What is a Full Stack? 7 Why Become a Full Stack Developer? 8 Inside the 3 Full Stacks: LAMP 9

More information

This Record of activity confirms that Jonathan Scrase has completed the following courses within the Microsoft Virtual Academy:

This Record of activity confirms that Jonathan Scrase has completed the following courses within the Microsoft Virtual Academy: Introduction to Office 365 Development DevOps - Visual Studio Release Management Jump Start Building Blocks: JavaScript and C# (Initialize) Cross-Platform Development with Visual Studio Introduction to

More information

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014 Web 2.0 Technology Overview Lecture 8 GSL Peru 2014 Overview What is Web 2.0? Sites use technologies beyond static pages of earlier websites. Users interact and collaborate with one another Rich user experience

More information

Lessons learned from a large scale OSGi web app. Jago de Vreede Paul Bakker

Lessons learned from a large scale OSGi web app. Jago de Vreede Paul Bakker Lessons learned from a large scale OSGi web app Jago de Vreede Paul Bakker Paul Bakker @pbakker Jago de Vreede Agenda! High level architecture Modular architecture Modularity with OSGi Cloud deployments

More information

Open Source Technologies on Microsoft Azure

Open Source Technologies on Microsoft Azure Open Source Technologies on Microsoft Azure A Survey @DChappellAssoc Copyright 2014 Chappell & Associates The Main Idea i Open source technologies are a fundamental part of Microsoft Azure The Big Questions

More information

Mobile Application Platform

Mobile Application Platform Mobile Application Platform from FeedHenry Next generation cloud-based solution that simplifies the development, deployment and management of mobile apps for enterprise. Develop native, hybrid and HTML5

More information

RedTigerSoftware. WEB DEVELOPERS Introduction & Portfolio

RedTigerSoftware. WEB DEVELOPERS Introduction & Portfolio RedTigerSoftware WEB DEVELOPERS Introduction & Portfolio MEET THE TEAM Meet the Team Our Team David has a Master on Computer Engineering by IST (of the Technical University of Lisbon), with 17 out of 20.

More information

www.expaway.com Offerte del 10 maggio 2013

www.expaway.com Offerte del 10 maggio 2013 www.expaway.com Offerte del 10 maggio 2013 On behalf of our client, a leading Internet Company in Berlin, we are currently accepting resumes for the following professional opportunity: PS007D SENIOR BACKEND

More information

Logicify Fact Sheet. We bring logic to the software systems and development processes. We call this process to logicify.

Logicify Fact Sheet. We bring logic to the software systems and development processes. We call this process to logicify. Logicify Fact Sheet Contacts Please feel free to contact us for any enquiry or question. Alexander Cherednichenko, CEO alexander.cherednichenko@logicify.com +380 50 8692570 (direct cell) Andrew Mazur,

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

Assignment # 1 (Cloud Computing Security)

Assignment # 1 (Cloud Computing Security) Assignment # 1 (Cloud Computing Security) Group Members: Abdullah Abid Zeeshan Qaiser M. Umar Hayat Table of Contents Windows Azure Introduction... 4 Windows Azure Services... 4 1. Compute... 4 a) Virtual

More information

Sisense. Product Highlights. www.sisense.com

Sisense. Product Highlights. www.sisense.com Sisense Product Highlights Introduction Sisense is a business intelligence solution that simplifies analytics for complex data by offering an end-to-end platform that lets users easily prepare and analyze

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

Vincent Gabriel. Summary. Experience. Senior Software Developer at Landmark Network vadimg88@gmail.com

Vincent Gabriel. Summary. Experience. Senior Software Developer at Landmark Network vadimg88@gmail.com Vincent Gabriel Senior Software Developer at Landmark Network vadimg88@gmail.com Summary Open Source Contributions: https://github.com/vinceg Results-oriented lead architect with a focus on delivering

More information

CURRICULLUM VITAE Piotr Kołodziejczyk

CURRICULLUM VITAE Piotr Kołodziejczyk CURRICULLUM VITAE Piotr Kołodziejczyk Address: London E1, UK Email: contact@frontend.london Portfolio: frontend.london Github: github.com/frontend-london Date of birth: 05.12.1987 Phone: +44 (0)743 8810

More information

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience IBM Digital Experience Using Modern Web Development Tools and Technology with IBM Digital Experience Agenda The 2015 web development landscape and IBM Digital Experience Modern web applications and frameworks

More information

PROJECT MANAGEMENT SYSTEM

PROJECT MANAGEMENT SYSTEM Requirement Analysis Document v.2 14.12.2009 CENG-401 SOFTWARE ENGINEER PROJECT MANAGEMENT SYSTEM (Project Manager) Ahmet Edip SEÇKİN 07010555 (Developer) Erhan ŞEN 07010507 (Developer) Semih Serdar CENGİZOĞLU

More information

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive

More information

Gabriel Iuga. London, United Kingdom Tel: 0747 856 2661; Email: gabi@gabriel-iuga.com Website: www.gabriel-iuga.com

Gabriel Iuga. London, United Kingdom Tel: 0747 856 2661; Email: gabi@gabriel-iuga.com Website: www.gabriel-iuga.com Employment History: Gabriel Iuga London, United Kingdom Tel: 0747 856 2661; Email: gabi@gabriel-iuga.com Website: www.gabriel-iuga.com November 2014 Present November 2015 to Present November 2014 to November

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

WEB DEVELOPMENT IMMERSIVE GA.CO/WDI

WEB DEVELOPMENT IMMERSIVE GA.CO/WDI General Assembly Course Curriculum WEB DEVELOPMENT IMMERSIVE Table of Contents 3 Overview 4 Students 5 Curriculum Projects & Units 11 Frequently Asked Questions 13 Contact Information 2 Overview OVERVIEW

More information

Developing ASP.NET MVC 4 Web Applications MOC 20486

Developing ASP.NET MVC 4 Web Applications MOC 20486 Developing ASP.NET MVC 4 Web Applications MOC 20486 Course Outline Module 1: Exploring ASP.NET MVC 4 The goal of this module is to outline to the students the components of the Microsoft Web Technologies

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

StableFlow is a software development company, focused on software outsourcing services to companies ranging from startups to large enterprise.

StableFlow is a software development company, focused on software outsourcing services to companies ranging from startups to large enterprise. ABOUT StableFlow is a software development company, focused on software outsourcing services to companies ranging from startups to large enterprise. WHAT WE DO StableFlow manages the processes of business

More information

ENTERPRISE MOBILE BACKEND AS A SERVICE EVALUATION CHECKLIST

ENTERPRISE MOBILE BACKEND AS A SERVICE EVALUATION CHECKLIST ENTERPRISE MOBILE BACKEND AS A SERVICE EVALUATION CHECKLIST Considerations for choosing a secure, scalable, and reliable enterprise mobile backend platform OVERVIEW Organizations often struggle with identifying

More information

NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013

NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013 NoSQL web apps w/ MongoDB, Node.js, AngularJS Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013 About us Passionate (web) dev. since fallen in love with Sinclair ZX Spectrum Academic background in natural

More information

Project plan. Haamuryhmä/5 Valmet Power Oy - Continual Improvement Web Tool

Project plan. Haamuryhmä/5 Valmet Power Oy - Continual Improvement Web Tool Tampere University of Technology Department of Pervasive Computing TIE-13106 Project Work on Pervasive Systems Haamuryhmä/5 Valmet Power Oy - Continual Improvement Web Tool Project plan Markus Sinisalo:

More information

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop Charles Finley Transformix Computer Corporation Cloud, Mobile and Web Development Workshop: A Hands-on Tools-Based

More information

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series www.cumulux.com

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series www.cumulux.com ` CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS Review Business and Technology Series www.cumulux.com Table of Contents Cloud Computing Model...2 Impact on IT Management and

More information

SplendorNet. Pvt. Ltd. www. www. www. Riding The Future. Portfolio. You could say, we do it all... (and you'd be right.)

SplendorNet. Pvt. Ltd. www. www. www. Riding The Future. Portfolio. You could say, we do it all... (and you'd be right.) SplendorNet Pvt. Ltd. www www www Riding The Future Web Portfolio You could say, we do it all... (and you'd be right.) About Us SplendorNet Technologies Pvt. Ltd. is a fast growing company striving for

More information

Mark Bennett. Search and the Virtual Machine

Mark Bennett. Search and the Virtual Machine Mark Bennett Search and the Virtual Machine Agenda Intro / Business Drivers What to do with Search + Virtual What Makes Search Fast (or Slow!) Virtual Platforms Test Results Trends / Wrap Up / Q & A Business

More information

Acronym Full Name Description. RoR Ruby on Rails Web application framework

Acronym Full Name Description. RoR Ruby on Rails Web application framework 1 Table of Contents 1. Introduction 1.1 Document Purpose 1.2 Product Scope 1.3 Intended Audience and Document Overview 1.4 Definitions, Acronyms, and Abbreviations 1.5 Document Conventions 1.6 References

More information

Developing Secure Mobile Applications from SharePoint Presented by Seyfarth Shaw LLP and Something Digital

Developing Secure Mobile Applications from SharePoint Presented by Seyfarth Shaw LLP and Something Digital Developing Secure Mobile Applications from SharePoint Presented by Seyfarth Shaw LLP and Something Digital Glenn Ferrie Practice Manager Something Digital, LLC Mark Soriano Application Development Manager

More information

PRINCIPAL JAVA ARCHITECT JOB ID: WD001087

PRINCIPAL JAVA ARCHITECT JOB ID: WD001087 PRINCIPAL JAVA ARCHITECT JOB ID: WD001087 The Principal Java Architect will lead/participate in the design, development, maintenance, and enhancements of worldwide business applications and Westum Products.

More information

QA AUTOMATION - DEVELOPER ADVANCED TESTING TOOLS. 30 years old - 6 years of experience

QA AUTOMATION - DEVELOPER ADVANCED TESTING TOOLS. 30 years old - 6 years of experience Victor B. QA AUTOMATION - DEVELOPER ADVANCED TESTING TOOLS 30 years old - 6 years of experience Business expertise: Languages: Software editors Romanian (Native speaker), Russian (Advanced), English (Advanced),

More information

Camp Washington and Northside Hardware Store Website. By: Kara Bomkamp, Jamie Frebis, & Mohamed Shaker Badr. Submitted to:

Camp Washington and Northside Hardware Store Website. By: Kara Bomkamp, Jamie Frebis, & Mohamed Shaker Badr. Submitted to: Camp Washington and Northside Hardware Store Website By: Kara Bomkamp, Jamie Frebis, & Mohamed Shaker Badr Submitted to: The Faculty of the School of Information Technology in Partial Fulfillment of the

More information

Software development & technologies in Market Research industry

Software development & technologies in Market Research industry Software development & technologies in Market Research industry Ember.js, PHP, ConfirmIt & Dimensions October 2014 1 ROC Online 2 Who we are and what we do? Team & Skills Process Software/Frameworks/Products

More information

AngularJS, Javascript, Prototype-based OO concept, RESTful Design Pattern, GWT, HTML5, Database.

AngularJS, Javascript, Prototype-based OO concept, RESTful Design Pattern, GWT, HTML5, Database. Position Code Role Skillsets Years of Experience TPM01 Senior Back End Application Developer Enterprise Architecture, Java EE, Java Spring Framework, Design Pattern, SOA, JPA, OSGI, Linux, Maven, Tomcat,

More information

How To Write A Web Server In Javascript

How To Write A Web Server In Javascript LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Course M20486 5 Day(s) 30:00 Hours Developing ASP.NET MVC 4 Web Applications Introduction In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools

More information

AppBoard TM 2.6. System Requirements. Technical Documentation. Version 2.6.0. July 2015

AppBoard TM 2.6. System Requirements. Technical Documentation. Version 2.6.0. July 2015 Technical Documentation AppBoard TM 2.6 System Requirements Version 2.6.0 July 2015 Edge Technologies 1881 Campus Commons Drive Suite 101 Reston, VA 20191 T 703.691.7900 F 703.691.4020 1.888.771.EDGE www.edge-technologies.com

More information

WHITE PAPER on Flex to HTML5 The Migration Challenge. April 2014

WHITE PAPER on Flex to HTML5 The Migration Challenge. April 2014 WHITE PAPER on Flex to HTML5 The Migration Challenge April 2014 TABLE OF CONTENTS Abstract... 3 Flex to HTML5 Migration Overview... 4 Migration Solutions... 5 Best Practises in Migration... 12 Key Challenges

More information

Muzikayise Flynn Buthelezi

Muzikayise Flynn Buthelezi MFB Project, 56 Marble road, Apple Orchids, Johannesburg, South Africa mobile: +27 82 594 4807 e-mail: muzi@mfbproject.co.za web: http://mfbproject.co.za/ Muzikayise Flynn Buthelezi Full Stack Javascript

More information

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist. 2013 IBM Corporation

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist. 2013 IBM Corporation Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist Objectives Worklight update Brief demonstration Experiences around cross-platform development 2 IBM MobileFirst

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

Dharshana Jayamaha (MBCS) Technical Lead / Senior Software Engineer

Dharshana Jayamaha (MBCS) Technical Lead / Senior Software Engineer Dharshana Jayamaha (MBCS) Technical Lead / Senior Software Engineer +94779362029 me@geewantha.com www.geewantha.com 27 years old Geewantha.com me@geewantha.com Experience Address NIC Nationality Date of

More information

RingBase. Software Requirements Specification. Feb 11, 2014. Chandra Krintz CS 189A. Wednesday 6PM. Date Feb 11, 2013 Mentor Colin Kelley

RingBase. Software Requirements Specification. Feb 11, 2014. Chandra Krintz CS 189A. Wednesday 6PM. Date Feb 11, 2013 Mentor Colin Kelley RingBase Software Requirements Specification Feb 11, 2014 Group Name: RingBase Instructor Course Lab Section Teaching Assistant Chandra Krintz CS 189A Wednesday 6PM Geoffrey Douglas Date Feb 11, 2013 Mentor

More information

Professional software development services. Website development portfolio

Professional software development services. Website development portfolio Professional software development services Website development portfolio Unicsoft was founded in December 2005, initially a team of 3 freelance-developers, focused on delivering high-quality solutions,

More information

Client-server 3-tier N-tier

Client-server 3-tier N-tier Web Application Design Notes Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web N-Tier Architecture network middleware middleware Client Web Server Application

More information

How To Build A Web App

How To Build A Web App UNCLASSIFIED Next Gen Web Architecture for the Cloud Era Chief Scientist, Raytheon Saturn 2013 28 Apr - 3 May Copyright (2013) Raytheon Agenda Existing Web Application Architecture SOFEA Lessons learned

More information

WE BUILD ONLINE SYSTEMS USEFUL WEB & MOBILE APPLICATIONS

WE BUILD ONLINE SYSTEMS USEFUL WEB & MOBILE APPLICATIONS WE BUILD ONLINE SYSTEMS USEFUL WEB & MOBILE APPLICATIONS Ruby On Rails Android Apple HTML5 RWD EXAMPLE CV OF OUR TEAM MEMBERS SENIOR CORE DEVELOPER SENIOR CORE DEVELOPER PROFILE SKILLS Bartosz is a developer,

More information

Ruby on Rails Development Services

Ruby on Rails Development Services Ruby on Rails Development Services Ruby on Rails Development Services for Startups In the startup environment flexibility and speed are essential for the development process. With CodeSWAT dedicated team

More information

Andrew Kovalenko Full Stack Web Developer

Andrew Kovalenko Full Stack Web Developer Andrew Kovalenko Full Stack Web Developer 3425 Lebon Dr apt. 925, San Diego CA 92122 USA Tel: +1 619 342 59 14 LinkedIn: https://www.linkedin.com/in/kovalenkoandrey Visit card: http://andrewkovalenko.com

More information

James Singletary IV :: Front End Web Developer located in Tampa, Florida

James Singletary IV :: Front End Web Developer located in Tampa, Florida James Singletary IV :: Front End Web Developer located in Tampa, Florida (813) 843 5176 :: jsingletaryiv@gmail.com :: jamessingletaryiv.com Technical Summary HTML5, CSS3, JavaScript / jquery, Ajax, JSON,

More information

ENGINEER - DEVELOPER ADVANCED PHP. 27 years old - 6 years of experience

ENGINEER - DEVELOPER ADVANCED PHP. 27 years old - 6 years of experience A0251 ENGINEER - DEVELOPER ADVANCED PHP 27 years old - 6 years of experience Business expert ise: Languages: Software editors, E- commerce, Tourism and leisure Romanian (Native speaker), English (Average)

More information

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS This article looks into the benefits of using the Platform as a Service paradigm to develop applications on the cloud. It also compares a few top PaaS providers

More information

JOB DESCRIPTION. Work Level : Technical Reporting to: Project Manager

JOB DESCRIPTION. Work Level : Technical Reporting to: Project Manager JOB DESCRIPTION Job/Position: Software Engineer Function : Products Technical Development and Implementation Work Level : Technical Reporting to: Project Manager 1. Purpose of the Position/Job Summary

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

NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases

NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases Background Inspiration: postgresapp.com demo.beatstream.fi (modern desktop browsers without

More information

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities:

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities: DTWMS Required Software Engineers 1. Senior Java Programmer (3 Positions) Responsibilities: Responsible to deliver quality software solutions using standard end to end software development cycle Collaborate

More information

Web Cloud Architecture

Web Cloud Architecture Web Cloud Architecture Introduction to Software Architecture Jay Urbain, Ph.D. urbain@msoe.edu Credits: Ganesh Prasad, Rajat Taneja, Vikrant Todankar, How to Build Application Front-ends in a Service-Oriented

More information

Multi-touch app development with modern web tools. David Reagan, Advanced Visualization Lab

Multi-touch app development with modern web tools. David Reagan, Advanced Visualization Lab Multi-touch app development with modern web tools David Reagan, Advanced Visualization Lab Advanced Visualization Lab A unit of the Research Technologies division of UITS Research Technologies is a PTI

More information

Period: 50 Hours of Code. Topic: Python Programming Mobile App Development Electronics and Robotics Web Development Game Programming Computer Security

Period: 50 Hours of Code. Topic: Python Programming Mobile App Development Electronics and Robotics Web Development Game Programming Computer Security HoC Semester One Foundation Level 50 K-Box 50 Hoc 50 hours compulsory course to warm up the students' minds and make them familiar with major aspects of the IT World. At this level we introduce major branches

More information

50 shades of Siebel mobile

50 shades of Siebel mobile 50 shades of Siebel mobile Markus Schneeweis ec4u expert consulting AG 1 Agenda Start Part 1 The disruption Part 2 What means mobile? Part 3 Siebel Mobile clash of the generations? Part 4 Our offer 7 Key

More information

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture Apps and data source extensions with APIs Future white label, embed or integrate Power BI Deploy Intelligent

More information

Whitepaper. Trans. for Mobile

Whitepaper. Trans. for Mobile Whitepaper Trans forming Your Vision Into Winning Solutions How to Save 50%, 75% or more for Mobile Appp Development www.baytechservices.com Background As mobile access has transitioned from a nice to

More information

Homework 3: Component & Interface Design

Homework 3: Component & Interface Design 1 Leah Staniorski 11/1/14 Homework 3: Component & Interface Design Introduction: Flexible Fitness will be a mobile application that allows users to create a personal profile. Through this personal profile,

More information

Constantly monitoring the technology landscape, we select and adopt for you the best solutions available.

Constantly monitoring the technology landscape, we select and adopt for you the best solutions available. Dear Sirs BrainCrumbz is a team of IT professionals specialised in crafting business software solutions ranging from mobile apps, to system integration, up to full-stack, web 2.0 Rich Internet Application.

More information

Tech Radar - May 2015

Tech Radar - May 2015 Tech Radar - May 2015 Or how Obecto is staying fresh and current with new technologies and tools, while maintaining its focus on the industry standards. This is our May 15 edition of the Obecto Tech Radar.

More information

Customer Bank Account Management System Technical Specification Document

Customer Bank Account Management System Technical Specification Document Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6

More information

Experience managing the delivery, ongoing success, and continuous improvement of one or more digital products and/or platforms.

Experience managing the delivery, ongoing success, and continuous improvement of one or more digital products and/or platforms. The labor categories that are within scope of this Multiple Award Blanket Purchase Agreement are the following: Category 1 - Product Manager Category 2 - Technical Architect Category 3 - Interaction Designer

More information

Making Mobile a Reality

Making Mobile a Reality Making Mobile a Reality KIEFER CONSULTING CALIFORNIA DEPARTMENT OF TECHNOLOGY Introductions Scott Paterson California Department of Technology, Enterprise Solutions Harkeerat Toor Kiefer Consulting, Consultant

More information

Description. Benefits. Requirements. Selection process. Duration

Description. Benefits. Requirements. Selection process. Duration PHP development Be part of a team that implements a web application displaying products from different affiliate platforms using their available API s. The application is developed using PhalconPHP framework

More information

OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures

OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures by Alexander Lomov, R&D Engineer at Altoros 2 Table of Contents: 1. Executive Summary... 3 2. The History of OpenShift

More information

WINDOWS AZURE EXECUTION MODELS

WINDOWS AZURE EXECUTION MODELS WINDOWS AZURE EXECUTION MODELS Windows Azure provides three different execution models for running applications: Virtual Machines, Web Sites, and Cloud Services. Each one provides a different set of services,

More information

Mobile Application Development

Mobile Application Development Web Engineering Mobile Application Development Copyright 2015 Slides from Federico M. Facca (2010), Nelia Lasierra (updates) 1 2 Where we are? # Date Title 1 5 th March Web Engineering Introduction and

More information

PHP FRONT END DEVELOPER (BERLIN)

PHP FRONT END DEVELOPER (BERLIN) On behalf of our client, a young and dynamic Online Internet Company in Berlin, we are currently accepting resumes for the following professional opportunity: PHP FRONT END DEVELOPER (BERLIN) An amazing

More information

BCIT COMPUTING offers courses and credentials in SIX related information technology sectors

BCIT COMPUTING offers courses and credentials in SIX related information technology sectors COMPUTING PART-TIME STUDIES SOFTWARE and MOBILE DEVELOPMENT ADVANCED WEB TECHNOLOGIES DATABASE and BUSINESS INTELLIGENCE BCIT COMPUTING offers courses and credentials in SIX related information technology

More information

GUI and Web Programming

GUI and Web Programming GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program

More information

AdRadionet to IBM Bluemix Connectivity Quickstart User Guide

AdRadionet to IBM Bluemix Connectivity Quickstart User Guide AdRadionet to IBM Bluemix Connectivity Quickstart User Guide Platform: EV-ADRN-WSN-1Z Evaluation Kit, AdRadionet-to-IBM-Bluemix-Connectivity January 20, 2015 Table of Contents Introduction... 3 Things

More information

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

More information

You ll need to have: It d be great if you have:

You ll need to have: It d be great if you have: DevOps We re looking for a Development Operations Developer with a passion for experimentation. If you re interested in helping us build the future of mobile healthcare, this job is for you. A strong background

More information

A H S A N M U H A M M A D J A W A I D

A H S A N M U H A M M A D J A W A I D A H S A N M U H A M M A D J A W A I D Visa Status: Valid Transferable Iqama (KSA) Cell No: +966 54 893 0539 E-Mail: ahsanmjawaid@gmail.com LinkedIn: https://sa.linkedin.com/in/ahsanmjawaid PROFESSIONAL

More information

Framework as a master tool in modern web development

Framework as a master tool in modern web development Framework as a master tool in modern web development PETR DO, VOJTECH ONDRYHAL Communication and Information Systems Department University of Defence Kounicova 65, Brno, 662 10 CZECH REPUBLIC petr.do@unob.cz,

More information

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME System Analysis and Design S.Mohammad Taheri S.Hamed Moghimi Fall 92 1 CHOOSE A PROGRAMMING LANGUAGE FOR THE PROJECT 2 CHOOSE A PROGRAMMING LANGUAGE

More information

Volkov Vyacheslav. Summary. Saransk, 430005, Mordovia, Russian Federation Moscow, Russian Federation +7(925) 022-57- 82.

Volkov Vyacheslav. Summary. Saransk, 430005, Mordovia, Russian Federation Moscow, Russian Federation +7(925) 022-57- 82. Volkov Vyacheslav Birthday: Birthplace: Location: E- mail: Skype: Phone: Homepage: CV profiles 10 April 1988 Saransk, 430005, Mordovia, Russian Federation Moscow, Russian Federation vexell@gmail.com vexellz

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 Monitored Student Testing Application Using Cloud Computing

A Monitored Student Testing Application Using Cloud Computing A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA r.mullapudi@spartans.nsu.edu, ghsieh@nsu.edu

More information

Introduction to Appeon Mobile

Introduction to Appeon Mobile Introduction to Appeon Mobile First-ever Mobility Solution for PowerBuilder Professionals Appeon Corporation www.appeon.com Copyright 2002-2012 Appeon. All rights reserved. Tel: 1-877-3APPEON Mobile Market

More information

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise Linux A first-class citizen in Windows Azure Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise 1 First, I am software developer (C/C++, ASM, C#, Java, Node.js,

More information

COMPASS Database Work in 2014/15

COMPASS Database Work in 2014/15 COMPASS Database Work in 2014/15 Martin Bodlak Joined Czech Group, COMPASS Experiment at CERN 30 July 2015 COMPASS database servers in 888 PCCODB00 VIRTUAL ADDR PCCODB22 CLIENTS PCCODB21 PCCODB23 PCCODB20

More information

SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems

SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems SavvyDox Publishing Augmenting SharePoint and Office 365 Document Content Management Systems Executive Summary This white paper examines the challenges of obtaining timely review feedback and managing

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

Security Certification of Third- Parties Applications

Security Certification of Third- Parties Applications Security Certification of Third- Parties Applications Stanislav Dashevskyi dashevskyi@fbk.eu Advisors: Fabio Massacci, Antonino Sabetta Agenda Introduction Third-party code in web applications Third-party

More information

system and integration with other internal platforms. Sr. Developer August 2011 August 2012

system and integration with other internal platforms. Sr. Developer August 2011 August 2012 Albert Rosa www.albert-rosa.com rosalbert@gmail.com COMPUTER SKILLS Languages Proficient in: HTML, PHP, JavaScript, MySQL, Microsoft Visual C#.NET, Java Familiar with: C++, J2ME, Microsoft Visual Basic,

More information