SlideShare a Scribd company logo
AD-1632
Integrate your Application Into IBM
Connections Cloud and On-Premises
Michael Gollmick / Felix Binsack / Feb/03/2015
About this session
• We share some of our experience gained in the past three
years creating and maintaining a complex application that
integrates into and leverages IBM Connections.
• Target Audience are Software Architects and Developers
Agenda
• About TIMETOACT & Me
• Short Demo
• Cloud and On-Premises: One or Two Worlds?
• Architectural Questions and Decisions
• Integrating your Application
• Integration APIs
• Customizing the Navigation
• Tools and Landscape
About TIMETOACT
• European Business Partner
• One of the largest ISVs for IBM Connections Software
Simplify and Improve IBM Connections Administration, Content
Management and User Management
http://connections-apps.com/cat
Integrate Internal Communications and Custom Applications
into IBM Connections
http://connections-apps.com/xcc
Self Services and User Management, Password and Security
Management for External (Guest) Users
http://connections-apps.com/uam
About me
• Software Architect, Developer and
Consultant
• 15+ years IBM Technologies
• Focused on Web Applications, IBM
Connections, Notes & Domino
• XCC Team since 2012
Brief DEMO of an
integrated Application
How does such an Application look?
Cloud and On-Premises:
One or Two Worlds?
Creating a Product
• XCC is an application that leverages IBM Connections
information to create a modern and social intranet
• It shows web content from different sources aggregated into
one or more pages
• It even allows development of Custom Apps
• It is designed to run on both, Cloud and on-premises
• During conception and implementation we faced challenges -
caused by the two different worlds of the Cloud and On-
Premises Software base
Develop Once, Deploy to Cloud and On-Prem
• Custom apps can be done for either platform
• If you develop a product, it is best developed for both
• If a company uses the cloud or on-premises a decision is made
of many more factors than only development
• Customers may start off on-premises and then switch to the
cloud or vice versa
• Currently development cannot be recommended clearly for one
of each - doing both seems to be the right decision
• You should be open for both directions
Challenge - One App in Two Worlds
• What might look similar are two planets in the same solar
system:
 On-premises and cloud might look the same but differ
• That leads to challenges for developers:
 Different or missing APIs
 Cross Domain Requests in the cloud
 Authentication
 UI Integration, Navigation Bar
• Good News: a lot is similar or close
Two Worlds - One Source Code – Why?
• Makes development more effective
• Allows for more flexibility
• It just makes sense to reuse your code in both worlds
• Use parts exclusively and other parts shared in both worlds
• Takes some extra effort to be done but is worth the time
• Pushes performance to the max
 if performance is not urging, more abstraction could make the job
even easier
Architectural Questions
and Decisions
Architectural Questions I
• What application stack to use?
 Application Stack is your choice
 Java is best supported here
• Use one or more resource locators / servlets?
 More locators allow for better modularity, control
• What persistence technology to use?
 Cookies, Localstorage in Client
 Filestorage or Database in Server?
 What database?
Architectural Questions II
• What browsers to support?
 Companies seem to love ancient Internet Explorers, users and
developers like others better
 The more browsers you support the more robust your code gets
• What JavaScript Framework to use?
 Use Dojo or something else?
• What CSS Framework to use?
 OneUI, Custom, Bootstrap, others?
Architectural Questions III
• Whether to run on-premises, Cloud or both?
• How to integrate into the User Experience
 Create a Widget, Gadget or Page?
 Open a completely new UI?
 Integrate into Navigation?
• What other frameworks to use?
 Depends on the applications abilities
• What APIs and calls to use?
Architectural Decisions I
• With our product XCC we went the following way:
 Java/WebSphere Stack
 Multiple Servlets
 Localstorage for some client data
 DBMS for application data
