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

Connect ed2014 ad501_ibm worklight for ibm domino developers

  • Upload
    a8us

  • View
    103

  • Download
    1

Embed Size (px)

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