collaborative line of business applications on ibm bluemix
TRANSCRIPT
Collaborative Line of Business Applications on IBM Bluemix
How to build CLEAN Applications with Cloudant, LoopBack, Express, Angular and Node
Niklas Heidloff Developer Advocate
for IBM Bluemix @nheidloff
Feb 2016
Collaborative Line of Business Applications Collaborative LoB 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 expenses
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 hosting
Collaborative LoB Applications
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 everything
Collaborative LoB Applications
The CLEAN Stack
CLEAN Cloudant Loopback
Express AngularJS
Ionic, Cordova Node.js
JavaScript everywhere Bluemix
Business Objects and REST APIs Business O
bjects
• Declarative definitions of business objects
• Automatic generation of REST APIs – Including API documentation
Loopback
Swagger
Customization of the generated APIs
REST APIs
• Scenarios – Add additional APIs – Hide methods and endpoints – Execution hooks for CRUD operations
• Turn off auto generation for models
Loopback
Node
Authentication against Bluemix
Authentication
• Single Sign On service on Bluemix allows authentication with on-premises directories via SAML Loopback
Bluemix
Authorization
Authorization
• Authorization via roles
• Application level authorization is done declaratively
• Business object level authorization is done programmatically
Loopback
Node
Deployment
Deploym
ent
• Bluemix compute technologies – Cloud Foundry – Docker
• Deployment options – Deploy button – CLIs – Git push and DevOps
Bluemix
Cloud Foundry
Docker
Cloudant NoSQL Database
Cloudant
• Cloudant service is created on Bluemix
• Cloudant Queries can be invoked via the dashboard
Cloudant
LoopBack
Development Environment Developm
ent Environment
• Local environment – Node.js, text editor, inspector – Local property file with Bluemix credentials – In memory database
• DevOps web editor
Node
Web Client
Web Client
• LoopBack generates JavaScript libraries to access the services from AngularJS controllers AngularJS
LoopBack
Mobile Clients
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
AngularJS