SlideShare a Scribd company logo
#engageug
Your	Data	in	the	Major	Leagues:	
A	Prac6cal	and	Updated	Guide	
to	RESTful	Domino	v10
Serdar	Basegmez	
Developi
serdar_basegmez vanakentom
Tom	Van	Aken	
GroupWave
#engageug
Serdar	Basegmez
• IBM	Champion	Alumni	(2011	-	2018)	
• Developi	InformaCon	Systems,	London	
• Notes/Domino/XPages	Developer,	half-blooded	admin!	
• Member	Director	at	OpenNTF	Board	
• Blog:	LotusNotus.com	[English	/	Turkish]	
• Blogger	and	Podcaster	on	ScienCfic	SkepCcism	/	CriCcal	Thinking
serdar_basegmez
#engageug
Tom	Van	Aken
• First	Cme	IBM	Champion	in	2019	
• Groupwave,	KonCch	-	Belgium	
• Notes	Domino	/	Xpage	developer	
• Blog:	vanakentom.wordpress.com	[Dutch]
vanakentom
#engageug
Agenda
• RESTful	Architecture	
• PracCcal	ImplicaCons	and	Advantages	of	RESTful	Services	
• Ways	to	Provide	REST	Services	for	IBM	Domino	
• Consuming	REST	Services	within	IBM	Domino	
• Wrap-up
#engageug
RESTful	Web	Services
Source: https://en.wikipedia.org/wiki/Representational_state_transfer
Representa)onal	state	transfer	(REST)	is	an	architectural	style	used	
for	web	development.	Systems	and	sites	designed	using	this	style	
aim	for	fast	performance,	reliability	and	the	ability	to	scale	(to	grow	
and	easily	support	extra	users).	To	achieve	these	goals,	developers	
work	with	reusable	components	that	can	be	managed	and	updated	
without	affec)ng	the	system	as	a	whole	while	it	is	running.
#engageug
History
#engageug Source: https://speakerdeck.com/jeffschenck/rest-easy-api-security-done-right
User Interface Business Logic Datastore
Front-end Back-end
ASP, PHP, CGI, Web Agents, JSP, etc.
← HTML, CSS, JavaScript
Forms →
Old	School	Web	ApplicaCons
#engageug
Web	ApplicaCons	Evolving
User Interface Business Logic Datastore
Front-end Back-end
Async web apps, Ruby on Rails, Django, JSF, XPages, etc.
← HTML, CSS, JavaScript
Forms, AJAX →
#engageug
Web	ApplicaCons	Evolving
User Interface Business Logic Datastore
Front-end Back-end
Modern Web frameworks, Angular.js, React.js, etc.
← HTML, CSS, JavaScript
← REST →
#engageug
[Web]	ApplicaCons	Evolving
User Interface Business Logic Datastore
Mobile Applications
Back-end
Modern Web frameworks, Angular.js, React.js, etc.
← HTML, CSS, JavaScript
← REST →
Front-end
#engageug
[Web]	ApplicaCons	Evolving
User Interface Business Logic Datastore
Mobile Applications Back-end
Modern Web frameworks, Angular.js, React.js, etc.
← HTML, CSS, JavaScript
← REST →
Front-end Microservice Microservice Microservice
#engageug
[Web]	ApplicaCons	Evolving
Back-end
Modern Web frameworks, Angular.js, React.js, etc.
← HTML, CSS, JavaScript
← REST →
User Interface Business Logic Datastore
Mobile Applications
Front-end
External Apps
Microservice Microservice Microservice Integration
#engageug
RESTful,	Everywhere!
Solid Architecture
Well-defined practices
Widespread use
Easily consumable
Scalable
#engageug
The	ConversaCon	Makes	Sense!
Source: http://www.bizcoder.com/a-fresh-coat-of-rest-paint-on-a-soap-stack
#engageug
The	ConversaCon	Makes	Sense!
GET	/twink/contacts/DLEY-ACLH6Y	HTTP/1.1	
Host:	homer.developi.info	
Cache-Control:	no-cache	
{	
		"zip":	"13202",	
		"state":	"NY",	
		"lastName":	"Abbate",	
		"middle":	"J",	
		"country":	"US",	
		"emailAddress":	"Jessica.J.Abbate@trashymail.com",	
		"number":	"DLEY-ACLH6Y",	
		"city":	"Syracuse",	
		"firstName":	"Jessica"	
}
#engageug
The	ConversaCon	Makes	Sense!
hPp://appserver.company.com/apps/contacts.nsf/
GiveMeTheContactWeNeedPleaseAgent?OpenAgent&id=1522	
or…	
hPp://appserver.company.com/api/contacts/1522
#engageug
Conventions on URLs
GET	hPp://appserver.company.com/api/contacts		
GET	hPp://appserver.company.com/api/contacts/UK/London		
POST	hPp://appserver.company.com/api/contacts		
Retrieve Contacts / Create a new Contact…
#engageug
Conventions on URLs
GET	hPp://appserver.company.com/api/contacts/1522		
PUT	hPp://appserver.company.com/api/contacts/1522		
DELETE	hPp://appserver.company.com/api/contacts/1522		
Retrieve/Update/Delete the Contact resource with id=1522…
#engageug
URI GET PUT POST DELETE
/contacts/ List Contacts Replace Contacts Create New Contact Delete Contacts
/contacts/id Retrieve a Contact Replace a Contact N/A (generally) Delete a Contact
Source: https://en.wikipedia.org/wiki/Representational_state_transfer
#engageug
Different Conventions
GET	hPps://api.twiPer.com/1.1/statuses/show.json?id=1234567890		
Retrieve the Tweet with id=1234567890…
#engageug
RESTful	Services	
for	
IBM	Domino	Applica6ons
#engageug
Some	InspiraCon
• New	Front-ends	and	Enhanced	UX	
• JS	Frameworks	(e.g.	Angular,	React),	Mobile	Apps,	etc.	
• Grids,	quick	searches,	becer	type-aheads,	etc.	
• Richer	experiences	with	chatbots,	AI,	etc.	
• IntegraCon	for	third	party	sites/applicaCons	
• Pull	exchange	rates,	get	weather	info	
• Get	customers	from	CRM,	create	leads		
• Upload	to	Box,	Send	to	Slack…	
• AutomaCng	processes	using	APIs	
• Push	data	to	the	AccounCng	system…	
• Access	to	ERP,	check	the	inventory,	iniCate	a	new	PO
User Experience
Business Processes
Integration
#engageug
Providing	RESTful	Services
Domino Access Services
Extension Library REST Components
Hardcoded Solutions (Web Agents, XAgents, Servlets)
Advanced J2EE (JAX-RS)
SmartNSF
Node.js
#OpenNTF
#Domino10
#engageug
Domino	Access	Services
IBM	Supported	Fully	Func6onal	REST	API
Access	to	Data	/	Calendar	/	Mail*	/	Freebusy*	/	Directory**
*	Mail	and	Freebusy	access	is	part	of	the	core	product	since	9.0.1FP10		/		**	Directory	access	is	enabled	with	the	ExtLib	version	of	OpenNTF
Caching	/	Na6ve	Security	(ACL,	Reader/Author	fields,	etc.)
Server-level	/	Database-level	/	Design-level	control
Enable on Server Enable For Database Enable For Views
#engageug
Domino	Access	Services
• OpenAPI	definiCons	(Swagger)	are	hosted	on	OpenNTF!	
• hcps://github.com/OpenNTF/das-api-specs
#engageug
Domino	Access	Services
• Drawbacks:	
• Weak	control	over	the	data!	
• No	checkpoints	on	CRUD,	No	coding	involved…	
• Weak	control	over	the	access.	
• No	place	for	business	logic!	
• Consumer	has	to	implement	all	the	business	logic.	
• Exposes	internals	
• You	should	trust	consumers	and	the	environment…
#engageug
REST	Components	(ExtLib)
• Provided	and	Supported	by	IBM	
• Customizable	component	version	of	the	DAS	
• Computed/Filtered	columns,	Custom	search,	etc.	
• Event	model	helps	building	business	logic	on	top	of	REST	model	
• Custom	REST	Service	
• Write	your	own	SSJS	or	Java	bean	
• Write	your	CSJS	rouCnes	for	async	access		
• Remote	Service	/	JSON-RPC	
• Dojo	support	for	single	page	model
#engageug
REST	Components	(ExtLib)
• Setup	REST	component(s)	on	your	page.	
• Minimal	coding,	no	administrator	needed.
Add to your XPage Add a Service Configure Options
#engageug
REST	Components	(ExtLib)
• Drawbacks:	
• Easy	to	slip	into	a	spageh	code!	
• Java	beans	are	your	friends…	
• Not	opCmized	for	performance	and	scalability	
• Difficult	to	follow	RESTful	URL	ConvenCon
https://someserver.domain.com/database.nsf/somepage.xsp/service/…
#engageug
Hardcoding	(Web	agents,	XAgents,	Servlets…)
• Old	school	way;	sCll	quite	useful	for	some	cases.	
• Great	if	you	have	pre-exisCng	code	(e.g.	Lotusscript	libraries,	etc.)	
• Customizable,	flexible	and	simple	way	to	create	any	service
#engageug
Hardcoding	(Web	agents,	XAgents,	Servlets…)
• Drawbacks:	
• Hardcode	everything…	
• e.g.	Header/parameter	extracCon	
• Very	easy	to	slip	into	a	spageh	code!	
• Error	handling	/	proper	tesCng	needed	
• Difficult	to	follow	RESTful	URL	ConvenCon
https://someserver.domain.com/database.nsf/xagent.xsp?…
https://someserver.domain.com/database.nsf/someagent?OpenAgent&…
#engageug
J2EE	(JAX-RS)	Methods
• JAX-RS:	‘Java-ish’	way	to	define	RESTful	services	
• Create	JAX-RS	based	REST	services	on	top	of	OSGi	plugins.	
• Complete	Java	soluCon,	extensible	with	custom	providers	
• OpCons	
• Apache	Wink	1.1.2	(DAS	uses!)	
• Jakarta	EE	
• RestEasy,	Apache	CXF,	Jersey,	etc.	
• Code	reusability	outside	IBM	Domino	world.
#engageug
J2EE	(JAX-RS)	Methods
On	Apache	Wink…	
hcps://speakerdeck.com/sbasegmez/iconuk-2016-rest-assured...	
On	Jakarta	EE…	(by	Jesse	Gallagher)	
hcps://github.com/OpenNTF/org.opennp.xsp.jakartaee
#engageug
J2EE	(JAX-RS)	Methods
• Drawbacks:	
• Plugin	only	
• Difficult	if	you	are	not	familiar,	Takes	Cme	to	learn	
• Overkill?	
• Not	suitable	for	small	projects	and	simple	needs	
• Tool	selecCon	is	criCcal.	
• Apache	Wink	is	old	school	
• IntegraCng	alternaCves	might	be	difficult
#engageug
SmartNSF
• OpenNTF	Plugin	
• Beta-7	version.	
• Developers:	
• ChrisCan	Güdemann	
• MarCn	Jinoch	
• Define	your	REST	Services	from	DDE!	
• Uses	Groovy	
• Auto-generate	OpenAPI	definiCons
Looking for Contributors!
#engageug
Node.js
• Just	arrived:	DQL	+	Domino	AppDev	Pack:	
• Domino	Query	Language	
• AppDev	Pack:	Proton	Task	/	domino-db.js	
• Countless	opportuniCes	in	the	most	popular	framework	
• Different	possibiliCes	for	the	architecture	
• Wide	range	of	opCons	for	tooling
https://insights.stackoverflow.com/survey/2019
#engageug
Node.js
IBM Domino Server
Proton
NSF
Node.js Layer
domino-db.js
GRPC
Application
………
ApplicationREST
New Add-on
Domino v10
Routers for
the RESTful service
Might be on the same box or not
MyRoutes.js
#engageug
Providing	RESTful	Services	on	Domino
Benefits Challenges Suggested When?
Domino Access Services

