WSO2 AppDev Pla.orm for the Connected Business
Sagara Gunathunga Senior Technical Lead
WSO2
Connected Business
Connected Business
1. Publish APIs
2. Offer developer portals and developer self-‐service
3. Create mobile applicaHons
4. Web applicaHons, SaaS applicaHons, business process automaHon, iPaaS or other portals
5. Foster a customer community, increase brand awareness ,social forums
WSO2 AppDev Pla.orm
AppDev Trends – RESTfull Services
JAVA
• JAX-‐RS Services
JAVASCRIPT • Jaggery Services
REST JSON TEXT
POX GET
POST
ApplicaHon Server
AppDev Trends – RESTfull Services
@Path("/hello") public class HelloWorldService {
@GET @Path("/{user}") public String hello(@PathParam("user") String user) {
}
}
JAX-‐RS Annotated Service
AppDev Trends – RESTfull Services
var app = require('router').app; app.get('/users/:id', funcHon (req, res, ses) { print(req.params.id); });
Jaggery RESTfull Service
AppDev Trends – WebSocket
A B
Handshake
Close the channel
OnOpen
onMessage
onClose
AppDev Trends – WebSocket
JAVA
• Java WebSocket API
JAVASCRIPT • Jaggery WebSocket
ApplicaHon Server
AppDev Trends – WebSocket
@ServerEndpoint("/echo") public class EchoEndpoint {
@OnMessage public String echo(String message) {.......} @OnOpen public void onOpen(Session session) throws IOExcepHon {.....} @OnClose public void onClose(Session session) {.... .} @OnError public void onError(Throwable t) {.....} }
A service based on Java API for WebSocket
AppDev Trends – WebSocket
webSocket.ontext = funcHon (data) { …….. };
webSocket.onopen = funcHon (outstre) { ……… };
webSocket.onclose = funcHon (status) {
………
};
A service based on Jaggery WebSocket
AppDev Trends – Modern Web ApplicaHons
JAVA web Apps Microsites/Dashboards JavaScript Apps
AppDev Trends -‐ SaaS applicaHon Development
User management
AuthenHcaHon & AuthorizaHon Registry Cache MulHtenancy
Carbon
SaaS applicaHon (Java)
SaaS applicaHon
(Jaggery)
ApplicaHon Server
WSO2 AppDev Pla.orm
WSO2 ApplicaHon Server • Lightweight applicaHon server based on Apache Tomcat.
• Support for JAX-‐WS, JAX-‐RS and WebSocket
• Proven to support frameworks like Axis2, CXF, Spring, Hibernate.
• Support number of JavaEE technologies which includes Servlet3, JSP/EL 2.2, JSTL, JSF, JPA2, JTA.
• Next major version will support for JavaEE 6 Web-‐Profile.
• Rich dashboards for applicaHon staHsHcs.
• Try-‐It support for JAX-‐WS , JAX-‐RS
• SSO support.
• Custom Classloader RunHme Environment (CRL) Architecture e . g – You can safely keep number of incompaHble Spring versions on server level.
WSO2 ApplicaHon Server -‐ JavaEE
Servlet3 JSP JSF
CDI JTA
JPA
B.Val EJB-‐Lite
JavaMail SAAJ JNDI RMI
JAX-‐WS JAX-‐RS JAXB JMS
JavaEE 6 -‐ WP
JavaEE 6 -‐ Full
WSO2 AppDev Pla.orm
WSO2 User Engagement Server
• Facilitate to create Dashboards & Microsites.
• Authoring and sharing OpenSocial spec based Gadgets.
• Flot based charHng.
• Possibility to crate your own Gadgets. • Use predefined Gadgets template or write your own using Jaggery.js • Gadgets generaHon tool. • Web based editor, Developer Studio support.
• In-‐built Enterprise Store integraHon
WSO2 User Engagement Server
WSO2 AppDev Pla.orm
Jaggery.js
• Like JSP/ PHP, but user writes code completely in JavaScript. (Data access / Business Logic / UI) • Runs as a Web app. • Runs on top of Java. • Provides very close integraHon with WSO2. • Support for REST services, WebSocket. • Developer Studio based debugger, Web based debugger, IntelliJ plugin. • Ability to expose Java Frameworks as Jaggery Modules. • Carbon API access. • Number of extension project
• Jaggery-‐pipe : • pipe -‐ “Connect” like middleware stack for Jaggery. • router – “express” ” like framework for Jaggery.
• Caramel : MVC framework for Jaggery.
ApplicaHon Development
ApplicaHon Lifecycle Management (ALM)
ApplicaHon Lifecycle Management (ALM)
Cloud Deployments
API management
API Everywhere
API management -‐ API Everywhere
API
Gateway
API Store
API Publisher
Key Manager
ApplicaHon Server
Jaggery (REST)
Axis2
JAX-‐WS
JAX-‐RS
AppDev Monitoring
Jaggery
Axis2
JAX-‐WS
JAX-‐RS
Web ApplicaHon Real-‐Hme AnalyHcs
AcHvity Monitoring
WSO2 BAM
WSO2 CEP
WSO2 AS
Recommended