SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
WSO2	
  UI	
  Framework	
  
Manu	
  Perera	
  
Team	
  lead	
  ES/DS	
  team	
  
Agenda	
  
•  Problems	
  with	
  ad-­‐hog	
  UI	
  creaCon	
  
•  Journey	
  to	
  find	
  a	
  beGer	
  way	
  
•  WSO2	
  UI	
  framework	
  as	
  a	
  soluCon	
  
•  Beyond	
  basic	
  componenCzaCon	
  
•  Design	
  Principles	
  behind	
  UUF	
  
Ad-­‐hog	
  UI	
  creaCon	
  
Advantages	
  
•  Unlimited	
  customizability	
  
•  Less	
  learning	
  curve	
  for	
  the	
  UI/UX	
  designers	
  
Disadvantages	
  
•  RepeCCve	
  tasks,	
  adding	
  to	
  development	
  and	
  maintenance	
  
cost	
  	
  
•  Each	
  UI	
  needs	
  special	
  knowledge	
  to	
  maintain	
  
•  Each	
  customizaCon	
  of	
  the	
  UI	
  is	
  a	
  separate	
  branch	
  
Disadvantages	
  (cont.)
	
  
•  No	
  way	
  to	
  smoothly	
  patch	
  part	
  of	
  the	
  applicaCon	
  
•  Customer	
  maintained	
  customizaCons	
  make	
  it	
  unpatchable	
  
•  Customers	
  who	
  has	
  customized	
  have	
  a	
  hard	
  Cme	
  migraCng	
  
the	
  UI	
  
•  UX	
  Design	
  is	
  only	
  involved	
  in	
  the	
  beginning	
  
	
  
Journey	
  to	
  find	
  a	
  beGer	
  way	
  
Block	
  model	
  (in	
  WSO2	
  APIM	
  and	
  WSO2	
  AppFactory)	
  	
  
Caramel	
  model	
  (In	
  WSO2	
  ES/WSO2	
  Greg	
  5)	
  
	
  
solved	
  issues	
  -­‐	
  
	
  CustomizaCons	
  now	
  can	
  share	
  code(	
  such	
  as	
  ES	
  and	
  Greg)	
  
	
  Easier	
  migraCons	
  between	
  versions	
  for	
  customized	
  UIs	
  
downside	
  -­‐	
  
	
  This	
  turned	
  out	
  to	
  be	
  bit	
  more	
  complex	
  than	
  we	
  expected	
  	
  
Design	
  Principles	
  behind	
  UUF	
  
•  Open/closed	
  principle	
  
•  Liskov	
  subsCtuCon	
  principle	
  
•  Dependency	
  inversion	
  principle	
  
•  Single	
  responsibility	
  principle	
  
WSO2	
  UI	
  Framework	
  
•  Component	
  -­‐	
  a	
  reusable	
  element	
  that	
  can	
  be	
  brought	
  in	
  at	
  
build	
  Cme.	
  (think	
  of	
  this	
  as	
  jar)	
  
A	
  Component	
  has	
  	
  
– Layouts	
  -­‐	
  layout	
  is	
  the	
  base	
  structure.	
  
– Unit	
  -­‐	
  	
  is	
  a	
  cohesive	
  collecCon	
  of	
  html/css/js.	
  (think	
  of	
  this	
  
as	
  a	
  class)	
  
– Page	
  -­‐	
  Special	
  type	
  of	
  a	
  unit,	
  that	
  is	
  responsible	
  for	
  whole	
  
page	
  
Layout	
  
<!DOCTYPE html>
<html>
<head>
{{defineZone "js"}}
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top navbar-inverse"
role="navigation">
<div class="navbar-brand">{{defineZone "brand"}}</div>
{{defineZone "upperRight"}}
</div>
</div>
<div id="wrap">
<div class="container-fluid">
<div class="row">
{{defineZone "content"}}
</div>
</div>
<!-- /container -->
</div>
</body>
</html>
Unit	
  
