AD1542 Get Hands On With Bluemix
-
Upload
martin-donnelly -
Category
Technology
-
view
1.463 -
download
0
Transcript of AD1542 Get Hands On With Bluemix
AD1542 –Get Hands-On with XPages Apps for Bluemix
Martin Donnelly – IBM Ireland
Brian Gleeson – IBM Ireland
Please Note:• IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s
sole discretion.
• Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.
• The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract.
• The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.
• Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
Introductions…
Martin Donnelly
Software Architect
@TweeterDonnelly
Brian Gleeson
Software Developer
@BGleesonIE
Agenda
• Introductions
• IBM XPages – The Road to Bluemix
• XPages/Domino Apps for Bluemix in Action
• A Look Under The Hood
• Architectural Summary
• XPages and Other Bluemix Services
• Summary & FAQs
IBM XPages: The Road to Bluemix
2H 2015
Experimental XPages runtime
XPages NoSQL Database service
XPages Web Starter boilerplate
Domino Designer Bluemix extensions
GA• All previous features +
• FP5 Update
• Full A11Y support
• Multi-language buildpack
Futures• Bluemix Dedicated
• Bluemix Local
• XPages runtime updates
Beta• Enhanced XPages runtime
• Hybrid Support -
Secure on-premises access to
• NSF data
• Domino directory
2Q 2016 & beyond…3Q 2015 Q1 2016
IBM XPages for Bluemix goes Beta !
Beta released on January 21st
• Build/Manage/Run XPages Apps on Bluemix bound to:
• Domino data on-cloud or on-premises
• RDBMS data, e.g. IBM DB2 on Cloud
• NoSQL Databases, e.g. IBM Cloudant
• Cognitive Services, e.g. one or more Watson offering
• Let’s take it for a ride !
Bluemix - A Quick Demo PrimerRuntimes
A set of resources used to run your applications.
We demonstrate an XPages runtime for Domino (sometimes referred to as a Buildpack).
Other popular runtimes are Node.js, Liberty for Java, Ruby, PHP etc.
Services
Services are add-ons that can be provisioned alongside your application.
A service broker component advertises catalogs of managed services such as databases, key-
value stores etc.
We show the XPages runtime working Domino, Connections Cloud & various Bluemix services.
Boilerplates
A container for an application and its associated runtime environment and predefined services.
e.g. a ready-to-go XPages ToDo application connecting to a Domino data server.
7
Bluemix - A Quick Demo Primer
IBM Bluemix – Platform as a Service (PaaS)
Bluemix applications are loosely-coupled
App instances load in a runtime container and bind to services.
The need for design and data separation is fundamental to the platform
Some sample runtime and services combinations:
8
A Look Under The Hood
Main Use Case
XPages Apps bound to Domino data
• A Tale of Two NSFs
• 1 Design NSF with your XPages, CSS, JS code
• 1 Data NSF with your data
• Separation of Design and Data
• XPages sees docs and views via data sources
A Look Under The Hood
XPages Domino Data Sources
• Data can be in the same NSF
• In another NSF on the same server
• In another NSF on another Domino server
• Data source properties are computable
A Look Under The Hood
XPages Bluemix apps can access Domino data anywhere
• By configuring the data sources accordingly
• Using tried and trusted Domino security model
SSJS code dynamically
locates Domino database
A Look Under The Hood
The XPages Web Starter App = Great Sample
• Create an instance of the app (see Boilerplates)
• Download the starter code
• Explore app in Domino Designer
• E.g. For findDbUtil() see todoUtils Script Library
• Observe how the SSJS code uses new XPages runtime features
• E.g. the bluemixContext class …
A Look Under The Hood
Write Once Run Anywhere…
• XPages runtime features + Domino platform capabilities
Same apps can run seamlessly both on cloud and on-premises
Proof Points
• We4IT produced a Bluemix version of Aveedo in less than 1 day
XPages Runtime
(Buildpack)
Domino Server
XPages NoSQL Database service instance
To Do AppExpense App (1) Expense App (2)
XPages App
InstanceXPages App
Instance
XPages App
Instance
NRPC and/or REST API
So
ftL
aye
r
De
sig
ne
r
Exp-Data.nsf ToDoData.nsf
Exp-design.nsf Exp-design.nsf ToDo_design.nsf
IDE
/ D
evO
ps
XPages/Domino Apps for Bluemix Architecture - Playground
Inte
rne
t
IBM
Blu
em
ixIB
M B
lue
mix
IBM
Blu
em
ixIB
M B
lue
mix
Clo
ud
Fo
un
dry
16
Expense App (1)
XPages App
Instance
Exp-design.nsf
Inte
rne
tIB
M B
lue
mix
Clo
ud
Fo
un
dry IBM Domino
on cloud
IBM Domino
on premises
Production Environmentusing hybrid architecture
Bluemix HybridBluemix runtime securely bound to external Domino
server
XPages/Domino Apps for Bluemix – Hybrid Architecture
XPages
Runtime
in BluemixDomino Designer
Used to build &
deploy apps to
Bluemix
Domino Server
Provides database, directory and
messaging services
17
XPages Hybrid Cloud Model
Domino Server
onpremise/greenwell
XPages Appbluemix/greenwell
./benefits.nsf
Greenwell Private Data Centre
Secure Encrypted NRPC Connection
names.nsf
benefits-data.nsfApp Data
Directory
Access
Supporting the XPages Hybrid Cloud Model
Integrating XPages Bluemix apps with your Domino enterprise data
• Runtime uses industry tried and trusted Domino security model
• Stands up XPages Bluemix apps with certified IDs issued and trusted by your organization
• Establishes a connection to hybrid Domino data server using highly secure NRPC protocol
• Domino Designer has hybrid integration tools
• Specifying hybrid data connection info
• Signing apps
• Pushing IDs
XPages Bluemix Hybrid Deployment
20
To run your own application container in Bluemix
• Create a new server id for your Bluemix applications
• or use existing server id
• Push the server id along with your Bluemix application using Domino Designer
• Optionally configure your app to use Domino directory assistance
Hybrid Security Summary
In Bluemix, the XPages runtime runs on an optimized Domino application server
The runtime server is hosted in a secure single-tenant container
Neither the container nor the server is shared with other Bluemix customers
It is dedicated solely to your Bluemix application
The runtime server acts just like a Notes client, i.e.
It connects to a Domino data server over a NRPC connection
i.e. to retrieve data and leverage Domino directory services
The NRPC intra-server connection is set up to be encrypted
The runtime server uses a server id issued by your organization
The runtime server must be trusted by the Domino data server
XPages Fusion Application
Fusion of XPages & Bluemix services
23
XPages
Watson
Services
L T VR
Database
C
Bluemix App
Bluemix
Services
XPages Fusion Application
Open Source Fusion Application
• OpenNTF Project
• Github Repo
Deploy to Bluemix button
• Instantly deploy your own copy to Bluemix
• Provisions services automatically
• Be mindful of your limits!
25
Dependencies
XPages and Other Bluemix Services
26
Build services into your XPages applications
• Databases
• Watson
• Mobile
• Internet of Things
• Security
• Built-in DevOps services
100+ services available now in Bluemix catalog
XPages & IBM Connections Cloud
27
Integrate Connections into XPages
• Add Connections Navbar
• Add Social Business Toolkit
• Using shared-plugins folder
• Profiles APIs
• Files APIs
• Communities APIs
• Activities APIs
• and more…
XPages & IBM Connections Cloud
29
• Add endpoint to faces-config:
+ managed-property: url, appName, clientID, clientSecret, credentialStore
• Call SBT APIs, e.g. in Java bean:
XPages & IBM Connections Cloud
30
• Add Connections Navbar to XPage
• For more detail go here https://ibm.biz/BdHuhX
• Call bean method in SSJS:
Latest XPages Extension Library for 901
XPages core 901FP4 runtime + Bluemix extensions
Lightweight Domino Web Container (901FP4++)
e.g. OpenNTF Domino API, IBM SBT SDK, etc
Can I extend the XPages runtime on Bluemix ?
XPages Runtime Stack
Yes - An Extensible runtime stack !
YOU can add your own plug-ins, leverage open-source libraries etc
Designer
Bluemix
Tooling
Bootstrap
App Layouts
etc.
Domino
NoSQL
ServiceRDBMS /
ResponsiveIBM
Connections
Services
32
Designer Capabilities
How do I debug XPages apps on Bluemix ?There are many tips, tricks and tools at your disposal
• Access the log files from your Bluemix development dashboard
• See: Files > app > notesdata > IBM_TECHNICAL_SUPPORT
• Or use the Logs menu or CF tools to access log files
• Deploy the XPages Toolbox application for performance profiling
• Generates debug info on memory and cpu operations
• Also profiles Java Backend classes
33
What are the Bluemix cloud platform options ?There are three flavors of the IBM Bluemix PaaS
• Public
• Dedicated
• Local
• XPages GA will first support Bluemix public
34
How do I get started on Bluemix ?
• Get a Bluemix account
• If you do not already have one, then you can start a free 30 trial today
https://apps.admin.ibmcloud.com/manage/trial/bluemix.html
• Get IBM Domino Designer 9.0.1
https://www.ibm.com/developerworks/downloads/ls/dominodesigner/?S_CMP=LSDL
• Install the latest XPages Extension Library into Domino Designer
http://extlib.openntf.org
• Log in to Bluemix and start coding !
35
Where do I ask questions and provide feedback?
Free forum support for XPages runtime, XPages NoSQL Database service and XPages Web Starter boilerplate is provided
https://developer.ibm.com/answers/smart-spaces/12/bluemix.html
Tag questions with XPages-runtime and/or XPages-service
Additional XPages forums
http://stackoverflow.com/search?tab=newest&q=xpages
XPages forum: http://www-10.lotus.com/ldd/xpagesforum.nsf
OpenNTF.org: http://extlib.openntf.org – see Discussion and Defects Tab
36
Upcoming Sessions from XPages team members
AD1545 – Extending the XPages Extension LibraryTuesday, February 204:00 PM - 05:00 PM, Orange G
AD1548 – Building Responsive Applications Using XPagesWednesday, February 3, 201609:15 AM - 10:15 AM, Orange F
Lots of Great Sessions for XPages Developers
1279: "Marty, You're Just Not Thinking Fourth Dimensionally": Troubleshooting XPages
1380: A Beard, An App, A Blender: One Developer's Take on Building Apps with Domino/XPages
1539: Bringing Your Web Apps to IBM Digital Experience
1630: Carnival Sailing Safer Seas with Domino
1070: GIT 'er done. Real World Experience with SCM in Domino Designer
1094: Move Your XPages Applications to the Fast Lane
1443: OpenNTF – From Donation to Contribution
1074: Optimus XPages: An Explosion of Techniques and Best Practices
More
… from our IBM Champions …
… More Great Sessions for XPages Developers
1387: Outside The Box: Integrating with Non-Domino Apps Using XPages and Java
1238: REST Services in Domino - Key to Modern Web Applications
1077: Real-time Video Chat XPage Application Using Websocket and WebRTC Technologies
1617: Relational XPages!! Using XPages as the Presentation Layer for RDBMS Data
1207: The Grid, the Brad, and The Ugly: Using Grids to Improve Your Applications
1436: The Journey from Rapid Application Development to Continuous Delivery
1075: The XPages of Things: Integrate Bluemix with Your XPages Applications for a World of Possibilities
1003: node.js for Domino Developers
… and community members !
Your Feedback Is Important!
Based upon your session attendance, a customized list of surveys will be built for you.
Please complete your surveys via the conference kiosks or any web enabled device at https://www.connectsurveys.com or through IBM Event Connect.
Notices and DisclaimersCopyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law
Notices and Disclaimers cont.Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.
•IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®,pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.