Presenter: 1 FreeIPA WebUI : An Approach for Single Page Applications Sr. Software Engineer Red Hat Inc. 04/18/2011.

Slides:



Advertisements
Similar presentations
The DataFlex Web Framework Changing the Game Stephen W. Meeley Development Team Data Access Worldwide
Advertisements

Building New SOA and AJAX- Based Business Applications Mark Barnard R&D Manager – Natural Business Services Software AG (Canada) Inc.
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
A problem in IMS Learning Design To promote interoperability, few services Local tool frameworks like LAMS have much richer tool environment –Easy provisioning.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
High Performance Faceted Interfaces Using S2S Eric Rozell, Tetherless World Constellation.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
CRM WEB UI – ARCHITECTURE- DEFINITIONS For More details please go to
Overview of HTML. Three Different Approaches  Text editor like Notepad  HTML editor such as: –KompoZer –DreamWeaver –Microsoft Expression Web –iWeb.
WHAT IS A WEB APP? Van Kelly Yeshiva University July 6, 2013.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
1 Ajax. 2 What’s Ajax? AJAX is a combination of a few technologies that has come together in the past few years AJAX used to be an acronym for Asynchronous.
WaveMaker Visual AJAX Studio 4.0 Training Troubleshooting.
JavaScript Teppo Räisänen LIIKE/OAMK HTML, CSS, JavaScript HTML defines the structure CSS defines the layout JavaScript is used for scripting It.
Mobile App Support Jacob Poirier Geri Hengesbach Andrea Menke Erin Rossell.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Selenium automated testing in Openbravo ERP Quality Assurance Webinar April 8th, 2010.
Selenium Web Test Tool Training Using Ruby Language Discover the automating power of Selenium Kavin School Kavin School Presents: Presented by: Kangeyan.
Writing various AJAX forms in Drupal 7 1. Overview of Form API 2. Ctools 2.1 Ctools features 3. Ajax 3.1 Ajax Forms in Drupal 4. Putting it all together.
Copyright 2007 Adobe Systems Incorporated. 1 ColdFusion 8 : Advanced AJAX Development Rakshith N Computer Scientist Jan 02, 2008.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor
Web Applications BIS4430 – unit 8. Learning Objectives Explain the uses of web application frameworks Relate the client-side, server-side architecture.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Selenium and Selenium on Rails. Agenda  Overview of Selenium Simple Selenium Tests Selenium IDE  Overview of Selenium on Rails  Problems with Selenium.
Dynamic Web Pages Jin Wu INF 385E Information Architecture School of Information 11/2/2006 Jin Wu INF 385E Information Architecture School of Information.
RIA and Web2.0 Development with no Coding Juan Camilo Ruiz Senior Product Manager Development Tools.
Ajax for Dynamic Web Development Gregory McChesney.
Ajax VS Flex A comparison based on shopping cart implementation PoHsu Yeh py2157.
HTML Overview Part 5 – JavaScript 1. Scripts 2  Scripts are used to add dynamic content to a web page.  Scripts consist of a list of commands that execute.
AJaX and SOA Partha Kuchana. Agenda What is AJaX Benefits & Problems AJaX & SOA AJaX architecture AJaX with No XML.
Presentation.
The basics of knowing the difference CLIENT VS. SERVER.
JavaScript & Introduction to AJAX
05 | Integrating JavaScript and MVC 4 Jon Galloway | Tech Evangelist Christopher Harrison | Head Geek.
Overview Web Technologies Computing Science Thompson Rivers University.
Apache Struts Technology A MVC Framework for Java Web Applications.
The New Face of ASP.NET ASP.NET MVC, Razor, and jQuery Ido Flatow | Senior Architect | Sela | This session is.
Multi-Device UI Development for Task-Continuous Cross-Channel Web Applications Enes Yigitbas, Thomas Kern, Patrick Urban, Stefan Sauer
Web Technologies Computing Science Thompson Rivers University
Leverage your Business with Selenium Automation Testing
Selenium and Selenium on Rails
JRA2: Acceptance Testing senarious
Google Web Toolkit Tutorial
Introduction of Selenium Webdriver Using Java
AJAX and REST.
UI-Performance Optimization by Identifying its Bottlenecks
Google Web Toolkit - Gufran Mohammed
Michael Robertson Yuta Takayama Google Closure Tools.
AJAX.
CO6025 Advanced Programming
LAMP, WAMP and.. L. Grewe.
Module 1: Getting Started
Web Browser server client 3-Tier Architecture Apache web server PHP
Selenium vs Protractor
Dynamic Web Pages Jin Wu INF 385E Information Architecture
JavaServer Faces: The Fundamentals
Unit 6 part 3 Test Javascript Test.
Secure Web Programming
Web Design and Development
HTML5 Level I CyberAdvantage
Back end Development CS Programming Languages for Web Applications
Architecture of the web
Web Technologies Computing Science Thompson Rivers University
HTML5 Level I CyberAdvantage
Web Client Side Technologies Raneem Qaddoura
Back end Development CS Programming Languages for Web Applications
Running C# in the browser
Web Application Development Using PHP
Presentation transcript:

