![Page 1: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/1.jpg)
Developing Enterprise Applications with the WSO2 Application Platform
By “ Nuwan Bandara & Anjana Fernando”
![Page 2: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/2.jpg)
What Are Enterprise Applications
• An enterprise application is a software system that helps solve enterprise problems
http://vantageconsultingllc.com
/resources/enterprise+apps.gif
![Page 3: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/3.jpg)
Enterprise Data Management
• Data Services– Creating a data abstraction layer for data stores
• Registry / Repository– General registry / repository API
![Page 4: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/4.jpg)
Messaging
![Page 5: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/5.jpg)
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
![Page 6: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/6.jpg)
• JSP / Servlets• Server-side Javascript - Jaggery• Stratos 2.0 Cartridges Architecture - Language
independent application development - PHP, Ruby, Python etc.
Application Development
![Page 7: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/7.jpg)
• Connecting disparate business applications into an integrated solution
Enterprise Integration
![Page 8: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/8.jpg)
• 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
Governance
![Page 9: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/9.jpg)
Security and Identity Management
• WSO2 Identity Server for Identity and entitlement management
![Page 10: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/10.jpg)
Data Analytics
![Page 11: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/11.jpg)
Presentation
• Portal based presentation• UI from scratch – UES/Jaggery• Mobile first development, responsive development
![Page 12: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/12.jpg)
Development Tools
• Requirement: An integrated development environment for implementing enterprise applications
• Solution: WSO2 Developer Studio
![Page 13: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/13.jpg)
Case study - WSO2Con Mobile App
I hope you are on it
![Page 14: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/14.jpg)
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.
![Page 15: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/15.jpg)
How we dealt with messaging
• End to End JSON via REST– To eliminate the mismatches between the
presentation layer and the application layer
![Page 16: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/16.jpg)
How we dealt with App development• Jaggery all the way – The new server side js framework we created
– Development of M & C layers
![Page 17: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/17.jpg)
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
![Page 18: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/18.jpg)
How we dealt with Presentation
• Completely written with HTML/5 and Javascript• Styled with CSS/3• Packaged with PhoneGap, for device specific binaries
![Page 19: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/19.jpg)
What tools & frameworks we used
• InteliJ Idea Jaggery Plugin• WSO2 Dev Studio Jaggery debugger• API publisher• Puppet based deployment • JQuery Mobile for frontend development
![Page 20: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/20.jpg)
The solutions architecture
![Page 21: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/21.jpg)
How can we make it more “enterprisy”
![Page 22: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/22.jpg)
Where it all Runs
![Page 23: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/23.jpg)
Questions folks ?
![Page 24: Developing Enterprise Applications with the WSO2 Application Platform](https://reader034.vdocument.in/reader034/viewer/2022042713/547fe866b4af9fee3b8b49ef/html5/thumbnails/24.jpg)
Thank You !