Post on 17-Aug-2015
Andreas Rosen QKom GmbH Application Architect IBM Domino-zertifiziert seit 15 Jahren IBM Connections Integration seit 5 Jahren Force.com-Erfahrung seit 3 Jahren
• DNUG 2015 Dortmund
Stellen Sie sich Ihr System vor … Ein flexibles Cloud-System:
• Sie können Felder hinzufügen • Sie können Objekte erstellen • Sie können Seiten erstellen • Sie können Trigger für alle Ereignisse definieren • Sie können Server-seitige Klassen erstellen
• DNUG 2015 Dortmund
Wo kommen wir her? Der logische Weg von Lotus Notes zu Force.com
• Seit 1997 werden wir immer besser darin, – die Kundenprobleme zu hören und zu erfassen – die Workflows und Sicherheitsanforderungen zu verstehen – die Wünsche in Notes-Datenbanken zu formen
• Seit 2010 – beschäftigen wir uns mit den Activity Streams & der Social Software
IBM Connections
• Seit 2012 – nutzen wir Salesforce als CRM und erkunden wir Force.com – formen wir die Wünsche auf der Force.com-Plattform mit Social
Features in der Cloud
Lotus Notes
IBM Connections
Force.com
• DNUG 2015 Dortmund
Warum lieben wir Salesforce? (neben IBM Software)
Werte mit Hilfe einer offenen Plattform schaffen und sichern:
• Wir bei Q!kom sehen uns als Web Services-Firma – soapgate Q! – eine Open Source Web Service API für IBM Domino
• Der Wert unserer Daten steigt mit der Zugänglichkeit – RIVA nutzt soapgate Q! um IBM Domino zu integrieren
• Salesforce und die Force.com Plattform haben tolle APIs – wir sind sicher, auf der richtigen Plattform zu sein
• DNUG 2015 Dortmund
Warum wollen wir integrieren? Bieten Sie den Nutzern eine 360-Grad-Ansicht der Kunden
• Nutzen Sie die IBM Connections-Experten, um die Salesforce Opportunities richtig auszuschöpfen
• Navigieren Sie übergangslos zwischen Salesforce und IBM Connections
• Egal, ob mobil oder mit dem Web-Client
• DNUG 2015 Dortmund
Welches Integrationslevel wird benötigt? Keep it simple – so lange Sie es sich leisten können
• Probleme, die auftauchen können, wenn Sie starten wollen – Real-time oder Batch? – Read-only oder Edit? – CSS & Links nutzen oder in Canvas darstellen? – Brauchen wir SSO oder und OAuth2.0?
• Was nutzen wir für unsere erste Integration? – Batch, Read-only, CSS & Links – Wir starten einfach mit dem IBM Activities-Objekt und schaffen
Mehrwert für den Verkaufsprozess
Batch
Live Edit
• DNUG 2015 Dortmund
IBM Connections Activities Strukturierte Information, gemischt mit To-dos, Milestones, Links und Anhängen
• DNUG 2015 Dortmund
Wie sieht eine IBM Activity in Salesforce aus? Wir benutzen ein Custom-Objekt, um die Daten zu speichern
• Der Inhalt der IBM Activity wird dargestellt – Funktioniert auch als Button – Twisty to drill down – Link zur Sektion der Activity – Link zu einem persönlichen Profil
• DNUG 2015 Dortmund
Opportunity IBM Activity
Mobile Demo • Demo des Enduser-Flows
– Salesforce 1 App zu IBM Connections App – Darstellen der Activities in der Salesforce 1 iPad App – Abschnitte öffnen und schließen – Mobilen Link zur IBM Connections App nutzen – In IBM Activities im richtigen Objekt weiterarbeiten – Anwender beeindrucken ..\Salesforce1toIBMConnections_final.mp4
• Video IBM Activities aus IBM Connections in Salesforce (mobil): https://youtu.be/FfRkUmkJnd4?list=PLfeAZn7giyR50SKt46In5Z23Tt9zptv96
• DNUG 2015 Dortmund
Wege, komplexe Daten zu lesen Benutzen Sie, was Sie wollen, wir nutzen hier ein .Net-Programm:
• Typisches Problem der Restful API-Antworten – Für spezielle Fälle designt – jetzt müssen wir damit klarkommen – Wir haben hier einen Atom feed mit XML und teils HTML – Wir transformieren diese Informationen in strukturiertes JSON
• Ja – Sie können versuchen, dies mit Apex-Klassen zu machen • Nein – wir entscheiden, ein .Net –Programm zu nutzen,
welches die Brücke bildet
Salesforce .Net program to sync
IBM Connections Salesforce CRM
• DNUG 2015 Dortmund
Transformieren Sie Ihre Daten zur schnellen Nutzung Warum ist JSON so gut zu verwenden und so ein effektives Speicherformat?
• Typische Probleme, wenn Sie Activity-Daten speichern – Sollen wir alle unterschiedlichen Objekte in Salesforce erstellen?
• Sektion • Text • Link • To-do …… • Und was gewinnen wir?
– Oder sollten wir alle in einem Feld speichern?
• Wir brauchen nicht einmal ein Custom-Objekt – wenn wir wollen • Wir nutzen JSON, weil es effektiv, klein und perfekt durch Web-Engines zu nutzen ist • Wir sichern nur Metadaten in den Feldern, die wir in Ansichten sehen möchten
JSON Store
Text
ToDo Links
• DNUG 2015 Dortmund
Eine Ansicht erstellen Planen Sie ein unterschiedliches UI für mobile und PC-Anwendung:
• Apex Page <apex:page standardController="ConActivity__c" docType="html-5.0“
<apex:commandButton title="Open Activity" value="Open Activity" onclick="window.open('ibmscp://com.ibm.connections/activities?uid=
• Daten einbinden var data = {!ConActivity__c.TasksJson__c};
• UI erstellen function BuildHtmlNode(data, dep)
• Wiederholen, bis die Hierarchie erstellt sind
• DNUG 2015 Dortmund
Wir lieben es, unsere Nutzer zu unterhalten ! Wir nutzen CSS zur Interaktivität:
• Die Daten erkunden – Interaktiv durch CSS – Wir nutzen ein CSS, das Dynamic Sections unterstützt – Wir nutzen die Power von HTML 5 – es werden keine anderen Bibliotheken benötigt. – Alles basiert auf der lokalen Render engine.
Danke an den Entwickler des von uns genutzten CSS -Beispiels http://wemakesites.net
Was hat sich seit der Dreamforce getan? Die Kunden sagten uns: Ist ja schön, was Sie bisher gemacht haben. Wir hätten gerne mehr! Wir hätten gerne Real-time …
• DNUG 2015 Dortmund
UI call llProxie
IBM api
Real-time Integration Demo-View
• Demo der Verbindung von Connections-Daten in Salesforce: – IBM Connections als Proxy-Endpoint zulassen – JavaScript UI in Visual-Force-Page erstellen – Den Content als HTML-Table darstellen – Salesforce Standard-CSS nutzen, damit es schön aussieht – Links zu IBM Connections anbieten – Im passenden Objekt in IBM Connections weiterarbeiten
– My Files und My Bookmarks aus IBM Connections in Salesforce als Ansicht: https://youtu.be/GZ_2G34-yjA?list=PLfeAZn7giyR50SKt46In5Z23Tt9zptv96
• DNUG 2015 Dortmund
Event Class ConnectionsAPI
Real-time Integration Demo-Push • Demo Salesforce Updates in den Activity Stream pushen – IBM Connections als End point in Salesforce zulassen – IBM Connections API benutzen – Einen Apex-Trigger in Salesforce erstellen – Apex-Klasse erstellen, um Transportupdates der Opportunity
zu erhalten – Helfen Sie Ihren Anwendern mit Links zu den SF-Objekten
• Salesforce Update-Ereignis in den IBM Connections Activity Stream pushen
https://youtu.be/idpgd4vkoN4?list=PLfeAZn7giyR50SKt46In5Z23Tt9zptv96
• DNUG 2015 Dortmund
Event Class soapgateQ!
Real-time integration Demo-Push
• Demo: Salesforce-Termine nach Domino bringen •
– IBM Domino als End-Point in Salesforce zulassen – Eine API wie soapgate Q! (Open Source) für Domino nutzen – Einen Apex-Trigger in Salesforce erstellen – Eine Apex-Klasse, um CRUD nach Domino zu transportieren – Helfen Sie den Anwendern mit Links zu den SF Objekten – Arbeiten Sie weiterhin im richtigen Objekt im Salesforce
• Salesforce-Kalenderereignisse nach IBM Domino pushen: https://youtu.be/6LsO5jg1zBg?list=PLfeAZn7giyR50SKt46In5Z23Tt9zptv96
• DNUG 2015 Dortmund
Was haben wir in Salesforce genutzt? Wir möchten Ihnen gerne die Zaubersachen zeigen, die nur auf uns gewartet haben:
• Custom-Field – Wir nutzen ein Formelfeld, um die Links als TAG in IBM Connections zu erzeugen
• Custom-Objekt – Wir nutzen ein Custom-Objekt, um die IBM Activity abzuspeichern
• Visual-Force-Page – Wir nutzen eine Visual-Force-Page, um JSON zu visualisieren
• Apex-Trigger – Wir nutzen einen Apex-Trigger, um das Erstellen, Updaten und Löschen von Salesforce
Appointments zu überwachen
• Apex-Klasse – Wir nutzen Apex-Klassen, um Callouts zu Domino und IBM Connections zu machen