Top Banner
WSO2 Applica,on Server Tomcat on Steroids Sagara Gunathunga Senior Technical Lead WSO2
19

WSO2 Application Server

Dec 07, 2014

Download

Technology

WSO2 Application Server
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 Application Server

   

WSO2  Applica,on  Server  Tomcat  on  Steroids  

     Sagara  Gunathunga            

Senior  Technical  Lead  WSO2  

           

Page 2: WSO2 Application Server

Image  sources  -­‐  h:p://commons.wikimedia.org/wiki/File:Tomcat-­‐logo.svg,  h:ps://issues.apache.org/jira/secure/a:achment/12564005/Logo_alone.jpg      

Page 3: WSO2 Application Server

 100  %  complaint  with  Apache  Tomcat      

•  Zero  migraNon  cost  –  What  ever  you  run  on  Tomcat  will  run      on  WSO2  AS  too  

•  Don’t  try  to  reinvenNng  the  wheel  –  Same  configuraNon  opNons  as  Tomcat  –  Global  server.xml  and  context.xml  file  support    –  Virtual  host  configuraNon    –  AJP  transport    –  Same  JNDI  experience        –  Session  persistence  and  replicaNons      

Page 4: WSO2 Application Server

MulN-­‐tenancy  support    

•  Tenant-­‐aware  data  sources    •  Tenant-­‐aware  JNDI  service  •  Tenant-­‐aware  session  persistence  •  Tenant-­‐aware  user  store    •  Tenant-­‐aware  authenNcaNon  and  

authorizaNon  

•  Tenant-­‐aware  Caching    •  Tenant-­‐aware  configuraNon  

registry  •  Tenant-­‐aware  dashboards    •  Tenant-­‐aware  management  

console  

Page 5: WSO2 Application Server

MulNple  classloading    runNmes    

There  are  four  in-­‐built  environments •  Tomcat – Only Tomcat libs are visible (Minimal runtime) •  Carbon – Tomcat + Carbon libs are visible •  CXF - Tomcat + CXF + Spring are visible •  Javaee – JavaEE libs are visible

 

Page 6: WSO2 Application Server

MulNple  classloading    runNmes    

Ability  to  create  your  own  custom  ‘Classloader  RunNme  environments’   •  Create directory to place your Jar dependencies •  Add an entry to webappclassloading-environments.xml file e.g. –You can have number of incompatible versions of Spring frameworks in server level  

Page 7: WSO2 Application Server

Server-­‐side  JavaScript  applicaNon  hosNng      

•  Develop  complete  server  side  applicaNon  using  Jaggery.js  and  deploy  on  ApplicaNon  Server  

•  Web  ApplicaNons  

•  RESTfull  services  

•  WebSocket  services      

Page 8: WSO2 Application Server

In-­‐built  API  management    

Page 9: WSO2 Application Server

In-­‐built  API  management    •  No  network  hop  between  API  Gateway  and  

ApplicaNon  Server  

•  Gateway  is  embedded  on  same  ApplicaNon  Server  •     •  Possible  to  host  API  Store,  API  Publisher,  Key  Manager    

•  components  also  on  same  instance  or  distribute  them  separately  

•  No  addiNonal  cost  for  API  Management  

•  Not  a  replacement  for  full  scale  distributed  API  Manager  setups          

Page 10: WSO2 Application Server

JavaEE  Web  Profile  support    

Page 11: WSO2 Application Server

 Web  Service  development    •  Supported  web  service  development  models  

•  JAX  –WS  (  based  on  Apache  CXF)    •  Apache  Axis2      

•  Bring  your  own  WS  framework    •  Metro,  Spring  WS    

•  Rich  dashboard  and  development  tools  •  Try-­‐It  tool  support    •  Download  WS  client  as  maven  project  •  Basic  staNsNcs  

•  Service  publish  and  discovery  support  through  WSO2  Governance  Registry    

•  WS  –  Discovery  supported        

Page 12: WSO2 Application Server

RESTfull  service  development    •  Supported  RESTfull  service  development  

models.  •  JAX  –RS  (  based  on  Apache  CXF)    •  Apache  Axis2  REST  services  •  Jaggery  REST  services  (  Java  Script  )  •       

•  Bring  your  own  WS  framework    •  Jersey,  Rest  Easy,  Restlet,  Spring    

•  Rich  dashboard  and  development  tools  •  Swagger  support.    •  Download  REST  client  as  maven  

project    •  Basic  staNsNcs    

Page 13: WSO2 Application Server

Binary  service  support      •  High  efficient  binary  services  over  TCP  

•  Based  on  “Protocol  Buffer”    •  Maven  support  •  Dashboard  support        

•  Example  :High  efficient  binary  data  transfer  among  AS  and  ESB        

 

Page 14: WSO2 Application Server

Web  Socket  development    

•  Supported  WebSocket  development  models  

•  Java  API  for  WebSocket  

•  Jaggery  Web  Sockets  (  Java  Script  )      

Page 15: WSO2 Application Server

SaaS  applicaNon  development    

User  management    

AuthenNcaNon  &  AuthorizaNon       Registry   Cache   MulNtenancy    

Carbon  

SaaS  applicaNon  (Java)  

 SaaS  applicaNon  

(Jaggery)  

 

ApplicaNon  Server  

Page 16: WSO2 Application Server

AcNvity  and  server  monitoring    

•  Embedded  Monitoring  dashboard          

•  Request,  response,  errors,  sessions  over  Nme  

•  Geo  info  ,  language,  referrals    

•  Alerts  on  thresholds    •  Server  and  infrastructure  health  monitoring.      

Page 17: WSO2 Application Server

Lazy  loading  for  applicaNons  and  tenants    

•  Why  lazy  loading    ?    –  keeping  inacNve  applicaNons  on  memory  for  a  long  Nme  can  

effect  to  performance    –  Server  restarNng  can  cause  considerable  amount  downNme  and  

effect  to  availability    –  Resources  such  as  memory,    cache  and  processor  Nme  are  

expensive  hence  need  be:er  management  

•  Two  levels  of  lazy  loading  supported    –  ApplicaNon  lazy  loading    –  Tenant  lazy  loading    

Page 18: WSO2 Application Server

Clustering  &  arNfact  synchronizaNon    

•  How  do  you  deploy  next  version  of    an  applicaNon  ?    •  Deployment  synchronizer    -­‐  Changes  on  manger  node  propagate  to  other  

nodes    •  Support  based  on  SVN  ,  GIT  or  WSO2  G-­‐Reg    

•  Hazelcast  based  clustering  ,  chaching  and  coordinaNon  support  

Page 19: WSO2 Application Server

Thank  You