Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18

Similar documents
Course. Multimediale Informationssysteme 2. Lecturer. Lecturer VU SS

Comparing Java Web Frameworks

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

(p t y) lt d. 1995/04149/07. Course List 2018

Etanova Enterprise Solutions

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1

Developing Ajax Web Apps with GWT. Session I

Building Rich Applications with Appcelerator

Introduction Haim Michael. All Rights Reserved.


of making things look better with CSS, and you have a much better platform for interface development.

Project Horizon Technical Overview. Steven Forman Principal Technical Consultant

Project Horizon Technical Overview. Bob Rullo GM; Presentation Architecture

Backend Web Frameworks

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred

7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these.

Groovy and Grails in Google App Engine

J2EE Technologies. Industrial Training

Comparing Web Frameworks JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket

Tapestry. Code less, deliver more. Rayland Jeans

Web Technologies VU ( ) Vedran Sabol. Nov 13, ISDS, TU Graz. Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, / 60

WWW Architecture. Software Architecture VO/KU ( / ) Denis Helic. KMI, TU Graz. Dec 7, 2011

Architectural Styles II

Web 2.0 Käyttöliittymätekniikat

Google Web Toolkit (GWT)

RIA Security - Broken By Design. Joonas Lehtinen IT Mill - CEO

Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE

A Model-Controller Interface for Struts-Based Web Applications

Cleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

The Role of Standards and Open Source Software in Student Information Systems

Grails Framework. Modern Web Applications written in Groovy CERN EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH. Eloy Reguero Fuentes.

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017

Introduction to GraphQL and Relay. Presenter: Eric W. Greene

Courslets, a golf improvement web service. Peter Battaglia

CSC 443: Web Programming

Etanova Enterprise Solutions

RESTful Java Web Services

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries

JavaScript Web Applications: JQuery Developers' Guide To Moving State To The Client By Alex MacCaw READ ONLINE

Groovy & Grails in Depth

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Development of web applications using Google Technology

Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:

Overview of Web Application Development

IBM JZOS Meets Web 2.0

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

WWW Architecture I. Software Architecture VO/KU ( / ) Roman Kern. KTI, TU Graz

Improve and Expand JavaServer Faces Technology with JBoss Seam

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries

JSF: Introduction, Installation, and Setup

Motivations. Luigi De Russis. Why Ruby (on Rails)?

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears

Working with Javascript Building Responsive Library apps

Databases 2 (VU) ( )

a Very Short Introduction to AngularJS

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

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT

Credits: Some of the slides are based on material adapted from

Making Ajax Easy With Model-Glue. Joe Rinehart Firemoss, LLC

Say goodbye to the pains of Ajax. Yibo

Architectural patterns

CMPE 131 Software Engineering. Ruby on Rails Introduction

Programming for Digital Media. Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK

Groovy & Grails Scripting for Modern Web Applications. Rohit Nayak Talentica Software

CS Final Exam Review Suggestions - Spring 2018

CSC309: Introduction to Web Programming. Lecture 11

Web-based IDE for Interfacing View Controller

Learn Ruby On Rails For Web Development Learn Rails The Fast And Easy Way

COURSE SYLLABUS. Complete JAVA. Industrial Training (3 MONTHS) PH : , Vazhoor Road Changanacherry-01.

CPET 581 E-Commerce & Business Technologies. Topics

Web Programming. Lecture 11. University of Toronto

Javascript Validator Xml Schema Eclipse Plugin

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first.

welcome to BOILERCAMP HOW TO WEB DEV

What s new in Spring Web Flow 2.0

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

CL_55244 JavaScript for Developers

IT6503 WEB PROGRAMMING. Unit-I

Implementing a Numerical Data Access Service

CIS 3308 Web Application Programming Syllabus

CSCI-2320 Web Programming: Ruby on Rails

Mischa Kölliker. JavaLounge Zürich, 23. Juni 2009

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum


Remote Health Service System based on Struts2 and Hibernate

