SlideShare a Scribd company logo
1 of 20
Download to read offline
Rapid Web Application Development
  with the WSO2 Mashup Server

      Nuwan Bandara & Ruchira Wageesha
Hurdles of rapid web application
           development
• There are many great web app development
  frameworks, but …



• Is there a simple way to consume different
  information streams, APIs and services ?
• How much code do you have to write to aggregate
  the responses of two different web services ?
• Can you easily setup an event based alert system
How can Mashup Server help you ?
• Mashup server can help you in consuming those
  Web Services, APIs and other information streams
• There is almost no learning curve
• Write the mashup simply in JavaScript and its ready
  to go
• Your web application can have one single entry
  point to consume the mashup and the rest can be
  delegated to the mashup server
Features of the server
•   Provides a service hosting platform
•   Has an extensible programming model
•   Ability to bundle a custom user interface for the mashup
•   Many useful JavaScript APIs (Host-Objects) that can be used when
    writing mashups (WSRequest, IM, File, Session, Scraper etc)
•   Mashup authoring tools
•   Task scheduling
•   Ability apply quality of services
    •   Security, Reliability etc
•   Server administration, monitoring and governance
Architecture
WSO2 Mashup
• Is written in Server Side Javascript
• Able to import any JS library
• Javascript extensions are available for Mashup authors as
     •   Objects (Feed, APP, IM, Tasks, Scraping)
     •   ECMAScript for XML (E4X)
• Immediately becomes a Web Service, which means it;
     •   Can be invoked via SOAP or REST
     •   Can be configured for QoS (Security, Throttling, Policies, etc.)
• Can be monitored (Statistics)
Hello World
• Step 1 - In Notepad or your favorite IDE, type the
  following text:



• Step 2 - Save this file as 'helloworld.js' in a directory within
  'repository/deployment/server/jsservices' directory of
  Mashup Server.
• And now it’s a web service 
Few common use-cases
• Consuming information from different data sources
• Aggregating RSS feeds
• Event based alerts
• Periodical tasks
• Web scraping
• Session management
If you want to consume many
    different data sources
The WSRequest Object
• Similar to the XMLHTTPRequest object
• Usage typically involves specifying the endpoint address and setting
  up options on how to frame the message, invoking the operation
  with a specific XML payload, and then checking and extracting
  information from the result.
If you want to Aggregating some
  feeds and create a RSS reader
The Feed Object
• Helps Mashups to consume and create Atom and RSS Feeds
If you want to configure an alert to be
         sent via IM or email
The Email Object
• Allows users to send out email from their Mashups.
  It helps notify users of certain events and acts as a
  bridge between Mashups and users
If you want to create a web scraping
                 bot
The Scraper Object
• The Scraper object allows data to be extracted from
  HTML pages and presented in XML format. It
  provides a bridge to data sources that don't have
  XML or Web service representations at present
Mashup Server in the cloud
• You don’t have to worry about deploying a Mashup
  Server in a hosting environment
• Simply create an account at http://cloud.wso2.com
• Navigate to the Mashup Server and get cracking
Documentation & articles
• http://wso2.org/project/mashup/2.2.0/docs/
• http://wso2.org/library/mashup-server
• http://jonathanmarsh.net/category/wso2-
  mashup-server/
• http://www.nuwanbando.com/category/wso2-
  mashup-server/
Contribute and feedback
• https://wso2.org/jira/browse/MASHUP
• http://wso2.org/forum/226
• http://wso2.org/mail
Image References
• http://images.sixrevisions.com/2008/12/15-
  01_use_framework.png
• http://www.theredelephant.org/html/images/rss_xml_at
  om_feeds_news_icon.jpg
• http://www.digitalpipelines.com/images/craigslist-
  homepage.gif
• http://www.livescorefeed.net/images/xmlfeed.png

More Related Content

What's hot

WSO2Con USA 2017: AESP(Arizona Enterprise Services Platform), Rollout and Ado...
WSO2Con USA 2017: AESP(Arizona Enterprise Services Platform), Rollout and Ado...WSO2Con USA 2017: AESP(Arizona Enterprise Services Platform), Rollout and Ado...
WSO2Con USA 2017: AESP(Arizona Enterprise Services Platform), Rollout and Ado...WSO2
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)Imam Raza
 
WSO2Con EU 2016: Identity Management – A Cornerstone for the Connected Enter...
WSO2Con EU 2016: Identity Management –  A Cornerstone for the Connected Enter...WSO2Con EU 2016: Identity Management –  A Cornerstone for the Connected Enter...
WSO2Con EU 2016: Identity Management – A Cornerstone for the Connected Enter...WSO2
 
Building Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and CloudBuilding Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and CloudWSO2
 
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and FuturesWSO2
 
Understanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and TechnologyUnderstanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and TechnologyWSO2
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareRahul Krishnan P
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsSatya Syam
 
Exploring a Real World Use Case
Exploring a Real World Use CaseExploring a Real World Use Case
Exploring a Real World Use CaseWSO2
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructureAbhishek Sur
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureMohamad Farhani
 
