Intruduction to Groovy & Grails programming languages beyond Java

Size: px
Start display at page:

Download "Intruduction to Groovy & Grails programming languages beyond Java"

Transcription

1 Intruduction to Groovy & Grails programming languages beyond Java 1

2 Groovy, what is it? Groovy is a relatively new agile dynamic language for the Java platform exists since 2004 belongs to the family of modern easy to use scripting languages like Ruby, Python, or Pearl 2

3

4 Groovy s magic Groovy is simpler to write than Java advanced features allow for fewer lines of code Groovy relies on Java all Java APIs can be used with Groovy use Groovy to get rid of semicolons and other annoying must haves in Java see the power and elegance of Groovy ---> 4

5 rewriting Java code to Groovy 01 package hs-owl.korte.gex; import java.util.list; 04 import java.util.arraylist; public class Task { 08 private String name; 09 private String descr; public Task() {} public Task(String name, String descr) { 14 this.name = name; 15 this.descr = descr; 16 } public String getname() { 19 return name; 20 } public void setname(string name) { 23 this.name = name; 24 } public String getdescr() { 27 return descr; 28 } public void setdescr(string de) { 31 descr = de; 32 } public static void main(string[] args) { 35 List tasks = new ArrayList(); 36 tasks.add(new Task("1", "first")); 37 tasks.add(new Task("2", "second")); 38 tasks.add(new Task("3","third")); for(task ag : tasks) 41 System.out.println(ag.getName() + " " + ag.getdescr()); 42 } 43 } 44 }

6 simplifying the code example as Groovy class: 01 package hs-owl.korte.gex public class Task { private String name 06 private String descr public static void main(string[] args) { 09 def tasks = new ArrayList() 10 tasks.add(new Task (name:"1", descr:"first")) 11 tasks.add(new Task (name:"2", descr:"second")) 12 tasks.add(new Task (name:"3", descr:"third")) for(task ag : tasks) 15 println "$(ag.name) $(ag.descr)" 16 } 17 } 18 } implicitly included packages no semicolons necessary simpler println statement optional typing in line 09

7 further simplifying the code using Groovy's collection and map notation 01 package hs-owl.korte.gex public class Task { private String name 06 private String descr public static void main(string[] args) { 09 def tasks = [ 10 new Task(name:"1", descr:"first"), 11 new Task(name:"2", descr:"second"), 12 new Task(name:"3", descr:"third") 13 ] tasks.each { 16 println "$(it.name) $(it.descr)" 17 } 18 } 19 } for statement replaced with closure in line 09 closure = reusable block of code can be passed to methods, defined using keyword def ArrayList is expressed as [ ] closure is passed to each method, which is provided for collections (line 15)

8 getting rid of the main method example as Groovy script: 01 package hs-owl.korte.gex public class Task { private String name 06 private String descr } def tasks = [ 10 new Task(name:"1", descr:"first"), 11 new Task(name:"2", descr:"second"), 12 new Task(name:"3", descr:"third") 13 ] tasks.each { 16 println "$(it.name) $(it.descr)" 17 } 18 } 19 } a script is also compiled to a class Compare this with the original Java code!

9 getting started download Groovy from read the Getting Started Guide provided there it contains the installation instructions read my "Basic Groovy" slides for a brief introduction and how Groovy differs from Java Groovy Slides

10 Grails, what is it? developing Web applications of the Web 2.0 category used to be a hard an complex task, because it involves a lot of technologies: HTML, CSS, AJAX, XML, Web services, Java, databases, and frameworks like JSP or JSF with Grails this has become much easier Grails is an open source web framework and development platform based on Groovy scipts

11 literature Groovy: C. M. Judd, J. F. Nusairat, J. Shingler: Beginning Groovy and Grails - From Novice to Professional. Apress, 2008 Grails

12

