Beide Plattformen unterstützen Social thinking. Wie kann man den Case Focus von Salesforce nutzen und mit dem Menschen-zentrierten“ Netzwerk IBM Connections verbinden? Interessante Aspekte dabei sind:
- die Verbindung der IBM Activities mit Salesforce Oppunitities
- die IBM Connections-Daten live im Salesforce UI
- Salesforce Events im IBM Activity-Stream veröffentlichen
Erfahren Sie mehr in unserer Präsentation, die den Vortrag von Andres Rosen
DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren
1. Andreas Rosen
QKom GmbH
Application Architect
IBM Domino-zertifiziert seit 15 Jahren
IBM Connections Integration seit 5 Jahren
Force.com-Erfahrung seit 3 Jahren
2. • 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
3. • DNUG 2015 Dortmund
Salesforce World Tour Munich 2013• Warum IBM für
Salesforce
wichtig war
4. • 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
5. • 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
6. • 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
7. • 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
8. • DNUG 2015 Dortmund
IBM Connections Activities
Strukturierte Information, gemischt mit To-dos, Milestones, Links und Anhängen
9. • 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
10. • 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
11. • 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 ConnectionsSalesforce CRM
12. • 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
13. • 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
14. • 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
15. 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 …
16. • 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
17. • 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
18. • 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
19. • 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