Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions

Size: px
Start display at page:

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

Transcription

1 Dynamic website development using the Grails Platform Joshua Davis Senior Architect Cognizant Technology Solutions

2 Topics Covered What is Groovy? What is Grails? What are the Grails Principles? What can the Grails Portal do? Using the Grails Portal Framework? Grails Portal Visions for the future

3 What is Groovy? Is an agile and dynamic language for the Java Virtual Machine Builds upon the strengths of Java but has additional features. Makes modern programming features available to Java developers with almost-zero learning curve Supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain Makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL Increases developer productivity by reducing scaffolding code when developing web, GUI, database or console applications Simplifies testing by supporting unit testing and mocking out-of-thebox Seamlessly integrates with all existing Java objects and libraries Compiles straight to Java bytecode so you can use it anywhere you can use Java

4 What is Grails? A simplification of existing Java Web Application Frameworks. Embraces the Don't Repeat Yourself (DRY) principles. Originated from dynamic frameworks like Ruby on Rails and others. They have helped pave the way to a more modern way of thinking about web applications. Grails builds on these concepts and dramatically reduces the complexity of building web applications on the Java platform. Builds on already established Java technology like Spring & Hibernate.

5 What is Grails(continued)? Grails is a full stack framework and attempts to solve as many pieces of the web development puzzle through the core technology and it's associated plug-ins. Included out the box are things like: An easy to use Object Relational Mapping (ORM) layer built on Hibernate An expressive view technology called Groovy Server Pages (GSP) A controller layer built on Spring MVC A command line scripting environment built on the Groovy-powered Gant An embedded Tomcat container which is configured for on the fly reloading Dependency injection with the inbuilt Spring container Support for internationalization (i18n) built on Spring's core MessageSource concept A transactional service layer built on Spring's transaction abstraction All of these are made easy to use through the power of the Groovy language and the extensive use of Domain Specific Languages (DSLs)

6 What are the Grails Principles? DRY - Don't Repeat Yourself This principle is centered around the concept on a singular representation for everything in your application. The advantage of this is to lower the amount of maintenance needed and dramatically decrease complexity. Grails attempts to implement the DRY principle by having a well organized set of artifacts that the developer uses as well as using generators for source code. Convention over Configuration Design a framework so that it enforces standard naming conventions for mapping classes to resources or events. A programmer only needs to write the mapping configurations when the naming convention fails.

7 What Can the Grails Portal Do? Fundamental user-based set of functionality that can be used to write web applications that require users to be authorized and have personalization of presentation and functionality based upon the context of the logged in user.

8 Why a Grails Portal Most small web applications don t merit being created within a JSR- 168/286 portal environment. Fulfills the need for a rapid solution for allowing users to self-register and authenticate, and then manage the authorization of the user to specific functionality. Grails poses a very interesting choice for the class of database/model backed web-applications evidenced by it s Ability to incorporate new functionality quickly. Enabled by features and plug-ins for Grails. GSP templates Grails Object Relational Mapping (GORM) Web-Flow plug-in enables business processed based portal functionality to be quickly implemented. Grails UI plug-in enables Yahoo Ui Ajax functionality

9 Using the Grails Portal Framework

10 Developing with Grails What is recommended for Grails Development? Spring STS (SpringSource Tool Suite) version Grails Download the source code Java 1.6.x Groovy 1.7.x Download the source code Where can you go for help? Grails Portal Site Grails Site Groovy Site

11 Grails Portal Business Objects

12 Party Business Object A Party is an abstraction that signifies a specific individual that takes part in the system, but not necessarily only a person. It could be a system, individual user, or anything that can be identified by First Name and Last Name. These fields are the mandatory fields on the equivalent domain class. The Party class holds all of the information that composes an individual that participates in the functionality of the Portal.

13 Order Business Object The Order is an abstraction of the concept of Orders and fulfillment. This abstraction is important to the implementation of any selection for action from the website. Orders are done to establish that something needs to happen. Order Line items are created to track the specific Products that are selected by the user.

14 Product Business Object Products are an abstraction of the concept of any item that can be selected by a user. They are an abstract concept that is not necessarily something for sale. Products have line items that enable bundling of products into a larger product

