29
WSO2 AppDev Pla.orm for the Connected Business Sagara Gunathunga Senior Technical Lead WSO2

WSO2 AppDev platform

Embed Size (px)

Citation preview

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