Presented by Jamie Nelson, VP of Engineering, ForgeRock and Jonathan Scudder, OpenAM Architect and ForgeRock Co-Founder at ForgeRock Open Identity Summit, June 2013
Learn more about ForgeRock Access Management:
https://www.forgerock.com/platform/access-management/
Learn more about ForgeRock Identity Management:
https://www.forgerock.com/platform/identity-management/
3. Open Identity Summit
API: How we share data and
functionality with developers
and businesses
APIs have been around ‘forever’
Usage and significance has changed dramatically over recent years
Shift towards external developers and users
API vs SOA
4. Open Identity Summit
Killer Argument
Why are we aligning our API’s?
Is REST a good enough argument by itself?
Don’t our current API’s do enough?
6. Open Identity Summit
#2 Boundary Blur
~ 70% of enterprises building private cloud
~ 40% of enterprises building public and hybrid cloud.
(Survey by IDC, September 2012)
Mobile Social Cloud Enterprise
7. Open Identity Summit
#3 Integration Power
Create
Read
Update
Delete
Patch
Action
Query
Granular control, simple interface
Standard set of operations
(CRUDPAQ), different inputs &
outputs
Primarily JSON representation
Attractive non-functional tools and
techniques with HTTP
ROA + REST + JSON
8. Open Identity Summit
CREST example
/json/subrealm/users/?_action=create
$ curl --request POST --header "iplanetDirectoryPro: AQIC5w..."
--header "Content-Type: application/json"
--data '{
"name": "bjensen",
"userpassword": "secret12",
"mail": "bjensen@example.com"
}'
https://openam.example.com:8443/openam/json/users/?_action=create
12. Open Identity Summit
Problem
To 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
13. Open Identity Summit
Complex Frameworks
Years to learn
Takes an expert to make changes
No consistency between API, CLI, over the wire
Complexity requires an abstraction layer
Isolates the UI from Command Line and other APIs
Scripting is impossible
15. Open Identity Summit
Open Identity Stack UI Model
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
16. Open Identity Summit
ForgeRock UI Model
jQuery (Needs a little help)
Backbone.js + Require.js (Modular)
Handlebars.js (Templating)
Underscore.js (Utility library)
Less.js (CSS preprocessor)
Built on ForgeRock REST and Common Services
Caters to the web developers of today
Two different models for ForgeRock UIs
17. Open Identity Summit
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
18. Open Identity Summit
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