15 Event Business Object Events are an abstraction of the concept of an occurrence of a business event. The recording of different types of business events enable business processes to be recorded along with all of the information associated with the process. The implementation of this Portal uses the Grails Web- Flow plug-in to initiate business events and track the progress of these events.

16 Grails Portal Domain Classes The tostring() method is implemented in each of the domain classes in this application. This is used in Grails scaffolding. Constraints are used in the domain classes to have a direct impact on how default Grails scaffolding generates controllers and views. In this application the blank:true and size:x x+n are commonly used to control how the fields are generated when they are generated through scaffolding. The nullable constraint relates directly back to how the domain class is generated into a table in that it makes the column mandatory (not null). Also, the size constraint gives the indication for how large the field will be in the database. All of the domain classes implement Serializable. This is mandatory if Grails Web-Flow plug-in is used.

17 Grails Portal Business Process Management using Grails Web-Flow Plug-in

18 Introduction to Grails Web-Flow Most web applications collect information in a stepwise fashion and then make business rule decisions based upon the data collected to accomplish some business functionality. This is a common requirement in any application, from a simple contact page to a commercial order management system. These types of requirements have been fulfilled in the past in many different ways.

19 Issues Grails Web-Flow Can Solve Termination/re-entry Workflow state Workflow Implementation Complexity

20 Grails Web-Flow It uses the well known Spring Web-Flow framework to manage the workflow. This framework handles the persistence of the workflow state and manages the issues when the refresh and back buttons are hit by the user during a workflow session. Its convention-based paradigm of Groovy simplifies the development process to implement the flows in a concise, understandable manner. Flows are created in a manner consistent with other Grails development. Grails domain classes make it simple to save the result of the workflow.

21 Grails Web-Flow Definition There are many types of workflow processes that exist, but it should be known that not all business flows lend themselves to being defined using Grails Web-Flow. There are three basic types of workflow: Human-based workflow This type of workflow is based upon the recording of activities strictly done by a human being where the intervals between recordings are extended and are not immediately ongoing. This can be, for example, the recording of a task such as a set of tests. Grails Web-Flow does not by default implement this type of workflow very well because it does not have the ability to re-constitute a workflow once the workflow session has been interrupted due to inactivity. Computer-based workflow This instance is where Grails Web-Flow shines. As in most web applications implemented using Grails Web-Flow, the intention is to collect data and guide the user between screens in one flow session. Mixed workflow (computer and human) used in Grails Portal A combination of the first two types, this hybrid workflow concept is a common reality when designing web applications. Grails Web-Flow can also implement this situation with a combination of traditional Grails web development and linked flows.

22 Grails Web-Flow Quick How To Planning is essential for success when defining a flow within a Grails application and all business processes can be distilled down to a basic set of steps. Whether you use a napkin or a formal diagram to document them, it is essential that you understand the required steps needed to implement the business process in your Grails application. In Grails Web-Flow, you take each of the steps and create a Groovy closure to capture the functionality. If you follow the normal process of GSP and Spring MVC web application development, you will find there are some slight adjustments required to enable flows to work.

23 Understanding Grails Web-Flow The name of the flow is described by adding the Flow word to the end of a closure in your controller. When you create the views, you must use the same name as the web-flow as a directory that contains the views for the web-flow. Navigating between the web-flows is pretty simple: The name property of the submit button for the pages in the flow indicates which closure to execute when the page is submitted. If the user navigates away from the flow, it is possible to re-establish the flow. Once the user ends the flow by hitting cancel, you have the ability to manage the data within the flow. Use the flow variable to store information for the span of a flow. The default context in a view used for a web-flow uses the flow variable. In your controller you should always have explicit entry points and exit points from the web-flow. This can be implemented by creating a default closure that will be used by the web-flow.

24 Web-Flow Best Practices Always use a service class when handling GORM objects. Either create a Grails service class or identify one that you will use to handle the saving of the data from the flow. Create a method to move the data from the posted web parameters to the domain objects. This process can vary widely in complexity. One of the easiest ways to do this is to have the names of the items on the view the same as the ones in your domain class. If you do this you can just instantiate the class using the parms variable it can be that simple! Create a custom Java Exception class similar to ValidationException. Make sure that you have a try, catch block around the call to catch a validation error. Write a method in service class to validate the domain object. If there is an error, throw a custom validation error that will show to the user the field that needs to be changed. Handle the exception. If there is an exception, make sure the appropriate values are set in the view, and return the model. If there is no exception, create the model objects needed and move the flow to the next page.

