49
© 2014 IBM Corporation AD501: IBM Worklight for IBM Domino Developers Mat Newman, IBM, @MatNewman

IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 1: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

© 2014 IBM Corporation

AD501: IBM Worklight for IBM Domino Developers

Mat Newman, IBM, @MatNewman

Page 2: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 3: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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.

Page 4: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

4

What we'll cover

What is the Domino Data Service (DDS)

How to enable DDS

How to use it

Page 5: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

55

What is Domino Data Service

Page 6: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 7: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

7

Yes, Mobile applications

IN 5 MINUTES!

Page 8: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

8

DEMO

Page 9: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 10: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

10

Domino Data Service

Rest API that exposes data in a Domino database Uses internet standard protocols Build NATIVE applications

Page 11: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

11

Yes, NATIVE Applications

NOT just mobile web-pages!

Page 12: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

12

DDS Exposes JSON in ANY enabled

Notes application

* both VIEWS and DOCUMENTS *

Page 13: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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)

Page 14: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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" }]

Page 15: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 16: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 17: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 18: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

1818

How to enableDomino Data Service

Page 19: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 20: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 21: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

21

Configuring the web site document is EASY

Web Site Document

Domino Access Services

Enabled Services:– Data

Restart HTTP task

Page 22: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

22

Enabling the Database for DDS

Open the Database Properties

Advanced Tab

Allow Domino Data Service:– Never (default)– Views Only– Views and documents

Page 23: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

23

You're Ready … now

Page 24: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

2424

DDS – How do you use it?

Page 25: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 26: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

26

Yes, I said install IBM WORKLIGHT

Page 27: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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...)

Page 28: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

28

Install Java JDK

Download the JDK

– http://tinyurl.com/2014AD50102

Run the Install

Page 29: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

29

Install Android SDK

Normal Android Installation

Download and installation instructions:

– http://tinyurl.com/2014AD50103

Page 30: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

30

Install Eclipse Juno (4.1)

http://tinyurl.com/2014AD50104

Eclipse IDE for Java EE Developers

Extract the zip file...

Run “Eclipse.exe”

Page 31: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

31

Use the Eclipse market to install Worklight

● IBM Worklight Developer Addition

● (help → Eclipse Marketplace...)

Page 32: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

3232

Building the Worklight Project

Page 33: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

33

Creating the Project

Page 34: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

34

Give the project a name and type

Page 35: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

35

Add the dojo tolkit

Page 36: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

36

Design the Mobile Application

Page 37: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

37

Add a Worklight Adapter

Page 38: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

38

The Adapter Type is HTTP

Page 39: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

39

The Adapter Domain is the Base URL!

Page 40: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

40

Add procedures to the Adapter

Page 41: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

41

Add functions to call data using DDS

Page 42: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

42

Programming guides for DDS

DDS User Guide and Reference– http://tinyurl.com/2014AD50105

DDS 9 Reference Wiki– http://tinyurl.com/2014AD50106

Page 43: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

43

What the URL actually returns

Page 44: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

44

Deploy the adapter

Page 45: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

45

Run the project

Page 46: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

46

YOURE MOBILE

Page 47: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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

Page 48: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

48

Access Connect Online to complete your session surveys using any:– Web or mobile browser – Connect Online kiosk onsite

48

Page 49: IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers

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