SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
WSO2 Presentation Layer
                 - Nuwan Bandara
What is the presentation layer ?
● The place where data becomes information

● Where all underneath complexities are given
  a meaning

● The place where a first impressions in built
What it means to be the presentation
layer of a middleware platform

● A lot of data

● A lot of data formats

● Plenty of apis in various formats
JSP & Servlets
● Is the common choice is java based
  platforms

● Provides a solid platform to build UIs

● Have a rich toolset
Carbon UI
● In combination provides the UI for the
  underlying services layer

● Modular

● Separates the concerns

● Plugable
Limitations of the current
presentation platform
● The pluggable UI components are in .jar
  archives

● Not flexible for change

● Have a strict convention and is limited to the
  management console UIs
Solution & Alternatives
● Use a light weight frontend

● No deployment hassle

● Simply vi in the source

● PHP ? Python ? JavaScript ?
Advantages of Javascript
● One language across the board

● Wide developer community adoption

● A rich data format

● Plenty of rich libraries for front end
  development
Javascript in the server
● No mismatches of data back and forth

● One language at the client and at the server

● Share libraries between the client and the
  server

● Any javascript developer can complete the
  entire job
● A runtime that process javascript at the
  server

● easy of application development deployment
  lifecycle

● A useful tool set perform basic server side
  functionalities

● An extendable platform
How its been built
● Based on Mozilla Rhino
● Deployed as same as an exploded .war file
Hello World in Jaggery
  /helloworld.jag

    <%
         print('Hello World');
    %>
Additional Helpers
●   Log
●   Require
●   <%= %>
●   get/post/put/del
●   Include
●   File
●   Database
●   etc
JSON
/person.json

{
    "person":{
               "name":"nuwan",
               "tg":"development"
             }
}
How JSON makes it all easy
/data.jag
<%
var person = {"name":"nuwan", "company":"wso2"};
print(person);
%>

/display.html
<script>
$.get('data.jag', function(data) {
  alert('The name is : ' + data.name);
});
</script>
Jaggery and APIs
● Content negociation
  ○ Can send the page or the data based on the requested content
       type


● Natively support JSON (who's writing XML based apis
  anymore ;) )

● For this reason these APIs are inherently mobile friendly

● No extra effort to write the API and then the application
Jaggery Editor
●   For now only support IntelliJ Idea

●   Full fledge web based IDE - Coming Soon with UES

●   Developer Studio Based IDE - Coming Soon
Jaggery Debugger
Questions ?


Answers are at - http://jaggeryjs.org/documentation.jag


                       :)

Weitere ähnliche Inhalte

Was ist angesagt?

Configure python and wsgi
Configure python and wsgiConfigure python and wsgi
Configure python and wsgi
Sitthykun LY
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
niallo
 
Using PHP IDEs with Drupal (DrupalDevDays Szeged 2014)
Using PHP IDEs with Drupal (DrupalDevDays Szeged 2014)Using PHP IDEs with Drupal (DrupalDevDays Szeged 2014)
Using PHP IDEs with Drupal (DrupalDevDays Szeged 2014)
Valery Lourie
 

Was ist angesagt? (20)

Slightly Advanced Topics in Gutenberg Development
Slightly Advanced Topics in Gutenberg Development Slightly Advanced Topics in Gutenberg Development
Slightly Advanced Topics in Gutenberg Development
 
003. ReactJS basic
003. ReactJS basic003. ReactJS basic
003. ReactJS basic
 
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
Gutenberg: You Can't Teach an Old Dev New Tricks - WordCamp Chicago 2018
 
Node js - Enterprise Class
Node js - Enterprise ClassNode js - Enterprise Class
Node js - Enterprise Class
 
IoT and developer chances
IoT and developer chancesIoT and developer chances
IoT and developer chances
 
Building your own static site Using Hugo
Building your own static site Using HugoBuilding your own static site Using Hugo
Building your own static site Using Hugo
 
Andrew Berezovsky - Drupal 8 How to Migr8
Andrew Berezovsky - Drupal 8 How to Migr8Andrew Berezovsky - Drupal 8 How to Migr8
Andrew Berezovsky - Drupal 8 How to Migr8
 
Configure python and wsgi
Configure python and wsgiConfigure python and wsgi
Configure python and wsgi
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
 
JavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web frameworkJavascriptMVC: Another choice of web framework
JavascriptMVC: Another choice of web framework
 
Javascript basics
Javascript basicsJavascript basics
Javascript basics
 
Node js first look - 2016
Node js first look - 2016Node js first look - 2016
Node js first look - 2016
 
Polymer Web Framework - Swecha Boot Camp
Polymer Web Framework - Swecha Boot CampPolymer Web Framework - Swecha Boot Camp
Polymer Web Framework - Swecha Boot Camp
 
