1
Mobility Hackathon
December 12-14, 2014
Roma
IBM Bluemix on the go
Giulio Santoli
giulio_santoli@it.ibm.com
2 © 2014 IBM Corporation
Cloud Service Models
Networking Networking Networking Networking
Storage Storage Storage Storage
Servers Servers Servers Servers
Virtualization Virtualization Virtualization Virtualization
O/S O/S O/S O/S
Middleware Middleware Middleware Middleware
Runtime Runtime Runtime Runtime
Data Data Data Data
Applications Applications Applications Applications
Traditional
On-Premises
Infrastructure
as a Service
Platform
as a Service
Software
as a Service
ClientManages
VendorManagesinCloud
VendorManagesinCloud
VendorManagesinCloud
ClientManages
ClientManages
Customization; higher costs; slower time to value
Standardization; lower costs; faster time to value
3 © 2014 IBM Corporation
Security
Services
Web and
application
services
Cloud
Integration
Services
Mobile
Services
Database
services
Big Data
services
Watson
Services
Create apps quickly with ready-to-use services
DevOps
Services
Internet of
Things
Services
• Runtimes, services, and tooling
up to you
Choice
Industry Leading IBM Capabilities
• Services leveraging the
depth of IBM software
• Full range of capabilities
Completeness
• Open source platform and services
• Third party to enable key use cases
4 © 2014 IBM Corporation
DevOps Services for Bluemix
1. Agile development, tracking & collaboration
2. Use your favorite tool or web IDE
6. Continuously deliver
8. Get instantaneous feedback
from mobile apps
7. Manage and monitor your
app’ performance
4. Continuously integrate your code
Agile
Planning
5. Scan your app for vulnerabilities
Jazz SCM Hosted Git
Web IDE
Delivery
Pipeline AppScan
Mobile & Web
Continous
Integration
Mobile Quality
Monitoring
and Analytics
Operate Develop/
Test
Deploy
Steer
DevOps
Services
Eclipse Sublime
3. Use the repo you like
Auto Scaling
5 © 2014 IBM Corporation
Watson Services in Bluemix
Concept Expansion
Maps euphemisms or colloquial terms
to more commonly understood phrases
User Modeling
Improved understanding of people’s
preferences to help engage users on
their own terms
Language Identification
Identifies the language in which text
is written
Question and Answer
Direct responses to user inquiries
fueled by primary document sources
Message Resonance
Communicate with people with a
style and words that suits them
Relationship Extraction
Intelligently finds relationships
between sentence components
(nouns, verbs, subjects, objects)
Visualization Rendering
Graphical representations of data
analysis for easier understanding
Language Translation
Globalize on the fly. Translate text
from one language to another
6 © 2014 IBM Corporation
IBM Internet Of Things Foundation
https://quickstart.internetofthings.ibmcloud.com
7 © 2014 IBM Corporation
IBM Connected Car
http://m2m.demos.ibm.com/connectedCar.html#connectedCar
http://tiny.cc/ws0zpx
8
Bluemix references.
9 © 2014 IBM Corporation
IoT Foundation: Apps, Devices and APIs
Devices
IBM IoT Foundation
Apps
PUBLISH
RECEIVE
events
commands
PUBLISH
commands
REGISTER
devices
GENERATE
API keys
HTTP HTTP
RECEIVE
events
(and services)
MQTT MQTT
10 © 2014 IBM Corporation
IoT Foundation: MQTT and Apps
https://developer.ibm.com/iot/recipes/improvise-application-development
username  <key>
password  <token>
clientid  a:<orgid>:<app-id>
publishes  iot-2/type/<type-id>/id/<device-id>/cmd/<cmd-id>/fmt/<format-id>
subscribes  iot-2/type/<type-id>/id/<device-id>/evt/<event-id>/fmt/<format-id>
Apps & Services
key: a-myorg-hketyuionf
token: AB3ur51jL+3awe0kl
Example
tcp://<org-id>.messaging.internetofthings.ibmcloud.com:1883
ssl://<org-id>.messaging.internetofthings.ibmcloud.com:8883
MQTT Host
11 © 2014 IBM Corporation
IoT Foundation: Devices
Devices
https://developer.ibm.com/iot/recipes/improvise-registered-devices
https://developer.ibm.com/iot/recipes/improvise-commands
username  use-token-auth
password  <auth-token>
clientid  d:<orgid>:<type-id>:<divice-id>
publishes  iot-2/evt/<event-id>/fmt/<format>
subscribes  iot-2/cmd/<cmd-type>/fmt/<format-id>
payload  {“d”: {“name1”: “value1”, “name2”: intvalue } }
org=myorg
type=mydevicetype
id=mydeviceid
auth-method=token
auth-token=Gh3e(EA998fart4
Example
12 © 2014 IBM Corporation
IoT Foundation: REST APIs
View an organization (GET):
https://internetofthings.ibmcloud.com/api/v0001/organizations/<org-id>
List all devices (GET) / Registr a device (POST):
https://internetofthings.ibmcloud.com/api/v0001/organizations/<org-id>/devices
Historical data for a device (GET):
https://internetofthings.ibmcloud.com/api/v0001/historian/<org-id>/<type-id>/<id>?filter
REST API Examples
https://developer.ibm.com/iot/recipes/api-documentation
curl --user “<key>:<token>" https://internetofthings.ibmcloud.com/api/v0001/organizations/<org-id>/devices
Example: get all devices
13 © 2014 IBM Corporation
IoT Foundation: Quick Start
https://quickstart.internetofthings.ibmcloud.com
https://github.com/ibm-messaging/iot-arduino
14 © 2014 IBM Corporation
IoT Foundation: App Example
https://github.com/ibm-messaging/iot-visualization
15 © 2014 IBM Corporation
Bluemix Docs
- BLUEMIX DOCS
https://www.ng.bluemix.net/docs
https://developer.ibm.com/bluemix
- PREREQUISITES AND DOWNLOAD
https://developer.ibm.com/bluemix/support/#prereqs
https://www.ng.bluemix.net/docs/#starters/BuildingWeb.html#building_web
- COMMAND LINE AND VCAP_SERVICES ENVIRONMENT VARIABLE
https://www.ng.bluemix.net/docs/#cli/index.html#cli
- MANIFEST GUIDE (manifest.yml)
http://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html
- BUILDPACK FROM CLOUD FOUNDRY COMMUNITY
https://github.com/cloudfoundry-community/cf-docs-contrib/wiki/Buildpacks
16 © 2014 IBM Corporation
Tutorials and Examples (1/5)
- TUTORIAL: Build your first App in Node.js
1) https://www.youtube.com/watch?v=GRQnwVhYeWU
2) https://www.youtube.com/watch?v=-WsIjAdGeHQ
3) https://www.youtube.com/watch?v=S_tcicKXW1A
- TUTORIAL: Mobile Data + Push Notification + Node.js
1) http://www.ibm.com/developerworks/mobile/library/mo-android-mobiledata-app/index.html
2) http://www.ibm.com/developerworks/library/mo-android-push-app/index.html
17 © 2014 IBM Corporation
Tutorials and Examples (2/5)
- EXAMPLE MOBILE APP: Cordova + Push Nofitication
http://www.ibm.com/developerworks/mobile/library/mo-push-apache-cordova-app
- EXAMPLE MEAN STACK (MongoDB, Express, AngularJS, Node.js)
http://www.ibm.com/developerworks/web/library/wa-nodejs-polling-app/index.html
- EXAMPLE: Node.js + SQLDB
http://www.ibm.com/developerworks/cloud/library/cl-math-app/index.html
- EXAMPLE: Node.jS + MQ Light
https://developer.ibm.com/messaging/2014/09/25/getting-started-node-js-mq-light-apps-bluemix
- EXAMPLE: Node.js + Data Chace + Monitoring and Analytics
(express, Jade, Bootstrap, Font Awesome, jQuery, Google Analytics, request, cheerio, async)
http://www.ibm.com/developerworks/cloud/library/cl-situational-app/index.html
18 © 2014 IBM Corporation
Tutorials and Examples (3/5)
- EXAMPLE: Java EE + Session Chace + SQLDB + Auto Scaling
http://www.ibm.com/developerworks/cloud/library/cl-cloudtrader-app/index.html
- EXAMPLE: Java EE + Cloudant NoSQL
https://developer.ibm.com/bluemix/2014/07/08/cloudant_on_bluemix
- EXAMPLE: Java EE + dashDB (Data Mining)
http://www.ibm.com/developerworks/library/bd-dataminingblu-app
- EXAMPLE: Java EE + App User Registry + MongoDB
http://www.ibm.com/developerworks/cloud/library/cl-oauthregistry-app/index.html
- EXAMPLE: Java EE + MQ Light
https://developer.ibm.com/messaging/2014/09/25/getting-started-j2ee-apps-mq-light-bluemix
19 © 2014 IBM Corporation
Tutorials and Examples (4/5)
- EXAMPLE: Python with custom buildpack
http://blog.4loeser.net/2014/06/some-fun-with-bluemix-cloud-foundry.html
- EXAMPLE: Go with custom buildpack
http://www.ibm.com/developerworks/cloud/library/cl-bluemix-go-app
- EXAMPLE: Node.js + Watson Questions and Answers
www.ibm.com/developerworks/cloud/library/cl-watson-films-bluemix-app/index.html
- EXAMPLE: Node-RED + Twitter + Watsion Questions and Answers
http://www.ibm.com/developerworks/cloud/library/cl-twitterbot-watson-bluemix-app/index.html
- CLOUD INTEGRATION API
https://www.ng.bluemix.net/docs/#services/CloudIntegration/index-gentopic3.html#cloudint_create_CIservice
- GETTING STARTED WITH DOCKER
https://developer.ibm.com/bluemix/2014/12/04/ibm-containers-beta-docker
20 © 2014 IBM Corporation
Tutorials and Examples (5/5)
- USING CLOUDANT WITH NODE.JS
https://docs.cloudant.com/using-cloudant-with/nodejs.html
- MQ Light
https://developer.ibm.com/messaging/mq-light/
https://developer.ibm.com/messaging/mq-light/docs/
https://developer.ibm.com/messaging/mq-light/getting-started-mq-light/
- IBM Mobile Cloud Services SDK Developer Guide
http://mbaas-gettingstarted.ng.bluemix.net
21
Bluemix works.
Start a free trial today
ibm.biz/Bluemix2015

IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)

  • 1.
    1 Mobility Hackathon December 12-14,2014 Roma IBM Bluemix on the go Giulio Santoli giulio_santoli@it.ibm.com
  • 2.
    2 © 2014IBM Corporation Cloud Service Models Networking Networking Networking Networking Storage Storage Storage Storage Servers Servers Servers Servers Virtualization Virtualization Virtualization Virtualization O/S O/S O/S O/S Middleware Middleware Middleware Middleware Runtime Runtime Runtime Runtime Data Data Data Data Applications Applications Applications Applications Traditional On-Premises Infrastructure as a Service Platform as a Service Software as a Service ClientManages VendorManagesinCloud VendorManagesinCloud VendorManagesinCloud ClientManages ClientManages Customization; higher costs; slower time to value Standardization; lower costs; faster time to value
  • 3.
    3 © 2014IBM Corporation Security Services Web and application services Cloud Integration Services Mobile Services Database services Big Data services Watson Services Create apps quickly with ready-to-use services DevOps Services Internet of Things Services • Runtimes, services, and tooling up to you Choice Industry Leading IBM Capabilities • Services leveraging the depth of IBM software • Full range of capabilities Completeness • Open source platform and services • Third party to enable key use cases
  • 4.
    4 © 2014IBM Corporation DevOps Services for Bluemix 1. Agile development, tracking & collaboration 2. Use your favorite tool or web IDE 6. Continuously deliver 8. Get instantaneous feedback from mobile apps 7. Manage and monitor your app’ performance 4. Continuously integrate your code Agile Planning 5. Scan your app for vulnerabilities Jazz SCM Hosted Git Web IDE Delivery Pipeline AppScan Mobile & Web Continous Integration Mobile Quality Monitoring and Analytics Operate Develop/ Test Deploy Steer DevOps Services Eclipse Sublime 3. Use the repo you like Auto Scaling
  • 5.
    5 © 2014IBM Corporation Watson Services in Bluemix Concept Expansion Maps euphemisms or colloquial terms to more commonly understood phrases User Modeling Improved understanding of people’s preferences to help engage users on their own terms Language Identification Identifies the language in which text is written Question and Answer Direct responses to user inquiries fueled by primary document sources Message Resonance Communicate with people with a style and words that suits them Relationship Extraction Intelligently finds relationships between sentence components (nouns, verbs, subjects, objects) Visualization Rendering Graphical representations of data analysis for easier understanding Language Translation Globalize on the fly. Translate text from one language to another
  • 6.
    6 © 2014IBM Corporation IBM Internet Of Things Foundation https://quickstart.internetofthings.ibmcloud.com
  • 7.
    7 © 2014IBM Corporation IBM Connected Car http://m2m.demos.ibm.com/connectedCar.html#connectedCar http://tiny.cc/ws0zpx
  • 8.
  • 9.
    9 © 2014IBM Corporation IoT Foundation: Apps, Devices and APIs Devices IBM IoT Foundation Apps PUBLISH RECEIVE events commands PUBLISH commands REGISTER devices GENERATE API keys HTTP HTTP RECEIVE events (and services) MQTT MQTT
  • 10.
    10 © 2014IBM Corporation IoT Foundation: MQTT and Apps https://developer.ibm.com/iot/recipes/improvise-application-development username  <key> password  <token> clientid  a:<orgid>:<app-id> publishes  iot-2/type/<type-id>/id/<device-id>/cmd/<cmd-id>/fmt/<format-id> subscribes  iot-2/type/<type-id>/id/<device-id>/evt/<event-id>/fmt/<format-id> Apps & Services key: a-myorg-hketyuionf token: AB3ur51jL+3awe0kl Example tcp://<org-id>.messaging.internetofthings.ibmcloud.com:1883 ssl://<org-id>.messaging.internetofthings.ibmcloud.com:8883 MQTT Host
  • 11.
    11 © 2014IBM Corporation IoT Foundation: Devices Devices https://developer.ibm.com/iot/recipes/improvise-registered-devices https://developer.ibm.com/iot/recipes/improvise-commands username  use-token-auth password  <auth-token> clientid  d:<orgid>:<type-id>:<divice-id> publishes  iot-2/evt/<event-id>/fmt/<format> subscribes  iot-2/cmd/<cmd-type>/fmt/<format-id> payload  {“d”: {“name1”: “value1”, “name2”: intvalue } } org=myorg type=mydevicetype id=mydeviceid auth-method=token auth-token=Gh3e(EA998fart4 Example
  • 12.
    12 © 2014IBM Corporation IoT Foundation: REST APIs View an organization (GET): https://internetofthings.ibmcloud.com/api/v0001/organizations/<org-id> List all devices (GET) / Registr a device (POST): https://internetofthings.ibmcloud.com/api/v0001/organizations/<org-id>/devices Historical data for a device (GET): https://internetofthings.ibmcloud.com/api/v0001/historian/<org-id>/<type-id>/<id>?filter REST API Examples https://developer.ibm.com/iot/recipes/api-documentation curl --user “<key>:<token>" https://internetofthings.ibmcloud.com/api/v0001/organizations/<org-id>/devices Example: get all devices
  • 13.
    13 © 2014IBM Corporation IoT Foundation: Quick Start https://quickstart.internetofthings.ibmcloud.com https://github.com/ibm-messaging/iot-arduino
  • 14.
    14 © 2014IBM Corporation IoT Foundation: App Example https://github.com/ibm-messaging/iot-visualization
  • 15.
    15 © 2014IBM Corporation Bluemix Docs - BLUEMIX DOCS https://www.ng.bluemix.net/docs https://developer.ibm.com/bluemix - PREREQUISITES AND DOWNLOAD https://developer.ibm.com/bluemix/support/#prereqs https://www.ng.bluemix.net/docs/#starters/BuildingWeb.html#building_web - COMMAND LINE AND VCAP_SERVICES ENVIRONMENT VARIABLE https://www.ng.bluemix.net/docs/#cli/index.html#cli - MANIFEST GUIDE (manifest.yml) http://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html - BUILDPACK FROM CLOUD FOUNDRY COMMUNITY https://github.com/cloudfoundry-community/cf-docs-contrib/wiki/Buildpacks
  • 16.
    16 © 2014IBM Corporation Tutorials and Examples (1/5) - TUTORIAL: Build your first App in Node.js 1) https://www.youtube.com/watch?v=GRQnwVhYeWU 2) https://www.youtube.com/watch?v=-WsIjAdGeHQ 3) https://www.youtube.com/watch?v=S_tcicKXW1A - TUTORIAL: Mobile Data + Push Notification + Node.js 1) http://www.ibm.com/developerworks/mobile/library/mo-android-mobiledata-app/index.html 2) http://www.ibm.com/developerworks/library/mo-android-push-app/index.html
  • 17.
    17 © 2014IBM Corporation Tutorials and Examples (2/5) - EXAMPLE MOBILE APP: Cordova + Push Nofitication http://www.ibm.com/developerworks/mobile/library/mo-push-apache-cordova-app - EXAMPLE MEAN STACK (MongoDB, Express, AngularJS, Node.js) http://www.ibm.com/developerworks/web/library/wa-nodejs-polling-app/index.html - EXAMPLE: Node.js + SQLDB http://www.ibm.com/developerworks/cloud/library/cl-math-app/index.html - EXAMPLE: Node.jS + MQ Light https://developer.ibm.com/messaging/2014/09/25/getting-started-node-js-mq-light-apps-bluemix - EXAMPLE: Node.js + Data Chace + Monitoring and Analytics (express, Jade, Bootstrap, Font Awesome, jQuery, Google Analytics, request, cheerio, async) http://www.ibm.com/developerworks/cloud/library/cl-situational-app/index.html
  • 18.
    18 © 2014IBM Corporation Tutorials and Examples (3/5) - EXAMPLE: Java EE + Session Chace + SQLDB + Auto Scaling http://www.ibm.com/developerworks/cloud/library/cl-cloudtrader-app/index.html - EXAMPLE: Java EE + Cloudant NoSQL https://developer.ibm.com/bluemix/2014/07/08/cloudant_on_bluemix - EXAMPLE: Java EE + dashDB (Data Mining) http://www.ibm.com/developerworks/library/bd-dataminingblu-app - EXAMPLE: Java EE + App User Registry + MongoDB http://www.ibm.com/developerworks/cloud/library/cl-oauthregistry-app/index.html - EXAMPLE: Java EE + MQ Light https://developer.ibm.com/messaging/2014/09/25/getting-started-j2ee-apps-mq-light-bluemix
  • 19.
    19 © 2014IBM Corporation Tutorials and Examples (4/5) - EXAMPLE: Python with custom buildpack http://blog.4loeser.net/2014/06/some-fun-with-bluemix-cloud-foundry.html - EXAMPLE: Go with custom buildpack http://www.ibm.com/developerworks/cloud/library/cl-bluemix-go-app - EXAMPLE: Node.js + Watson Questions and Answers www.ibm.com/developerworks/cloud/library/cl-watson-films-bluemix-app/index.html - EXAMPLE: Node-RED + Twitter + Watsion Questions and Answers http://www.ibm.com/developerworks/cloud/library/cl-twitterbot-watson-bluemix-app/index.html - CLOUD INTEGRATION API https://www.ng.bluemix.net/docs/#services/CloudIntegration/index-gentopic3.html#cloudint_create_CIservice - GETTING STARTED WITH DOCKER https://developer.ibm.com/bluemix/2014/12/04/ibm-containers-beta-docker
  • 20.
    20 © 2014IBM Corporation Tutorials and Examples (5/5) - USING CLOUDANT WITH NODE.JS https://docs.cloudant.com/using-cloudant-with/nodejs.html - MQ Light https://developer.ibm.com/messaging/mq-light/ https://developer.ibm.com/messaging/mq-light/docs/ https://developer.ibm.com/messaging/mq-light/getting-started-mq-light/ - IBM Mobile Cloud Services SDK Developer Guide http://mbaas-gettingstarted.ng.bluemix.net
  • 21.
    21 Bluemix works. Start afree trial today ibm.biz/Bluemix2015