25 Web-Flow Demo From Grails Portal Code

26 Grails Portal Views

27 Grails Portal Views Using Ajax The decision was made to use the GrailsUI plug-in for implementing Ajax and Web 2.0 functionality within the Grails portal. This plug-in has a few major advantages: It fully uses the standard view functionality within Grails, adhering to the principles that I have laid out for the rest of the portal. It uses the Yahoo UI and Bubbling JavaScript libraries which are rich in functionality, but also very stable. It implements a minimal set of tag libraries which are easy to use and not too obtrusive to my existing GSP pages. It allows me to create my own set of tag libraries to implement functionality that doesn't exist in the GrailsUI tags without conflicts. It references the YahooUI JavaScript library is very well documented in theyahoo developer site.

28 Why are Grails Tag libraries so popular? A simple explanation would be that they are much easier to to develop than Java tag libraries. Grails tag libraries can be developed quickly, easily, and take much of the frustration out of user interface development when done in a pragmatic manner. In the chosen style of development for the Grails portal, JavaScript is doing much of the work to handle the user interaction in the web browser; consequently, the view files (GSP) often become a set of confusing CSS and JavaScript combined with Grails tags. With custom Grails tags in place this issue is reduced to a point where views are easily maintained. The implementation of the user interface functionality becomes more generic, and therefore increasingly adaptable when JavaScript libraries change.

29 Creating a Tag Library Demo From Grails Portal Code

30 Grails Portal Visions for the Future

31 Future Functionality Take advantage fully of Grails 1.2 features: Use of Packages for Domain and Controller classes. DSL s for configuration More Dynamic Functionality Improved database flexibility and functionality Dynamic Attributes Full implementation of Ajax style user interface through scaffolding. Context based scaffolding Daisy Content Management System integration

32 Demo of Future Functionality

33 Questions? Comments? Joshua Davis Twitter joshuad2 LinkedIn, CodeTown Joshua Davis Groovy/Grails Magazine Author

34 Grails Portal Cheat Sheet Database - Grails Portal use of GORM Security - Shiro Plugin Presentation YahooUI Plugin Bubbling Plugin GrailsUI Plugin Custom GSP Tag Libraries Business Process - Web-Flow Plugin Administration - Grails Scaffolding

35 References Shiro plugin: GrailsUI plugin: YahooUI plugin: Bubbling plugin: Grails Framework Reference Guide: Java Serialization: /serialization/ The Definitive Guide to Grails (second edition) by Graeme Rocher and Jeff Brown ISBN: Enterprise Patterns and MDA: Building Better Software with Achetype Patterns and UML by Jim Arlow, Ila Neustadt Addison Wesley Press ISBN-13:

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

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

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

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

A Comparison of Open Source Application Development Frameworks for the Enterprise

A Comparison of Open Source Application Development Frameworks for the Enterprise A Comparison of Open Source Application Development Frameworks for the Enterprise Webinar on March 12, 2008 Presented by Kim Weins, Sr. VP of Marketing at OpenLogic and Kelby Zorgdrager, President of DevelopIntelligence

More information

Web Application Development

Web Application Development Web Application Development Seminar OHJ-1820 Tampere University of Technology Fall 2007 http://www.cs.tut.fi/~taivalsa/kurssit/wads2007 Prof. Tommi Mikkonen & Dr. Antero Taivalsaari Background and Motivation

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

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

Outline. Lecture 18: Ruby on Rails MVC. Introduction to Rails

Outline. Lecture 18: Ruby on Rails MVC. Introduction to Rails Outline Lecture 18: Ruby on Rails Wendy Liu CSC309F Fall 2007 Introduction to Rails Rails Principles Inside Rails Hello World Rails with Ajax Other Framework 1 2 MVC Introduction to Rails Agile Web Development

More information

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

White Paper On. Single Page Application. Presented by: Yatin Patel White Paper On Single Page Application Presented by: Yatin Patel Table of Contents Executive Summary... 3 Web Application Architecture Patterns... 4 Common Aspects... 4 Model... 4 View... 4 Architecture

More information

Grails in Action MANNING. (74 w. long.) GLEN SMITH PETER LEDBROOK. Greenwich

