Overview of WebAdmin and UI Frameworks

Similar documents
Google Web Toolkit (GWT)

GWT MOCK TEST GWT MOCK TEST I

Google Plugin for Eclipse

Developing Ajax Web Apps with GWT. Session I

Say goodbye to the pains of Ajax. Yibo

IBM JZOS Meets Web 2.0

Development of web applications using Google Technology

PGT T3CHNOLOGY SCOUTING. Google Webtoolkit. JSF done right?

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

Testing with Soap UI. Tomaš Maconko

Google Web Toolkit. Can help you create amazing apps. San Francisco Java User Group Oct 13, 2009

GWT: The Technical Advantage. Presenter: Anirudh Dewani Company Name: Google

THE NEW ERA OF WEB DEVELOPMENT. qooxdoo. Andreas Ecker, Derrell Lipman

Google Web Toolkit (GWT)

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

A Model-Controller Interface for Struts-Based Web Applications

eclipse rich ajax platform (rap)

Google Web Toolkit for quick relief of AJAX pain. Kelly Norton & Miguel Méndez

Google Web Toolkit (GWT) Basics. Sang Shin Java Technology Architect & Evangelist Sun Microsystems, Inc.

IBM Rational Host Access Transformation Services, Version 7.1

Enterprise Java TM Web Apps with Google Open Source Technology

Mike Fechner Director

Intro to ovirt. Itamar Heim Virtualization Management the ovirt way

Developer s overview of the Android platform

The Google Web Toolkit

LSI's VMware vcenter Plug-In: A Study in the Use of Open Source Software Erik Johannes Brian Mason LSI Corp

Introduction to Sencha Ext JS

WebProtégé. Protégé going Web. Tania Tudorache, Jennifer Vendetti, Natasha Noy. Stanford Center for Biomedical Informatics

Developing ASP.NET MVC Web Applications (486)

Taming AJAX with GWT. Scott Blum. Scott Blum Taming AJAX with GWT Page 1

Etanova Enterprise Solutions

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

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Mike Fechner, Consultingwerk Ltd.

Contact center integration with CRM. White paper and best practice for Daktela V6 setup with internal CRM system

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

2015 NALIT Professional Development Seminar September 30, Tools for Mobile App Development

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

Developing Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto

The OpenEdge Application Modernization Framework. Mike Fechner, Director, Consultingwerk Ltd.

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

CS260 Intro to Java & Android 04.Android Intro

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

AJAX Programming Chris Seddon

Microservices on AWS. Matthias Jung, Solutions Architect AWS

Web Front Technology: Interstage Interaction Manager

1 Introduction. 2 Web Architecture

FlexJS. OmPrakash Apache Flex PMC Member Advisory Software Engineer, IBM

Using GWT and Eclipse to Build Great Mobile Web Apps

Total Content Integrator 6.0 Support Matrix Updated: August 19, 2016

iautomation - Software Architecture for Mobile Devices

Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy

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

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

Steps to Set Up the Environment of Xamarin in Visual

Magento 2 Certified Professional Developer. Exam Study Guide

Best Practices Implementing Oracle Mobile Cloud Service

Google Web Toolkit. David Geary. code.google.com/webtoolkit. corewebdeveloper.com

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

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

JVA-163. Enterprise JavaBeans

Manual Visual Studio 2010 Web Developer Offline Installer

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS)

JAVA SYLLABUS FOR 6 MONTHS

Full Stack boot camp

DAVE TM & DAVE TM SDK

Software Engineering for Ajax

Nuxeo Roadmap. From Memphis to Chicago Nuxeo Team

Cross-Platform Data Models and API Using grpc

Google Wave Client: Powered by GWT. Adam Schuck 28 May, 2009

Using Adobe Flex in JSR-286 Portlets

Software Architecture Documentation for the JRC MYGEOSS app for Invasive Species project

Eclipse 4.0. Jochen Krause EclipseSource

70-486: Developing ASP.NET MVC Web Applications

AD105 Introduction to Application Development for the IBM Workplace Managed Client

ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe

ArcGIS for Developers: An Introduction. Moey Min Ken

Overview of BlackBerry Dynamics Platform

ITG Software Engineering

RobertaLab: Configuration, Architecture, Frameworks, Design

Introduction Haim Michael. All Rights Reserved.

Rich Client GUI's with RCP & RAP

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

GWT - CREATE APPLICATION

Integrating Data Mining Services over Knowledge Portals using WSRP and AJAX Technologies

Virtualization Management the ovirt way

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

Migrating traditional Java EE applications to mobile

Full Stack Web Developer

Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

OSGi on the Server. Martin Lippert (it-agile GmbH)

Ocean Framework for Studio Extending the Ecosystem