• Database access encapsulated to support more than one DBMS
 Browser support equivalent to IBM Connections
 jQuery favored over Dojo (http://xpag.es/?2132)
 Bootstrap + Custom CSS for a fancy UI (http://xpag.es/?212E)
Architectural Decisions II
 App runs on both: on-premises and cloud
 Custom page for App, iWidgets for Communities and Top
Navigation integration
 Navbar and start page customization for full integration
 Several more frameworks used:
• IBM Social Business Toolkit (http://xpag.es/?2122)
• OpenJPA (http://xpag.es/?2126)
• JSOUP (http://xpag.es/?212A)
 Using solely documented APIs
Application On-Premises Architecture
Connections Services
Blogs
Comunities
Files
Wikis
Profiles
Bookmarks
Activities
Forums
Search
Activity Stream
Boards
...
XCC
Pages
Personalization
File Upload
Layout
Grids
Access Rights
Widgets
XCC4Comm
Anonymous
Localization
Flyout
Mobile
ClientJ2EEContainerStorage
CNX
DB
XCC
DB
RESTAPI
Browser
Application Cloud Architecture
Connections Services
Blogs
Comunities
Files
Wikis
Profiles
Bookmarks
Activities
Forums
Search
Activity Stream
Boards
...
XCC
Cloud
Personalization
File Upload
Layout
Grids
Access Rights
Widgets
Mobile
Localization
ClientIBMCloud
XCC
DB
RESTAPI
J2EEContainer
IBMSBT
Storage
Storage
CNX
DB
Browser
Integrating your
Application
Integration into IBM WebSphere On-Premises
• Requires you to create a Java App
• Run application on its own server
 easier to manage
 separated logs / troubleshooting
• There is no such thing as a defined Extension page
 Only workaround is using a “Layout Inheritance”
On-Premises Layout Inheritance I
• Good way to do it is:
 Pull a page from Connections
 Parse and modify that HTML to your needs
 De-Serialize it to the requesting client
• Page to pull:
 search page (http://xpag.es/?20FE)
 “About” page might work as well
 users homepage may help with Activity Stream
On-premises Layout Inheritance II
• Advantage:
 you are free to do what you like
 Robust, often even future proof
• works for CNX 4.0 to 5.5 without problems
• Disadvantage:
 There is no common module/framework
for that, you have to code manually,
JSOUP is very helpful
 Requires extensive testing in the beginning
Note to IBM:
Please create the
same capabilities
to retrieve Header
and footer for on-
premises and
cloud
Integration into IBM Bluemix and Cloud
• Run WebSphere Liberty Service with your Java App
 Liberty is good enough
• Use IBM Social Business Toolkit to Connect
• Use OAuth2 to Authenticate
• “Inheriting” a page does not work here, build your own page
• Integrate Connections Cloud banner (aka Navigation Bar)
(http://xpag.es/?20FA)
• Change the Connections Cloud Banner to include your
Application + Hide the „Back To“-Link (more on that later)
Integration APIs
Examples
• What can be done with APIs in your application?
Show and vote Ideations
Aggregate Calendars of your
followed communities into one
REST APIs
• Interaction with Connections is RESTful most of the time
• Connections APIs have an extensive documentation
 API Documentation: http://xpag.es/?211A
 API Explorer: http://xpag.es/?2112
• You better do not use anything but documented APIs
 If you find a functionality usable, Open a PMR and ask if that
REST method is supported
• Take care for Internet Explorer
 Not all versions of that browser are supported for the REST API
The IBM Social Business Toolkit
• The IBM Social Business Toolkit (SBT) encapsulates REST
API Requests thru a serverside proxy
• That solves the issue with Cross Domain Requests from
JavaScript when interacting with the cloud
• SBT handles Authentication
 Requests are performed on the users behalf
• Application needs to be registered in your Cloud Organization
• Meaningful for accessing application external hosts
 Performance penalty if used locally
Customizing the
Navigation
Customizing Navigation On-Premises
• That‘s a well documented approach (http://xpag.es/?210E)
• However, you have to get experience in it
• Seamlessly integrates with the „Layout Inheritance“ approach
Customizing Nav in the Cloud
• Customization options are limited:
 You cannot rename Entries
 You cannot localize Entries
 You cannot reorder entries or menus
• But you can:
 add entries or menus
 hide or remove entries or menus
• We will show how adding an entry works
Adding a custom Link to your Navigation
• Editing the IBM Connections Cloud Navigation is possible but
not that easy
• We will cover how to add one such link and how to place it
• You will need Organizations Administrative rights
• Be warned: a wrong extension modificator string may result in
the loss of the entire Top Navigation
• But the result will change the look from this:
• Into this:
Adding a custom Link to your Navigation (II)
• Open the Administration Panel (via Admin/Manage
Organization)
• Navigate to the „Organization Extensions“
• Click „Add Extensions“ button
• For field „Service“ use „Top Navigation bar“
• Ignore the field „Extension Point“
• Leave field „Name“ empty for now – we come to that soon
• Field „Description“ is used only in the „Organization
Extensions“ overview, enter description accordingly
Adding a custom Link to your Navigation (III)
• Ignore the field „Type“
• Enter „https://www“ for the fields „Icon URL“ and „URL“, just to
make the fields validate, their values are totally irrelevant
• For the “Name” field we now need to create a magic string
• It all starts with „@@mod@“
• Then we point to a Top Navigation Bar element with a string
denominating column and element from the following table
Top Navigation Elements
Selector String Target Element
auth-left. myPartnerPage Organization name, displayed next to the brand image
lotusBannerHomepage Home link
networkMenu People menu link
communitiesMenu Communities Menu link
servicesMenu Apps Menu
dashboard-handler Back to IBM Connections Cloud link
myPartnerPage My Organization link
auth-right. bss-adminMenu Admin Menu
chatMenu Chat Menu in the Admin Area
bss-usersMenu User Account Menu
bsscom-helpMenu Help Menu
Adding a custom Link to your Navigation (IV)
• Now define the position you want to see the link related to the
targeted node. This could be “@before” or “@after”.
• That all is followed by an “@” and a serialized JSON Object:
• {
"url": "https://www.timetoact.de/xcc",
"text": "Intranet"
}
• No newlines and special characters and no additional
properties allowed!
• Don‘t forget to enable and save the extension
Adding a custom Link to your Navigation (V)
• Example: add a new Link right before the Home link in the Top
Navigation bar
• That means:
 Magic String + Element Selector + Position + JSON
 @@mod@auth-left.lotusBannerHomepage@before@{
"url": "https://connections-apps.com/xcc",
"text": "Intranet"
}
• Et voilà:
Removing an Entry from your Navigation
• Appears to be as easier than adding an entry
• Magic String + Element Selector + delete command
 @@mod@auth-left.myPartnerPage@delete@
• Will effectively remove the “My Orgnanization” link
 @@mod@auth-left.dashboard-handler@delete@
• Will effectively remove the “Back To…” link
• Combining all the Extensions mentioned before, creates this
Navigation:
Wrap Up Cloud Top Nav Customization
• Adding and removing is possible
• There‘s more possible:
 E.g. Drop Down Menus
 see http://xpag.es/?2106, http://xpag.es/?210A
• There‘s even more stuff posted to that topic
• There are blog entries suggesting this technique is
unsupported – however this seems to be the only way
Tools and Landscape
Recommended Tools I
• Just a few random Tools that work very well here:
 Eclipse IDE, Notepad++, Sublime, Atom
 Rational Team Concert
• Source control, if you are seriously developing
 Maven – mighty but difficult
• Manages application Build Process
• Used in Eclipse
 Grunt.js
• Maven-like but easier to use, using JavaScript
Recommended Tools II
 JSLint/JSHint – mandatory for all JS exceeding two lines
• jslint.com – it will hurt your feelings
• Available as Eclipse Plugin as well
 A JavaScript Uglifier
• Reduces JavaScript code by 50% to 90%
 SASS/LESS
• if you don’t know it yet, get to know it, it helps for a lot
Recommended Tools III
 Multiple browsers(!)
• Use two or three on your machine
• Plus a browser farm (e.g. browserstack.com)
 Cloud Foundry – for automatic deployment on IBM Bluemix
 Selenium – automate UI Tests during team development
 Multiple Connections instances for Test purposes
• Different Databases
• Different Versions
• Different OSes
Our Landscape
IBM Connections: 4.5
IBM Connections: 5.0
Local Clone
of Repository
IBM Connections: 5.5
Eclipse
IDE
Jazz
SCM
Jazz
CI Server
IBM Bluemix
Maven (incl. Grunt)
Manage
Test
Pull
Checkout
Commit
Push
Clone
Fetch
Build and TestManage HostsDevelop
Wrap up
We Have Covered
• Connections on cloud and on premises is different for
developers
• Questions you have to answer in respect to your architecture
• Ways to integrate your application into IBM Connections
• Tools and Landscape of Connections Application Development
Thank you
Contact us at:
• pedestal #100
• michael.gollmick@timetoact.de
• http://connections-apps.com
Acknowledgements and Disclaimers
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 cont.
© Copyright IBM Corporation 2015. 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, Rational Software, Team Concert, WebSphere, WebSphere Liberty Profile, Bluemix, Social Business Toolkit, Connections and
Connections Cloud 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
[Insert any special 3rd party trademark names/attributions here]
Other company, product, or service names may be trademarks or service marks of others.

More Related Content

PPTX
ARCHIVE - XCC 4.5 Web Content Management Extension for IBM Connections
PDF
24 Ways to Enhance IBM Connections with XCC – Web Content & Custom Apps Exte...
PPTX
The Digital Workplace Hub: Where Digital and Engagement Propel the Market Lea...
PPTX
Get the most out of IBM Connections with XCC – Web Content & Custom Apps Exte...
PPTX
PPTX
What's new in XCC 13
PDF
Xcc layout-options
PDF
IBM Digital Workplace Hub with IBM Connections & TIMETOACT's XCC - Web Conten...
ARCHIVE - XCC 4.5 Web Content Management Extension for IBM Connections
24 Ways to Enhance IBM Connections with XCC – Web Content & Custom Apps Exte...
The Digital Workplace Hub: Where Digital and Engagement Propel the Market Lea...
Get the most out of IBM Connections with XCC – Web Content & Custom Apps Exte...
What's new in XCC 13
Xcc layout-options
IBM Digital Workplace Hub with IBM Connections & TIMETOACT's XCC - Web Conten...

What's hot (20)

PPTX
IBM Connections Engagement Center
PPTX
IBM Connect 2016: 1402 - Getting Technically Cozy with IBM Connections Cloud ...
PPTX
What's New in XCC 12 - Release
PPTX
XCC 9.0 Whats New
PPTX
CAT Release August 2015
PDF
XCC 12.0 - Documentation
PPTX
XCC Release 6.0 Feature Overview
PPTX
Built Forms, Lists & Workflows with the IBM Forms Experience Builder (FEB) fo...
PDF
How to extend IBM Connections Communities and Profiles
PDF
XCC 11.0 - Documentation
PPTX
API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...
PPTX
XCC Self Study Guide
PPTX
ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...
PPTX
XCC - What's New Release 10
PPTX
XCC Benefits - Who profits from XCC?
PPTX
XCC Cloud for IBM Connections Cloud
PPTX
Becoming an IBM Connections Developer
PPTX
Connections Administration Toolkit (CAT)
PDF
The Notes/Domino Application Development Competitive Advantage - IamLUG
ODP
MAS202 - Customizing IBM Connections - Downloadable
IBM Connections Engagement Center
IBM Connect 2016: 1402 - Getting Technically Cozy with IBM Connections Cloud ...
What's New in XCC 12 - Release
XCC 9.0 Whats New
CAT Release August 2015
XCC 12.0 - Documentation
XCC Release 6.0 Feature Overview
Built Forms, Lists & Workflows with the IBM Forms Experience Builder (FEB) fo...
How to extend IBM Connections Communities and Profiles
XCC 11.0 - Documentation
API & Custom Widgets coming in XCC next - Web Content and Custom App Extensio...
XCC Self Study Guide
ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...
XCC - What's New Release 10
XCC Benefits - Who profits from XCC?
XCC Cloud for IBM Connections Cloud
Becoming an IBM Connections Developer
Connections Administration Toolkit (CAT)
The Notes/Domino Application Development Competitive Advantage - IamLUG
MAS202 - Customizing IBM Connections - Downloadable
Ad

Viewers also liked (16)

PDF
IBM Digital Workplace Hub - Official Booklet
PPTX
XCC & IBM Connections 6
PDF
Seriously Social 2016 (summary) - Les Hoteliers
PPTX
Kenshoo Social Webinar: Putting Social Advertising in Context
PPTX
K8 Keynote - Agile Innovation, Shar VanBoskirk
PPTX
User Access Manager for IBM Connections (UAM)
PDF
Access Data from XPages with the Relational Controls
PDF
Estudio de redes sociales en España, 2016 (IAB) - Les Hoteliers
PPTX
Webinar: Migration from IBM Domino to IBM Verse
PPTX
Know, Share, Do - Custom Apps
PDF
Domino OSGi Development
PPTX
XCC Personalization
PDF
Observatorio Redes Sociales 2016 - Les Hoteliers
PDF
Intranet mit-ibm-connections+xcc-vaude
PDF
Learn everything about IBM iNotes Customization
PDF
Ibm connections 5.0 installation step-by-step (windows and tds)
IBM Digital Workplace Hub - Official Booklet
XCC & IBM Connections 6
Seriously Social 2016 (summary) - Les Hoteliers
Kenshoo Social Webinar: Putting Social Advertising in Context
K8 Keynote - Agile Innovation, Shar VanBoskirk
User Access Manager for IBM Connections (UAM)
Access Data from XPages with the Relational Controls
Estudio de redes sociales en España, 2016 (IAB) - Les Hoteliers
Webinar: Migration from IBM Domino to IBM Verse
Know, Share, Do - Custom Apps
Domino OSGi Development
XCC Personalization
Observatorio Redes Sociales 2016 - Les Hoteliers
Intranet mit-ibm-connections+xcc-vaude
Learn everything about IBM iNotes Customization
Ibm connections 5.0 installation step-by-step (windows and tds)
Ad

Similar to Integrate Applications into IBM Connections Cloud and On Premises (AD 1632) (20)

PPTX
1 app 2 developers 3 servers
PDF
Your App deserves more – The Art of App Modernization
PDF
Your App Deserves More – The Art of App Modernization
PPT
Mashing Up Taking Enterprise Mashups To The Next Level Presentation
PDF
Developer’s intro to the alfresco platform
PDF
REST - What's It All About? (SAP TechEd 2012, CD110)
PPT
Proper Connections Development for Proper Domino Developers
PDF
DEV-1430 IBM Connections Integration
PDF
Business Driven IT Design
PDF
Patterns: Implementing an SOA Using an Enterprise Service Bus
PDF
Patterns: Implementing an SOA using an enterprise service bus (ESB)
PDF
How Bankwest delivers business value through modern RESTful APIs with Java in...
PDF
BOOK - IBM Sterling B2B Integration and Managed File Transfer Solutions
PPTX
IBM Connections Cloud Application Development Strategy
ODP
S111 cics connectivity in devops
ODP
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
ODP
Connect 2014 - Key108 - Application Development Strategy
PDF
IBM Collaboration Solutions Application Development - Frequently Asked Questions
PPT
Challenges to Integration Strategy - Thompson
PDF
Introduction to developing modern web apps
1 app 2 developers 3 servers
Your App deserves more – The Art of App Modernization
Your App Deserves More – The Art of App Modernization
Mashing Up Taking Enterprise Mashups To The Next Level Presentation
Developer’s intro to the alfresco platform
REST - What's It All About? (SAP TechEd 2012, CD110)
Proper Connections Development for Proper Domino Developers
DEV-1430 IBM Connections Integration
Business Driven IT Design
Patterns: Implementing an SOA Using an Enterprise Service Bus
Patterns: Implementing an SOA using an enterprise service bus (ESB)
How Bankwest delivers business value through modern RESTful APIs with Java in...
BOOK - IBM Sterling B2B Integration and Managed File Transfer Solutions
IBM Connections Cloud Application Development Strategy
S111 cics connectivity in devops
IBM Connect 2014 - KEY108: IBM Collaboration Solutions Application Developmen...
Connect 2014 - Key108 - Application Development Strategy
IBM Collaboration Solutions Application Development - Frequently Asked Questions
Challenges to Integration Strategy - Thompson
Introduction to developing modern web apps

More from TIMETOACT GROUP (11)

PPTX
New CAT Release - December 2020
PDF
TIMETOACT GROUP - Der vernetzte und adaptive Versicherer
PPTX
TIMETOACT Digital Workplace Assets
PPTX
Slotfinder "Doodle" for IBM Connections
PPTX
CxO Connect für IBM Connections
PPTX
Project Management Office (PMO) - for IBM Connections
PPTX
User manager for IBM Connections
PDF
ICEC Lab Center - Hands on building an engaged employee intranet.
PPTX
CAT Release November 2017
PDF
XCC Documentation Release 13.0
PDF
Technical User's Guide for XCC 12
New CAT Release - December 2020
TIMETOACT GROUP - Der vernetzte und adaptive Versicherer
TIMETOACT Digital Workplace Assets
Slotfinder "Doodle" for IBM Connections
CxO Connect für IBM Connections
Project Management Office (PMO) - for IBM Connections
User manager for IBM Connections
ICEC Lab Center - Hands on building an engaged employee intranet.
CAT Release November 2017
XCC Documentation Release 13.0
Technical User's Guide for XCC 12

Recently uploaded (20)

PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Nekopoi APK 2025 free lastest update
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
PTS Company Brochure 2025 (1).pdf.......
PPT
Introduction Database Management System for Course Database
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
medical staffing services at VALiNTRY
PPTX
history of c programming in notes for students .pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms I-SECS-1021-03
Odoo POS Development Services by CandidRoot Solutions
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Nekopoi APK 2025 free lastest update
Operating system designcfffgfgggggggvggggggggg
PTS Company Brochure 2025 (1).pdf.......
Introduction Database Management System for Course Database
Online Work Permit System for Fast Permit Processing
ISO 45001 Occupational Health and Safety Management System
Odoo Companies in India – Driving Business Transformation.pdf
medical staffing services at VALiNTRY
history of c programming in notes for students .pptx
Design an Analysis of Algorithms II-SECS-1021-03
How to Choose the Right IT Partner for Your Business in Malaysia
L1 - Introduction to python Backend.pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Internet Downloader Manager (IDM) Crack 6.42 Build 41

Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)

  • 1. AD-1632 Integrate your Application Into IBM Connections Cloud and On-Premises Michael Gollmick / Felix Binsack / Feb/03/2015
  • 2. About this session • We share some of our experience gained in the past three years creating and maintaining a complex application that integrates into and leverages IBM Connections. • Target Audience are Software Architects and Developers
  • 3. Agenda • About TIMETOACT & Me • Short Demo • Cloud and On-Premises: One or Two Worlds? • Architectural Questions and Decisions • Integrating your Application • Integration APIs • Customizing the Navigation • Tools and Landscape
  • 4. About TIMETOACT • European Business Partner • One of the largest ISVs for IBM Connections Software Simplify and Improve IBM Connections Administration, Content Management and User Management http://connections-apps.com/cat Integrate Internal Communications and Custom Applications into IBM Connections http://connections-apps.com/xcc Self Services and User Management, Password and Security Management for External (Guest) Users http://connections-apps.com/uam
  • 5. About me • Software Architect, Developer and Consultant • 15+ years IBM Technologies • Focused on Web Applications, IBM Connections, Notes & Domino • XCC Team since 2012
  • 6. Brief DEMO of an integrated Application
  • 7. How does such an Application look?
  • 8. Cloud and On-Premises: One or Two Worlds?
  • 9. Creating a Product • XCC is an application that leverages IBM Connections information to create a modern and social intranet • It shows web content from different sources aggregated into one or more pages • It even allows development of Custom Apps • It is designed to run on both, Cloud and on-premises • During conception and implementation we faced challenges - caused by the two different worlds of the Cloud and On- Premises Software base
  • 10. Develop Once, Deploy to Cloud and On-Prem • Custom apps can be done for either platform • If you develop a product, it is best developed for both • If a company uses the cloud or on-premises a decision is made of many more factors than only development • Customers may start off on-premises and then switch to the cloud or vice versa • Currently development cannot be recommended clearly for one of each - doing both seems to be the right decision • You should be open for both directions
  • 11. Challenge - One App in Two Worlds • What might look similar are two planets in the same solar system:  On-premises and cloud might look the same but differ • That leads to challenges for developers:  Different or missing APIs  Cross Domain Requests in the cloud  Authentication  UI Integration, Navigation Bar • Good News: a lot is similar or close
  • 12. Two Worlds - One Source Code – Why? • Makes development more effective • Allows for more flexibility • It just makes sense to reuse your code in both worlds • Use parts exclusively and other parts shared in both worlds • Takes some extra effort to be done but is worth the time • Pushes performance to the max  if performance is not urging, more abstraction could make the job even easier
  • 14. Architectural Questions I • What application stack to use?  Application Stack is your choice  Java is best supported here • Use one or more resource locators / servlets?  More locators allow for better modularity, control • What persistence technology to use?  Cookies, Localstorage in Client  Filestorage or Database in Server?  What database?
  • 15. Architectural Questions II • What browsers to support?  Companies seem to love ancient Internet Explorers, users and developers like others better  The more browsers you support the more robust your code gets • What JavaScript Framework to use?  Use Dojo or something else? • What CSS Framework to use?  OneUI, Custom, Bootstrap, others?
  • 16. Architectural Questions III • Whether to run on-premises, Cloud or both? • How to integrate into the User Experience  Create a Widget, Gadget or Page?  Open a completely new UI?  Integrate into Navigation? • What other frameworks to use?  Depends on the applications abilities • What APIs and calls to use?
  • 17. Architectural Decisions I • With our product XCC we went the following way:  Java/WebSphere Stack  Multiple Servlets  Localstorage for some client data  DBMS for application data • Database access encapsulated to support more than one DBMS  Browser support equivalent to IBM Connections  jQuery favored over Dojo (http://xpag.es/?2132)  Bootstrap + Custom CSS for a fancy UI (http://xpag.es/?212E)
  • 18. Architectural Decisions II  App runs on both: on-premises and cloud  Custom page for App, iWidgets for Communities and Top Navigation integration  Navbar and start page customization for full integration  Several more frameworks used: • IBM Social Business Toolkit (http://xpag.es/?2122) • OpenJPA (http://xpag.es/?2126) • JSOUP (http://xpag.es/?212A)  Using solely documented APIs
  • 19. Application On-Premises Architecture Connections Services Blogs Comunities Files Wikis Profiles Bookmarks Activities Forums Search Activity Stream Boards ... XCC Pages Personalization File Upload Layout Grids Access Rights Widgets XCC4Comm Anonymous Localization Flyout Mobile ClientJ2EEContainerStorage CNX DB XCC DB RESTAPI Browser
  • 20. Application Cloud Architecture Connections Services Blogs Comunities Files Wikis Profiles Bookmarks Activities Forums Search Activity Stream Boards ... XCC Cloud Personalization File Upload Layout Grids Access Rights Widgets Mobile Localization ClientIBMCloud XCC DB RESTAPI J2EEContainer IBMSBT Storage Storage CNX DB Browser
  • 22. Integration into IBM WebSphere On-Premises • Requires you to create a Java App • Run application on its own server  easier to manage  separated logs / troubleshooting • There is no such thing as a defined Extension page  Only workaround is using a “Layout Inheritance”
  • 23. On-Premises Layout Inheritance I • Good way to do it is:  Pull a page from Connections  Parse and modify that HTML to your needs  De-Serialize it to the requesting client • Page to pull:  search page (http://xpag.es/?20FE)  “About” page might work as well  users homepage may help with Activity Stream
  • 24. On-premises Layout Inheritance II • Advantage:  you are free to do what you like  Robust, often even future proof • works for CNX 4.0 to 5.5 without problems • Disadvantage:  There is no common module/framework for that, you have to code manually, JSOUP is very helpful  Requires extensive testing in the beginning Note to IBM: Please create the same capabilities to retrieve Header and footer for on- premises and cloud
  • 25. Integration into IBM Bluemix and Cloud • Run WebSphere Liberty Service with your Java App  Liberty is good enough • Use IBM Social Business Toolkit to Connect • Use OAuth2 to Authenticate • “Inheriting” a page does not work here, build your own page • Integrate Connections Cloud banner (aka Navigation Bar) (http://xpag.es/?20FA) • Change the Connections Cloud Banner to include your Application + Hide the „Back To“-Link (more on that later)
  • 27. Examples • What can be done with APIs in your application? Show and vote Ideations Aggregate Calendars of your followed communities into one
  • 28. REST APIs • Interaction with Connections is RESTful most of the time • Connections APIs have an extensive documentation  API Documentation: http://xpag.es/?211A  API Explorer: http://xpag.es/?2112 • You better do not use anything but documented APIs  If you find a functionality usable, Open a PMR and ask if that REST method is supported • Take care for Internet Explorer  Not all versions of that browser are supported for the REST API
  • 29. The IBM Social Business Toolkit • The IBM Social Business Toolkit (SBT) encapsulates REST API Requests thru a serverside proxy • That solves the issue with Cross Domain Requests from JavaScript when interacting with the cloud • SBT handles Authentication  Requests are performed on the users behalf • Application needs to be registered in your Cloud Organization • Meaningful for accessing application external hosts  Performance penalty if used locally
  • 31. Customizing Navigation On-Premises • That‘s a well documented approach (http://xpag.es/?210E) • However, you have to get experience in it • Seamlessly integrates with the „Layout Inheritance“ approach
  • 32. Customizing Nav in the Cloud • Customization options are limited:  You cannot rename Entries  You cannot localize Entries  You cannot reorder entries or menus • But you can:  add entries or menus  hide or remove entries or menus • We will show how adding an entry works
  • 33. Adding a custom Link to your Navigation • Editing the IBM Connections Cloud Navigation is possible but not that easy • We will cover how to add one such link and how to place it • You will need Organizations Administrative rights • Be warned: a wrong extension modificator string may result in the loss of the entire Top Navigation • But the result will change the look from this: • Into this:
  • 34. Adding a custom Link to your Navigation (II) • Open the Administration Panel (via Admin/Manage Organization) • Navigate to the „Organization Extensions“ • Click „Add Extensions“ button • For field „Service“ use „Top Navigation bar“ • Ignore the field „Extension Point“ • Leave field „Name“ empty for now – we come to that soon • Field „Description“ is used only in the „Organization Extensions“ overview, enter description accordingly
  • 35. Adding a custom Link to your Navigation (III) • Ignore the field „Type“ • Enter „https://www“ for the fields „Icon URL“ and „URL“, just to make the fields validate, their values are totally irrelevant • For the “Name” field we now need to create a magic string • It all starts with „@@mod@“ • Then we point to a Top Navigation Bar element with a string denominating column and element from the following table
  • 36. Top Navigation Elements Selector String Target Element auth-left. myPartnerPage Organization name, displayed next to the brand image lotusBannerHomepage Home link networkMenu People menu link communitiesMenu Communities Menu link servicesMenu Apps Menu dashboard-handler Back to IBM Connections Cloud link myPartnerPage My Organization link auth-right. bss-adminMenu Admin Menu chatMenu Chat Menu in the Admin Area bss-usersMenu User Account Menu bsscom-helpMenu Help Menu
  • 37. Adding a custom Link to your Navigation (IV) • Now define the position you want to see the link related to the targeted node. This could be “@before” or “@after”. • That all is followed by an “@” and a serialized JSON Object: • { "url": "https://www.timetoact.de/xcc", "text": "Intranet" } • No newlines and special characters and no additional properties allowed! • Don‘t forget to enable and save the extension
  • 38. Adding a custom Link to your Navigation (V) • Example: add a new Link right before the Home link in the Top Navigation bar • That means:  Magic String + Element Selector + Position + JSON  @@mod@auth-left.lotusBannerHomepage@before@{ "url": "https://connections-apps.com/xcc", "text": "Intranet" } • Et voilà:
  • 39. Removing an Entry from your Navigation • Appears to be as easier than adding an entry • Magic String + Element Selector + delete command  @@mod@auth-left.myPartnerPage@delete@ • Will effectively remove the “My Orgnanization” link  @@mod@auth-left.dashboard-handler@delete@ • Will effectively remove the “Back To…” link • Combining all the Extensions mentioned before, creates this Navigation:
  • 40. Wrap Up Cloud Top Nav Customization • Adding and removing is possible • There‘s more possible:  E.g. Drop Down Menus  see http://xpag.es/?2106, http://xpag.es/?210A • There‘s even more stuff posted to that topic • There are blog entries suggesting this technique is unsupported – however this seems to be the only way
  • 42. Recommended Tools I • Just a few random Tools that work very well here:  Eclipse IDE, Notepad++, Sublime, Atom  Rational Team Concert • Source control, if you are seriously developing  Maven – mighty but difficult • Manages application Build Process • Used in Eclipse  Grunt.js • Maven-like but easier to use, using JavaScript
  • 43. Recommended Tools II  JSLint/JSHint – mandatory for all JS exceeding two lines • jslint.com – it will hurt your feelings • Available as Eclipse Plugin as well  A JavaScript Uglifier • Reduces JavaScript code by 50% to 90%  SASS/LESS • if you don’t know it yet, get to know it, it helps for a lot
  • 44. Recommended Tools III  Multiple browsers(!) • Use two or three on your machine • Plus a browser farm (e.g. browserstack.com)  Cloud Foundry – for automatic deployment on IBM Bluemix  Selenium – automate UI Tests during team development  Multiple Connections instances for Test purposes • Different Databases • Different Versions • Different OSes
  • 45. Our Landscape IBM Connections: 4.5 IBM Connections: 5.0 Local Clone of Repository IBM Connections: 5.5 Eclipse IDE Jazz SCM Jazz CI Server IBM Bluemix Maven (incl. Grunt) Manage Test Pull Checkout Commit Push Clone Fetch Build and TestManage HostsDevelop
  • 47. We Have Covered • Connections on cloud and on premises is different for developers • Questions you have to answer in respect to your architecture • Ways to integrate your application into IBM Connections • Tools and Landscape of Connections Application Development
  • 48. Thank you Contact us at: • pedestal #100 • michael.gollmick@timetoact.de • http://connections-apps.com
  • 49. Acknowledgements and Disclaimers 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.
  • 50. Acknowledgements and Disclaimers cont. © Copyright IBM Corporation 2015. 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, Rational Software, Team Concert, WebSphere, WebSphere Liberty Profile, Bluemix, Social Business Toolkit, Connections and Connections Cloud 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 [Insert any special 3rd party trademark names/attributions here] Other company, product, or service names may be trademarks or service marks of others.