Top Banner
WSO2 AppDev Pla.orm for the Connected Business Sagara Gunathunga Senior Technical Lead WSO2
29
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: WSO2 AppDev platform

WSO2  AppDev  Pla.orm  for  the  Connected  Business  

Sagara  Gunathunga  Senior  Technical  Lead  

WSO2  

Page 2: WSO2 AppDev platform

Connected  Business  

Page 3: WSO2 AppDev platform

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  

Page 4: WSO2 AppDev platform

WSO2  AppDev  Pla.orm    

Page 5: WSO2 AppDev platform

AppDev  Trends  –  RESTfull  Services    

JAVA

•         JAX-­‐RS  Services  

JAVASCRIPT •       Jaggery  Services  

REST JSON TEXT

POX   GET

POST  

ApplicaHon  Server    

Page 6: WSO2 AppDev platform

AppDev  Trends  –  RESTfull  Services    

   

 @Path("/hello")    public  class  HelloWorldService  {  

                 @GET                @Path("/{user}")                public  String  hello(@PathParam("user")  String  user)  {  

                       }  

                                                     }  

JAX-­‐RS  Annotated  Service    

Page 7: WSO2 AppDev platform

AppDev  Trends  –  RESTfull  Services    

                                     var  app  =  require('router').app;                    app.get('/users/:id',  funcHon  (req,  res,  ses)  {                    print(req.params.id);                          });  

Jaggery  RESTfull  Service    

Page 8: WSO2 AppDev platform

AppDev  Trends  –  WebSocket  

A   B  

Handshake  

Close  the  channel  

OnOpen

onMessage  

onClose

Page 9: WSO2 AppDev platform

AppDev  Trends  –  WebSocket  

JAVA

• Java  WebSocket  API  

JAVASCRIPT •   Jaggery  WebSocket  

ApplicaHon  Server    

Page 10: WSO2 AppDev platform

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  

Page 11: WSO2 AppDev platform

AppDev  Trends  –    WebSocket    

 webSocket.ontext  =  funcHon  (data)  {        ……..    };  

   

 webSocket.onopen  =  funcHon  (outstre)  {    ………    };  

   webSocket.onclose  =  funcHon  (status)  {  

         ………            

 };  

A  service  based  on  Jaggery  WebSocket  

Page 12: WSO2 AppDev platform

AppDev  Trends  –    Modern  Web  ApplicaHons      

JAVA  web  Apps   Microsites/Dashboards   JavaScript  Apps  

Page 13: WSO2 AppDev platform

AppDev  Trends  -­‐  SaaS  applicaHon  Development    

User  management    

AuthenHcaHon  &  AuthorizaHon       Registry   Cache   MulHtenancy    

Carbon  

SaaS  applicaHon  (Java)  

 SaaS  applicaHon  

(Jaggery)  

 

ApplicaHon  Server  

Page 14: WSO2 AppDev platform

WSO2  AppDev  Pla.orm    

Page 15: WSO2 AppDev platform

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.        

 

Page 16: WSO2 AppDev platform

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  

Page 17: WSO2 AppDev platform

WSO2  AppDev  Pla.orm    

Page 18: WSO2 AppDev platform

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    

Page 19: WSO2 AppDev platform

WSO2  User  Engagement  Server    

Page 20: WSO2 AppDev platform

WSO2  AppDev  Pla.orm    

Page 21: WSO2 AppDev platform

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.      

Page 22: WSO2 AppDev platform

ApplicaHon  Development    

Page 23: WSO2 AppDev platform

ApplicaHon  Lifecycle  Management  (ALM)    

Page 24: WSO2 AppDev platform

ApplicaHon  Lifecycle  Management  (ALM)    

Page 25: WSO2 AppDev platform

Cloud  Deployments    

Page 26: WSO2 AppDev platform

API  management    

API Everywhere  

Page 27: WSO2 AppDev platform

API  management    -­‐    API  Everywhere    

   API  

Gateway      

API  Store  

API  Publisher  

Key  Manager  

ApplicaHon  Server  

Jaggery  (REST)  

Axis2  

JAX-­‐WS  

JAX-­‐RS  

Page 28: WSO2 AppDev platform

AppDev  Monitoring    

Jaggery  

Axis2  

JAX-­‐WS  

JAX-­‐RS  

Web  ApplicaHon  Real-­‐Hme  AnalyHcs  

AcHvity    Monitoring    

WSO2  BAM  

WSO2  CEP  

WSO2  AS  

Page 29: WSO2 AppDev platform