Developing Enterprise Applications with the WSO2
                             Application Platform
                   By “ Nuwan Bandara & Anjana Fernando”
What Are Enterprise Applications

• An enterprise application is a software system
  that helps solve enterprise problems




                              rces/enterprise+apps.gif
                              http://vantageconsultingllc.com/resou
Enterprise Data Management
• Data Services
   – Creating a data abstraction layer for data stores
• Registry / Repository
   – General registry / repository API
Messaging
Web Services
• Represents the building block of an SOA architecture
• Java Web Services
    –   Axis2 AAR
    –   POJO
    –   JAX-WS
    –   JAX-RS
• Mashups
    – Javascript based services
• Workflows
    – BPEL
Application Development
• JSP / Servlets
• Server-side Javascript - Jaggery
• Stratos 2.0 Cartridges Architecture - Language
  independent application development - PHP, Ruby,
  Python etc.
Enterprise Integration
• Connecting disparate business applications into an integrated
  solution
Governance
• Products
   – WSO2 GREG
   – WSO2 BAM
   – WSO2 AppFactory
• Design-time governance
   – Service registry
   – Lifecycle management
   – Policy management
• Runtime governance
   – Analytics, monitoring, business intelligence, and custom KPIs
Security and Identity Management
• WSO2 Identity Server for Identity and entitlement
  management
Data Analytics
Presentation

• Portal based presentation
• UI from scratch – UES/Jaggery
• Mobile first development, responsive development
Development Tools
• Requirement: An integrated development environment for
  implementing enterprise applications
• Solution: WSO2 Developer Studio
Case study - WSO2Con Mobile App

I hope you are on it 
How we dealt with Data & Persistense

• Application Data
   – Stored in MySQL DB, indexed and optimized
   – Yes, we could have used data services, but our requirement is simple


• Event publishing and statistical data
   –   The volume is high
   –   Raw data
   –   Persisted in a Cassandra ring
   –   Summarized to useful information and stored in MySQL DB.
How we dealt with messaging


• End to End JSON via REST
  – To eliminate the mismatches between the
    presentation layer and the application layer
How we dealt with App development

• Jaggery all the way – The new server side js framework we created
    – Development of M & C layers
How we dealt with Integration

• Managing the API
   – The API gateway
• Accumulating the statistics
   – Gateway publishes events to BAM
• Load Balancing the API calls
   – Elastically load balance between application server nodes
How we dealt with Presentation

• Completely written with HTML/5 and Javascript
• Styled with CSS/3
• Packaged with PhoneGap, for device specific binaries
What tools & frameworks we used

•   InteliJ Idea Jaggery Plugin
•   WSO2 Dev Studio Jaggery debugger
•   API publisher
•   Puppet based deployment
•   JQuery Mobile for frontend development
The solutions architecture
How can we make it more “enterprisy”
Where it all Runs
Questions folks ?
Thank You !

Developing Enterprise Applications with the WSO2 Application Platform

  • 1.
    Developing Enterprise Applicationswith the WSO2 Application Platform By “ Nuwan Bandara & Anjana Fernando”
  • 2.
    What Are EnterpriseApplications • An enterprise application is a software system that helps solve enterprise problems rces/enterprise+apps.gif http://vantageconsultingllc.com/resou
  • 3.
    Enterprise Data Management •Data Services – Creating a data abstraction layer for data stores • Registry / Repository – General registry / repository API
  • 4.
  • 5.
    Web Services • Representsthe building block of an SOA architecture • Java Web Services – Axis2 AAR – POJO – JAX-WS – JAX-RS • Mashups – Javascript based services • Workflows – BPEL
  • 6.
    Application Development • JSP/ Servlets • Server-side Javascript - Jaggery • Stratos 2.0 Cartridges Architecture - Language independent application development - PHP, Ruby, Python etc.
  • 7.
    Enterprise Integration • Connectingdisparate business applications into an integrated solution
  • 8.
    Governance • Products – WSO2 GREG – WSO2 BAM – WSO2 AppFactory • Design-time governance – Service registry – Lifecycle management – Policy management • Runtime governance – Analytics, monitoring, business intelligence, and custom KPIs
  • 9.
    Security and IdentityManagement • WSO2 Identity Server for Identity and entitlement management
  • 10.
  • 11.
    Presentation • Portal basedpresentation • UI from scratch – UES/Jaggery • Mobile first development, responsive development
  • 12.
    Development Tools • Requirement:An integrated development environment for implementing enterprise applications • Solution: WSO2 Developer Studio
  • 13.
    Case study -WSO2Con Mobile App I hope you are on it 
  • 14.
    How we dealtwith Data & Persistense • Application Data – Stored in MySQL DB, indexed and optimized – Yes, we could have used data services, but our requirement is simple • Event publishing and statistical data – The volume is high – Raw data – Persisted in a Cassandra ring – Summarized to useful information and stored in MySQL DB.
  • 15.
    How we dealtwith messaging • End to End JSON via REST – To eliminate the mismatches between the presentation layer and the application layer
  • 16.
    How we dealtwith App development • Jaggery all the way – The new server side js framework we created – Development of M & C layers
  • 17.
    How we dealtwith Integration • Managing the API – The API gateway • Accumulating the statistics – Gateway publishes events to BAM • Load Balancing the API calls – Elastically load balance between application server nodes
  • 18.
    How we dealtwith Presentation • Completely written with HTML/5 and Javascript • Styled with CSS/3 • Packaged with PhoneGap, for device specific binaries
  • 19.
    What tools &frameworks we used • InteliJ Idea Jaggery Plugin • WSO2 Dev Studio Jaggery debugger • API publisher • Puppet based deployment • JQuery Mobile for frontend development
  • 20.
  • 21.
    How can wemake it more “enterprisy”
  • 22.
  • 23.
  • 24.