for Multi-Services Gateways

BDD in Action. Behavior-Driven Development for. the whole software lifecycle JOHN FERGUSON SMART MANNING. Shelter Island

Modern frontend workflows in Liferay Portal and Liferay DXP. Iván Zaera Avellon, Liferay Chema Balsas, Liferay Pier Paolo Ramon, SMC

Fraunhofer FOKUS. Fraunhofer Institute for Open Communication Systems Kaiserin-Augusta-Allee Berlin, Germany.

SAP Fiori - Hur kommer man igång? Christer Ingemarsson, istone

Transcription:

Overview of WebAdmin and UI Frameworks ovirt Workshop - Bangalore October 2012 Kanagaraj Mayilsamy RedHat 1

Agenda The heart of ovirt UI GWT GWT Development Lifecycle Deferred Binding MVP Architecture Dependency Injection with GIN Modules in Frontend Search and Bookmarks GUI Prototyping using Pencil Q & A 2

Google Web Toolkit (GWT) Productivity for developers, Performance for users 3

Google Web Toolkit Open source set of tools for building rich JavaScript web applications using Java programming language Develop in Java Compile into JavaScript Run on Browser GWT is not a library nor framework Java to JavaScript Compiler Development time debugging 4

Why GWT? Java's rich ecosystem of tools and libraries Runs natively on the browser, no plugins needed Cross browser compatible. Simple built-in Ajax/RPC mechanism Based on Sevlet architecture but can support php/python/etc Automatic serialization and de-serialization of java objects 5

GWT Development Lifecycle Download Download SDK SDK + + Browser Browser Plugin Plugin Create Create Project Project with with IDE/Maven IDE/Maven Develop Develop & & Code Code Compile Compile to to JavaScript JavaScript Unit Unit Test Test with with Java Java Tools Tools View View & & Debug Debug using using Dev Dev Mode Mode Deploy Deploy to to prod prod Server Server 6

GWT Compliation Converts Java source to JavaScript Supports the vast majority of Java language Different compilation modes OBF obfuscated PRETTY human readable DETAILED even more detail 7

GWT Deferred Binding GWT's answer to reflection Compile time dynamic binding Dynamic class loading at compile time instead of execution time (ex: Database drivers) Browser specific implementations Why Opera user download code specific to Firefox? 4 browsers, 3 languages = 12 permutations 8

Model View Presenter 9

MVP Architecture 10

Advantages of MVP Clear separation of UI and business logic JSNI dependent view code kept minimal Logic we want to test goes into presenters Hook up the presenters with mock views Test runs faster (unlike GWTTestcase) 11

Dependency Injection Instead of a class creating its own dependencies, its dependencies are inserted into it Depend upon abstractions not implementations Unit-test and mocking friendly DI frameworks object are managed, replacement for Factories @inject is the magic GIN GWT INjection 12

Dependency Injection 13

Frontend Modules 14

Frontend Modules frontend frontend uicommonweb uicommonweb ovirt ovirt Application Application module module Webadmin Webadmin uicompat uicompat gwt-extension gwt-extension gwt-common gwt-common 15

frontend module Bridge between client and server Client-side code frontend module Server-side code 16

frontend module RPC interface for calling ovirt engine GWT RPC interface Synchronous RPC interface GenericApiGWTService Implemented on server (servlet) Asynchronous RPC interface GenericApiGWTServiceAsync Used in client code (GWT) 17

uicommonweb module UI business logic Models with behavior and events User interaction Event notification Application code Models 18

uicompat module Inherits backend entities Compatibility for uicommonweb Shared by uicommonweb and frontend modules Contains some legacy code 19

gwt-extension module GWT RPC compatibility classes Emulation of specific JRE classes gwt-common module Common UI infrastructure MVP pattern & Dependency Injection Application places Common features, widgets and resources 20

Frontend modules Application modules webadmin userportal 21

Search and Bookmarks 22

Search with Auto Completion Easy to search any entity in the system Context sensitive auto completion SQL-Injection filtering Indication of wrong/unavailable entity names 23

Search with Auto Completion 24

Search with Auto Completion 25

Bookmarks Browser bookmarking not just enough Any search result/query can be bookmarked Existing bookmarks are available under the Bookmarks section 26

Bookmarks 27

Bookmarks 28

GUI Prototyping Pencil add-on for Firefox 29

How To Contribute Git repository git://gerrit.ovirt.org/ovirt-engine Getting started wiki - http://www.ovirt.org/wiki/setting_management_develop ment_environment IRC Channel #ovirt on oftc 30

Q & A 31

THANK YOU! http://www.ovirt.org kmayilsa@redhat.com 32

GWT RPC Communication 33