Using PHP IDEs with Drupal (DrupalDevDays Szeged 2014)
Using PHP IDEs with Drupal (DrupalDevDays Szeged 2014)Using PHP IDEs with Drupal (DrupalDevDays Szeged 2014)
Using PHP IDEs with Drupal (DrupalDevDays Szeged 2014)
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Using Javascript in today's world
Using Javascript in today's worldUsing Javascript in today's world
Using Javascript in today's world
 
OTLY: A framework for realtime collaboration
OTLY: A framework for realtime collaborationOTLY: A framework for realtime collaboration
OTLY: A framework for realtime collaboration
 
Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Angular2.0@Shanghai0319
Angular2.0@Shanghai0319
 
Going Offline with JS
Going Offline with JSGoing Offline with JS
Going Offline with JS
 
Django ws
Django wsDjango ws
Django ws
 

Andere mochten auch (12)

OSI 7 Layer model
OSI 7 Layer modelOSI 7 Layer model
OSI 7 Layer model
 
L13 Presentation Layer Design
L13 Presentation Layer DesignL13 Presentation Layer Design
L13 Presentation Layer Design
 
Magento Presentation Layer
Magento Presentation LayerMagento Presentation Layer
Magento Presentation Layer
 
Presentation Layer (Layer OSI)
Presentation Layer (Layer OSI)Presentation Layer (Layer OSI)
Presentation Layer (Layer OSI)
 
SEJARAH OSI LAYER & FUNGSI LAYER APLIKASI
SEJARAH OSI LAYER & FUNGSI LAYER APLIKASISEJARAH OSI LAYER & FUNGSI LAYER APLIKASI
SEJARAH OSI LAYER & FUNGSI LAYER APLIKASI
 
Model OSI Layer
Model OSI LayerModel OSI Layer
Model OSI Layer
 
Osi
OsiOsi
Osi
 
Standart Komunikasi Data
Standart Komunikasi DataStandart Komunikasi Data
Standart Komunikasi Data
 
Application Layer
Application LayerApplication Layer
Application Layer
 
7 osi layer
7 osi layer7 osi layer
7 osi layer
 
Lecture 6 -_presentation_layer
Lecture 6 -_presentation_layerLecture 6 -_presentation_layer
Lecture 6 -_presentation_layer
 
Application Layer
Application Layer Application Layer
Application Layer
 

Ähnlich wie WSO2 Presentation Layer

HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and Resources
Ron Reiter
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Per Henrik Lausten
 
The WSO2 Business Activity Monitor - Optimizing Enterprise Data Management
The WSO2 Business Activity Monitor - Optimizing Enterprise Data Management The WSO2 Business Activity Monitor - Optimizing Enterprise Data Management
The WSO2 Business Activity Monitor - Optimizing Enterprise Data Management
WSO2
 

Ähnlich wie WSO2 Presentation Layer (20)

Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
 
Bootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroBootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to Hero
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Tools
 
Enterprise Griffon
Enterprise GriffonEnterprise Griffon
Enterprise Griffon
 
[WSO2 Integration Summit San Francisco 2019] Ballerina - Cloud Native Middlew...
[WSO2 Integration Summit San Francisco 2019] Ballerina - Cloud Native Middlew...[WSO2 Integration Summit San Francisco 2019] Ballerina - Cloud Native Middlew...
[WSO2 Integration Summit San Francisco 2019] Ballerina - Cloud Native Middlew...
 
Ballerina cloud native middleware as a programming language | Yenlo - WSO2 In...
Ballerina cloud native middleware as a programming language | Yenlo - WSO2 In...Ballerina cloud native middleware as a programming language | Yenlo - WSO2 In...
Ballerina cloud native middleware as a programming language | Yenlo - WSO2 In...
 
NodeJS
NodeJSNodeJS
NodeJS
 
HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and Resources
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
 
solution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptxsolution Challenge design and flutter day.pptx
solution Challenge design and flutter day.pptx
 
Flour
FlourFlour
Flour
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
 
ApacheCon09: Avro
ApacheCon09: AvroApacheCon09: Avro
ApacheCon09: Avro
 
Introduction to node.js aka NodeJS
Introduction to node.js aka NodeJSIntroduction to node.js aka NodeJS
Introduction to node.js aka NodeJS
 
The WSO2 Business Activity Monitor - Optimizing Enterprise Data Management
The WSO2 Business Activity Monitor - Optimizing Enterprise Data Management The WSO2 Business Activity Monitor - Optimizing Enterprise Data Management
The WSO2 Business Activity Monitor - Optimizing Enterprise Data Management
 
Web Development with AngularJS, NodeJS and ExpressJS
Web Development with AngularJS, NodeJS and ExpressJSWeb Development with AngularJS, NodeJS and ExpressJS
Web Development with AngularJS, NodeJS and ExpressJS
 
