Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

CollabSphere 2018 - Java in Domino After XPages

214 visualizaciones

Publicado el

A discussion of the history of XPages, its current state, and options for XPages/Java developers in future Domino versions.

Publicado en: Software
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

CollabSphere 2018 - Java in Domino After XPages

  1. 1. Java in Domino After XPages What now?
  2. 2. CollabSphere 2018 Sponsors
  3. 3. Jesse Gallagher @Gidgerby — — — WTF Tech Podcast:
  4. 4. This session as two purposes: 1. Discuss paths to build on our Java knowledge 2. Group therapy
  5. 5. The Path To Here • XPages was added to Domino in 2008 • It snuck an almost-but-not-quite Java EE stack into Domino – …but hid it under SSJS and unstructured development • The Extension Library turned it into a real app platform
  6. 6. What XPages Brought Us • A real reason to learn Java • Comfort with using existing Java libraries • A (rocky) introduction to OSGi • An introduction to Eclipse • Steps towards separating data and code • Strong incentives to use source control, not developing in prod, and so forth • An introduction to Maven… right?
  7. 7. Buuuuuut… • Learning materials were few and far between • Coming in, very few Domino developers had Java knowledge • Designer discouraged really getting into the underlying JSF stack • The shape of what a “great XPages app” really is never quite took form
  8. 8. The Slowdown • After more-or-less steady progress to 9.0.1, things ground to a halt • The ExtLib slowed down too, with the last couple releases focusing on Bluemix • A larger portion of dev time became consumed by working against the age of the platform • We were “IE6’d” out of several technologies: newer JS versions and features, WebSockets, HTTP/2, Java 7+ until recently
  9. 9. And now here we are
  10. 10. Where We Are Points on the path: 1. Never got into XPages 2. Use XPages with just SSJS 3. Use XPages with in-NSF Java 4. Write OSGi plugins 5. Moved above XPages entirely The awkward zone
  11. 11. The Paths Forward • Go back to LotusScript • Switch to node.js • Soldier on with XPages • Focus on REST APIs • Cram Java EE/Spring/Servlet tech into Domino • Standalone Java server
  12. 12. The Paths Forward Go crawling back to LotusScript Pros: • Keep your old apps running • Works on all platforms Cons: • Your soul will die • You’re on the CTO chopping block
  13. 13. The Paths Forward Switch to node.js Pros: • It’s what HCL is pushing • It’s a very vibrant community • The platform has a clear, bright future • Modern JavaScript is, against all odds, quite good Cons: • You can’t reuse (most) existing code • It’s not Java
  14. 14. The Paths Forward Soldier on with XPages Pros: • It’s very comfortable • It’s technically not dead • Keeps your options open • The platform can be extended Cons: • Future progress is uncertain • It’s still a very small pool, and documentation was always scarce
  15. 15. Helpful Tools in XPages • org.openntf.domino: • XPages Jakarta EE Support: akartaee
  16. 16. The Paths Forward Focus on REST Services Pros: • You can potentially keep using Designer if you want • Strongly encourages good API/app separation • You get to use a client JS app framework Cons: • You’ll have to learn a client JS app framework
  17. 17. Helpful Tools for REST • org.openntf.domino: • XPages Jakarta EE Support: akartaee (for JAX-RS) • SmartNSF: • Visual Studio Code
  18. 18. The Paths Forward Cram Java EE/Spring/Servlet Tech into Domino Pros: • Keep the app server you have • Java 8 removed a lot of hindrances • General documentation and examples abound • Direct NSF access Cons: • You’ll have to learn some new tools • The servlet API lags far behind (no WebSockets, no HTTP/2) • OSGi makes things awkward • Specific examples are few and far between • Some common practices don’t apply: JPA, security APIs, etc.
  19. 19. Helpful Tools for Java on Domino • HowTo: Vaadin on Domino: • OsgiWorlds: ?r=project/OsgiWorlds
  20. 20. The Paths Forward Standalone Java server Pros: • You’re not held back by the platform • Work with the tools everyone else is using • Spring and modern JEE are great! Cons: • It’s a weird, wide world • Accessing Domino data is less straightforward
  21. 21. Helpful Tools for Standalone Java Servers • CrossWorlds: • Dropping Domino’s HTTP task: • My blog: 7852582CE004A3AB7 • Darwino:
  22. 22. Thank You! Q&A