<< February 2016 | Home | April 2016 >>

Test agents in Eclipse by extending AgentBase

I continuously get questions on how I do Java agent development and I'm happy to answer them as I hope that some of the answers I provide means that more and more Domino developers see Java as a strong alternative to LotusScript for background processing. Most times the approach I recommend is a mock object approach that I wrote about waaaaaay back in 2006 (did I really write that 10 years ago?!?!?).

If / when you want to read the posts please start from part no. 1. Here's a link to all 5 parts:

The approach doesn't handle importing the code back into Domino Designer but it does allow you to "mock" the Notes side of the API and allows you to write, test and debug your agents in Eclipse. Then when they're completely done you can import it back into Notes without any changes. This is the approach I would choose and that I still use when writing Java agents here 10 years later.

Hope this helps but if it doesn't please let me know.

Working with routes from the IBM Bluemix CLI

Today I played with routes on IBM Bluemix. Routes are how you access the app on IBM Bluemix so basically they are hostnames mapped to apps. By default apps are assigned a hostname under mybluemix.net but once you've proved a domain belongs to you you may also may custom domain names to your apps. Of course you still need to create a CNAME record in DNS to make it map correctly but you get the point. Working with routes is possible from the GUI but the command line interface (CLI) is more efficient. Below are the commands I use to work with routes. All of the commands assumes you're already logged in... Actual commands in bold.

Listing the routes (as you can see some routes are not bound to apps): cf routes

Getting routes as lekkim ...

space   host                                                domain            apps   
dev     ontime-ibm-connected-2015-verse-demo-contribution   mybluemix.net     IBM ConnectED 2015 Verse Demo Contribution   
dev     otgc-verse                                          mybluemix.net     IBM ConnectED 2015 Verse Demo Contribution   
dev     mikkel-otgcms-test                                  mybluemix.net     Mikkel OTGCMS Test   
dev     mikkel-otgcms-test                                  ontimesuite.com   Mikkel OTGCMS Test   
dev     neodashboard-oauth                                  mybluemix.net     neodashboard-oauth   
dev     spring-boot-demo-mikkel                             mybluemix.net     Spring-Boot-Demo-Mikkel   
dev     engageugdemo                                        mybluemix.net     engageugdemo   
dev     engagedemoapp1                                      mybluemix.net        
dev     engagementdemo1                                     mybluemix.net        
dev     engageugdemoapp                                     mybluemix.net  
Map a route called myapp.ontimesuite.com to the engageugdemo app: cf map-route engageugdemo ontimesuite.com -n myapp
Creating route myapp.ontimesuite.com for org lekkim / space dev as lekkim...
OK

Unmap a route called myapp.ontimesuite.com from the engageugdemo app: cf unmap-route engageugdemo ontimesuite.com -n myapp
Removing route myapp.ontimesuite.com from app engageugdemo in org lekkim / space dev as lekkim...
OK

Permently delete the myapp.ontimesuite.com route from your account: cf delete-route ontimesuite.com -n myapp
Deleting route engageugdemo.ontimesuite.com...
OK

Tags : , , ,

Slides and recorded, narrated, demo from my Engage.ug session on OAuth

Last week at the Engage user group in Eindhoven, The Netherlands, I gave a session on OAuth 2.0, how the protocol works and how easy it is the code against. The demo I showed at the end of the session showed just how easy it is and how little code is required to make a fully functioning OAuth 2.0 Client. Below you'll find the slides on Slideshare as well as a recorded, narrated, demo. The demo walks you through coding an OAuth 2.0 app in Eclipse and deploying it to IBM Bluemix.

Oh and do remember... Never, EVER, use a library until you understand the protocol.