Bluemix for Domino Developers Niklas Heidloff, heidloff.net
IBM Bluemix The Digital Innovation Platform Cloud Foundry, Docker, OpenWhisk More than 100 services Public, dedicated and local Hybrid applications and cognitive services Focus today: How to build Line of Business applications that leverage IBM
Collaborative Line of Business Applications LoB requirements often lead to the development of new applications since standard software is not sufficient Collaborative applications allow employees to work together synergistically to get their jobs done Collaborative LoB applications often require the protection of intellectual property based on roles of employees Sample scenarios: Approval workflows, teamrooms, travel
Requirements of LoB Applications Rapid application development – To enable citizen developers to build LoB applications – To enable innovation Focus on business needs rather than infrastructure – Leverage cloud application platforms – Utilize DevOps Cost efficient
Requirements of LoB Applications Access to applications via web and mobile user experiences Integration of existing data, documents and files Integration of existing directories and user profiles Usage of modern and popular technologies to leverage communities, libraries and tools Usage of standard and most common development skills – Scripting is easier than languages like C and Java – Preference is to use one language for
The CLEAN Stack CloudantLoopback Express AngularJS Ionic, Cordova Node.js JavaScript everywhere
Sample Scenario: Approval
Demo User Interfaces and APIs Creation of Business Objects
Business Objects and REST APIs Declarative definitions of business objects Automatic generation of REST APIs – Including API documentation Loopback Swagger
Customization of the generated APIs Scenarios – Add additional APIs – Hide methods and endpoints – Execution hooks for CRUD operations Turn off auto generation for models Loopback
Customization of the generated
IBM Connections REST
IBM Connections JavaScript
Authentication against Bluemix Single Sign On service on Bluemix allows authentication with on-premises directories via SAML Loopback
Authentication against IBM Connections Via passport
Authorization Authorization via roles Application level authorization is done declaratively Business object level authorization is done programmatically Loopback
Deployment Bluemix compute technologies – Cloud Foundry – Docker Deployment options – Deploy button – CLIs – Git push and DevOps Bluemix Docker Cloud
Development Environment Local environment – Node.js, text editor, inspector – Local property file with Bluemix credentials – In memory database DevOps web editor
Web Client LoopBack generates JavaScript libraries to access the services from AngularJS controllers AngularJS
Mobile Clients Via Cordova mobile hybrid apps can be generated for iOS and Android LoopBack generates JavaScript libraries to access the services from AngularJS controllers The controllers are the same ones as used for the web client Ionic Cordova
Try it !