Meetup - Building by Composition - Samuel Jesus
Meetup - Building by Composition - Samuel JesusMeetup - Building by Composition - Samuel Jesus
Meetup - Building by Composition - Samuel Jesus
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
 

Mehr von Nuwan Bandara

Mehr von Nuwan Bandara (12)

Modern Computing System & Beyond
Modern Computing System & BeyondModern Computing System & Beyond
Modern Computing System & Beyond
 
API Marketplaces - The Enterprise Version
API Marketplaces - The Enterprise VersionAPI Marketplaces - The Enterprise Version
API Marketplaces - The Enterprise Version
 
Digital Transformation with WSO2 Middleware
Digital Transformation with WSO2 MiddlewareDigital Transformation with WSO2 Middleware
Digital Transformation with WSO2 Middleware
 
Architecting the Digital Enterprise
Architecting the Digital EnterpriseArchitecting the Digital Enterprise
Architecting the Digital Enterprise
 
APIs as your digital connector
APIs as your digital connectorAPIs as your digital connector
APIs as your digital connector
 
Monetizing on APIs with better API management and monitoring
Monetizing on APIs with better API management and monitoringMonetizing on APIs with better API management and monitoring
Monetizing on APIs with better API management and monitoring
 
Developing Enterprise Applications with the WSO2 Application Platform
Developing Enterprise Applications with the WSO2 Application PlatformDeveloping Enterprise Applications with the WSO2 Application Platform
Developing Enterprise Applications with the WSO2 Application Platform
 
Jaggery Introductory Webinar
Jaggery Introductory WebinarJaggery Introductory Webinar
Jaggery Introductory Webinar
 
The Cloud
The CloudThe Cloud
The Cloud
 
Users: SOA Last Mile - WSO2Con 2011
Users: SOA Last Mile - WSO2Con 2011Users: SOA Last Mile - WSO2Con 2011
Users: SOA Last Mile - WSO2Con 2011
 
Rapid Web Application Development with the WSO2 Mashup Server
Rapid Web Application Development with the WSO2 Mashup ServerRapid Web Application Development with the WSO2 Mashup Server
Rapid Web Application Development with the WSO2 Mashup Server
 
Shindig Apachecon Asia 09
Shindig Apachecon Asia 09Shindig Apachecon Asia 09
Shindig Apachecon Asia 09
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

WSO2 Presentation Layer

  • 1. WSO2 Presentation Layer - Nuwan Bandara
  • 2. What is the presentation layer ? ● The place where data becomes information ● Where all underneath complexities are given a meaning ● The place where a first impressions in built
  • 3. What it means to be the presentation layer of a middleware platform ● A lot of data ● A lot of data formats ● Plenty of apis in various formats
  • 4. JSP & Servlets ● Is the common choice is java based platforms ● Provides a solid platform to build UIs ● Have a rich toolset
  • 5. Carbon UI ● In combination provides the UI for the underlying services layer ● Modular ● Separates the concerns ● Plugable
  • 6. Limitations of the current presentation platform ● The pluggable UI components are in .jar archives ● Not flexible for change ● Have a strict convention and is limited to the management console UIs
  • 7. Solution & Alternatives ● Use a light weight frontend ● No deployment hassle ● Simply vi in the source ● PHP ? Python ? JavaScript ?
  • 8. Advantages of Javascript ● One language across the board ● Wide developer community adoption ● A rich data format ● Plenty of rich libraries for front end development
  • 9. Javascript in the server ● No mismatches of data back and forth ● One language at the client and at the server ● Share libraries between the client and the server ● Any javascript developer can complete the entire job
  • 10. ● A runtime that process javascript at the server ● easy of application development deployment lifecycle ● A useful tool set perform basic server side functionalities ● An extendable platform
  • 11. How its been built ● Based on Mozilla Rhino ● Deployed as same as an exploded .war file
  • 12. Hello World in Jaggery /helloworld.jag <% print('Hello World'); %>
  • 13. Additional Helpers ● Log ● Require ● <%= %> ● get/post/put/del ● Include ● File ● Database ● etc
  • 14. JSON /person.json { "person":{ "name":"nuwan", "tg":"development" } }
  • 15. How JSON makes it all easy /data.jag <% var person = {"name":"nuwan", "company":"wso2"}; print(person); %> /display.html <script> $.get('data.jag', function(data) { alert('The name is : ' + data.name); }); </script>
  • 16. Jaggery and APIs ● Content negociation ○ Can send the page or the data based on the requested content type ● Natively support JSON (who's writing XML based apis anymore ;) ) ● For this reason these APIs are inherently mobile friendly ● No extra effort to write the API and then the application
  • 17. Jaggery Editor ● For now only support IntelliJ Idea ● Full fledge web based IDE - Coming Soon with UES ● Developer Studio Based IDE - Coming Soon
  • 19. Questions ? Answers are at - http://jaggeryjs.org/documentation.jag :)