Back in September, I had an opportunity to attend a workshop organized by IBM in their Silicon Valley Innovation Center. The two-day event was entitled, “Social Business Application Development” and the majority of the workshop involved hand-on labs, writing code, configuring deployments, and testing results. In addition, there were some presentations around PartnerWorld, SmartCloud for Social Business and the IBM Social Business Platform (current and future.)
Each participant (an approximate 14-18) was provided access to a virtual machine with their own IBM Connections environment and development tools to perform the labs. Here are the highlights of what we covered:
Social Business Toolkit (SBT)
IBM Connections supports a sizable application programming interface (API) for interacting with its various applications (e.g. Profiles, Communities, Blogs, etc.) This API is based on REST principles, which involve making an HTTP request and receiving a response in return. In the case of IBM Connections, the responses are ATOM XML.
In both cases, we create a new CommunityService object and call its getMyCommunities() method. This goes a long way toward simplifying IBM Connections development. However, at this time, not all the Connections Services are wrapped in the SBT- but that is the eventual plan. In the meantime, the SBT can also help with making the low-level calls to those services.
IBM Connections Share Box Integration
In this lab, we learned how to contribute an OpenSocial Gadget as a panel to the “Share” dialog.
Tasks performed included registering event listeners (i.e., callbacks,) maintaining state and posting success or failure messages directly in the IBM Connections UI. We also explored some of the APIs that are available to OpenSocial Gadgets in this context.
Event Service Provider Interface (SPI)
The Event SPI allows third-party Java code to be informed of the creation, deletion and update of content within IBM Connections. Some potential uses for this integration include auditing/logging the activity in IBM Connections, gathering statistical information about activity in IBM Connections and pushing content (in real-time) from IBM Connections to other systems.
Other Integration Points
We also experienced hands-on exposure with Connections user interface customization, adding iWidget applications and contributing to the Activity Stream.
The ways to integrate with IBM Connections vary. The “right” way for your project will depend on what problem you are trying to solve and, in many cases, what kind of access you will have to the server’s files during deployment. IBM has done (and is continuing to do) much to enable Application Developers to use Connections as a development platform, but in some cases they are not”there quite yet.
There is no need to wait to get started and experiment, though. Have at it!
IBM Connections Wiki
Product documentation – www-10.lotus.com/ldd/lcwiki.nsf
IBM Social Business Development Wiki – www-10.lotus.com/ldd/appdevwiki.nsf
Social Business Toolkit
A news aggregator for IBM Collaboration Solutions professionals
Gabriella Davis and Paul Mooney lay out all the steps in “building a production-ready small Connections environment from nothing.”
Connections in general