O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Collaborative Line of Business Applications on IBM Bluemix

4.725 visualizações

Publicada em

How to build CLEAN Applications with Cloudant, LoopBack, Express, Angular and Node. JavaScript everywhere.

https://github.com/IBM-Bluemix/collaboration
https://twitter.com/nheidloff
https://bluemix.net

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Collaborative Line of Business Applications on IBM Bluemix

  1. 1. 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
  2. 2. Collaborative Line of Business ApplicationsCollaborativeLoBApplications •  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
  3. 3. 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 CollaborativeLoBApplications
  4. 4. 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 CollaborativeLoBApplications
  5. 5. The CLEAN StackCLEAN Cloudant Loopback Express AngularJS Ionic, Cordova Node.js JavaScript everywhereBluemix
  6. 6. Sample Project on GitHubCLEAN
  7. 7. Business Objects and REST APIsBusinessObjects •  Declarative definitions of business objects •  Automatic generation of REST APIs –  Including API documentation Loopback Swagger
  8. 8. BusinessObjects
  9. 9. BusinessObjects
  10. 10. BusinessObjects
  11. 11. BusinessObjects
  12. 12. BusinessObjects
  13. 13. BusinessObjects
  14. 14. BusinessObjects
  15. 15. Customization of the generated APIsRESTAPIs •  Scenarios –  Add additional APIs –  Hide methods and endpoints –  Execution hooks for CRUD operations •  Turn off auto generation for models Loopback Node
  16. 16. RESTAPIs
  17. 17. RESTAPIs
  18. 18. RESTAPIs
  19. 19. Authentication against BluemixAuthentication •  Single Sign On service on Bluemix allows authentication with on-premises directories via SAML Loopback Bluemix
  20. 20. Authentication
  21. 21. Authentication
  22. 22. Authentication
  23. 23. Authentication
  24. 24. AuthorizationAuthorization •  Authorization via roles •  Application level authorization is done declaratively •  Business object level authorization is done programmatically Loopback Node
  25. 25. Authorization
  26. 26. Authorization
  27. 27. DeploymentDeployment •  Bluemix compute technologies –  Cloud Foundry –  Docker •  Deployment options –  Deploy button –  CLIs –  Git push and DevOps Bluemix Cloud Foundry Docker
  28. 28. Deployment
  29. 29. Deployment
  30. 30. Deployment
  31. 31. Cloudant NoSQL DatabaseCloudant •  Cloudant service is created on Bluemix •  Cloudant Queries can be invoked via the dashboard Cloudant LoopBack
  32. 32. Cloudant
  33. 33. Cloudant
  34. 34. Development EnvironmentDevelopmentEnvironment •  Local environment –  Node.js, text editor, inspector –  Local property file with Bluemix credentials –  In memory database •  DevOps web editor Node
  35. 35. DevelopmentEnvironment
  36. 36. DevelopmentEnvironment
  37. 37. DevelopmentEnvironment
  38. 38. Web ClientWebClient •  LoopBack generates JavaScript libraries to access the services from AngularJS controllers AngularJS LoopBack
  39. 39. WebClient
  40. 40. WebClient
  41. 41. WebClient
  42. 42. WebClient
  43. 43. WebClient
  44. 44. Mobile ClientsMobileClients •  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
  45. 45. WebClient
  46. 46. MobileClients
  47. 47. MobileClients
  48. 48. MobileClients
  49. 49. MobileClients
  50. 50. MobileClients
  51. 51. MobileClients
  52. 52. MobileClients
  53. 53. Feedback is highly appreciated! @nheidloff https://github.com/ibm-bluemix/ collaboration Niklas Heidloff Developer Advocate for IBM Bluemix @nheidloff Feb 2016

×