crossworlds: unleash the power of domino for connections development

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

Upload: social-connections

Post on 23-Jan-2018

474 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: CrossWorlds: Unleash the Power of Domino for Connections Development

CrossWorlds: Unleash the Power of Domino for

Connections Development

Paul Withers

Intec Systems Ltd

Page 2: CrossWorlds: Unleash the Power of Domino for Connections Development

Paul Withers

• XPages Developer since 8.5.0

• Founding co-developer on OpenNTF Domino API

• Early adopter / contributor of CrossWorlds

• Developer of OsgiWorlds

Page 3: CrossWorlds: Unleash the Power of Domino for Connections Development

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 4: CrossWorlds: Unleash the Power of Domino for Connections Development

Beyond Scope

• Which web framework

• DAS

• Authentication to Domino

• You’ll see why!

• Authentication to the application

• Integration with Connections / SmartCloud

Page 5: CrossWorlds: Unleash the Power of Domino for Connections Development

Why Not XPages?

• IBM SBT

• Not actively update on OpenNTF

• GitHub XPages-specific code not actively developed

Page 6: CrossWorlds: Unleash the Power of Domino for Connections Development

But Why Domino?

• Wrong question

• Wrong time

Page 7: CrossWorlds: Unleash the Power of Domino for Connections Development

What Is CrossWorlds?

• Websphere Liberty Profile 8.5.5.4 +

• IBM Domino 9.0.1 +

• OpenNTF Domino API +

• CrossWorlds feature for Liberty

Page 9: CrossWorlds: Unleash the Power of Domino for Connections Development

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 10: CrossWorlds: Unleash the Power of Domino for Connections Development

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 11: CrossWorlds: Unleash the Power of Domino for Connections Development

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

Page 12: CrossWorlds: Unleash the Power of Domino for Connections Development

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 13: CrossWorlds: Unleash the Power of Domino for Connections Development

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 14: CrossWorlds: Unleash the Power of Domino for Connections Development

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 15: CrossWorlds: Unleash the Power of Domino for Connections Development

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 16: CrossWorlds: Unleash the Power of Domino for Connections Development

Can It Be Done Without Liberty

• Vaadin? Enter OsgiWorlds

• Vaadin servlet wrapping intercepting HTTP requests

• Same functionality for session handling

• REST? OdaDataServlet

• 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/

Page 17: CrossWorlds: Unleash the Power of Domino for Connections Development

So Why?

• Flexible authentication options + security

• Flexible storage options – NoSQL or Graph

• Flexible location – SoftLayer or on premises

• Flexible web application options

Page 19: CrossWorlds: Unleash the Power of Domino for Connections Development

Thank You

Paul Withers

Intec Systems Ltd

@paulswithers

[email protected]

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

Page 20: CrossWorlds: Unleash the Power of Domino for Connections Development

PLATINUM & CHAMPAGNE SPONSORS

GOLD SPONSORS

SILVER SPONSORS

BRONZE SPONSORS