Download - Let's serve your data
![Page 1: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/1.jpg)
Let’s serve your dataFrank van der Linden
![Page 2: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/2.jpg)
About me• Freelance Java and front end developer• Owner of Elstar IT• Try to do some running and mountain biking
![Page 3: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/3.jpg)
Roadmap• Theory• Prepare• Set up• Develop• Test• Deploy
![Page 4: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/4.jpg)
Theory
![Page 5: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/5.jpg)
What is a servlet• Java program to extends the capabilities of a server• Servlets provide a component-based, platform-independent
method for building Web-based applications• Servlets run in web containers, Servlet containers
![Page 6: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/6.jpg)
Structure and architecture
![Page 7: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/7.jpg)
Lifecycle
![Page 8: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/8.jpg)
XAgent - a sort of servlet
![Page 9: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/9.jpg)
Servlet in NSF• excellent series of Eric McCormick• https://edm00se.io/servlet-series/
![Page 10: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/10.jpg)
Servlet as OSGi plugin• run server wide• Code can be shared with other processes like DOTS, XPages.• With small changes, it run also on other Java servers, like
Tomcat, WildFly(a.k.a. Boss) and Websphere
![Page 11: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/11.jpg)
OSGi architecture
![Page 12: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/12.jpg)
Prepare
![Page 13: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/13.jpg)
Prepare• Download IDE e.g. Eclipse JEE• Set Target platform• Install PDE Debug plugin• Create com.ibm.notes.java.api project
*See Appendix A for steps to prepare your IDE
![Page 14: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/14.jpg)
Develop
![Page 15: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/15.jpg)
goals• Create a Shared code plugin• Create a web app plugin which runs on a Java server• Create a OSGi servlet which run on a Domino server
* See Appendix B for setup projects
![Page 16: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/16.jpg)
my goals
![Page 17: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/17.jpg)
Shared plugin
![Page 18: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/18.jpg)
Domino - Servlet
![Page 19: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/19.jpg)
Web app - Servlet
![Page 20: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/20.jpg)
show some code
![Page 21: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/21.jpg)
Logging• Build in via java.util.logging.Logger
• Log an error to the console….
![Page 22: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/22.jpg)
Logging• ….log to a file, by adding a (File) handler
![Page 23: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/23.jpg)
Test
![Page 24: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/24.jpg)
Test
![Page 25: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/25.jpg)
Test
![Page 26: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/26.jpg)
Test
![Page 27: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/27.jpg)
Test
• tell http quit• load http
![Page 28: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/28.jpg)
Warning• After testing remove the pre.launch.ini from your workspace
directory of the Domino server
![Page 29: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/29.jpg)
Deploy
![Page 30: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/30.jpg)
Deploy• 2 ways of deployment to Domino
• as deployable jar• as an update site.
• Add to web server
![Page 31: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/31.jpg)
As deployable jar• Export as deployable plugin…
• Put the jar in the correct directory on the server
• tell http quit —> load http
![Page 32: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/32.jpg)
As update site• Create Feature project, add plugin projects• Create Update site project, add Feature project• Add update site to update site database• tell http quit —> load http
![Page 33: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/33.jpg)
Deploy to web app
![Page 34: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/34.jpg)
let’s deploy it
![Page 35: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/35.jpg)
![Page 36: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/36.jpg)
Thank you
https://bitbucket.org/flinden68/lets-serve-your-data
![Page 37: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/37.jpg)
Appendix A
![Page 38: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/38.jpg)
Target platform
![Page 39: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/39.jpg)
Target platform
![Page 40: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/40.jpg)
Target platform
![Page 41: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/41.jpg)
PDE plugin
![Page 42: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/42.jpg)
PDE plugin
![Page 43: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/43.jpg)
PDE plugin
![Page 44: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/44.jpg)
com.ibm.notes.java.api
![Page 45: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/45.jpg)
Appendix B
![Page 46: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/46.jpg)
OSGi Plugin set up
![Page 47: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/47.jpg)
OSGi Plugin set up (servlet)
![Page 48: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/48.jpg)
OSGi Plugin set up (servlet)
![Page 49: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/49.jpg)
OSGi Plugin set up (servlet)
![Page 50: Let's serve your data](https://reader035.vdocuments.mx/reader035/viewer/2022062823/5872c9fd1a28ab0c718b706f/html5/thumbnails/50.jpg)
Web app set up