13 Grails architecture { presentation tier business tier { data access tier { web browser or WS client controllers and views (Groovy, GSP) REST resources http Services data persistency layer (hibernate) and database driver tcp/ip database

14 Building a RESTful Web Service with Grails follow these 3 easy steps create domain classes describing the data update URL mappings to associate the http commands GET, POST, etc. with closures to be defined in the domain object controllers create domain controllers with closures to handle the http commands

15 an example example assignment: Write a Grails application named example for handling information about lectures and their associated learning documents. begin by creating an 'empty' grails application > grails create-app example > cd example Proxy must be set! > grails compile

16 create domain classes 1st step: create two domain classes: Don't forget the package! > grails create-domain-class mypac.lecture > grails create-domain-class mypac.document edit the generated domain classes to define the data fields

17 domain class Lecture class Lecture { String name String description insert here information about lectures static constraints = { name(blank:false) } String tostring() { } name } static hasmany = [documents:document]

18 domain class Document class Document { String name String storagelocation Lecture lecture insert here information about a document belonging to a lecture static constraints = { name(blank:false) } } String tostring() { name } static belongsto = Lecture

19 generate views and domain controllers create a complete application scaffold by issuing: > grails generate-all "*" run the application grails run-app

20 Modifying the Web Application to Return XML Data Instead of HTML Pages a web application denotes a client/server application using http as the transport protocol and HTML as the data format the client is a web browser a function (service) is selected via a HTML link a RESTful web service denotes the server side of a client/server application using http as the transport protocol and some machine readable data format the client is an application capable of reading and writing this data fomat using http commands - it may also be a web browser a function (service) is selected by forming a URL with a certain structure and using the right http command (GET, PUT, DELETE, POST)

21 planning the additional RESTful behavior the Web service should be access according to the URL schema: i.e.:

22 modifying URLMappings.groovy class UrlMappings { static mappings = { "/$controller/$action?/$id?"{ constraints { // apply constraints here } } "/"(view:"/index") "500"(view:'/error') // insert the following lines for a RESTful Web service "/rest/lecture/$id?"(controller:"lecture",action:"rest") "500"(view:'/error') "/rest/document/$id?"(controller:"document",action:"rest") "500"(view:'/error') } }

23 mapping actions to http operations http GET return details, when an id is given, return a list otherwise http POST create a lecture or a document http PUT modify a lecture or a document http DELETE delete a lecture or a document

24 include the rest action in the domain controllers def rest = { if (request.method == "GET") { if (params.id!= null) render Lecture.get(params.id) as JSON else render Lecture.list() as JSON } else if (request.method == "POST") { //... } else if (request.method == "PUT") { //... } else if (request.method == "DELETE") { //... } else { response.status = 406 } }

25 Lab Assignment write a Grails application as described in the assignment page Building a Grails Application with a RESTful Web Service Interface optional 8% bonus for < MIT-13 student mandatory LAB2 grading for MIT-13 students

Agile Development with Groovy and Grails. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Agile Development with Groovy and Grails. Christopher M. Judd. President/Consultant Judd Solutions, LLC Agile Development with Groovy and Grails Christopher M. Judd President/Consultant Judd Solutions, LLC Christopher M. Judd President/Consultant of Judd Solutions Central Ohio Java User Group (COJUG) coordinator

More information

Grails - Rapid Web Application Development for the Java Platform

Grails - Rapid Web Application Development for the Java Platform Grails - Rapid Web Application Development for the Java Platform Mischa Kölliker Guido Schmutz Zürich, 24.06.2008 Basel Baden Bern Lausanne Zurich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg Munich

More information

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant.

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant. Dynamic website development using the Grails Platform Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant.com Topics Covered What is Groovy? What is Grails? What are the

More information

BDD FOR AUTOMATING WEB APPLICATION TESTING. Stephen de Vries

BDD FOR AUTOMATING WEB APPLICATION TESTING. Stephen de Vries BDD FOR AUTOMATING WEB APPLICATION TESTING Stephen de Vries www.continuumsecurity.net INTRODUCTION Security Testing of web applications, both in the form of automated scanning and manual security assessment

More information

Building Web Services with Apache Axis2

Building Web Services with Apache Axis2 2009 Marty Hall Building Web Services with Apache Axis2 Part I: Java-First (Bottom-Up) Services Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, Struts, JSF/MyFaces/Facelets,

More information

The Google Web Toolkit (GWT): The Model-View-Presenter (MVP) Architecture Official MVP Framework

The Google Web Toolkit (GWT): The Model-View-Presenter (MVP) Architecture Official MVP Framework 2013 Marty Hall & Yaakov Chaikin The Google Web Toolkit (GWT): The Model-View-Presenter (MVP) Architecture Official MVP Framework (GWT 2.5 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html

More information

CSCI-UA:0060-02. Database Design & Web Implementation. Professor Evan Sandhaus sandhaus@cs.nyu.edu evan@nytimes.com

CSCI-UA:0060-02. Database Design & Web Implementation. Professor Evan Sandhaus sandhaus@cs.nyu.edu evan@nytimes.com CSCI-UA:0060-02 Database Design & Web Implementation Professor Evan Sandhaus sandhaus@cs.nyu.edu evan@nytimes.com Lecture #27: DB Administration and Modern Architecture:The last real lecture. Database

More information

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof. Web Frameworks web development done right Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.ssa Anna Corazza Outline 2 Web technologies evolution Web frameworks Design Principles

More information

WIRIS quizzes web services Getting started with PHP and Java

WIRIS quizzes web services Getting started with PHP and Java WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS

More information

Grails 1.1. Web Application. Development. Reclaiming Productivity for Faster. Java Web Development. Jon Dickinson PUBLISHING J MUMBAI BIRMINGHAM

Grails 1.1. Web Application. Development. Reclaiming Productivity for Faster. Java Web Development. Jon Dickinson PUBLISHING J MUMBAI BIRMINGHAM Grails 1.1 Development Web Application Reclaiming Productivity for Faster Java Web Development Jon Dickinson PUBLISHING J BIRMINGHAM - MUMBAI Preface Chapter 1: Getting Started with Grails 7 Why Grails?

More information

Web Services API Developer Guide

Web Services API Developer Guide Web Services API Developer Guide Contents 2 Contents Web Services API Developer Guide... 3 Quick Start...4 Examples of the Web Service API Implementation... 13 Exporting Warehouse Data... 14 Exporting

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

If you wanted multiple screens, there was no way for data to be accumulated or stored

If you wanted multiple screens, there was no way for data to be accumulated or stored Handling State in Web Applications Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web sources: Professional Java Server Programming, Patzer, Wrox Web Technologies:

More information

Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask

Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask Devert Alexandre December 29, 2012 Slide 1/62 Table of Contents 1 Model-View-Controller 2 Flask 3 First steps 4 Routing 5 Templates

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

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

An introduction to creating JSF applications in Rational Application Developer Version 8.0

An introduction to creating JSF applications in Rational Application Developer Version 8.0 An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create

More information

Server based signature service. Overview

Server based signature service. Overview 1(11) Server based signature service Overview Based on federated identity Swedish e-identification infrastructure 2(11) Table of contents 1 INTRODUCTION... 3 2 FUNCTIONAL... 4 3 SIGN SUPPORT SERVICE...

More information

YouTrack MPS case study

YouTrack MPS case study YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project

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

Building Java Servlets with Oracle JDeveloper

Building Java Servlets with Oracle JDeveloper Building Java Servlets with Oracle JDeveloper Chris Schalk Oracle Corporation Introduction Developers today face a formidable task. They need to create large, distributed business applications. The actual

More information

IT3503 Web Development Techniques (Optional)

IT3503 Web Development Techniques (Optional) INTRODUCTION Web Development Techniques (Optional) This is one of the three optional courses designed for Semester 3 of the Bachelor of Information Technology Degree program. This course on web development

More information

Implementing Mobile Thin client Architecture For Enterprise Application

Implementing Mobile Thin client Architecture For Enterprise Application Research Paper Implementing Mobile Thin client Architecture For Enterprise Paper ID IJIFR/ V2/ E1/ 037 Page No 131-136 Subject Area Information Technology Key Words JQuery Mobile, JQuery Ajax, REST, JSON

More information

Web Service Testing. SOAP-based Web Services. Software Quality Assurance Telerik Software Academy http://academy.telerik.com

Web Service Testing. SOAP-based Web Services. Software Quality Assurance Telerik Software Academy http://academy.telerik.com Web Service Testing SOAP-based Web Services Software Quality Assurance Telerik Software Academy http://academy.telerik.com The Lectors Snejina Lazarova Product Manager Talent Management System Dimo Mitev

More information

02267: Software Development of Web Services

02267: Software Development of Web Services 02267: Software Development of Web Services Week 8 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2013 Contents RESTful Services

More information

Consuming a Web Service(SOAP and RESTful) in Java. Cheat Sheet For Consuming Services in Java

Consuming a Web Service(SOAP and RESTful) in Java. Cheat Sheet For Consuming Services in Java Consuming a Web Service(SOAP and RESTful) in Java Cheat Sheet For Consuming Services in Java This document will provide a user the capability to create an application to consume a sample web service (Both

More information

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin. Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company

More information

Course Name: Course in JSP Course Code: P5

Course Name: Course in JSP Course Code: P5 Course Name: Course in JSP Course Code: P5 Address: Sh No BSH 1,2,3 Almedia residency, Xetia Waddo Duler Mapusa Goa E-mail Id: ITKP@3i-infotech.com Tel: (0832) 2465556 (0832) 6454066 Course Code: P5 3i

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

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &

More information

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, inemedi@ie.ase.ro Writing a custom web

More information

Security Testing For RESTful Applications

Security Testing For RESTful Applications Security Testing For RESTful Applications Ofer Shezaf, HP Enterprise Security Products ofr@hp.com What I do for a living? Product Manager, Security Solutions, HP ArcSight Led security research and product

More information

Networks and Services

Networks and Services Networks and Services Dr. Mohamed Abdelwahab Saleh IET-Networks, GUC Fall 2015 TOC 1 Infrastructure as a Service 2 Platform as a Service 3 Software as a Service Infrastructure as a Service Definition Infrastructure

More information

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

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

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application First Generation HTTP request (URL or Form posting) W HTTP response (HTML Document) W Client Tier Server Tier Data Tier Web CGI-Scripts

More information

02267: Software Development of Web Services

02267: Software Development of Web Services 02267: Software Development of Web Services Week 8 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2015 1 Recap I BPEL: I Doing

More information

1001ICT Introduction To Programming Lecture Notes

1001ICT Introduction To Programming Lecture Notes 1001ICT Introduction To Programming Lecture Notes School of Information and Communication Technology Griffith University Semester 2, 2015 1 3 A First MaSH Program In this section we will describe a very

More information

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program Free Java textbook available online "Thinking in Java" by Bruce Eckel, 4th edition, 2006, ISBN 0131872486, Pearson Education Introduction to the Java programming language CS 4354 Summer II 2015 The third

More information

Example. Represent this as XML

Example. Represent this as XML Example INF 221 program class INF 133 quiz Assignment Represent this as XML JSON There is not an absolutely correct answer to how to interpret this tree in the respective languages. There are multiple

More information

CUT YOUR GRAILS APPLICATION TO PIECES

CUT YOUR GRAILS APPLICATION TO PIECES CUT YOUR GRAILS APPLICATION TO PIECES BUILD FEATURE PLUGINS Göran Ehrsson Technipelago AB @goeh Göran Ehrsson, @goeh From Stockholm, Sweden 25+ years as developer Founded Technipelago AB Grails enthusiast

More information

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007 WWW World Wide Web Aka The Internet dr. C. P. J. Koymans Informatics Institute Universiteit van Amsterdam November 30, 2007 dr. C. P. J. Koymans (UvA) WWW November 30, 2007 1 / 36 WWW history (1) 1968

More information

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program

Free Java textbook available online. Introduction to the Java programming language. Compilation. A simple java program Free Java textbook available online "Thinking in Java" by Bruce Eckel, 4th edition, 2006, ISBN 0131872486, Pearson Education Introduction to the Java programming language CS 4354 Summer II 2014 Jill Seaman

More information

ANDROID APPS DEVELOPMENT FOR MOBILE GAME

ANDROID APPS DEVELOPMENT FOR MOBILE GAME ANDROID APPS DEVELOPMENT FOR MOBILE GAME Lecture 7: Data Storage and Web Services Overview Android provides several options for you to save persistent application data. Storage Option Shared Preferences

More information

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. Java in Web 2.0 Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. 1 Agenda Java overview Technologies supported by Java Platform to create Web 2.0 services Future

More information

Adding Web 2.0 features to a Fleet Monitoring Dashboard

Adding Web 2.0 features to a Fleet Monitoring Dashboard SpaceOps 2010 ConferenceDelivering on the DreamHosted by NASA Mars 25-30 April 2010, Huntsville, Alabama AIAA 2010-2249 Adding Web 2.0 features to a Fleet Monitoring Dashboard

More information

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support General principles and architecture of Adlib and Adlib API Petra Otten Manager Customer Support Adlib Database management program, mainly for libraries, museums and archives 1600 customers in app. 30 countries

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

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets

More information

Web development... the server side (of the force)

Web development... the server side (of the force) Web development... the server side (of the force) Fabien POULARD Document under license Creative Commons Attribution Share Alike 2.5 http://www.creativecommons.org/learnmore Web development... the server

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

UNIVERSITY OF ILLINOIS AT CHICAGO University of Illinois Ready

UNIVERSITY OF ILLINOIS AT CHICAGO University of Illinois Ready UNIVERSITY OF ILLINOIS AT CHICAGO University of Illinois Ready Kuali Ready & University of Illinois Ready Web-Based System adopted by all three campuses of the University of Illinois system Step by step

More information

Programming Languages CIS 443

Programming Languages CIS 443 Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception

More information

Database Migration Plugin - Reference Documentation

Database Migration Plugin - Reference Documentation Grails Database Migration Plugin Database Migration Plugin - Reference Documentation Authors: Burt Beckwith Version: 1.4.0 Table of Contents 1 Introduction to the Database Migration Plugin 1.1 History

More information

Rapid Application Development. and Application Generation Tools. Walter Knesel

Rapid Application Development. and Application Generation Tools. Walter Knesel Rapid Application Development and Application Generation Tools Walter Knesel 5/2014 Java... A place where many, many ideas have been tried and discarded. A current problem is it's success: so many libraries,

More information

The end. Carl Nettelblad 2015-06-04

The end. Carl Nettelblad 2015-06-04 The end Carl Nettelblad 2015-06-04 The exam and end of the course Don t forget the course evaluation! Closing tomorrow, Friday Project upload deadline tonight Book presentation appointments with Kalyan

More information

Certified PHP/MySQL Web Developer Course

Certified PHP/MySQL Web Developer Course Course Duration : 3 Months (120 Hours) Day 1 Introduction to PHP 1.PHP web architecture 2.PHP wamp server installation 3.First PHP program 4.HTML with php 5.Comments and PHP manual usage Day 2 Variables,

More information

Web Development on the SOEN 6011 Server

Web Development on the SOEN 6011 Server Web Development on the SOEN 6011 Server Stephen Barret October 30, 2007 Introduction Systems structured around Fowler s patterns of Enterprise Application Architecture (EAA) require a multi-tiered environment

More information

Modern Web Development From Angle Brackets to Web Sockets

Modern Web Development From Angle Brackets to Web Sockets Modern Web Development From Angle Brackets to Web Sockets Pete Snyder Outline (or, what am i going to be going on about ) 1.What is the Web? 2.Why the web matters 3.What s unique about

More information

Developing modular Java applications

Developing modular Java applications Developing modular Java applications Julien Dubois France Regional Director SpringSource Julien Dubois France Regional Director, SpringSource Book author :«Spring par la pratique» (Eyrolles, 2006) new

More information

Automatic generation of fully-executable code from the Domain tier of UML diagrams

Automatic generation of fully-executable code from the Domain tier of UML diagrams Abstract. Automatic generation of fully-executable code from the Domain tier of UML diagrams Macario Polo, Agustín Mayoral, Juan Ángel Gómez and Mario Piattini Alarcos Group - Department of Computer Science

More information

System i Windows Integration Solutions

System i Windows Integration Solutions System i Windows Integration Solutions Jim Mason Cape Cod Bay Systems Quick Web Solutions jemason@ebt-now.com 508-728-4353 NEMUG - 2011 What we'll cover Introduction Windows Integration use cases Windows

More information

How to Code With MooTools

How to Code With MooTools Advanced Web Programming Jaume Aragonés Ferrero Department of Software and Computing Systems A compact JavaScript framework MOOTOOLS Index What is MooTools? Where to find? How to download? Hello World

More information

How to make a good Software Requirement Specification(SRS)

How to make a good Software Requirement Specification(SRS) Information Management Software Information Management Software How to make a good Software Requirement Specification(SRS) Click to add text TGMC 2011 Phases Registration SRS Submission Project Submission

More information

How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post

How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post Understanding Architecture and Framework of J2EE using Web Application Devadrita Dey Sarkar,Anavi jaiswal, Ankur Saxena Amity University,UTTAR PRADESH Sector-125, Noida, UP-201303, India Abstract: This

More information

CAKEPHP & EXTJS - RESPONSIVE WEB TECHNOLOGIES

CAKEPHP & EXTJS - RESPONSIVE WEB TECHNOLOGIES CAKEPHP & EXTJS - RESPONSIVE WEB TECHNOLOGIES Davor Lozić, Alen Šimec Tehničko veleučilište u Zagrebu Sažetak Ovaj rad prikazuje današnje, moderne tehnologije za responzivni web. Prikazuje način na koji

More information

Kotlin for Android Developers

Kotlin for Android Developers Kotlin for Android Developers Learn Kotlin in an easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published

More information

API documentation - 1 -

API documentation - 1 - API documentation - 1 - Table of Contents 1. Introduction 1.1. What is an API 2. API Functions 2.1. Purge list of files 2.1.1 Description 2.1.2 Implementation 2.2. Purge of whole cache (all files on all

More information

Table of contents. Reverse-engineers a database to Grails domain classes.

Table of contents. Reverse-engineers a database to Grails domain classes. Table of contents Reverse-engineers a database to Grails domain classes. 1 Database Reverse Engineering Plugin - Reference Documentation Authors: Burt Beckwith Version: 0.5.1 Table of Contents 1 Introduction

More information

NoSQL and Agility. Why Document and Graph Stores Rock November 12th, 2015 COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED

NoSQL and Agility. Why Document and Graph Stores Rock November 12th, 2015 COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED NoSQL and Agility Why Document and Graph Stores Rock November 12th, 2015 COPYRIGHT 2015 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED Description We have all heard about how NoSQL databases are being adopted

More information

Lecture 2. Internet: who talks with whom?

Lecture 2. Internet: who talks with whom? Lecture 2. Internet: who talks with whom? An application layer view, with particular attention to the World Wide Web Basic scenario Internet Client (local PC) Server (remote host) Client wants to retrieve

More information

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead Eclipse Web Tools Platform Naci Dai (Eteration), WTP JST Lead 2007 by Naci Dai and Eteration A.S. ; made available under the EPL v1.0 Istanbul April 30, 2007 Outline WTP Organization JSF Overview and Demo

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

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise

More information

Building and Using Web Services With JDeveloper 11g

Building and Using Web Services With JDeveloper 11g Building and Using Web Services With JDeveloper 11g Purpose In this tutorial, you create a series of simple web service scenarios in JDeveloper. This is intended as a light introduction to some of the

More information

Performance Testing for Ajax Applications

Performance Testing for Ajax Applications Radview Software How to Performance Testing for Ajax Applications Rich internet applications are growing rapidly and AJAX technologies serve as the building blocks for such applications. These new technologies

More information

ALERT & Cisco CallManager

ALERT & Cisco CallManager Micromedia International Technical specification Author : Pierre Chevrier Pages : 28 Company : Micromedia International Date : 26/05/2011 Réf. : ETT_20090618_000001.docx ALERT & Cisco CallManager This

More information

INF 212 ANALYSIS OF PROG. LANGS ADVERSITY. Instructors: Crista Lopes Copyright Instructors.

INF 212 ANALYSIS OF PROG. LANGS ADVERSITY. Instructors: Crista Lopes Copyright Instructors. INF 212 ANALYSIS OF PROG. LANGS ADVERSITY Instructors: Crista Lopes Copyright Instructors. random quotes. just because We have forty million reasons for failure, but not a single excuse. It's fine to celebrate

More information

Slides from INF3331 lectures - web programming in Python

Slides from INF3331 lectures - web programming in Python Slides from INF3331 lectures - web programming in Python Joakim Sundnes & Hans Petter Langtangen Dept. of Informatics, Univ. of Oslo & Simula Research Laboratory October 2013 Programming web applications

More information

branddocs Technology edocument Solutions V.1.0.2013 V.11.0.2013

branddocs Technology edocument Solutions V.1.0.2013 V.11.0.2013 branddocs Technology V.1.0.2013 V.11.0.2013 edocument Solutions Contents 1.- Branddocs' Development Technology 03 2.- Development Technology Features 04 3.- Technical Architecture 05 4.- Description of

More information

Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is

Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is Chris Panayiotou Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is the current buzz in the web development

More information

IT6503 WEB PROGRAMMING. Unit-I

IT6503 WEB PROGRAMMING. Unit-I Handled By, VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603203. Department of Information Technology Question Bank- Odd Semester 2015-2016 IT6503 WEB PROGRAMMING Mr. K. Ravindran, A.P(Sr.G)

More information

LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description

LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description Mastering LINUX Vikas Debnath Linux Administrator, Red Hat Professional Instructor : Vikas Debnath Contact

More information

Overview of Web Services API

Overview of Web Services API 1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various

More information

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains

More information

public void setusername(string username) { this.username = username; } public void setname(string name) { this.name = name; }

public void setusername(string username) { this.username = username; } public void setname(string name) { this.name = name; } User-klassen package domain; import dk.au.hum.imv.persistence.db.databasepersistent; public class User extends DatabasePersistent { private String username; private String name; private String address;

More information

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Enterprise Web 2.0 >>> FAST White Paper November 2006 Abstract Modern Rich Internet Applications for SOA have to cope with

More information

Certified Selenium Professional VS-1083

Certified Selenium Professional VS-1083 Certified Selenium Professional VS-1083 Certified Selenium Professional Certified Selenium Professional Certification Code VS-1083 Vskills certification for Selenium Professional assesses the candidate

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

DreamFactory Security Whitepaper Customer Information about Privacy and Security

DreamFactory Security Whitepaper Customer Information about Privacy and Security DreamFactory Security Whitepaper Customer Information about Privacy and Security DreamFactory Software publishes rich applications for salesforce.com. All of our products for salesforce use the DreamFactory

More information

Tableau Server Trusted Authentication

Tableau Server Trusted Authentication Tableau Server Trusted Authentication When you embed Tableau Server views into webpages, everyone who visits the page must be a licensed user on Tableau Server. When users visit the page they will be prompted

More information

Forms, CGI Objectives. HTML forms. Form example. Form example...

Forms, CGI Objectives. HTML forms. Form example. Form example... The basics of HTML forms How form content is submitted GET, POST Elements that you can have in forms Responding to forms Common Gateway Interface (CGI) Later: Servlets Generation of dynamic Web content

More information

SiteCelerate white paper

SiteCelerate white paper SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance

More information

Module 4: File Reading. Module 5: Database connection

Module 4: File Reading. Module 5: Database connection WEB SERVICES TESTING COURSE OUTLINE Module 1: Introduction to Web services What is a web service? Why do we use web service? What is XML? Why XML is used for communication? Famous protocols used in web

More information

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ CTIS 256 Web Technologies II Week # 1 Serkan GENÇ Introduction Aim: to be able to develop web-based applications using PHP (programming language) and mysql(dbms). Internet is a huge network structure connecting

More information

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically related data for

More information

Grails: Accelerating J2EE Application Development

Grails: Accelerating J2EE Application Development A Cygnet Infotech Whitepaper Grails: Accelerating J2EE Application Development A closer look at how Grails changed the GAME Introduction: Let s face the reality: developing web applications is not at all

More information

Introduction to Ruby on Rails

Introduction to Ruby on Rails Introduction to Ruby on Rails Welcome to the puzzle.it s a fun ride! By Steve Keener Terms you will hear Full stack Active Record Object Relational Model (ORM) MVC Gems RHTML Migration SVN What is RoR?

More information

Instructor: Betty O Neil

Instructor: Betty O Neil Introduction to Web Application Development, for CS437/637 Instructor: Betty O Neil 1 Introduction: Internet vs. World Wide Web Internet is an interconnected network of thousands of networks and millions

More information

A Tool for Evaluation and Optimization of Web Application Performance

A Tool for Evaluation and Optimization of Web Application Performance A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 cernyto3@fel.cvut.cz Michael J. Donahoo 2 jeff_donahoo@baylor.edu Abstract: One of the main goals of web application

More information

How To Write An Ria Application

How To Write An Ria Application Document Reference TSL-SES-WP-0001 Date 4 January 2008 Issue 1 Revision 0 Status Final Document Change Log Version Pages Date Reason of Change 1.0 Draft 17 04/01/08 Initial version The Server Labs S.L

More information