example.unit.logo
|----------------------logo.hbs
|
|----------------------logo.json
|
|----------------------public
|-------------my-logo.png
|
|-------------my-logo.css
{{#zone "brand"}}
<a href="{{#defineZone "productUri"}}{{@app.uri}}{{/defineZone}}">
<img src="{{@unit.publicUri}}/img/logo.png" alt="{{defineZone "productName"}}"
title="{{defineZone "productName"}}" class="logo" />
<h1>{{#defineZone "productName"}}WSO2 Template App{{/defineZone}}</h1>
</a>
{{/zone}}
{
"version": "1.0.0",
"index": 1,
"pushedUris": [
"/",
"/{+any}"
]
}
Overriding	
  
Thank	
  You	
  

Contenu connexe

Tendances

WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationKasun Indrasiri
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB WSO2
 
Scalability Availabilty and Management of WSO2 Carbon
Scalability Availabilty and Management of WSO2 CarbonScalability Availabilty and Management of WSO2 Carbon
Scalability Availabilty and Management of WSO2 CarbonWSO2
 
Quality - The key to successful SOA
Quality - The key to successful SOAQuality - The key to successful SOA
Quality - The key to successful SOAWSO2
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun Indrasiri
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBWSO2
 
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and OptimizedWSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and OptimizedWSO2
 
Basic method for Java EE Web Profile
Basic method for Java EE Web ProfileBasic method for Java EE Web Profile
Basic method for Java EE Web ProfileKenji HASUNUMA
 
Reliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message BrokerReliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message BrokerWSO2
 
Understanding the WSO2 Platform
Understanding the WSO2 PlatformUnderstanding the WSO2 Platform
Understanding the WSO2 PlatformWSO2
 
Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow WSO2
 
Quarterly WSO2 Platform Update Webinar - Q1 2016
Quarterly WSO2 Platform Update Webinar - Q1 2016Quarterly WSO2 Platform Update Webinar - Q1 2016
Quarterly WSO2 Platform Update Webinar - Q1 2016WSO2
 
Best Practices with WSO2 Developer Studio
Best Practices with WSO2 Developer Studio Best Practices with WSO2 Developer Studio
Best Practices with WSO2 Developer Studio WSO2
 
Cloud Development with Camel and Amazon Web Services
Cloud Development with Camel and Amazon Web ServicesCloud Development with Camel and Amazon Web Services
Cloud Development with Camel and Amazon Web ServicesRobin Howlett
 
Ibm websphere server administration training
Ibm websphere  server administration trainingIbm websphere  server administration training
Ibm websphere server administration trainingFuturePoint Technologies
 
SharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - VirtualisationSharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - VirtualisationAlan Richards
 
Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform  Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform WSO2
 

Tendances (20)

WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise Integration
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB
 
Scalability Availabilty and Management of WSO2 Carbon
Scalability Availabilty and Management of WSO2 CarbonScalability Availabilty and Management of WSO2 Carbon
Scalability Availabilty and Management of WSO2 Carbon
 
Quality - The key to successful SOA
Quality - The key to successful SOAQuality - The key to successful SOA
Quality - The key to successful SOA
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
Resilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESBResilient Enterprise Messaging with WSO2 ESB
Resilient Enterprise Messaging with WSO2 ESB
 
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and OptimizedWSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
WSO2Con US 2013 - The New ESB - RESTy, Connected, Collaborative, and Optimized
 
WildFly & WildFly Swarm
WildFly & WildFly SwarmWildFly & WildFly Swarm
WildFly & WildFly Swarm
 
Basic method for Java EE Web Profile
Basic method for Java EE Web ProfileBasic method for Java EE Web Profile
Basic method for Java EE Web Profile
 
Reliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message BrokerReliable System Integration and Scaling with WSO2 Message Broker
Reliable System Integration and Scaling with WSO2 Message Broker
 
Understanding the WSO2 Platform
Understanding the WSO2 PlatformUnderstanding the WSO2 Platform
Understanding the WSO2 Platform
 
Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow
 
Quarterly WSO2 Platform Update Webinar - Q1 2016
Quarterly WSO2 Platform Update Webinar - Q1 2016Quarterly WSO2 Platform Update Webinar - Q1 2016
Quarterly WSO2 Platform Update Webinar - Q1 2016
 
Best Practices with WSO2 Developer Studio
Best Practices with WSO2 Developer Studio Best Practices with WSO2 Developer Studio
Best Practices with WSO2 Developer Studio
 
Camel Based Development Application
Camel Based Development ApplicationCamel Based Development Application
Camel Based Development Application
 
Cloud Development with Camel and Amazon Web Services
Cloud Development with Camel and Amazon Web ServicesCloud Development with Camel and Amazon Web Services
Cloud Development with Camel and Amazon Web Services
 
Ibm websphere server administration training
Ibm websphere  server administration trainingIbm websphere  server administration training
Ibm websphere server administration training
 
Weblogic server short
Weblogic server shortWeblogic server short
Weblogic server short
 
SharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - VirtualisationSharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - Virtualisation
 
Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform  Introduction to the WSO2 Carbon Platform
Introduction to the WSO2 Carbon Platform
 

Similaire à WSO2Con USA 2015: Building Web Apps with Reusable UI Components and Composition

Built to Last
Built to LastBuilt to Last
Built to LastDan Lynch
 
Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.jsMulti modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.jsDavid Amend
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidConAmir Zuker
 
Advanced Techniques for Ext Designer
Advanced Techniques for Ext DesignerAdvanced Techniques for Ext Designer
Advanced Techniques for Ext DesignerSencha
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web ApplicationYakov Fain
 
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...Davalen LLC
 
CloudStack UI
CloudStack UICloudStack UI
CloudStack UIShapeBlue
 
Bitworks CloudStack UI - CSEUUG 08 August 2017
Bitworks CloudStack UI - CSEUUG 08 August 2017Bitworks CloudStack UI - CSEUUG 08 August 2017
Bitworks CloudStack UI - CSEUUG 08 August 2017Ivan Kudryavtsev
 
Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayTony Ng
 
Calling all modularity solutions
Calling all modularity solutionsCalling all modularity solutions
Calling all modularity solutionsSangjin Lee
 
Morden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web AppsMorden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web AppsCaesar Chi
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Jeremy Likness
 
LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemVlad Fedosov
 
Working with UX, Design and Front End Developers
Working with UX, Design and Front End DevelopersWorking with UX, Design and Front End Developers
Working with UX, Design and Front End DevelopersScott Reed
 
III - Better angularjs
III - Better angularjsIII - Better angularjs
III - Better angularjsWebF
 
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable MasterpieceTransforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable MasterpieceDan Gribbin
 
Shield UI JavaScript Chart
Shield UI JavaScript ChartShield UI JavaScript Chart
Shield UI JavaScript ChartJStoikov
 
Unic - frontend development-in-complex-projects
Unic - frontend development-in-complex-projectsUnic - frontend development-in-complex-projects
Unic - frontend development-in-complex-projectsUnic
 

Similaire à WSO2Con USA 2015: Building Web Apps with Reusable UI Components and Composition (20)

Built to Last
Built to LastBuilt to Last
Built to Last
 
Multi modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.jsMulti modularized project setup with gulp, typescript and angular.js
Multi modularized project setup with gulp, typescript and angular.js
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidCon
 
Advanced Techniques for Ext Designer
Advanced Techniques for Ext DesignerAdvanced Techniques for Ext Designer
Advanced Techniques for Ext Designer
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...
 
CloudStack UI
CloudStack UICloudStack UI
CloudStack UI
 
Bitworks CloudStack UI - CSEUUG 08 August 2017
Bitworks CloudStack UI - CSEUUG 08 August 2017Bitworks CloudStack UI - CSEUUG 08 August 2017
Bitworks CloudStack UI - CSEUUG 08 August 2017
 
Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBay
 
Calling all modularity solutions
Calling all modularity solutionsCalling all modularity solutions
Calling all modularity solutions
 
Morden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web AppsMorden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web Apps
 
micro-frontends-with-vuejs
micro-frontends-with-vuejsmicro-frontends-with-vuejs
micro-frontends-with-vuejs
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
 
LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design System
 
Working with UX, Design and Front End Developers
Working with UX, Design and Front End DevelopersWorking with UX, Design and Front End Developers
Working with UX, Design and Front End Developers
 
III - Better angularjs
III - Better angularjsIII - Better angularjs
III - Better angularjs
 
Distribution best practices
Distribution best practicesDistribution best practices
Distribution best practices
 
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable MasterpieceTransforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
 
Shield UI JavaScript Chart
Shield UI JavaScript ChartShield UI JavaScript Chart
Shield UI JavaScript Chart
 
Unic - frontend development-in-complex-projects
Unic - frontend development-in-complex-projectsUnic - frontend development-in-complex-projects
Unic - frontend development-in-complex-projects
 

Plus de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Plus de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Dernier

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Dernier (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

WSO2Con USA 2015: Building Web Apps with Reusable UI Components and Composition

  • 1. WSO2  UI  Framework   Manu  Perera   Team  lead  ES/DS  team  
  • 2. Agenda   •  Problems  with  ad-­‐hog  UI  creaCon   •  Journey  to  find  a  beGer  way   •  WSO2  UI  framework  as  a  soluCon   •  Beyond  basic  componenCzaCon   •  Design  Principles  behind  UUF  
  • 3. Ad-­‐hog  UI  creaCon   Advantages   •  Unlimited  customizability   •  Less  learning  curve  for  the  UI/UX  designers   Disadvantages   •  RepeCCve  tasks,  adding  to  development  and  maintenance   cost     •  Each  UI  needs  special  knowledge  to  maintain   •  Each  customizaCon  of  the  UI  is  a  separate  branch  
  • 4. Disadvantages  (cont.)   •  No  way  to  smoothly  patch  part  of  the  applicaCon   •  Customer  maintained  customizaCons  make  it  unpatchable   •  Customers  who  has  customized  have  a  hard  Cme  migraCng   the  UI   •  UX  Design  is  only  involved  in  the  beginning    
  • 5. Journey  to  find  a  beGer  way   Block  model  (in  WSO2  APIM  and  WSO2  AppFactory)     Caramel  model  (In  WSO2  ES/WSO2  Greg  5)     solved  issues  -­‐    CustomizaCons  now  can  share  code(  such  as  ES  and  Greg)    Easier  migraCons  between  versions  for  customized  UIs   downside  -­‐    This  turned  out  to  be  bit  more  complex  than  we  expected    
  • 6. Design  Principles  behind  UUF   •  Open/closed  principle   •  Liskov  subsCtuCon  principle   •  Dependency  inversion  principle   •  Single  responsibility  principle  
  • 7. WSO2  UI  Framework   •  Component  -­‐  a  reusable  element  that  can  be  brought  in  at   build  Cme.  (think  of  this  as  jar)   A  Component  has     – Layouts  -­‐  layout  is  the  base  structure.   – Unit  -­‐    is  a  cohesive  collecCon  of  html/css/js.  (think  of  this   as  a  class)   – Page  -­‐  Special  type  of  a  unit,  that  is  responsible  for  whole   page  
  • 8. Layout   <!DOCTYPE html> <html> <head> {{defineZone "js"}} </head> <body> <div class="navbar navbar-default navbar-fixed-top navbar-inverse" role="navigation"> <div class="navbar-brand">{{defineZone "brand"}}</div> {{defineZone "upperRight"}} </div> </div> <div id="wrap"> <div class="container-fluid"> <div class="row"> {{defineZone "content"}} </div> </div> <!-- /container --> </div> </body> </html>
  • 9. Unit   example.unit.logo |----------------------logo.hbs | |----------------------logo.json | |----------------------public |-------------my-logo.png | |-------------my-logo.css {{#zone "brand"}} <a href="{{#defineZone "productUri"}}{{@app.uri}}{{/defineZone}}"> <img src="{{@unit.publicUri}}/img/logo.png" alt="{{defineZone "productName"}}" title="{{defineZone "productName"}}" class="logo" /> <h1>{{#defineZone "productName"}}WSO2 Template App{{/defineZone}}</h1> </a> {{/zone}} { "version": "1.0.0", "index": 1, "pushedUris": [ "/", "/{+any}" ] }