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

WSO2 Application Server

Embed Size (px)

DESCRIPTION

WSO2 Application Server

Citation preview

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