Developing Enterprise Applications with the WSO2 Application Platform

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

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 of Developing Enterprise Applications with the WSO2 Application Platform

Page 1: Developing Enterprise Applications with the WSO2 Application Platform

Developing Enterprise Applications with the WSO2 Application Platform

By “ Nuwan Bandara & Anjana Fernando”

Page 2: Developing Enterprise Applications with the WSO2 Application Platform

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

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

Messaging

Page 5: Developing Enterprise Applications with the WSO2 Application Platform

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

• 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

• Connecting disparate business applications into an integrated solution

Enterprise Integration

Page 8: Developing Enterprise Applications with the WSO2 Application Platform

• 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

Security and Identity Management

• WSO2 Identity Server for Identity and entitlement management

Page 10: Developing Enterprise Applications with the WSO2 Application Platform

Data Analytics

Page 11: Developing Enterprise Applications with the WSO2 Application Platform

Presentation

• Portal based presentation• UI from scratch – UES/Jaggery• Mobile first development, responsive development

Page 12: Developing Enterprise Applications with the WSO2 Application Platform

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

Case study - WSO2Con Mobile App

I hope you are on it

Page 14: Developing Enterprise Applications with the WSO2 Application Platform

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

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

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

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

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

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

The solutions architecture

Page 21: Developing Enterprise Applications with the WSO2 Application Platform

How can we make it more “enterprisy”

Page 22: Developing Enterprise Applications with the WSO2 Application Platform

Where it all Runs

Page 23: Developing Enterprise Applications with the WSO2 Application Platform

Questions folks ?

Page 24: Developing Enterprise Applications with the WSO2 Application Platform

Thank You !