Jakarta Struts: An MVC Framework

CIS 408 Internet Computing (3-0-3)

PGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right?

Web Development for Dinosaurs An Introduction to Modern Web Development

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

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

Description of CORE Implementation in Java

REST Easy with Infrared360

Mix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

SUBJECT OUTLINE DETAILS

AJAX Programming Chris Seddon

Transcription:

Web Frameworks MMIS 2 VU SS 2011-707.025 Denis Helic KMI, TU Graz March 10, 2011 Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 1 / 18

Web Application Frameworks MVC Frameworks for Web applications Struts, Stripes (Java) Rails (Ruby) Grails (Groovy) AJAX, e.g. GWT Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 2 / 18

Web Services Frameworks (REST) REST Frameworks Restlet Rails plugins e.g. http://rubyforge.org/projects/restful-rails/ Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 3 / 18

Struts Official project homepage: http://struts.apache.org/ Java Server-Side Web Framework One of the first Web frameworks Currently in version 2.x.x Follows a MVC design pattern to separate content, logic, presentation Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 4 / 18

Struts Controller is already available You need to configure it (a lot of XML configuration files) Model is a collection of application specific Java classes You need to implement them View is a collection of JSP pages You need to implement them Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 5 / 18

Struts Heavyweight A lot to learn before you can start with development But still very popular with active community Documentation, books are available Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 6 / 18

Stripes Official project homepage: http://www.stripesframework.org/display/stripes/home Zero external configuration per page/action Dynamic features of Java to map URLs to actions You map parts of URL to a Java class The rest is mapped to a method of that class Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 7 / 18

Ruby on Rails Official project homepage: http://www.rubyonrails.com/ Ruby is an object-oriented dynamic progamming language Similar to Smalltalk, Python Ruby homepage: http://www.ruby-lang.org/en/ Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 8 / 18

Ruby on Rails Rails is an MVC Web Framework Principles behind Rails Less software (a lot of source code is generated - data driven) Convention over configuration (e.g., follow naming conventions and no need to configure anything) Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 9 / 18

Ruby on Rails Typical Ruby on Rails work-flow Create a database schema Follow convention about naming tables and columns Invoke a Rails script to generate model/controller classes Start Rails server Open your browser, access your application, and enjoy! Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 10 / 18

Ruby on Rails Very productive E.g., a small Web application with 2 related tables only 50 LOC Disadvantage: you need to learn Ruby I personally recommend it: you will for sure have fun with Rails! Educational purpose: very clean implementation of MVC Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 11 / 18

Grails Official project homepage: http://www.grails.org/ Groovy on Rails Groovy is a dynamic scripting language for the JVM - it allows you to use all the Java libraries Disadvantage: you need to learn Groovy but if you know Java you are all set up I personally recommend it! Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 12 / 18

Restlet You structure your system around resources You can think of a resource as a record in a database table You provide different representation of a resource e.g. XHTML, XML, JSON You define a URL pattern for resources e.g. /student/id Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 13 / 18

Restlet You have the complete HTTP semantics provided by the framework e.g. GET /student/1 retrieves default representation PUT /student/1 + representation in the body A Java method is called where you need to insert this new student Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 14 / 18

Restlet In essence it behaves like a controller You need to implement data management You need to implement user interface (e.g. with AJAX) Be careful not to brake addressability through JavaScript call sequences RESTLET + HIBERNATE + AJAX is also a recommendation! Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 15 / 18

AJAX Transparent AJAX calls Browser compatibility Some of them are Java-based You write code in Java, JavaScript+XHTML automatically generated Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 16 / 18

AJAX Prototype: http://www.prototypejs.org/ Scriptaculous: http://script.aculo.us/ Dojo: http://dojotoolkit.org/ jquery: http://jquery.com/ Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 17 / 18

Google Web Toolkit GWT: http://code.google.com/webtoolkit/ Is a JavaScript based MVC toolkit You write the code in Java that is then compiled in JavaScript View and controller in the browser, model on the server-side Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 18 / 18