INF5750/9750 Introduction INF5750/9750 - Lecture 1 (Part I)



Similar documents
INF5750/9750 Introduction INF5750/ Lecture 1 (Part I)

Responsive, resilient, elastic and message driven system

Performance Optimization For Operational Risk Management Application On Azure Platform

Portals, Portlets & Liferay Platform

INFSCI 1017 Implementation of Information Systems

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

Client Overview. Engagement Situation. Key Requirements

Enterpise Mobility Lexicon & Terminology

SAP Mobile Platform Intro

Hudson configuration manual

Portal In Anger. Ray Ploski Team Lead - Solutions Architecture, JBoss by Red Hat June 22, 2010

Abstract. Description

SALARY SURVEY Technology. Specialists in technology recruitment Technology

This document gives an outline of Tim Ward s work on mobile phone systems

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Agile Best Practices and Patterns for Success on an Agile Software development project.

Lucy Zhang UI Developer Contact:

CS396A UGP Presentation. Dr. Prabhakar T.V

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

Apache Sling A REST-based Web Application Framework Carsten Ziegeler cziegeler@apache.org ApacheCon NA 2014

Case Study. Web Application for Financial & Economic Data Analysis Brainvire Infotech Pvt. Ltd Page 1 of 1

JAVA/J2EE DEVELOPER RESUME

Preface. Motivation for this Book

MEAN/Full Stack Web Development - Training Course Package

NextRow - AEM Training Program Course Catalog

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Jenkins User Conference Herzelia, July #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP

JVA-561. Developing SOAP Web Services in Java

MODERN WEB APPLICATION DEVELOPMENT WORKFLOW

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

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

Eclipse Open Healthcare Framework

Building native mobile apps for Digital Factory

SUMMARY CURRICULUM VITAE J. Andries

Networks and Services

Scaling Web Applications in a Cloud Environment. Emil Ong Caucho Technology 8621

Gabriel Iuga. London, United Kingdom Tel: ; Website:

BPM for Quality Assurance Systems in Higher Education. Vicente Cerverón-Lleó, Juan Cabotà-Soro, Francisco Grimaldo-Moreno, Ricardo Ferrís-Castell

S3 Monitor Design and Implementation Plans

MS 20487A Developing Windows Azure and Web Services

CSCI E 98: Managed Environments for the Execution of Programs

Data Visualization in Ext Js 3.4

Web Development with the Eclipse Platform

White Paper On. Single Page Application. Presented by: Yatin Patel

Drupal CMS for marketing sites

Safe Harbor Statement

MOC DEVELOPING WINDOWS AZURE AND WEB SERVICES

Server-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124

Team: May15-17 Advisor: Dr. Mitra. Lighthouse Project Plan Client: Workiva Version 2.1

Debugging Mobile Apps

Java/J2EE or Web Developer. Formal Education. Technical knowledge. Spoken Languages

Building Web Applications, Servlets, JSP and JDBC

Mastering Continuous Integration with Jenkins

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

NetBeans IDE Field Guide

Programma corso di formazione J2EE

GIT 335 COMPUTER SYSTEMS TECHNOLOGY Course Syllabus Fall 2008 Professor Penny Ann Dolin

Clearing the Fog: Understanding z Systems Cloud Technology Options

IML 400 Creative Coding for the Web

FROM BANNER 8 TO BANNER XE. What s the story?

Course Summary. Prerequisites

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

Operations and Monitoring with Spring

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Community Systems Management Open Source COSMOS Creation Review

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

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

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

DevOps. Josh Preston Solutions Architect Stardate

Extend WTP Server Tools for your application server. Tim deboer Gorkem Ercan

Web Cloud Architecture

Pro<DOC/> e-commerce Technology An Introduction

Information Technology Services

Continuous Integration using Docker & Jenkins

Lecture 10 Fundamentals of GAE Development. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Computer Science CS 2334: Programming structures and abstractions

CrownPeak Java Web Hosting. Version 0.20

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

RFID Based 3D Indoor Navigation System Integrated with Smart Phones

Course Design Document: IS429: Cloud Computing and SaaS Solutions. Version 1.0

Web Applications: Overview and Architecture

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

