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 http://vantageconsultingllc.com/resources/enterprise+apps.gif
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 Design-time governance Runtime governance 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.
End to End JSON via REST How we dealt with messaging 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 !