GigaSpaces PAAS For Cloud Based Java Applications


Published on

Session presented at the 2nd Conference on Cloud Computing held in Pune, India on 3-4 June 2011.

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

GigaSpaces PAAS For Cloud Based Java Applications

  1. 1. Gigapaces PAAS For Cloud Based Java Applications Karan Nangru Xebia IT Architects
  2. 2. What is GigaSpaces XAP? <ul><li>A software platform enabling IT organizations to address all mission-critical web server, application server, messaging and data grid requirements with a single product!!! </li></ul><ul><li>Single model and process for IT </li></ul><ul><ul><ul><li>Application Deployment </li></ul></ul></ul><ul><ul><ul><li>Replication & failover </li></ul></ul></ul><ul><ul><ul><li>Scaling </li></ul></ul></ul><ul><ul><ul><li>Ongoing monitoring and management </li></ul></ul></ul><ul><li>Virtual deployment environment </li></ul>
  3. 3. The Tier Based Architecture
  4. 4. Cache A Typical Tier Scenario
  5. 5. The Tier Based Architecture Tier integration impacts scalability, performance, and reliability
  6. 6. The Gigaspaces Architecture A single model for full life cycle enterprise systems
  7. 7. From J2EE to XAP Component J2EE XAP Persistency JPA Hibernate, JPA Messaging JMS,MDB JMS, Polling/Notify Container , Native Messaging API Security JAAS, SSL Spring Security, SSL Web Session Management HttpSession HttpSession (via Jetty) Transaction Management JTA Spring Transaction via Jini Transaction Manager Data Access JDBC , Session Bean, Entity Bean JDBC, Space, JPA Remoting EJB, IIOP, RMI Spring remoting over LRMI Web Servlet, JSP Servlet, JSP (via Jetty) Packaging and deployment ear , war jar , war Contexts and Dependency Injection JSR 299 Spring IOC System Management JMX JMX , SNMP, Native Admin API Java Naming and Directory Service JNDI Jini Lookup Service
  8. 8. What Else…. <ul><li>Elastic </li></ul><ul><ul><li>Scale every tier up/down , in/out </li></ul></ul><ul><ul><li>SLA based </li></ul></ul><ul><li>Distributed Service Executors </li></ul><ul><ul><li>Native map-reduce API </li></ul></ul><ul><li>Native Document Store </li></ul><ul><ul><li>XML , JSON data type support </li></ul></ul><ul><li>Interoperability </li></ul><ul><ul><li>Native .Net and C++ API </li></ul></ul><ul><li>Scripting </li></ul><ul><ul><li>Groovy ,Jruby </li></ul></ul><ul><li>Developer Tools </li></ul><ul><ul><li>Maven, Hibernate , ant , eclipse , logging , support </li></ul></ul>
  9. 9. Scope of this session….. <ul><li>Space Based Architecture </li></ul><ul><ul><li>Scaling </li></ul></ul><ul><li>Web Application Deployment </li></ul><ul><ul><li>HTTP Session Management </li></ul></ul><ul><li>Remoting </li></ul><ul><ul><li>Implicit Map Reduce </li></ul></ul><ul><li>Messaging and Processing </li></ul><ul><ul><li>Polling and Notify Containers </li></ul></ul>
  10. 10. Space Based Architecture – Scaling Diagram 1. Car wash, the tier based way: a different warehouse for each step in the process.
  11. 11. Space Based Architecture – The Unit System Diagram 2. An all-in-one &quot;washing unit&quot; containing soaping, watering and drying services.
  12. 12. Space Based Architecture – Multiple Units Diagram 3. Scaling the system by adding more &quot;car washing units&quot;
  13. 13. Space Based Architecture – A GigaSpaces Processing Unit Diagram 4. A Processing Unit with 3 services collocated with a space.
  14. 14. <ul><li>Example Set 1 </li></ul>
  15. 15. Web application Deployment <ul><li>GigaSpaces support WAR files deployment natively. </li></ul><ul><ul><li>- JSP , servlet </li></ul></ul><ul><li>WAR files instantiate Jetty transparently. </li></ul><ul><ul><li>- Popular open source web engine used with large scale systems </li></ul></ul><ul><li>Port management handled transparently. </li></ul><ul><li>Web application scaling handled transparently . </li></ul><ul><li>HTTP session replication handled transparently . </li></ul>
  16. 16. HTTP Session Management
  17. 17. <ul><li>Example Set 2 </li></ul>
  18. 18. Remoting <ul><li>GigaSpaces Remoting allows direct invocation of remote services in synchronous and asynchronous manner . </li></ul>
  19. 19. Remoting <ul><li>GigaSpaces Remoting supports parallel invocation of multiple service instances. </li></ul><ul><ul><li>- Implicit map-reduce </li></ul></ul>The First phase involves the Service invocation The Second phase involves reducing the results retrieved from the Services
  20. 20. <ul><li>Example Set 3 </li></ul>
  21. 21. Messaging and Processing - Polling Container <ul><li>A JMS Queue equivalent consumer </li></ul><ul><ul><ul><li>Support One to One messaging model </li></ul></ul></ul>Write
  22. 22. <ul><li>Example Set 4 </li></ul>
  23. 23. Messaging and Processing – Notify Container <ul><li>A JMS Topic equivalent consumer </li></ul><ul><ul><ul><li>Support One to Many messaging model </li></ul></ul></ul>Write
  24. 24. <ul><li>Example Set 5 </li></ul>
  25. 25. @references - Gigaspaces