Baas to-saab
Baas to-saabBaas to-saab
Baas to-saabritc
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost WSO2
 
Microservice-based Architecture on the Salesforce App Cloud
Microservice-based Architecture on the Salesforce App CloudMicroservice-based Architecture on the Salesforce App Cloud
Microservice-based Architecture on the Salesforce App Cloudpbattisson
 

What's hot (20)

WSO2Con USA 2017: AESP(Arizona Enterprise Services Platform), Rollout and Ado...
WSO2Con USA 2017: AESP(Arizona Enterprise Services Platform), Rollout and Ado...WSO2Con USA 2017: AESP(Arizona Enterprise Services Platform), Rollout and Ado...
WSO2Con USA 2017: AESP(Arizona Enterprise Services Platform), Rollout and Ado...
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)
 
WSO2Con EU 2016: Identity Management – A Cornerstone for the Connected Enter...
WSO2Con EU 2016: Identity Management –  A Cornerstone for the Connected Enter...WSO2Con EU 2016: Identity Management –  A Cornerstone for the Connected Enter...
WSO2Con EU 2016: Identity Management – A Cornerstone for the Connected Enter...
 
Building Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and CloudBuilding Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and Cloud
 
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
[WSO2Con EU 2017] Keynote: Ballerina Plans and Futures
 
Understanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and TechnologyUnderstanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and Technology
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new Middleware
 
Kong
KongKong
Kong
 
Leverage of MBAAS
Leverage of MBAAS Leverage of MBAAS
Leverage of MBAAS
 
Microservices
MicroservicesMicroservices
Microservices
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communications
 
Jagdish
JagdishJagdish
Jagdish
 
Exploring a Real World Use Case
Exploring a Real World Use CaseExploring a Real World Use Case
Exploring a Real World Use Case
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructure
 
Microservices
MicroservicesMicroservices
Microservices
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
2015 5-7-slide
2015 5-7-slide2015 5-7-slide
2015 5-7-slide
 
Baas to-saab
Baas to-saabBaas to-saab
Baas to-saab
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
 
Microservice-based Architecture on the Salesforce App Cloud
Microservice-based Architecture on the Salesforce App CloudMicroservice-based Architecture on the Salesforce App Cloud
Microservice-based Architecture on the Salesforce App Cloud
 

Similar to Rapid Web Application Development with the WSO2 Mashup Server

Making Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredMaking Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredPaul Fremantle
 
Mashups For Soa
Mashups For SoaMashups For Soa
Mashups For SoaWSO2
 
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...WSO2
 
Project First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be usedProject First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be usedarya krazydude
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Reviewnetc2012
 
Introduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperIntroduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperRahul Jain
 
Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music storeADEEBANADEEM
 
Building cloud native data microservice
Building cloud native data microserviceBuilding cloud native data microservice
Building cloud native data microserviceNilanjan Roy
 
Web server architecture
Web server architectureWeb server architecture
Web server architectureTewodros K
 
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...Ram G Athreya
 
05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebservertarensi
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxenaIndicThreads
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)slire
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets Redar Ismail
 
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...Sriskandarajah Suhothayan
 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programminghotrannam
 
WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0WSO2
 

Similar to Rapid Web Application Development with the WSO2 Mashup Server (20)

Real time web apps
Real time web appsReal time web apps
Real time web apps
 
Making Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredMaking Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and Metered
 
Mashups For Soa
Mashups For SoaMashups For Soa
Mashups For Soa
 
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...WSO2 Intro Webinar -  Scale your business with the cloud enabled WSO2 Applica...
WSO2 Intro Webinar - Scale your business with the cloud enabled WSO2 Applica...
 
Project First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be usedProject First presentation about introduction to technologies to be used
Project First presentation about introduction to technologies to be used
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
 
Introduction to Kafka and Zookeeper
Introduction to Kafka and ZookeeperIntroduction to Kafka and Zookeeper
Introduction to Kafka and Zookeeper
 
Ppt for Online music store
Ppt for Online music storePpt for Online music store
Ppt for Online music store
 
Building cloud native data microservice
Building cloud native data microserviceBuilding cloud native data microservice
Building cloud native data microservice
 
Web server architecture
Web server architectureWeb server architecture
Web server architecture
 
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
 
05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxena
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets
 
Design patternsforiot
Design patternsforiotDesign patternsforiot
Design patternsforiot
 
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...
 
HTML5 Programming
HTML5 ProgrammingHTML5 Programming
HTML5 Programming
 
WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0WSO2 Application Server - 5.0.0
WSO2 Application Server - 5.0.0
 

More from Nuwan Bandara

Modern Computing System & Beyond
Modern Computing System & BeyondModern Computing System & Beyond
Modern Computing System & BeyondNuwan Bandara
 
API Marketplaces - The Enterprise Version
API Marketplaces - The Enterprise VersionAPI Marketplaces - The Enterprise Version
API Marketplaces - The Enterprise VersionNuwan Bandara
 
Digital Transformation with WSO2 Middleware
Digital Transformation with WSO2 MiddlewareDigital Transformation with WSO2 Middleware
Digital Transformation with WSO2 MiddlewareNuwan Bandara
 
