41
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

ICON UK 2015 - ODA and CrossWorlds

Embed Size (px)

Citation preview

Page 1: ICON UK 2015 - ODA and CrossWorlds

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

Page 2: ICON UK 2015 - ODA and CrossWorlds

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

Page 3: ICON UK 2015 - ODA and CrossWorlds

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

Page 4: ICON UK 2015 - ODA and CrossWorlds

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

Page 5: ICON UK 2015 - ODA and CrossWorlds

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) ….

Page 6: ICON UK 2015 - ODA and CrossWorlds

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

Page 7: ICON UK 2015 - ODA and CrossWorlds

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

Page 8: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Page 9: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Single, re-sortable container, containing 13376 contacts from 10 databases

Page 10: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Session Management

• Previously

• ExtLibUtil.resolveVariable(“session”)

• Factory.getSession()

Page 11: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Session Management

• Now

• ExtLibUtil.resolveVariable(“session”)

• Factory.getSession

(SessionType.CURRENT)

• SessionType enum

• Because more than just three XPages

sessions

Page 12: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Graph Update

GRAPH

Elements Key / value pairs

Index free

DOMINO

Documents Item / value pairs Indexing issues

Page 13: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Graph Update

• Framed Graphs

• Simplified setup

• In-built Vertexes

• Likeable, Commentable, workflow

• Proxy Vertexes

• Wrappers for non-Graph Notes

documents

Page 14: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Graph Update

• Views as Vertexes / Edges

• REST access to Graphs

• See https://www.youtube.com/watch?v=EioyfbMd2dI&index=16&list=PLg0OScbQKugOspIMa1vNzYAPFwqISaUmR

Page 15: ICON UK 2015 - ODA and CrossWorlds

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()

Page 16: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

JS Frameworks

• Which one

• Plus you still need a REST “application”

Page 17: ICON UK 2015 - ODA and CrossWorlds

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)

Page 18: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

OsgiWorlds

• VaadinServlet

• Filters all servlet requests

• Application configuration to “map” to Domino sessions

Page 19: ICON UK 2015 - ODA and CrossWorlds

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

Page 20: ICON UK 2015 - ODA and CrossWorlds

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)

Page 21: ICON UK 2015 - ODA and CrossWorlds

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

Page 22: ICON UK 2015 - ODA and CrossWorlds

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

Page 23: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Vaadin

• Java framework for web / mobile apps

Page 24: ICON UK 2015 - ODA and CrossWorlds

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

Page 25: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Page 26: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Other Demos

• CrossWorlds sample

• ConferenceApp

• Key Dates app (blog series in progress)

Page 27: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

CrossWorlds Sample App

Page 28: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Conference Application

Page 29: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Conference Application

Page 30: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Conference Application

Page 31: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Conference Application

Page 32: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Conference Application

Page 33: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Key Dates – XPages Original

Page 34: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Key Dates – XPages Original

Page 35: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Key Dates – XPages Original

Page 36: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Key Dates OsgiWorlds/CrossWorlds

Page 37: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Key Dates OsgiWorlds/CrossWorlds

Page 38: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Key Dates OsgiWorlds/CrossWorlds

Page 39: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Key Dates OsgiWorlds/CrossWorlds

Page 40: ICON UK 2015 - ODA and CrossWorlds

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??

Page 41: ICON UK 2015 - ODA and CrossWorlds

UKLUG 2012 – Cardiff, Wales

Questions?

• Paul Withers

• https://twitter.com/paulswithers

• pwithers:@intec.co.uk