DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

21
Andreas Rosen QKom GmbH Application Architect IBM Domino-zertifiziert seit 15 Jahren IBM Connections Integration seit 5 Jahren Force.com-Erfahrung seit 3 Jahren

Transcript of DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

Page 1: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

Andreas RosenQKom GmbHApplication Architect

IBM Domino-zertifiziert seit 15 JahrenIBM Connections Integration seit 5 JahrenForce.com-Erfahrung seit 3 Jahren

Page 2: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Page 3: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• DNUG 2015 Dortmund

Salesforce World Tour Munich 2013• Warum IBM für Salesforce wichtig war

Page 4: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Page 5: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Peter Chittum
I like that in this slide you characterize yourselves as an API company!In general I feel these slides will be too much text. I would urge you to leave the top level bullets. The sub-level bullets are really what you want to talk about
Peter Chittum
See the next slide as one possible way to reduce the amount of text.
Page 6: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Page 7: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

LiveEdit

Peter Chittum
can you make this slide more visual?
Page 8: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• DNUG 2015 Dortmund

IBM Connections ActivitiesStrukturierte Information, gemischt mit To-dos, Milestones, Links und Anhängen

Peter Chittum
Could this and the previous slide be combined into one?
Page 9: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Peter Chittum
Can you crop out the important parts of the screen shot for better visibility?
Page 10: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Page 11: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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 programto sync

IBM ConnectionsSalesforce CRM

Peter Chittum
Again, need to trip down text. You don't want to be fighting people's instinct to read the text on your slide.
Page 12: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• DNUG 2015 Dortmund

Transformieren Sie Ihre Daten zur schnellen NutzungWarum 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

ToDoLinks

Page 13: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• DNUG 2015 Dortmund

Eine Ansicht erstellenPlanen 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 einbindenvar data = {!ConActivity__c.TasksJson__c};

• UI erstellenfunction BuildHtmlNode(data, dep)

• Wiederholen, bis die Hierarchie erstellt sind

Page 14: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Page 15: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

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 …

Page 16: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Page 17: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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 pushenhttps://youtu.be/idpgd4vkoN4?list=PLfeAZn7giyR50SKt46In5Z23Tt9zptv96

Page 18: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Page 19: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

• 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

Page 20: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren

Fragen?

Page 21: DNUG - Andreas Rosen - IBM Software und Salesforce sinnvoll integrieren