View
641
Download
0
Category
Preview:
Citation preview
Andreas RosenQKom GmbHApplication Architect
IBM Domino-zertifiziert seit 15 JahrenIBM Connections Integration seit 5 JahrenForce.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
Salesforce World Tour Munich 2013• Warum IBM für Salesforce wichtig war
• 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
LiveEdit
• DNUG 2015 Dortmund
IBM Connections ActivitiesStrukturierte 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 programto sync
IBM ConnectionsSalesforce CRM
• 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
• 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
• 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 pushenhttps://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
Fragen?
Recommended