Grails in Action MANNING. (74 w. long.) GLEN SMITH PETER LEDBROOK. Greenwich Grails in Action GLEN SMITH PETER LEDBROOK II MANNING Greenwich (74 w. long.) contents foreword xvii preface xix acknowledgments about this book xxiv xxi about the title xxviii about the cover illustration

More information

JBoss Portal 2.4. Quickstart User Guide

JBoss Portal 2.4. Quickstart User Guide Portal 2.4 Quickstart User Guide Table of Contents Portal - Overview... iii 1. Tutorial Forward...1 2. Installation...2 2.1. Downloading and Installing...2 2.2. Starting Portal...3 3. Portal Terminology...5

More information

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc. WA2088 WebSphere Application Server 8.5 Administration on Windows Student Labs Web Age Solutions Inc. Copyright 2013 Web Age Solutions Inc. 1 Table of Contents Directory Paths Used in Labs...3 Lab Notes...4

More information

Business Application Development Platform

Business Application Development Platform Business Application Development Platform Author Copyright Last update Version Document type Sclable Business Solutions GmbH Attribution-NonCommercial-NoDerivatives 4.0 International 01/28/2014 1.0 Technical

More information

Intruduction to Groovy & Grails programming languages beyond Java

Intruduction to Groovy & Grails programming languages beyond Java Intruduction to Groovy & Grails programming languages beyond Java 1 Groovy, what is it? Groovy is a relatively new agile dynamic language for the Java platform exists since 2004 belongs to the family of

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

Ruby On Rails. CSCI 5449 Submitted by: Bhaskar Vaish

Ruby On Rails. CSCI 5449 Submitted by: Bhaskar Vaish Ruby On Rails CSCI 5449 Submitted by: Bhaskar Vaish What is Ruby on Rails? Ruby on Rails is a web application framework written in Ruby, a dynamic programming language. Ruby on Rails uses the Model-View-Controller

More information

Esigate Module Documentation

Esigate Module Documentation PORTAL FACTORY 1.0 Esigate Module Documentation Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels to truly control

More information

The Learn-Verified Full Stack Web Development Program

The Learn-Verified Full Stack Web Development Program The Learn-Verified Full Stack Web Development Program Overview This online program will prepare you for a career in web development by providing you with the baseline skills and experience necessary to

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

Advanced Service Design

Advanced Service Design vcloud Automation Center 6.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions

More information

Web Development Frameworks

Web Development Frameworks COMS E6125 Web-enHanced Information Management (WHIM) Web Development Frameworks Swapneel Sheth swapneel@cs.columbia.edu @swapneel Spring 2012 1 Topic 1 History and Background of Web Application Development

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

Liferay Portal 4.0 - User Guide. Joseph Shum Alexander Chow

Liferay Portal 4.0 - User Guide. Joseph Shum Alexander Chow Liferay Portal 4.0 - User Guide Joseph Shum Alexander Chow Liferay Portal 4.0 - User Guide Joseph Shum Alexander Chow Table of Contents Preface... viii User Administration... 1 Overview... 1 Administration

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

ORACLE APPLICATION EXPRESS 5.0

ORACLE APPLICATION EXPRESS 5.0 ORACLE APPLICATION EXPRESS 5.0 Key Features Fully supported nocost feature of the Oracle Database Simple 2-Tier Architecture Develop desktop and mobile applications 100% Browserbased Development and Runtime

More information

White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1

White Paper. Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1 White Paper Java versus Ruby Frameworks in Practice STATE OF THE ART SOFTWARE DEVELOPMENT 1 INTRODUCTION...3 FRAMEWORKS AND LANGUAGES...3 SECURITY AND UPGRADES...4 Major Upgrades...4 Minor Upgrades...5

More information

The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC

The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC Paper PA-04 The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC ABSTRACT Don't Panic! Github is a fantastic way to host, share, and collaborate

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

Dimension Technology Solutions Team 2

Dimension Technology Solutions Team 2 Dimension Technology Solutions Team 2 emesa Web Service Extension and iphone Interface 6 weeks, 3 phases, 2 products, 1 client, design, implement - Presentation Date: Thursday June 18 - Authors: Mark Barkmeier

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

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

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

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

Start Learning Joomla!