Architecting the Digital Enterprise
Architecting the Digital EnterpriseArchitecting the Digital Enterprise
Architecting the Digital EnterpriseNuwan Bandara
 
APIs as your digital connector
APIs as your digital connectorAPIs as your digital connector
APIs as your digital connectorNuwan Bandara
 
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 monitoringNuwan Bandara
 
WSO2 Presentation Layer
WSO2 Presentation LayerWSO2 Presentation Layer
WSO2 Presentation LayerNuwan Bandara
 
Jaggery Introductory Webinar
Jaggery Introductory WebinarJaggery Introductory Webinar
Jaggery Introductory WebinarNuwan Bandara
 
Users: SOA Last Mile - WSO2Con 2011
Users: SOA Last Mile - WSO2Con 2011Users: SOA Last Mile - WSO2Con 2011
Users: SOA Last Mile - WSO2Con 2011Nuwan Bandara
 
Shindig Apachecon Asia 09
Shindig Apachecon Asia 09Shindig Apachecon Asia 09
Shindig Apachecon Asia 09Nuwan Bandara
 

More from Nuwan Bandara (11)

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
 
WSO2 Presentation Layer
WSO2 Presentation LayerWSO2 Presentation Layer
WSO2 Presentation Layer
 
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
 
Shindig Apachecon Asia 09
Shindig Apachecon Asia 09Shindig Apachecon Asia 09
Shindig Apachecon Asia 09
 

Rapid Web Application Development with the WSO2 Mashup Server

  • 1. Rapid Web Application Development with the WSO2 Mashup Server Nuwan Bandara & Ruchira Wageesha
  • 2. Hurdles of rapid web application development • There are many great web app development frameworks, but … • Is there a simple way to consume different information streams, APIs and services ? • How much code do you have to write to aggregate the responses of two different web services ? • Can you easily setup an event based alert system
  • 3. How can Mashup Server help you ? • Mashup server can help you in consuming those Web Services, APIs and other information streams • There is almost no learning curve • Write the mashup simply in JavaScript and its ready to go • Your web application can have one single entry point to consume the mashup and the rest can be delegated to the mashup server
  • 4. Features of the server • Provides a service hosting platform • Has an extensible programming model • Ability to bundle a custom user interface for the mashup • Many useful JavaScript APIs (Host-Objects) that can be used when writing mashups (WSRequest, IM, File, Session, Scraper etc) • Mashup authoring tools • Task scheduling • Ability apply quality of services • Security, Reliability etc • Server administration, monitoring and governance
  • 6. WSO2 Mashup • Is written in Server Side Javascript • Able to import any JS library • Javascript extensions are available for Mashup authors as • Objects (Feed, APP, IM, Tasks, Scraping) • ECMAScript for XML (E4X) • Immediately becomes a Web Service, which means it; • Can be invoked via SOAP or REST • Can be configured for QoS (Security, Throttling, Policies, etc.) • Can be monitored (Statistics)
  • 7. Hello World • Step 1 - In Notepad or your favorite IDE, type the following text: • Step 2 - Save this file as 'helloworld.js' in a directory within 'repository/deployment/server/jsservices' directory of Mashup Server. • And now it’s a web service 
  • 8. Few common use-cases • Consuming information from different data sources • Aggregating RSS feeds • Event based alerts • Periodical tasks • Web scraping • Session management
  • 9. If you want to consume many different data sources
  • 10. The WSRequest Object • Similar to the XMLHTTPRequest object • Usage typically involves specifying the endpoint address and setting up options on how to frame the message, invoking the operation with a specific XML payload, and then checking and extracting information from the result.
  • 11. If you want to Aggregating some feeds and create a RSS reader
  • 12. The Feed Object • Helps Mashups to consume and create Atom and RSS Feeds
  • 13. If you want to configure an alert to be sent via IM or email
  • 14. The Email Object • Allows users to send out email from their Mashups. It helps notify users of certain events and acts as a bridge between Mashups and users
  • 15. If you want to create a web scraping bot
  • 16. The Scraper Object • The Scraper object allows data to be extracted from HTML pages and presented in XML format. It provides a bridge to data sources that don't have XML or Web service representations at present
  • 17. Mashup Server in the cloud • You don’t have to worry about deploying a Mashup Server in a hosting environment • Simply create an account at http://cloud.wso2.com • Navigate to the Mashup Server and get cracking
  • 18. Documentation & articles • http://wso2.org/project/mashup/2.2.0/docs/ • http://wso2.org/library/mashup-server • http://jonathanmarsh.net/category/wso2- mashup-server/ • http://www.nuwanbando.com/category/wso2- mashup-server/
  • 19. Contribute and feedback • https://wso2.org/jira/browse/MASHUP • http://wso2.org/forum/226 • http://wso2.org/mail
  • 20. Image References • http://images.sixrevisions.com/2008/12/15- 01_use_framework.png • http://www.theredelephant.org/html/images/rss_xml_at om_feeds_news_icon.jpg • http://www.digitalpipelines.com/images/craigslist- homepage.gif • http://www.livescorefeed.net/images/xmlfeed.png