Front-end architecture for
Cloud Applications and
Polymer
Feb 2017
Rick Jang
Concurrent Web Usability
One Page
N-Screen
Responsive
Dynamic
Real-time
Writing One Page Web App
Problems: One Page Web App  Low Cohesion and High Coupling
<style>
style for A
style for B
style for C
</style>
<html>
element for A
element for B
element for C
</html>
<script>
script for A
script for B
script for C
</script>
Polymer: Web Component Framework
Polymer: W3C standard for Web Components
• Provides Cohesive Component Model
• Component Composition by HTML markup
• Dynamic Data Binding
• Responsive Web by Material Design
• Standard
• Google maintains it
Polymer: Web Component Framework
Polymer: W3C standard for Web Components
<style>
style for A
style for B
style for C
</style>
<html>
element for A
element for B
element for C
</html>
<script>
script for A
script for B
script for C
</script>
#A.html
<style>
style for A
</style>
<html>
element for A
</html>
<script>
script for A
</script>
#B.html
<style>
style for B
</style>
<html>
element for B
</html>
<script>
script for B
</script>
#C.html
<style>
style for C
</style>
<html>
element for C
</html>
<script>
script for C
</script>
#index.html
<A>
<B>
<C>
Polymer: Web Component Framework
Micro-service mashup tool and framework in visual way
Polymer: Web Component Framework
Polymer
Demo
Web Component Framework
Conclusion - Why Web Components (Polymer) ?
1. Standard
2. Tons of components developers contributed out there
3. Provides nice design tool.
4. Compatible with existing web and AngularJS too.
5. Beautiful and Google hosts it.
Role of Front-end
Separation of UI and Logic - General Monolithic Architecture
Front-end
Back-end
(Java)
DB
File System
(S3)
Front-end
Image Server
(Python)
Business Logic
Server
(Java)
Extended Role of Front-end in Cloud Applications
Aggregator for multiple (polyglot programmed) micro-services
Component
Service
(C)
AJAX, RESTful
Concurrent Cloud Applications are composed of multiple Micro
Services and front-end serves as an aggregator of the services
Extended topic - API Gateway
(Human)
Front-end
Servic
e
Service
API G/W
Service
Service
We need API Gateway for aggregating, forwarding services and exposing
composite APIs
Tenant-Specific Routing
(Machine)
Third-party Apps
Extended topic - Billing
(Human)
Front-end
Servic
e
Service
API G/W
Service
Service
We need API Gateway for aggregating, forwarding services and exposing
composite APIs
Tenant-Specific Billing
(Machine)
Third-party Apps
Billing
Extended topic – IAM
(Human)
Front-end
Servic
e
Service
API G/W
Service
Service
Stateless 인증, 통합빌링을 위한 IAM
Tenant-Specific Billing
(Machine)
Third-party Apps
Billing
IAM token
provider
OCE Software for Cloud Front-end
• Polymer-Java Mapping UI Framework
• IAM Server based on OAuth 2.0
• API Gateway  APIGee, Kong
• uEngine Billing (killbill based)
Polymer-Java Mapping - Metaworks
Metaworks: Polymer-Java Mapping by OCE
References
• https://www.polymer-project.org/
• https://polymer-designer.appspot.com/
• http://www.slideshare.net/wso2.org/workshop-ap-
idayssydneyarchitectenterpriseapimanagementstrategymifa
ncareem
• https://github.com/TheOpenCloudEngine/polymer-java-
mapping
• https://github.com/TheOpenCloudEngine/OCEIAM-
SERVICEWARRPER
• https://github.com/TheOpenCloudEngine/oceIAM

Front-end architecture for cloud applications and Polymer

  • 1.
    Front-end architecture for CloudApplications and Polymer Feb 2017 Rick Jang
  • 2.
    Concurrent Web Usability OnePage N-Screen Responsive Dynamic Real-time
  • 3.
    Writing One PageWeb App Problems: One Page Web App  Low Cohesion and High Coupling <style> style for A style for B style for C </style> <html> element for A element for B element for C </html> <script> script for A script for B script for C </script>
  • 4.
    Polymer: Web ComponentFramework Polymer: W3C standard for Web Components • Provides Cohesive Component Model • Component Composition by HTML markup • Dynamic Data Binding • Responsive Web by Material Design • Standard • Google maintains it
  • 5.
    Polymer: Web ComponentFramework Polymer: W3C standard for Web Components <style> style for A style for B style for C </style> <html> element for A element for B element for C </html> <script> script for A script for B script for C </script> #A.html <style> style for A </style> <html> element for A </html> <script> script for A </script> #B.html <style> style for B </style> <html> element for B </html> <script> script for B </script> #C.html <style> style for C </style> <html> element for C </html> <script> script for C </script> #index.html <A> <B> <C>
  • 6.
    Polymer: Web ComponentFramework Micro-service mashup tool and framework in visual way
  • 7.
    Polymer: Web ComponentFramework Polymer Demo
  • 8.
    Web Component Framework Conclusion- Why Web Components (Polymer) ? 1. Standard 2. Tons of components developers contributed out there 3. Provides nice design tool. 4. Compatible with existing web and AngularJS too. 5. Beautiful and Google hosts it.
  • 9.
    Role of Front-end Separationof UI and Logic - General Monolithic Architecture Front-end Back-end (Java) DB File System (S3)
  • 10.
    Front-end Image Server (Python) Business Logic Server (Java) ExtendedRole of Front-end in Cloud Applications Aggregator for multiple (polyglot programmed) micro-services Component Service (C) AJAX, RESTful Concurrent Cloud Applications are composed of multiple Micro Services and front-end serves as an aggregator of the services
  • 11.
    Extended topic -API Gateway (Human) Front-end Servic e Service API G/W Service Service We need API Gateway for aggregating, forwarding services and exposing composite APIs Tenant-Specific Routing (Machine) Third-party Apps
  • 12.
    Extended topic -Billing (Human) Front-end Servic e Service API G/W Service Service We need API Gateway for aggregating, forwarding services and exposing composite APIs Tenant-Specific Billing (Machine) Third-party Apps Billing
  • 13.
    Extended topic –IAM (Human) Front-end Servic e Service API G/W Service Service Stateless 인증, 통합빌링을 위한 IAM Tenant-Specific Billing (Machine) Third-party Apps Billing IAM token provider
  • 14.
    OCE Software forCloud Front-end • Polymer-Java Mapping UI Framework • IAM Server based on OAuth 2.0 • API Gateway  APIGee, Kong • uEngine Billing (killbill based)
  • 15.
    Polymer-Java Mapping -Metaworks Metaworks: Polymer-Java Mapping by OCE
  • 16.
    References • https://www.polymer-project.org/ • https://polymer-designer.appspot.com/ •http://www.slideshare.net/wso2.org/workshop-ap- idayssydneyarchitectenterpriseapimanagementstrategymifa ncareem • https://github.com/TheOpenCloudEngine/polymer-java- mapping • https://github.com/TheOpenCloudEngine/OCEIAM- SERVICEWARRPER • https://github.com/TheOpenCloudEngine/oceIAM