Top Banner
CrossWorlds: Unleash the Power of Domino for Connections Development Paul Withers Intec Systems Ltd
20

Social Connections 2015 CrossWorlds and Domino

Apr 16, 2017

Download

Software

Paul Withers
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Social Connections 2015 CrossWorlds and Domino

CrossWorlds: Unleash the Power of Domino for

Connections Development

Paul Withers

Intec Systems Ltd

Page 2: Social Connections 2015 CrossWorlds and Domino

PLATINUM & CHAMPAGNE SPONSORS

GOLD SPONSORS

SILVER SPONSORS

BRONZE SPONSORS

Page 3: Social Connections 2015 CrossWorlds and Domino

Paul Withers

• XPages Developer since 8.5.0

• Founding co-developer on OpenNTF Domino API

• Early adopter / contributor of CrossWorlds

• Developer of OsgiWorlds

Page 4: Social Connections 2015 CrossWorlds and Domino

The Scope

• Developing with generic web applications

• Vaadin, JAX-RS

• Websphere Liberty Profile (or Domino)

• Storing data in Domino via Java

• Think you know Domino? Think again!

• Entry points via ODA counterparts of Domino objects

Page 5: Social Connections 2015 CrossWorlds and Domino

Beyond Scope

• Which web framework

• DAS

• Authentication to Domino

• You’ll see why!

• Authentication to the application

• Integration with Connections / SmartCloud

Page 6: Social Connections 2015 CrossWorlds and Domino

Why Not XPages?

• IBM SBT

• Not actively update on OpenNTF

• GitHub XPages-specific code not actively developed

Page 7: Social Connections 2015 CrossWorlds and Domino

But Why Domino?

• Wrong question

• Wrong time

Page 8: Social Connections 2015 CrossWorlds and Domino

What Is CrossWorlds?

• Websphere Liberty Profile 8.5.5.4 +

• IBM Domino 9.0.1 +

• OpenNTF Domino API +

• CrossWorlds feature for Liberty

Page 10: Social Connections 2015 CrossWorlds and Domino

The Right Questions

• Whose session?

• Which user?

• What are advantages of Domino?

• What are advantages of Liberty?

• What are advantages of ODA?

• Can it be done without Liberty?

Page 11: Social Connections 2015 CrossWorlds and Domino

Whose Session?

• User • Based on authentication

• Via Factory.getSession(SessionType.CURRENT)

• “Signer” • web.xml context-param

org.openntf.crossworlds.appsignername

• Via Factory.getSession(SessionType.SIGNER)

• Server • Via Factory.getSession(SessionType.NATIVE)

Page 12: Social Connections 2015 CrossWorlds and Domino

Which User?

• Development mode: • Defined in web.xml context-param

org.openntf.crossworlds.devtimename

• Production mode: • Authenticate however you wish • Generate Domino username however you wish • Store in xworlds.request.username HttpSession

attribute • Manage Domino security as normal

• com.ibm.domino.napi.c.xsp.XSPNative.createXPageSessionExt()

Page 13: Social Connections 2015 CrossWorlds and Domino

What Are Advantages of Domino?

• Strong security

• Schema-free storage facility

• Replication

• Great at workflow

• Great at handling attachments

• Mail routing

• Often found in Connections customers

• On premise or cloud (SoftLayer)

Page 14: Social Connections 2015 CrossWorlds and Domino

What Are Advantages of Liberty?

• Fast JavaEE application server

• Extensible (hence CrossWorlds)

• Easy to install

• Eclipse tooling

• Exploit Java 1.7 / 1.8 today

• Develop standard web applications

• Scheduled Executors

• Use JRebel for hot-swapping of code

Page 15: Social Connections 2015 CrossWorlds and Domino

What Are Advantages of ODA?

• More flexible session handling

• More flexible field handling

• Automatic recycling of Cpp handles

• OpenLog for error / event logging

• Xots – threaded tasklets

• Transactional processing

• Event Listeners

• Framed graphs

Page 16: Social Connections 2015 CrossWorlds and Domino

What Are Framed Graphs?

• Extends Tinkerpop framework

• Java interfaces for Vertices / Edges

• Can wrap standard Domino documents • E.g. Person documents

• Inbuilt workflow and social elements

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

Page 17: Social Connections 2015 CrossWorlds and Domino

Can It Be Done Without Liberty

• Vaadin? Enter OsgiWorlds • Expeditor Web Container

• Vaadin servlet wrapping intercepting HTTP requests

• Same functionality for session handling

• REST? OdaDataServlet • Equinox HTTP Service

• Just wraps Domino-authenticated user session

• See http://www.intec.co.uk/xpages-to-web-app-part-eight-osgi-jax-rs-rest-access-with-oda/

• XPages – of course

Page 18: Social Connections 2015 CrossWorlds and Domino

So Why?

• Flexible authentication options + security

• Flexible storage options – NoSQL or Graph

• Flexible location – SoftLayer or on premises

• Flexible web application options

Page 19: Social Connections 2015 CrossWorlds and Domino

More Information…

• Intro to ODA, ODA 2.0.0, ODA Demo Db (WIP)

• Intro to CrossWorlds, CrossWorlds on GitHub

• OsgiWorlds

• Graph in ODA

• oAuth authentication to Connections with SBT

• Mikkel Heisterberg session on oAuth

Page 20: Social Connections 2015 CrossWorlds and Domino

Thank You

Paul Withers

Intec Systems Ltd

@paulswithers

[email protected]

http://www.intec.co.uk/blog