Date post: | 04-Dec-2014 |
Category: |
Technology |
Upload: | nuwan-bandara |
View: | 1,645 times |
Download: | 1 times |
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
• JSP / Servlets• Server-side Javascript - Jaggery• Stratos 2.0 Cartridges Architecture - Language
independent application development - PHP, Ruby, Python etc.
Application Development
• Connecting disparate business applications into an integrated solution
Enterprise Integration
• 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
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 !