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

Open/Closed Software - Developing freemium application using Spring Framework

Open/Closed Software - Developing freemium application using Spring Framework

Developing freemium which involves OSS is not a trivial task. From one side, you need to prevent premium code from working in your free modules, and do it gracefully - without errors and performance degradation. From other side, your OSS core must be easily accessible to the premium modules.

Partial public availability of the code and unified continuous delivery process for two different versions of the product is also challenging.

In this talk we’ll showcase Artifactory, which successfully combines OSS and Pro versions by heavily relying on flexible dependency injection mechanics, available in Spring. We will talk about developing, building, testing and releasing hybrid freemium application and will review the existing approaches, discussing pros and cons of each of them.

3d73332968c0bf62e1ece7299deb8b37?s=128

Baruch Sadogursky

September 11, 2013
Tweet

Transcript

  1. © 2013 SpringOne 2GX. All rights reserved. Do not distribute

    without permission. Open/Closed Software Developing a freemium application with Spring
  2. Agenda _____

  3. Agenda – History of a freemium application _____

  4. Agenda – History of a freemium application – OSS base

    of the architecture _____
  5. Agenda – History of a freemium application – OSS base

    of the architecture – Reloadable _____
  6. Agenda – History of a freemium application – OSS base

    of the architecture – Reloadable – Commercial Addons _____
  7. Agenda – History of a freemium application – OSS base

    of the architecture – Reloadable – Commercial Addons – Layers... More layers! _____
  8. Agenda – History of a freemium application – OSS base

    of the architecture – Reloadable – Commercial Addons – Layers... More layers! – Testable _____
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. None
  17. None
  18. None
  19.  

  20.   

  21.    

  22. None
  23. None
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. None
  32. None
  33. None
  34. None
  35. None
  36. Show me the code!

  37. None
  38. + =

  39. Show me the code!

  40. None
  41. None
  42. Show me the code!

  43. None
  44. None
  45. Show me the code!

  46. None
  47. None
  48. Show me the code!

  49. None
  50. Show me the code!

  51. None
  52. None
  53. Show me the code!

  54. None
  55. None
  56. Show me the code!

  57. None
  58. Show me the code!

  59. None
  60. Show me the code!

  61. None