Presenter: 1 FreeIPA WebUI : An Approach for Single Page Applications Sr. Software Engineer Red Hat Inc. 04/18/2011

Presenter: 2 Agenda ● ►Overview ● What We Used ● What We Built ● Demonstrations

Presenter: 3 Historical Context ● 2001: ● Browser Wars ● Avoid Javascript,CSS ● 2005: ● Javascript (more) standarized ● AJAX ● 2009: ● Python vs. Java vs. Ruby vs... ● FreeIPA 1.0 WebUI

Presenter: 4 Single Page Application “all necessary code – HTML, JavaScript, and CSS – is retrieved with a single page load, or partial changes are performed loading new code on demand from web servers, usually driven by user actions. The page does not automatically reload during user interaction with the application, nor does control transfer to another page.” --

Presenter: 5 Why we chose Single Page over Server Side: ● Consistent: Same Business Logic as CLI ● Simple: Think in one language ● Flexible: Speed of UI Development ● Secure: No new Windows of Attack ● Scalable: Offload rendering from the server ● Responsive: Only fetch new data

Presenter: 6 Agenda ● Overview ● ►What We Used ● What We Built ● Demonstrations

Presenter: 7 What we used: Runtime Elements ● Javascript: ● the good parts ● Equality of Annoyance ● JSON ● JQuery/JQuery.UI ● BBQ

Presenter: 8 What we used: IPA Server Side ● JSON-RPC ● Metadata ● Plugins ● Attributes ● Validation ● Labels ● Additional Internationalization

Presenter: 9 FreeIPA Architecture Overview

Presenter: 10 What we used: Development Tools ● Firebug: Javascript debugger in Firefox ● QUnit: Unit testing framework ● Javascript Lint (JSL) ● cURL ● Selenium ● Fixtures

Presenter: 11 Agenda ● Overview ● What We Used ● ►What We Built ● How We Developed ● Demonstrations

Presenter: 12 What We Built: Class Diagram

Presenter: 13 What we built: Dialog and Validation

Presenter: 14 Facets: Search

Presenter: 15 Facets: Details

Presenter: 16 Facets: Associations

Presenter: 17 DSL: Entity Definition IPA.entity_factories.hostgroup = function() { return IPA.entity_builder(). entity('hostgroup'). search_facet({columns:['cn','description'], add_fields:['cn','description']}). details_facet({sections:[{ name:'identity', label: IPA.messages.objects.hostgroup.identity, fields:['cn','description'] }]}). association_facet({ name: 'memberof_hostgroup', associator: IPA.serial_associator }). standard_association_facets(). build(); };

Presenter: 18 Widgets: Line Undo

Presenter: 19 Facets: Change Detection

Presenter: 20 Single Page Flow

Presenter: 21 Agenda ● Overview ● What We Used ● What We Built ● ►Demonstrations

Presenter: 22 Demonstrations ● Fixtures ● Live Server ● CLI ● WebUI ● curl

Presenter: 23 Any Questions?