Start Learning Joomla! Start Learning Joomla! Mini Course Transcript 2010 StartLearningJoomla.com The following course text is for distribution with the Start Learning Joomla mini-course. You can find the videos at http://www.startlearningjoomla.com/mini-course/

More information

PEGA MOBILITY A PEGA PLATFORM WHITEPAPER

PEGA MOBILITY A PEGA PLATFORM WHITEPAPER PEGA MOBILITY A PEGA PLATFORM WHITEPAPER Background Mobile devices now outnumber computers as a means of connecting to the Internet. This new mobile ubiquity presents opportunities for the enterprise to

More information

MVC FRAMEWORK MOCK TEST MVC FRAMEWORK MOCK TEST II

MVC FRAMEWORK MOCK TEST MVC FRAMEWORK MOCK TEST II http://www.tutorialspoint.com MVC FRAMEWORK MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to MVC Framework Framework. You can download these sample

More information

Integrating your Maven Build and Tomcat Deployment

Integrating your Maven Build and Tomcat Deployment Integrating your Maven Build and Tomcat Deployment Maven Publishing Plugin for Tcat Server MuleSource and the MuleSource logo are trademarks of MuleSource Inc. in the United States and/or other countries.

More information

Specialized Programme on Web Application Development using Open Source Tools

Specialized Programme on Web Application Development using Open Source Tools Specialized Programme on Web Application Development using Open Source Tools Objective: At the end of the course, Students will be able to: Understand various open source tools(programming tools and databases)

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

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

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

Server-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124 Server-side OSGi with Apache Sling Felix Meschberger Day Management AG 124 About Felix Meschberger > Senior Developer, Day Management AG > fmeschbe@day.com > http://blog.meschberger.ch > VP Apache Sling

More information

Web application specialist with a broad range of front-end technology expertise.

Web application specialist with a broad range of front-end technology expertise. Kris Karras Experienced Front-End Engineering for UI/UX developer.kris.karras@gmail.com Summary Web application specialist with a broad range of front-end technology expertise. Loves working with creative

More information

Citrix StoreFront. Customizing the Receiver for Web User Interface. 2012 Citrix. All rights reserved.

Citrix StoreFront. Customizing the Receiver for Web User Interface. 2012 Citrix. All rights reserved. Citrix StoreFront Customizing the Receiver for Web User Interface 2012 Citrix. All rights reserved. Customizing the Receiver for Web User Interface Introduction Receiver for Web provides a simple mechanism

More information

Software Development Kit

Software Development Kit Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice

More information

Ruby on Rails. a high-productivity web application framework. blog.curthibbs.us/ http://blog. Curt Hibbs <curt@hibbs.com>

Ruby on Rails. a high-productivity web application framework. blog.curthibbs.us/ http://blog. Curt Hibbs <curt@hibbs.com> Ruby on Rails a high-productivity web application framework http://blog blog.curthibbs.us/ Curt Hibbs Agenda What is Ruby? What is Rails? Live Demonstration (sort of ) Metrics for Production

More information

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Profiling and Testing with Test and Performance Tools Platform (TPTP) Profiling and Testing with Test and Performance Tools Platform (TPTP) 2009 IBM Corporation and Intel Corporation; made available under the EPL v1.0 March, 2009 Speakers Eugene Chan IBM Canada ewchan@ca.ibm.com

More information

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

This document gives an outline of Tim Ward s work on mobile phone systems 2002 2012. MOBILE PHONE SYSTEMS Tim Ward, Brett Ward Limited, 11/4/2012 This document gives an outline of Tim Ward s work on mobile phone systems 2002 2012. Details of some work for the security industry are omitted.

More information

Modeling Web Applications Using Java And XML Related Technologies

Modeling Web Applications Using Java And XML Related Technologies Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik

More information

tibbr Now, the Information Finds You.

tibbr Now, the Information Finds You. tibbr Now, the Information Finds You. - tibbr Integration 1 tibbr Integration: Get More from Your Existing Enterprise Systems and Improve Business Process tibbr empowers IT to integrate the enterprise

More information

AJAX Toolkit Framework

AJAX Toolkit Framework IBM Software Group AJAX Toolkit Framework Emerging Internet Technologies Group Ajax - What s our vision Grow Ajax adoption to the next phase Evolve tools that significantly reduce the development costs

