Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
 
	
  
WSO2	
  Applica,on	
  Server	
  
Tomcat	
  on	
  Steroids	
  
	
  
	
  
	
  Sagara	
  Gunathunga	
  	
  	
  	
  	
 ...
Image	
  sources	
  -­‐	
  h:p://commons.wikimedia.org/wiki/File:Tomcat-­‐logo.svg,	
  h:ps://issues.apache.org/jira/secur...
 100	
  %	
  complaint	
  with	
  Apache	
  Tomcat	
  	
  	
  
•  Zero	
  migraNon	
  cost	
  –	
  What	
  ever	
  you	
  ...
MulN-­‐tenancy	
  support	
  	
  
•  Tenant-­‐aware	
  data	
  sources	
  	
  
•  Tenant-­‐aware	
  JNDI	
  service	
  
• ...
MulNple	
  classloading	
  	
  runNmes	
  	
  
There	
  are	
  four	
  in-­‐built	
  environments
•  Tomcat – Only Tomcat ...
MulNple	
  classloading	
  	
  runNmes	
  	
  
Ability	
  to	
  create	
  your	
  own	
  custom	
  ‘Classloader	
  RunNme	...
Server-­‐side	
  JavaScript	
  applicaNon	
  hosNng	
  	
  	
  
•  Develop	
  complete	
  server	
  side	
  applicaNon	
  ...
In-­‐built	
  API	
  management	
  	
  
In-­‐built	
  API	
  management	
  	
  
•  No	
  network	
  hop	
  between	
  API	
  Gateway	
  and	
  
ApplicaNon	
  Serv...
JavaEE	
  Web	
  Profile	
  support	
  	
  
 Web	
  Service	
  development	
  	
  
•  Supported	
  web	
  service	
  development	
  models	
  
•  JAX	
  –WS	
  (	
  b...
RESTfull	
  service	
  development	
  	
  
•  Supported	
  RESTfull	
  service	
  development	
  
models.	
  
•  JAX	
  –R...
Binary	
  service	
  support	
  	
  	
  
•  High	
  efficient	
  binary	
  services	
  over	
  TCP	
  
•  Based	
  on	
  “Pr...
Web	
  Socket	
  development	
  	
  
•  Supported	
  WebSocket	
  development	
  models	
  
•  Java	
  API	
  for	
  WebSo...
SaaS	
  applicaNon	
  development	
  	
  
User	
  
management	
  	
  
AuthenNcaNon	
  
&	
  AuthorizaNon	
  	
  	
  
Regis...
AcNvity	
  and	
  server	
  monitoring	
  	
  
•  Embedded	
  Monitoring	
  dashboard	
  	
  
	
  	
  	
  
•  Request,	
  ...
Lazy	
  loading	
  for	
  applicaNons	
  and	
  tenants	
  	
  
•  Why	
  lazy	
  loading	
  	
  ?	
  	
  
–  keeping	
  i...
Clustering	
  &	
  arNfact	
  synchronizaNon	
  	
  
•  How	
  do	
  you	
  deploy	
  next	
  version	
  of	
  	
  an	
  a...
Thank	
  You	
  
Upcoming SlideShare
Loading in …5
×

WSO2 Application Server

1,124 views

Published on

WSO2 Application Server

Published in: Technology
  • Be the first to comment

WSO2 Application Server

  1. 1.     WSO2  Applica,on  Server   Tomcat  on  Steroids        Sagara  Gunathunga             Senior  Technical  Lead   WSO2              
  2. 2. 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      
  3. 3.  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      
  4. 4. 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  
  5. 5. 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
  6. 6. 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  
  7. 7. Server-­‐side  JavaScript  applicaNon  hosNng       •  Develop  complete  server  side  applicaNon  using  Jaggery.js  and   deploy  on  ApplicaNon  Server   •  Web  ApplicaNons   •  RESTfull  services   •  WebSocket  services      
  8. 8. In-­‐built  API  management    
  9. 9. 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          
  10. 10. JavaEE  Web  Profile  support    
  11. 11.  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        
  12. 12. 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    
  13. 13. 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          
  14. 14. Web  Socket  development     •  Supported  WebSocket  development  models   •  Java  API  for  WebSocket   •  Jaggery  Web  Sockets  (  Java  Script  )      
  15. 15. SaaS  applicaNon  development     User   management     AuthenNcaNon   &  AuthorizaNon       Registry   Cache   MulNtenancy     Carbon   SaaS  applicaNon   (Java)     SaaS  applicaNon   (Jaggery)     ApplicaNon  Server  
  16. 16. 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.      
  17. 17. 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    
  18. 18. 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  
  19. 19. Thank  You  

×