developing for next gen identity services

Post on 10-May-2015

936 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presented by Jonathan Scudder, OpenAM Architect and Jacke Feasel, UI Lead, ForgeRock

TRANSCRIPT

2013 Open Stack Identity Summit - France

Developing for Next Gen

Identity Services

Jake Feasal, UI LeadJonathan Scudder, OpenAM Architect

Once upon a time...

Open Source

Simple API

Growth

ScaleWell understood technology

Roll-out

Commonality

Integration

Product ‘suite’

Common REST API

• Open Source

• REST (JSON, SCIM++)

• ROA

• JASPIC

ROA + REST + JASPIC

• Resources vs services• Users, Groups, Realms, Sessions, Tokens...

• Granular control

• Standard set of operations

• Flexible authentication and authorization

Create

Read

Update

Delete

Patch

Action

Query

ForgeRock developers

API strategy - stack

Problem

Too many different complicated UI Frameworks

Roots from sun

Big company UI strategy churn

Developers learning new frameworks

Customers are locked in

Simple modifications overly complex

Leads to heavyweight API just for the UI

Legacy User Interfaces

YUI/Click

Jato

JSF/Ice Faces

JSP Admin

Java Swing

Open Identity Stack UI Model

“Single-Page Web App” style

Single UI model for all products

Built on ForgeRock REST (CREST)

Common UIs for:

User management

Registration and Self Service

Login and Password Reset

Build on shared services for Authentication

ForgeRock UI Library Stack

jQuery (General utility) + jQuery UI (Widgets)

Backbone.js + Require.js (Modular MVC Architecture)

Handlebars.js (Templating)

Underscore.js (General utility)

Less.js (CSS preprocessor)

Built on ForgeRock REST and Common Services

Caters to the web developers of today

Two different models for ForgeRock UIs

Admin and Configuration

Used primarily by Administrators

UI not typically customized

Configuration for product services

Dynamically rendered based on server JSON schema

REST APIs for custom applications

Adding new services dynamically rendered

Customers not expected to modify more than CSS

End User

Primarily seen by end users Simple HTML Templates

Read in by Javascript and embedded in the UI

Rendered with site wide styles/CSS

Simple syntax for embedding dynamic values

Separates bus logic from display

Simple to modify without breaking the UI

Easy to patch and upgrade

Q & A

Logo of Presenter Company HERE

top related