Upload
mat-newman
View
8.331
Download
2
Tags:
Embed Size (px)
DESCRIPTION
IBM Domino 9 easily exposes the Domino Data Service (DDS) to enable you to access data in IBM Notes Databases utilising REST APIs. But how do you get started building native mobile applications? With IBM Worklight, and DDS! We will demonstrate how to install, configure and then build your first mobile application.
Citation preview
© 2014 IBM Corporation
AD501: IBM Worklight for IBM Domino Developers
Mat Newman, IBM, @MatNewman
22
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.
Please Note
3
Session Description
IBM Domino 9 easily exposes the Domino Data Service (DDS) to enable you to access data in IBM Notes Databases utilising REST APIs. But how do you get started building native mobile applications? With IBM Worklight, and DDS! We will demonstrate how to install, configure and then build your first mobile application.
4
What we'll cover
What is the Domino Data Service (DDS)
How to enable DDS
How to use it
55
What is Domino Data Service
6
Domino 9 = XPages Extension Library + Mobile Controls
Out-Of-TheBox Mobile app toolkit
Awesome Tutorial By Paul Hannan:
– http://tinyurl.com/2014AD50101
Develop a mobile application in 5 Minutes
7
Yes, Mobile applications
IN 5 MINUTES!
8
DEMO
9
Ever used a JSONFORMAT url in Domino?
/database.nsf/viewname?ReadViewEntries&outputformat=json
Eg:
http://lotusphere.turtleweb.com/sphere2014.nsf/vwSessionsID?ReadViewEntries&outputformat=json
10
Domino Data Service
Rest API that exposes data in a Domino database Uses internet standard protocols Build NATIVE applications
11
Yes, NATIVE Applications
NOT just mobile web-pages!
12
DDS Exposes JSON in ANY enabled
Notes application
* both VIEWS and DOCUMENTS *
13
DDS Object URL's
FilePath/Databasename.nsf
– The base notes application URL
FilePath/Databasename.nsf/api/data
– The api path when notes application is enabled for DDS
FilePath/Databasename.nsf/api/data/collections
– The path to access Views
FilePath/Databasename.nsf/api/data/documents
– The path to access Documents (Notes/Records)
14
DDS – Working with Views
FilePath/Databasename.nsf/api/data/collections
– The path to access Views– If called will return a list of views– Can now navigate those objects by ID or Name
[ { "@title":"($All)", "@folder":false, "@private":false, "@modified":"2013-09-27T02:17:03Z", "@unid":"88B0527841D435A648257BF2002DFE4B", "@href":"http:\/\/domain.com:80\/folderpath\/filename.nsf\/api\/data\/collections\/unid\/88B0527841D435A648257BF2002DFE4B" }, { "@title":"By Category", "@folder":false, "@private":false, "@modified":"2013-09-27T01:39:22Z", "@unid":"BA68A00AE98C6FB148257BF30006AA52", "@href":"http:\/\/domain.com:80\/folderpath\/filename.nsf\/api\/data\/collections\/unid\/BA68A00AE98C6FB148257BF30006AA52" }]
15
DDS – Working with Views … cont
Remember the back-end collection is a DOMINO view
As a Domino Developer, you can use all the view commands you are used to: eg
– ?Search– ?Start=1&count=50
FilePath/Databasename.nsf/api/data/collections/name/ViewName?Command
– No different to calling a view url using standard HTTP
16
DDS – Working with Documents
FilePath/Databasename.nsf/api/data/documents
Lists all the documents in the database– Includes all “available” item/note/field contents (even rich text)
Get a specific document easily by referring to it's UNID
– FilePath/Databasename.nsf/api/data/documents/unid/88B0527841D435A648257BF2002DFE4B
17
DDS – Working with Documents - Operations
Get
Patch
Put
Delete
FilePath/Databasename.nsf/api/data/documents
Lists all the documents in the database– Includes all “available” item/note/field contents (even rich text)
Get a specific document easily by referring to it's UNID
– FilePath/Databasename.nsf/api/data/documents/unid/88B0527841D435A648257BF2002DFE4B
1818
How to enableDomino Data Service
19
Enabling DDS - Components
DDS Extended Service – Per Domino Site– Internet Configuration Documents need to be in use
Per Database– Each Database is enabled individually– Access Choices:
● Views Only● Views and Documents
20
Ensure your Domino Server is using “Internet Sites”
More configuration choices and features than traditional “Web Server Configurations”
Been around for a while...
Enabled per server
Site documents can be multi-server
21
Configuring the web site document is EASY
Web Site Document
Domino Access Services
Enabled Services:– Data
Restart HTTP task
22
Enabling the Database for DDS
Open the Database Properties
Advanced Tab
Allow Domino Data Service:– Never (default)– Views Only– Views and documents
23
You're Ready … now
2424
DDS – How do you use it?
25
How can we use DDS to build a Native Application
New Notes Database:– Create a Notes database– Build some features– Enable DDS
Existing Notes Database:– No design changes required!– Enable DDS
Install IBM Worklight
Create a project
Connect it to your NOTES database
26
Yes, I said install IBM WORKLIGHT
27
IBM Worklight Installation
Install Java JDK Install Android SDK Install Eclipse Juno (4.1) Use the Eclipse market to install:
– IBM Worklight Developer Addition– (help → Eclipse Marketplace...)
28
Install Java JDK
Download the JDK
– http://tinyurl.com/2014AD50102
Run the Install
29
Install Android SDK
Normal Android Installation
Download and installation instructions:
– http://tinyurl.com/2014AD50103
30
Install Eclipse Juno (4.1)
http://tinyurl.com/2014AD50104
Eclipse IDE for Java EE Developers
Extract the zip file...
Run “Eclipse.exe”
31
Use the Eclipse market to install Worklight
● IBM Worklight Developer Addition
● (help → Eclipse Marketplace...)
3232
Building the Worklight Project
33
Creating the Project
34
Give the project a name and type
35
Add the dojo tolkit
36
Design the Mobile Application
37
Add a Worklight Adapter
38
The Adapter Type is HTTP
39
The Adapter Domain is the Base URL!
40
Add procedures to the Adapter
41
Add functions to call data using DDS
42
Programming guides for DDS
DDS User Guide and Reference– http://tinyurl.com/2014AD50105
DDS 9 Reference Wiki– http://tinyurl.com/2014AD50106
43
What the URL actually returns
44
Deploy the adapter
45
Run the project
46
YOURE MOBILE
4747
Engage Online
SocialBiz User Group socialbizug.org– Join the epicenter of Notes and Collaboration user groups
Follow us on Twitter– @IBMConnect and @IBMSocialBiz
LinkedIn http://bit.ly/SBComm– Participate in the IBM Social Business group on LinkedIn:
Facebook https://www.facebook.com/IBMSocialBiz– Like IBM Social Business on Facebook
Social Business Insights blog ibm.com/blogs/socialbusiness– Read and engage with our bloggers
Engage Online
48
Access Connect Online to complete your session surveys using any:– Web or mobile browser – Connect Online kiosk onsite
48
4949
© Copyright IBM Corporation 2014. All rights reserved.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
IBM, the IBM logo, ibm.com, are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml
Other company, product, or service names may be trademarks or service marks of others.
Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
Acknowledgements and Disclaimers