1. UKLUG 2012 – Cardiff, Wales September 2012
Presenter: Paul Withers
Company: Intec Systems Ltd
ICON UK 2015
To Infinity and Beyond: OpenNTF
Domino API and CrossWorlds
2. UKLUG 2012 – Cardiff, Wales
Quiet Year?
• No release?
• RC2, RC3 (M5 and M5.1)
• Further struggles with Maven / Tycho
• Not designed for plugin development
• Imminent release – ODA 2.0.0
3. UKLUG 2012 – Cardiff, Wales
Xots Update
• Further development, proven in production
• Blog posts http://www.intec.co.uk/tag/xots/
• Implement Callable to interact with return
value
• Implement Runnable to just run
• @Tasklet annotation required
4. UKLUG 2012 – Cardiff, Wales
Xots – How To
Xots.getService().submit(new
myRunnable(ExtLibUtil.getSessionScope());
• invokeAll() not currently working
• Pass “shared” variables into constructor
• Stored in private variables of Xots class
• By default 10 threads at once
5. UKLUG 2012 – Cardiff, Wales
Xots – How To
List<Future<String>> results = new
ArrayList<Future<String>>();
….
results.add(Xots.getService().submit(new
myCallable());
….
for (Future<String> f : results) ….
6. UKLUG 2012 – Cardiff, Wales
Xots – How To
@Tasklet(session = Tasklet.Session.CLONE)
• Denotes that this class is a tasklet
• Denotes that it should clone current session
Extended to CrossWorlds, coming soon to
OsgiWorlds
7. UKLUG 2012 – Cardiff, Wales
Scheduled Xots?
• Still pending
• The challenge:
• How many Domino developers have
experience of building a stable process
scheduler?
• Scheduling issues with DOTS
11. UKLUG 2012 – Cardiff, Wales
Session Management
• Now
• ExtLibUtil.resolveVariable(“session”)
• Factory.getSession
(SessionType.CURRENT)
• SessionType enum
• Because more than just three XPages
sessions
12. UKLUG 2012 – Cardiff, Wales
Graph Update
GRAPH
Elements
Key / value pairs
Index free
DOMINO
Documents
Item / value pairs
Indexing issues
14. UKLUG 2012 – Cardiff, Wales
Graph Update
• Views as Vertexes / Edges
• REST access to Graphs
• See
https://www.youtube.com/watch?v=Eioyfb
Md2dI&index=16&list=PLg0OScbQKugOsp
IMa1vNzYAPFwqISaUmR
15. UKLUG 2012 – Cardiff, Wales
DasServlet
• org.openntf.domino.rest.servlet.
ODADataServlet
• Extension to DAS, allows use of ODA
• Use for custom REST servlets
• Recommended for e.g. AngularJS apps
• Wraps currently-logged-on user’s session
in ODA session
• ContextInfo.getUserSession()
16. UKLUG 2012 – Cardiff, Wales
JS Frameworks
• Which one
• Plus you still need
a REST
“application”
17. UKLUG 2012 – Cardiff, Wales
OsgiWorlds
• Osgi applications within application path
force authentication based on NSF
• http://myServer/names.nsf/myOsgiApp
requires authentication if names.nsf does
• If authenticated, can use ContextInfo for
current Domino authentication
• OsgiWorlds uses OSGi application-level
authentication (same as CrossWorlds)
18. UKLUG 2012 – Cardiff, Wales
OsgiWorlds
• VaadinServlet
• Filters all servlet requests
• Application configuration to “map” to
Domino sessions
19. UKLUG 2012 – Cardiff, Wales
CrossWorlds
• WebSphere Liberty (8.5.5.4) +
• IBM Domino (9.0.1) +
• OpenNTF Domino API +
• CrossWorlds feature for Liberty
• Application-specific authentication with
Domino security
20. UKLUG 2012 – Cardiff, Wales
Websphere Liberty Profile
A fast J2EE Application Server built by IBM
for modern needs.
- Light (< 40 Mb ram, < 5sec startup)
- Open (OSGI based + J2EE 6 / 7)
- Constantly evolving
- Extensible (customizable to the limit)
- Easy to manage (unzip & run, no install
needed)
21. UKLUG 2012 – Cardiff, Wales
Java 1.7 / 1.8
• Domino JVM is 1.6, 1.8 coming
• WAS Liberty can run on 1.6/1.7/1.8
TODAY!
• You can build your reusable frameworks or
exploit existing frameworks for your apps.
• Not tied anymore to IBM’s choices for
Domino
22. UKLUG 2012 – Cardiff, Wales
New Demo Application
• Not built on XPages
• Vaadin on Websphere Liberty Profile /
Domino OSGi
• ODA is no longer just XPages
• XPages developers more comfortable
with Java / less interested in ODA
• Domino (ExtLib demo) datastore
23. UKLUG 2012 – Cardiff, Wales
Vaadin
• Java framework for web / mobile apps
24. UKLUG 2012 – Cardiff, Wales
The Obvious Java Choice
• Code WYSIWYG, XML markup or Java
• 400+ components
• Client-side development tools based on
GWT and HTML5
• Open source
• Webinars, training, certifications, support
• Pro tools, including charts, touch kit etc
• First third party boilerplate inside Bluemix
26. UKLUG 2012 – Cardiff, Wales
Other Demos
• CrossWorlds sample
• ConferenceApp
• Key Dates app (blog series in progress)
27. UKLUG 2012 – Cardiff, Wales
CrossWorlds Sample App
28. UKLUG 2012 – Cardiff, Wales
Conference Application
29. UKLUG 2012 – Cardiff, Wales
Conference Application
30. UKLUG 2012 – Cardiff, Wales
Conference Application
31. UKLUG 2012 – Cardiff, Wales
Conference Application
32. UKLUG 2012 – Cardiff, Wales
Conference Application
33. UKLUG 2012 – Cardiff, Wales
Key Dates – XPages Original
34. UKLUG 2012 – Cardiff, Wales
Key Dates – XPages Original
35. UKLUG 2012 – Cardiff, Wales
Key Dates – XPages Original
36. UKLUG 2012 – Cardiff, Wales
Key Dates OsgiWorlds/CrossWorlds
37. UKLUG 2012 – Cardiff, Wales
Key Dates OsgiWorlds/CrossWorlds
38. UKLUG 2012 – Cardiff, Wales
Key Dates OsgiWorlds/CrossWorlds
39. UKLUG 2012 – Cardiff, Wales
Key Dates OsgiWorlds/CrossWorlds
40. UKLUG 2012 – Cardiff, Wales
What Does ODA Mean?
• ODA means:
• Keep data on Domino
• Develop with more than just standard
Domino architectures
• Develop with more than just XPages
• Develop web app beyond Domino
• Bluemix??
41. UKLUG 2012 – Cardiff, Wales
Questions?
• Paul Withers
• https://twitter.com/paulswithers
• pwithers:@intec.co.uk