More information

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm ULTEO OPEN VIRTUAL DESKTOP V4.0.2 ARCHITECTURE OVERVIEW Contents 1 Introduction 2 2 Servers Roles 3 2.1 Session Manager................................. 3 2.2 Application Server................................

More information

Decision Support System Software Asset Management (SAM)

Decision Support System Software Asset Management (SAM) DecisionSupportSystem SoftwareAssetManagement(SAM) ReleaseNotes Version1.2.3 May,2010 BigFix DSSSAM1.2.3 2009-2010 BigFix, Inc. All rights reserved. BigFix, Fixlet, Relevance Engine, Powered by BigFix

More information

Managed Devices - Web Browser/HiView

Managed Devices - Web Browser/HiView Managed Devices - Web Browser/HiView All Hirschmann managed devices have a web based GUI interface available for configuration purposes. This is typically the primary means of configuration used for most

More information

Following statistics will show you the importance of mobile applications in this smart era,

Following statistics will show you the importance of mobile applications in this smart era, www.agileload.com There is no second thought about the exponential increase in importance and usage of mobile applications. Simultaneously better user experience will remain most important factor to attract

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

10CS73:Web Programming

10CS73:Web Programming 10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server

More information

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application... 1-10

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application... 1-10 Chapter 1: An Overview Of Ruby Rails 1) What is Ruby on Rails?... 1-2 2) Overview of Rails Components... 1-3 3) Installing Rails... 1-5 4) A Simple Rails Application... 1-6 5) Starting the Rails Server...

More information

HPC Portal Development Platform with E-Business and HPC Portlets

HPC Portal Development Platform with E-Business and HPC Portlets HPC Portal Development Platform with E-Business and HPC Portlets CHIEN-HENG WU National Center for High-Performance Computing, Hsin-Chu, 300, Taiwan E-mail: garywu@nchc.org.tw Abstract HPC Portal Development

More information

Have you ever done something the long way and then

Have you ever done something the long way and then Quick Web Development Using JDeveloper 10g Use the Struts controller. Generate the Java Server Page. Run the application. In a short period of time, you ll learn how to quickly develop an application using

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

Rational Software White Paper

Rational Software White Paper Modeling Web Application Architectures with UML By: Jim Conallen, Rational Software June 1999 A version of this material appears in the October 1999 (volume 42, number 10) issue of Communications of the

More information

Actuate Business Intelligence and Reporting Tools (BIRT)

Actuate Business Intelligence and Reporting Tools (BIRT) Product Datasheet Actuate Business Intelligence and Reporting Tools (BIRT) Eclipse s BIRT project is a flexible, open source, and 100% pure Java reporting tool for building and publishing reports against

More information

Build management & Continuous integration. with Maven & Hudson

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

More information

Change Management for Rational DOORS User s Guide

Change Management for Rational DOORS User s Guide Change Management for Rational DOORS User s Guide Before using this information, read the general information under Appendix: Notices on page 58. This edition applies to Change Management for Rational

More information

Spectrum Technology Platform

Spectrum Technology Platform Spectrum Technology Platform Version 8.0.0 SP2 RIA Getting Started Guide Information in this document is subject to change without notice and does not represent a commitment on the part of the vendor or

More information

Is Liferay Right for Your Organization? Seven Things to Consider When Choosing a Portal Platform

Is Liferay Right for Your Organization? Seven Things to Consider When Choosing a Portal Platform Is Liferay Right for Your Organization? Seven Things to Consider When Choosing a Portal Platform BY DAN LILIEDAHL, CTO, TANDEMSEVEN The outcome of your portal initiative and its success is directly related

More information

Introduction to Open Atrium s workflow

Introduction to Open Atrium s workflow Okay welcome everybody! Thanks for attending the webinar today, my name is Mike Potter and we're going to be doing a demonstration today of some really exciting new features in open atrium 2 for handling

More information

Experiences on a Design Approach for Interactive Web Applications

Experiences on a Design Approach for Interactive Web Applications Experiences on a Design Approach for Interactive Web Applications Janne Kuuskeri Department of Software Systems Tampere University of Technology Korkeakoulunkatu 1, FI-33720 Tampere, Finland janne.kuuskeri@tut.fi

More information

SOA REFERENCE ARCHITECTURE: WEB TIER

SOA REFERENCE ARCHITECTURE: WEB TIER SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible

More information

Honoring a Tradition of Simplicity. The Foundation. Getting Started

Honoring a Tradition of Simplicity. The Foundation. Getting Started Run BASIC A Breakthrough Web Application Server Web programming for people who really like to program! http://www.runbasic.com Carl Gundel, carlg@libertybasic.com Run BASIC allows you to apply your desktop

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

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

Framework Adoption for Java Enterprise Application Development

Framework Adoption for Java Enterprise Application Development Framework Adoption for Java Enterprise Application Development Clarence Ho Independent Consultant, Author, Java EE Architect http://www.skywidesoft.com clarence@skywidesoft.com Presentation can be downloaded

More information

Web Made Easy. Planning Session

Web Made Easy. Planning Session Web Made Easy Planning Session All good websites come from a good plan. Sounds redundant, but it's true. If you want to create a good and solid website, you need a good and solid plan. On a piece of notebook

More information

Category: Business Process and Integration Solution for Small Business and the Enterprise

Category: Business Process and Integration Solution for Small Business and the Enterprise Home About us Contact us Careers Online Resources Site Map Products Demo Center Support Customers Resources News Download Article in PDF Version Download Diagrams in PDF Version Microsoft Partner Conference

More information

SharePoint Integration Framework Developers Cookbook

SharePoint Integration Framework Developers Cookbook Sitecore CMS 6.3 to 6.6 and SIP 3.2 SharePoint Integration Framework Developers Cookbook Rev: 2013-11-28 Sitecore CMS 6.3 to 6.6 and SIP 3.2 SharePoint Integration Framework Developers Cookbook A Guide

More information

Document Management. Document Management for the Agile Enterprise. AuraTech Pte Ltd

Document Management. Document Management for the Agile Enterprise. AuraTech Pte Ltd Document Management Document Management for the Agile Enterprise AuraTech Pte Ltd 30 Robinson Road, #04-01B Robinson Towers, Singapore 048546 http://www.consultaura.com PH: 6224 9238 Try it! Call AuraTech

More information

Document management and exchange system supporting education process

Document management and exchange system supporting education process Document management and exchange system supporting education process Emil Egredzija, Bozidar Kovacic Information system development department, Information Technology Institute City of Rijeka Korzo 16,

More information

Introduction to CloudScript

Introduction to CloudScript Introduction to CloudScript A NephoScale Whitepaper Authors: Nick Peterson, Alan Meadows Date: 2012-07-06 CloudScript is a build language for the cloud. It is a simple Domain Specific Language (DSL) that

More information

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment 1 2010. Marque Browne 0814547. Manuel Honegger - 0837997

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment 1 2010. Marque Browne 0814547. Manuel Honegger - 0837997 1 Swirl Multiplayer Gaming Simplified CS4512 Systems Analysis and Design Assignment 1 2010 Marque Browne 0814547 Manuel Honegger - 0837997 Kieran O' Brien 0866946 2 BLANK MARKING SCHEME 3 TABLE OF CONTENTS

More information

OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden

OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden OUR COURSES 19 November 2015 Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden Java for beginners JavaEE EJB 3.1 JSF (Java Server Faces) PrimeFaces Spring Core Spring Advanced Maven One day intensive

More information

How To Write A Web Framework In Java

How To Write A Web Framework In Java Seam Framework Experience the Evolution of Java ЕЕ Second Edition Michael Juntao Yuan Jacob Orshalick Thomas Heute PRENTICE HALL Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto

More information

CONNECTING TO DEPARTMENT OF COMPUTER SCIENCE SERVERS BOTH FROM ON AND OFF CAMPUS USING TUNNELING, PuTTY, AND VNC Client Utilities

CONNECTING TO DEPARTMENT OF COMPUTER SCIENCE SERVERS BOTH FROM ON AND OFF CAMPUS USING TUNNELING, PuTTY, AND VNC Client Utilities CONNECTING TO DEPARTMENT OF COMPUTER SCIENCE SERVERS BOTH FROM ON AND OFF CAMPUS USING TUNNELING, PuTTY, AND VNC Client Utilities DNS name: turing.cs.montclair.edu -This server is the Departmental Server

More information

Vector HelpDesk - Administrator s Guide

