developing enterprise applications with the wso2 application platform
DESCRIPTION
Bring innovation and productivity to your enterprise application development efforts with the WSO2 Application Platform. Without the WSO2 Application Platform, teams spend considerable time coding domain security, monitoring, auditing, authentication, and authorization. The WSO2 Application platform enables teams to focus on functional requirements and transparently inherit application scalability, availability, and reliability from the underlying platform. In this session, Nuwan and Anjana will describe how the WSO2 Development platform accelerates developing multi-channel user interfaces, business rules, workflows, and RESTful services. The session will include quick demonstrations to showcase the platform’s breadth and depth. http://wso2.org/library/wso2con2013/developing-enterprise-applications-with-the-wso2-application-platform/TRANSCRIPT
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 !