Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developing Enterprise Applications with the WSO2 Application Platform

Developing Enterprise Applications with the WSO2 Application Platform

Nuwan Bandara

February 15, 2013
Tweet

More Decks by Nuwan Bandara

Other Decks in Technology

Transcript

  1. Developing  Enterprise  Applica2ons  with  the  WSO2   Applica2on  Pla:orm  

    By  “  Nuwan  Bandara  &  Anjana  Fernando”  
  2. What  Are  Enterprise  Applica2ons     •  An  enterprise  applica2on

     is  a  soFware  system   that  helps  solve  enterprise  problems   hHp://vantageconsul2ngllc.com/ resources/enterprise+apps.gif  
  3. Enterprise  Data  Management   •  Data  Services   –  Crea2ng

     a  data  abstrac2on  layer  for  data  stores   •  Registry  /  Repository   –  General  registry  /  repository  API  
  4. Web  Services     •  Represents  the  building  block  of

     an  SOA  architecture   •  Java  Web  Services   –  Axis2  AAR   –  POJO   –  JAX-­‐WS   –  JAX-­‐RS   •  Mashups   –  Javascript  based  services   •  Workflows   –  BPEL  
  5. •  JSP  /  Servlets   •  Server-­‐side  Javascript  -­‐  Jaggery

      •  Stratos  2.0  Cartridges  Architecture  -­‐  Language   independent  applica2on  development  -­‐  PHP,  Ruby,   Python  etc.   Applica2on  Development  
  6. •  Products   –  WSO2  GREG   –  WSO2  BAM

      –  WSO2  AppFactory   •  Design-­‐2me  governance   –  Service  registry   –  Lifecycle  management   –  Policy  management   •  Run2me  governance   –  Analy2cs,  monitoring,  business  intelligence,  and  custom  KPIs     Governance    
  7. Security  and  Iden2ty  Management     •  WSO2  Iden2ty  Server

     for  Iden2ty  and  en2tlement   management  
  8. Presenta2on   •  Portal  based  presenta2on   •  UI  from

     scratch  –  UES/Jaggery   •  Mobile  first  development,  responsive  development  
  9. Development  Tools   •  Requirement:  An  integrated  development  environment  for

      implemen2ng  enterprise  applica2ons   •  Solu2on:  WSO2  Developer  Studio  
  10. How  we  dealt  with  Data  &  Persistense   •  Applica2on

     Data   –  Stored  in  MySQL  DB,  indexed  and  op2mized   –  Yes,  we  could  have  used  data  services,  but  our  requirement  is  simple   •  Event  publishing  and  sta2s2cal  data   –  The  volume  is  high   –  Raw  data   –  Persisted  in  a  Cassandra  ring   –  Summarized  to  useful  informa2on  and  stored  in  MySQL  DB.  
  11. How  we  dealt  with  messaging   •  End  to  End

     JSON  via  REST   – To  eliminate  the  mismatches  between  the   presenta2on  layer  and  the  applica2on  layer  
  12. How  we  dealt  with  App  development   •  Jaggery  all

     the  way  –  The  new  server  side  js  framework  we  created   –   Development  of  M  &  C  layers  
  13. How  we  dealt  with  Integra2on   •  Managing  the  API

      –  The  API  gateway   •  Accumula2ng  the  sta2s2cs   –  Gateway  publishes  events  to  BAM   •  Load  Balancing  the  API  calls   –  Elas2cally  load  balance  between  applica2on  server  nodes  
  14. How  we  dealt  with  Presenta2on   •  Completely  wriHen  with

     HTML/5  and  Javascript   •  Styled  with  CSS/3   •  Packaged  with  PhoneGap,  for  device  specific  binaries  
  15. What  tools  &  frameworks  we  used   •  InteliJ  Idea

     Jaggery  Plugin   •  WSO2  Dev  Studio  Jaggery  debugger   •  API  publisher   •  Puppet  based  deployment     •  JQuery  Mobile  for  frontend  development