(DAS)
Zero-setup
True RESTful
No Programming
No Business Logic
Exposes the Internals
Simple data exchange
ExtLib Components

for REST
Less Backend Code
Minimal Setup
Partial/Full Customization
Error Handling
Spaghetti Code Risk
URL Convention
Simple needs for a limited
scope
Hardcoding

(XAgents, Web agents…)
Tailor-made
Any Language is OK
Hardcoding Everything
Spaghetti Code Risk
URL Conventions
Very specific needs for a
limited scope
J2EE / JAX-RS
Tailor-made
OSGi Benefits
True RESTful
Learning Curve
Barrier to Entry
Environment Setup
Large scope implementation,
API Design
Node.js
Tailor Made
Node.js Benefits
True RESTful
Learning Curve
Still Improving
Environment Setup
Modernization Projects
SmartNSF Beta
Less Backend Code
True RESTful
Learning Curve
Limited Support
Simple needs for a limited
scope
#engageug
Consuming	RESTful	Services
…or Teaching your app to browse the Internet…
Language Preference?
Is it On-demand or Background?
Server-side or Client-side?
SDK? Authentication?
#engageug
Language	Preference
• Server-side	JavaScript	
• Already	uses	Java.	Eliminate	the	middleman…	
• Java	
• XPages	Managed	Beans,	Java	Agents,	OSGi	Plugins,	etc.	
• ConnecCng	a	remote	
• URLConnecCon	(Core	Java)	
• HcpComponents	(Apache	Commons)	
• JSON	Processing	
• JsonJavaObject	(IBM	Commons)	
• Jackson,	Gson,	etc.
#engageug
ConnecCng	Java
• Pulling	exchange	rates	via	Java	(Agent	or	Managed	Beans)
public Double receiveEurUsdRate() throws Exception {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://api.fixer.io/latest?base=USD");
CloseableHttpResponse response = httpclient.execute(httpGet);
try {
HttpEntity entity = response.getEntity();
// This is the worst practice ever!
// We don't check anything! Everything can go wrong...
JsonJavaObject ratesMap = (JsonJavaObject) JsonParser.fromJson(JsonJavaFactory.instanceEx,
EntityUtils.toString(entity));
JsonJavaObject rates = ratesMap.getAsObject("rates");
// We can write values into a NotesDocument
return rates.getAsDouble("EUR");
} finally {
response.close();
}
}
* Networking is a restricted operation for Agents! Agent Security should be configured.
Create an HTTP client
Get a Response
Convert to JSON
#engageug
ConnecCng	SSJS
• Pulling	exchange	rates	on	an	XPage	acCon
<xp:button
id="button1" value="What is the exchange rate?">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="computedField1">
<xp:this.action><![CDATA[#{javascript:
viewScope.EurUsdRate = test.ExchangeRate.receiveEurUsdRate()
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
* This code will run multiple times for each page cycle.
Always cache values!
Call Java (via Managed Bean)
#engageug
Reminder	for	Java
• Consuming	any	REST	Service	(When	needed	or	on	a	schedule)	
• Running	from	an	Java	Agent	
• Import	Apache	HcpComponents/IBM	Commons	
• Configure	Agent	Security	
• Running	from	an	XPage	/	Java	or	SSJS	
• Apache	HcpComponents	should	be	imported	per	NSF.	
• Time-outs	and	service	hiccups	should	be	considered	
• Values	should	always	be	cached!
#engageug
Language	Preference
• Using	SDK/Wrapper	
• Saves	Cme	and	effort	
• Ower	provided	and	supported	by	the	vendor/community.	
• Box,	IBM	Watson,	Salesforce,	Quickbooks,	etc.	
• AdapCng	to	Domino	
• CompaCbility	issues.	
• Java	version	mismatch	(prior	to	v9.0.1	FP9),	Java	security	
issues,	etc.
#engageug
Language	Preference
• Lotusscript	
• No	internal	support	for	Networking…	
• On	Windows	plaporm,	we	can	use	COM	objects	
• Call	Java	via	LS2J
N O M O R E !
#engageug
New	CapabiliCes	of	Domino	v10!
• Create	HTTP	requests…	
• NotesHTTPRequest	
• Manipulate	JSON…	
• NotesJSONNavigator	
• NotesJSONElement	
• NotesJSONArray	
• NotesJSONObject
#engageug
NotesHTTPRequest
• GET	
• POST	
• PUT	
• PATCH	(V10.0.1)	
• DELETERESOURCE	(V10.0.1)	
• Preferstrings	
• False:	As	Byte	Array	
• True:	As	Text
#engageug
Parsing	JSON
• NotesJSONNavigator	
• getElementByName	
• getElementByPointer	
• gepirstElement	/	getnextElement	/	getNthElement	
• preferUTF8	
• False	:	gets	String	values	
• True	:	gets	Byte	Array	in	UTF-8	
• NotesJSONElement	
• NotesJSONArray
#engageug
Work	has	to	be	done
• CreateJsonNavigator	causes	problems	with	CR/LF	and	internaConal	characters	
• SoluCon=save	file	as	UTF-8	and	read	as	binary	
• JSONNavigator	doesn’t	handle	internaConal	characters	well	
• Will	be	solved	by	FP2.	
• Only	JSON	parsing,	No	creaCon	of	JSON	(yet?)	
• AlternaCve:	ls.snapps.json…	libraries	
• No	REST	compliant	Agent	NotaCon	
• Makes	it	less	suitable	for	Providing	REST	services
#engageug
Consuming	RESTful	Services
Usage Examples
XPages

Java - SSJS
Through SSJS or Java beans
Call when needed
Sending message to Slack
Integrations to IBM Watson
Social Media Interaction
Agents
Java - Lotusscript
Scheduled agents
Call by Notes Client
Periodically pulling exchange rates
Pushing data to remote service
Training IBM Watson AI
Using SDKs
Access to services using libraries
Call when needed
Schedule / Trigger
Accessing IBM Connections
Integration to Box
#engageug
Slide-storming	on	Details
#engageug
Architecture…
RESTful Remote
Web Browser
Domino Server
Web App
Agents
XPages
Notes Client
On Demand REST Conversation
Scheduled REST Conversation
On Demand
REST Conversation
On Demand
REST Conversation
#engageug
Architecture	Decision…
• Who	iniCates	a	RESTful	conversaCon?	When?	How?	
• Trigger:	On	demand	vs.	Schedule	vs.	Event-based	
• How	dynamic	is	the	remote	data?	Can	we	use	caching?	
• The	remote	can	be	accessed	by	the	server	or	the	client?	
• Intranet	services	cannot	be	accessed	by	remote	users.	
• What	about	security?	Who	has	the	password	for	the	remote?	
• SSO	/	OAuth	can	be	a	challenge	in	many	cases.	
• Predefined	credenCals	might	be	exposed	in	some	cases.
#engageug
AuthenCcaCon
• Key	quesCon,	depending	on	the	remote	service.	
• Who	is	going	to	be	authenCcated	and	how?	
• Predefined	credenCal	or	applicaCon	key	
• Single	Sign-on	
• Users’	own	credenCals	on	remote	(OAuth,	Password…)
#engageug
Some	Tweaks
• SSL	Issue	
• TLS	1.2	is	required	in	most	cases.	
• 	Technote:	hcps://www-01.ibm.com/support/docview.wss?
uid=swg21985289	
• HTTP	Proxy/Gateway	
• Proxy	through	the	Domino	Server	for	CSJS	requests	(Mostly	for	security)	
• OpCons	
• IBM	Domino	provides	HTTP-proxy	servlet	
• ProgrammaCcally	create	a	gateway	using	“Remote	Service”	component	
• TesCng	
• Postman	/	MockBin	/	RequestBin	/	hcpbin	/	JSON	View
#engageug
Resources
• Serdar	Başeğmez:	Node.js	demo	for	this	session

hcps://github.com/sbasegmez/Engage19Demo	
• Tom	Van	Aken:	Rest	calls	and	JSON	Parsing	in	LotusScript

hcps://vanakentom.wordpress.com/2019/01/15/rest-calls-and-json-parsing-in-lotusscript/	
• Serdar	Başeğmez:	Demo	for	IBM	Connect	2017	session

hcps://github.com/sbasegmez/IC17RestDemo	
• Serdar	Başeğmez:	Apache	Wink	Template	and	Demo	for	Icon	UK	2016

hcps://github.com/sbasegmez/RestAssuredDemo	
• Graham	Acres	/	Serdar	Başeğmez:	The	Journey	to	Becoming	a	Social	ApplicaCon	Developer	(IBM	Connect	2014)

hcps://speakerdeck.com/sbasegmez/bp308-the-journey-to-becoming-a-social-applicaCon-developer		
• Stephan	H.	Wissel:	Custom	REST	service	in	XPages	using	a	service	bean

hcps://wissel.net/blog/d6plinks/SHWL-9Q55QL
#engageug
Resources	(cont.)
• Eric	McCormick:	Series	on	JSON	Data	with	Java	in	XPages

hcps://edm00se.io/json-with-java-in-xpages		
• Thomas	Ladehoff:	REST	Services	with	the	XPages	Extension	Library

hcps://www.assono.de/blog/d6plinks/REST-Services-with-the-XPages-Extension-Library		
• Paul	Withers:	XPages	OSGi	Plugins	series

hcp://www.intec.co.uk/xpages-osgi-plugins-1-an-introducCon/	
• John	Cooper:	Domino	OSGI	(Part	1)	-	Configuring	Eclipse	for	XPages	OSGI	Plugins

hcp://developmentblog.johnmcooper.co.uk/2014/05/configuring-eclipse-for-xpages-osgi-plugins-part1.html	
• Toby	Samples:	JAX-RS	or	THE	way	to	do	REST	in	Domino	series

hcps://tobysamples.wordpress.com/2015/04/28/jax-rs-or-the-way-to-do-rest-in-domino-part-1/		
• Jesse	Gallagher:	Eclipse	Tutorial	for	Domino	Developers

hcps://github.com/jesse-gallagher/eclipse-tutorial-oct2015/wiki/Java
#engageug
Resources	(cont.)
• Ulrich	Krause:	NotesJsonNavigator,	NotesJsonElement,	NotesJsonArray,	NotesJsonObject	example

hcps://www.eknori.de/2019-01-01/notesjsonnavigator-notesjsonelement-notesjsonarray-notesjsonobject-example/		
• John	Dalsgaard:	REST	Services	in	IBM	Domino/XWork

hcps://www.dalsgaard-data.eu/blog/rest-services-in-ibm-dominoxwork		
• Oliver	Busse:	First	dive	into	Domino	and	Node.js

hcp://oliverbusse.notesx.net/hp.nsf/blogpost.xsp?
documentId=2E52&SessionID=00997C8066130BED21F9B372F01DADDA32214EAE	
• Oliver	Busse:	Domino,	Proton,	IAM,	OAuth	(Series)

hcp://oliverbusse.notesx.net/hp.nsf/blogpost.xsp?documentId=2FEA	
• Sven	Hasselbach:	node.js,	domino-db	&	Docker

hcp://hasselba.ch/blog/?p=2670		
• Jesse	Gallagher:	That	Java	Thing,	Part	1:	The	Java	Problem	in	the	Community

hcps://frosCllic.us/blog/thread.xsp?thread=That+Java+Thing
#engageug
Resources	(cont.)
• Graham	Acres	/	Heiko	Voigt:	Engage	2019	Demo	of	Domino	v10,	Proton	and	Node.js	session	

hcps://github.com/c3ug/engage2019democode		
• Troy	Reimer:	OpenNTF	Project:	LotusScript	implementaCon	of	a	reader	and	writer	for	JSON

hcps://opennp.org/main.nsf/project.xsp?r=project/JSON%20LotusScript%20Classes
#engageug
Thank	you
Serdar	Basegmez	
Developi
serdar_basegmez
serdar.basegmez@developi.com
lotusnotus.com
Tom	Van	Aken	
GroupWave
vanakentom
tom.vanaken@groupwave.be
vanakentom.wordpress.com

More Related Content

PPTX
1 app 2 developers 3 servers
PPTX
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
PDF
Alfresco Day Milano 2016 - Demo Data
PPTX
Alfresco 5.0 Technology Review
PPTX
Social Connections 12 - IBM Connections Adminblast
PPTX
Intro to Alfresco for Developers
PDF
Introduction to eZ Publish Platform 5.3, the Ventoux release, public webinar
PDF
Architecture Patterns - Open Discussion
1 app 2 developers 3 servers
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Alfresco Day Milano 2016 - Demo Data
Alfresco 5.0 Technology Review
Social Connections 12 - IBM Connections Adminblast
Intro to Alfresco for Developers
Introduction to eZ Publish Platform 5.3, the Ventoux release, public webinar
Architecture Patterns - Open Discussion

What's hot (20)

PPTX
Innovation Vidéo de Lync 2013
PPTX
Mule soft meetup warsaw november 13th, 2019
PPT
What Is Alfresco
PPT
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
PPTX
Building Content-Rich Java Apps in the Cloud with the Alfresco API
PPTX
EF Core (RC2)
PDF
Hidden gems in cf2016
PPT
Intro To Alfresco Part 1
PDF
A Bit of REST
PPT
Alfresco 5.0 features
PDF
CO_Scenario_InfoDelivTr_FINAL ENGLISH
PPT
Todd vatalaro oracle 2004
PDF
Understanding the end to end sales motion Office 365 with E plans (thomas poett)
PDF
Spring In Alfresco Ecm
PPTX
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
PPTX
Yes, It's Number One it's TOTP!
PPT
Losing the Document Battle? Alfresco, Drupal Combine for Solution
PDF
PHP Toolkit from Zend and IBM: Open Source on IBM i
PPTX
Zend Products and PHP for IBMi
PPT
A Microsoft primer for PHP devs
Innovation Vidéo de Lync 2013
Mule soft meetup warsaw november 13th, 2019
What Is Alfresco
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
Building Content-Rich Java Apps in the Cloud with the Alfresco API
EF Core (RC2)
Hidden gems in cf2016
Intro To Alfresco Part 1
A Bit of REST
Alfresco 5.0 features
CO_Scenario_InfoDelivTr_FINAL ENGLISH
Todd vatalaro oracle 2004
Understanding the end to end sales motion Office 365 with E plans (thomas poett)
Spring In Alfresco Ecm
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
Yes, It's Number One it's TOTP!
Losing the Document Battle? Alfresco, Drupal Combine for Solution
PHP Toolkit from Zend and IBM: Open Source on IBM i
Zend Products and PHP for IBMi
A Microsoft primer for PHP devs
Ad

Similar to Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to RESTful Domino v10 (20)

PPTX
Cloud Foundry at Rakuten
PDF
An Introduction to the Model-View-Controller Pattern
PDF
Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1
PDF
Lenovo system management solutions
PPTX
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
DOC
Vu Ho (.Net )
PPTX
Going Live: Live@EDU AT UGA
PDF
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
PDF
AD101: IBM Domino Application Development Futures
PDF
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
PDF
.NET Cloud-Native Bootcamp- Los Angeles
PDF
IBM Think Session 8598 Domino and JavaScript Development MasterClass
PPTX
DevOps and Cloud at NI
PPTX
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
PPTX
What's new in SharePoint 2016
PPTX
Serverless Pune Meetup 1
PPTX
Normalizing x pages web development
PDF
[WSO2 Integration Summit Nairobi 2019] Role of Integration in an API Driven W...
PDF
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
PDF
Cisco webex zend con2010 presentation
Cloud Foundry at Rakuten
An Introduction to the Model-View-Controller Pattern
Introducing ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1
Lenovo system management solutions
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
Vu Ho (.Net )
Going Live: Live@EDU AT UGA
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
AD101: IBM Domino Application Development Futures
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
.NET Cloud-Native Bootcamp- Los Angeles
IBM Think Session 8598 Domino and JavaScript Development MasterClass
DevOps and Cloud at NI
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
What's new in SharePoint 2016
Serverless Pune Meetup 1
Normalizing x pages web development
[WSO2 Integration Summit Nairobi 2019] Role of Integration in an API Driven W...
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
Cisco webex zend con2010 presentation
Ad

More from Serdar Basegmez (13)

PDF
OpenNTF Webinar - October 2021: Return of the DOTS
PDF
Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...
PDF
Engage 2023: Taking Domino Apps to the next level by providing a Rest API
PDF
Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!
PDF
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
PDF
ICONUK 2016: REST Assured, Freeing Your Domino Data Has Never Been That Easy!
PDF
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
PDF
Engage 2016: Back From the Dead: How Bad Code Kills a Good Server
PDF
ICONUK 2015: How to Embrace Your XPages Plugin Super Powers
PDF
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
PPTX
BP 308 - The Journey to Becoming a Social Application Developer
PDF
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
PPTX
BP207 - Meet the Java Application Server You Already Own – IBM Domino
OpenNTF Webinar - October 2021: Return of the DOTS
Engage 2022: The Superpower of Integrating External APIs for Notes and Domino...
Engage 2023: Taking Domino Apps to the next level by providing a Rest API
Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
ICONUK 2016: REST Assured, Freeing Your Domino Data Has Never Been That Easy!
ICONUK 2016: Back From the Dead: How Bad Code Kills a Good Server
Engage 2016: Back From the Dead: How Bad Code Kills a Good Server
ICONUK 2015: How to Embrace Your XPages Plugin Super Powers
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
BP 308 - The Journey to Becoming a Social Application Developer
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
BP207 - Meet the Java Application Server You Already Own – IBM Domino

Recently uploaded (20)

PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
System and Network Administraation Chapter 3
PDF
medical staffing services at VALiNTRY
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Transform Your Business with a Software ERP System
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
history of c programming in notes for students .pptx
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Upgrade and Innovation Strategies for SAP ERP Customers
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Odoo POS Development Services by CandidRoot Solutions
System and Network Administraation Chapter 3
medical staffing services at VALiNTRY
CHAPTER 2 - PM Management and IT Context
Design an Analysis of Algorithms I-SECS-1021-03
How to Migrate SBCGlobal Email to Yahoo Easily
Transform Your Business with a Software ERP System
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
wealthsignaloriginal-com-DS-text-... (1).pdf
Design an Analysis of Algorithms II-SECS-1021-03
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
history of c programming in notes for students .pptx
VVF-Customer-Presentation2025-Ver1.9.pptx

Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to RESTful Domino v10