Vector HelpDesk - Administrator s Guide Vector HelpDesk - Administrator s Guide Vector HelpDesk - Administrator s Guide Configuring and Maintaining Vector HelpDesk version 5.6 Vector HelpDesk - Administrator s Guide Copyright Vector Networks

More information

Continuous Integration

Continuous Integration Continuous Integration WITH FITNESSE AND SELENIUM By Brian Kitchener briank@ecollege.com Intro Who am I? Overview Continuous Integration The Tools Selenium Overview Fitnesse Overview Data Dependence My

More information

CTC 4.1 - What's New?

CTC 4.1 - What's New? Digital Experience CTC 4.1 - What's New? WebSphere User Group 24 th Sept - Royal Society Edinburgh Agenda A reminder, What is the Content Template Catalog A reminder, What is the Site Builder Demo! CTC

More information

10 Game-changing Features in Visual Studio 2013 for the ASP.NET Developer

10 Game-changing Features in Visual Studio 2013 for the ASP.NET Developer 10 Game-changing Features in Visual Studio 2013 for the ASP.NET Developer Contents Table of Contents 1. One ASP.NET 4 2. Security Configuration Made Simple 6 3. Scaffolding on Steroids 7 4. Say Goodbye

More information

This manual cannot be redistributed without permission from joomla-monster.com

This manual cannot be redistributed without permission from joomla-monster.com This manual cannot be redistributed without permission from joomla-monster.com Visit the official website joomla-monster.com of this Joomla template and other thematic and high quality templates. Copyright

More information

Elgg 1.8 Social Networking

Elgg 1.8 Social Networking Elgg 1.8 Social Networking Create, customize, and deploy your very networking site with Elgg own social Cash Costello PACKT PUBLISHING open source* community experience distilled - BIRMINGHAM MUMBAI Preface

More information

Office 365 SharePoint Online White Paper

Office 365 SharePoint Online White Paper Office 365 SharePoint Online White Paper Introduction Overview Cloud computing is slowly changing the way IT companies are offering their software solutions and services. Through cloud computing, IT companies

More information

Portals and Hosted Files

Portals and Hosted Files 12 Portals and Hosted Files This chapter introduces Progress Rollbase Portals, portal pages, portal visitors setup and management, portal access control and login/authentication and recommended guidelines

More information

Rapid Server Side Java Development Using Spring Roo. Christian Tzolov Technical Lead, TTSD, TomTom BV 12/05/2010

Rapid Server Side Java Development Using Spring Roo. Christian Tzolov Technical Lead, TTSD, TomTom BV 12/05/2010 Rapid Server Side Java Development Using Spring Roo Christian Tzolov Technical Lead, TTSD, TomTom BV 12/05/2010 Agenda TomTom Service & Delivery Java Developer Productivity & Impediments Demo - Traffic

More information

Guiding Principles for Technical Architecture

Guiding Principles for Technical Architecture This document is a statement of the principles that will guide the technical development of the Kuali Student system. It will serve as a reference throughout the full lifecycle of the project. While these

More information

Quick start. A project with SpagoBI 3.x

Quick start. A project with SpagoBI 3.x Quick start. A project with SpagoBI 3.x Summary: 1 SPAGOBI...2 2 SOFTWARE DOWNLOAD...4 3 SOFTWARE INSTALLATION AND CONFIGURATION...5 3.1 Installing SpagoBI Server...5 3.2Installing SpagoBI Studio and Meta...6

More information

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS Java EE Components Java EE Vendor Specifications Containers Java EE Blueprint Services JDBC Data Sources Java Naming and Directory Interface Java Message

More information

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation We know now that the source of wealth is something specifically human: knowledge. If we apply knowledge to tasks we already know how to do, we call it productivity. If we apply knowledge to tasks that

More information

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory IBM Corporation 2011 Web Experience Factory formerly known as WebSphere Portlet Factory Note we are currently

More information

Case Study. Data Governance Portal. www.brainvire.com 2013 Brainvire Infotech Pvt Ltd Page 1 of 1

Case Study. Data Governance Portal. www.brainvire.com 2013 Brainvire Infotech Pvt Ltd Page 1 of 1 Case Study Data Governance Portal www.brainvire.com 2013 Brainvire Infotech Pvt Ltd Page 1 of 1 Client Requirement The website is the Data Governance intranet portal. Data Governance is the practice of

More information