Pentesting Web Frameworks (preview of next year's SEC642 update)

<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server

Certified Selenium Professional VS-1083

Developing ASP.NET MVC 4 Web Applications

PERSONAL DETAILS PROFESSIONAL PROFILE. Name: Eoin McCarthy. 3rd April Day of Birth: Irish (with valid Australian visa) Nationality: Phone:

This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud.

Apache Jakarta Tomcat

Automated Data Ingestion. Bernhard Disselhoff Enterprise Sales Engineer

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Transcription:

INF5750/9750 Introduction INF5750/9750 - Lecture 1 (Part I) Lecturers: Magnus Korvald: korvald@ifi.uio.no

Lecture 1 - overview Course content Assignments and group work Prerequisites Thorough general programming Java programming Professor Kristin Braa presenting DHIS2 and HISP after the break

What s open source development? Develop a software system in a team Use open source frameworks Be able to participate in developing DHIS2, one of the largest health information systems in the world Understand what people are talking about when you leave campus and get a job

INF5750 Open source course Web-enabled software using common server components such as Spring and Hibernate Introduction to HTML5 and Javascript mobile app development single-page web app dev (SPA) open source licensing and the consequences

The course 1/2 Version control system (GIT). Keeps versions/backups and helps you share. Maven is a build tool. It helps you organize modules and build them. Spring: object framework. Configure objects & how they connect at runtime. Hibernate maps your relational database into Java objects, and back. Model View Controller separates user interface, controllers and data model. 1.1 6.6 2.4

The course 2/2 Java servlet container to run java program (Tomcat, Jboss, WevSphere and so on...) Wiki project space RESTful services HTTP Request/Reponse JSON (JavaScript Object Notation) Javascript-enabled HTML-apps DHIS2 Web apps using DHIS2 web API AngularJS

Two architectures Rendering of HTML sent from server Javascript parses data from server and creates HTML Server-generated HTML files Create HTML dynamically. JSON Static HTML and Javascript APIs providing information in JSONformat.

DHIS2: Open Platform Expert Tools DHIS 2 Analytics DHIS 2 Web APIs Mobile Collection emedical Records Human Resource DHIS 2 Data Entry Apps Transactional Systems

Approach Lectures Magnus Korvald: korvald@ifi.uio.no Knut Staring: knutst@ifi.uio.no Guest lecturers Lab sessions 4 obligatory assignments (individual) Group project in teams of 3 developers Considerable amount of self-study First part of course and assignments focus on traditional server-side web development. Group projects focus on Javascripts-enabled Apps accessing APIs on the server, which is becoming a more common architecture.

Evaluation Individual assignment 1 (Next week) Individual assignment 2 (Three weeks) Individual assignment 3 (End September) Individual assignment 4 (Early oktober) Group project work 3 milestones and final delivery late November Group presentation Early December Individual essay Pass/fail - all deliverables must be passed

Lab sessions Check the lab session schedule on http://www.uio.no/studier/emner/matnat/ifi/inf5750/h15/timeplan/index.html Gruppe 1 - Tue 10:15-12:00 Gruppe 2 - Tue 12:15-14:00 Gruppe 3 - Fri 12:15-14:00 Gruppe 4 - Mon 10:15-12:00 Gruppe 5 - Thu 16:15-18:00 Attend lab sessions. Bring your laptop!

Assignment 1 Generate a SSH key pair in order to set up git repository Deadline next Friday Short time, but simple No retry

Assignment 2 Get development environment installed Eclipse, Maven, Launchpad etc. Create a simple Eclipse project Include Spring components Include Hibernate components Run it to make sure it works Check into revision control Tips Use own laptop may be simpler. You need extra space on computer account. The assignment is ahead of the course content!

Assignment 3 You will get a web based user interface and API model for a student system You must implement the database model using Hibernate and implement test classes Prerequisites: Eclipse, Maven etc set up (assignment 1) Need extra space on your university account

Assignment 4 HTML5 and Single-Page-App development Adding a Spring-MVC Rest-based API Doing Javascript call to fetch data from server and rendering this as HTML Some other HTML5 features Mobile client using Cordova

Group project Develop functionality for DHIS2 A real-life open source project Objective Learn the most common open source components within the open source community and industry Learn to collaborate in teams Learn to develop in teams, sharing code Learn to document Several groups will be working on the same project assignment.

No grades this year but Contest - Best Group Project presentation app teamwork Winners officially announced on the webpage The group work can become part of your master project The industry is interested in the best group projects! We are also hiring: summer jobs, part time and full time

Essay The last deliverable will be an individual essay.

Learning resources Online documentation and examples for Spring, Hibernate and Maven are good Note that some examples are old and do not use all capabilities that are now possible Book: Manning. Spring in action (you should read the whole book) http://www. manning.com/walls5/ Robert C. Martin - Clean Code