Andreas Holubek, Christian Metzger Salesforce.com Entwicklerhandbuch On-Demand-Anwendungen mit Apex und Apex Code ntwickier
V 1 1.1 1.2 1.3 2 2.1 2.2 2.3 2.4 2.5 2.6 3 3.1 3.2 Vorwort Einleitung Überblick über die Apex-Plattform von Salesforce.com Anwendungen für die Apex-Plattform Der Weg durch das Buch Salesforce.com planen, einrichten und konfigurieren Überblick über die Planung, die Einrichtung und das Customizing von Salesforce.com Die Planung der Einführung von Salesforce.com Customizing von Salesforce.com Benutzerdefinierte Felder Validierungsregeln Seitenlayouts Suchlayouts Schaltflächen und Links Zugriffsrechte und Sichtbarkeit von Daten Tipps und Tricks zum Vorgehen Einrichten und Verwalten von Workflows Workflow-Regeln Genehmigungsprozesse Aufgaben Benachrichtigungen Feldaktualisierungen Ausgehende Nachrichten Beispiel Rollout-Plan für eine Salesforce.com-Einführung Vorbereitung Systemkonfiguration Datenmanagement /Migration Einführung Nachverfolgung Initial Load Vorhandene Datenquellen Probleme des Initial Load Datenaktualität Datenqualität Heterogene Quellen 9 11 11 13 14 17 18 20 21 23 24 25 29 35 46 48 51 53 53 55 55 56 58 Salesforce.com Entwicklerhandbuch 5
Qualitative Abgrenzung 60 Quantitative Abgrenzung 61 Lade-Programme 62 3.3 Ablauf des Initial Load selbst 63 3.4 Ein einfaches Beispiel für einen Initial Load 65 3.5 10 Tipps zum Initial Load 70 Administrator-Rechte 70 Scripte 70 Fingerabdruck" 71 Preisbucheinträge 71 Account Ownerld 71 Importdaten archivieren 72 Validieren. Validieren. Validieren. 72 Lade-Programme erst spät schreiben 72 Lade-Programme für periodischen Abgleich vorbereiten 72 Kein direkter API-Zugriff im Lade-Programm 73 4 Anwendungen mit dem Apex Builder - Grundlagen 75 4.1 Apex Builder im Überblick 75 4.2 Bestandteile einer Anwendung 76 Benutzerdefiniertes Objekt (Custom Object) 77 Benutzerdefinierte Felder 82 Seitenlayout für das Objekt und Felder bestimmen 98 Tabs (Seiten) 105 Benutzerdefinierte Links (Custom Links) 112 Bilder und Dokumente 116 Anwendungen 118 Layouts für Suche und Übersichten 121 S-Controls 122 4.3 Entwicklungstipps 126 Best Practices 126 Migration von Daten beim Einfügen einer Master-Detail-Beziehung 127 5 Anwendungen mit dem Apex Builder - das Projekt 129 5.1 Beispielanwendung - Issue Tracking 129 5.2 Entwicklung der Objekte 130 5.3 Seiten entwickeln 140 5.4 Anwendung entwickeln 147 5.5 Packen und private Veröffentlichung der Anwendung 148 5.6 Veröffentlichung der Anwendung im öffentlichen AppExchange Directory 4 5.7 Testanwendung (Test Drive Organisation) 9 6 Apex Toolkit für Eclipse 161 6.1 Überblick 161
6.2 6.3 6.4 7 7.1 7.2 7.3 7.4 7.5 8 8.1 8.2 8.3 9 9.1 9.2 9.3 Installation und Apex-Projekt Abfragen S-Controls S-Controls und das Ajax Toolkit Überblick JavaScript Struktur einer JavaScript-Anwendung Ajax Toolkit anwenden Abfragen und Ergebnisse anzeigen Anwendungen entwickeln mit dem Apex Web Service API Web Services Überblick Web Service Description Language (WSDL) Nachrichten WSDL zu Language-Generatoren Salesforce WSDL Eine erste Verbindung Vorbereitungen Verbindung mit Salesforce.com aufbauen Umgang mit Verbindungsdaten Fallstudie: Verwendung des Web Service API für einen Angebotsrechner Spezifikation der Aufgabenstellung Verwendung des Salesforce API Nutzen der Generizität des Ansatzes Batchprozesse und Salesforce.com DataExchange Hinter den Kulissen Daten up-to-date halten Auswertungen Maschinelle Batch-Verarbeitung ist unverzichtbar Design des Abgleichs Was - Wie - Wo abgleichen? CRUD in Salesforce Eindeutigkeit Das Delete-Problem Eine Fallstudie Architektur-Empfehlungen für den Abgleich Fehlerbehandlung Performanz Helferlein Salesforce.com DataExchange Anforderungen Beispiel: Kommando-Datei und Trace 161 163 163 166 167 169 172 175 176 177 178 178 184 187 188 188 195 211 214 2 2 217 218 218 219 223 224 227 230 Salesforce.com Entwicklerhandbuch 7
<login> 2 <general> 2 <tasks> und <task> 234 Kommando: Extract 235 Kommando: Insert 236 Kommando: Update 236 Kommando: Delete 237 Kommando: Selective_Delete 238 Kommando: MixedJVIode 238 Kommandos: MetaInfo/Extract_Numbers 239 Download von Salesforce.com DataExchange 239 10 Apex Code - On-Demand-Programmiersprache 241 10.1 Überblick 241 10.2 Apex Code schreiben und veröffentlichen 242 Apex Code - Webschnittstelle 243 Apex Code - Eclipse-Integration 243 10.3 Ein einleitendes Beispiel 244 Das Beispiel 244 Apex Code Package anlegen (Apex Code) 245 Account-Objekt suchen (Apex Code) 245 Neuen Kontakt anlegen (Apex Code) 245 S-Control anlegen (Apex Builder) 246 Web-Tab anlegen (Apex Builder) 247 Test (Salesforce.com) 247 10.4 Apex-On-Demand-Sprache 248 Hinweise 248 Datentypen, SObjects, Variablen und Ausdrücke 248 Arrays, Sets und Maps 252 Ablaufsteuerung 256 SOQL-Abfragen 257 Benutzerdefinierte Methoden 259 Data Manipulation Language (DML)-Anweisungen 259 Transaktionen 261 Exception Handling (Ausnahmen) 262 System-Statische Methoden 263 10.5 Apex Packages 264 10.6 Objekte sperren 264 10.7 Apex Code mittels AJAX ausführen 265 10.8 Trigger 265 10.9 Test und Code Coverage 265 A Literaturverzeichnis 267 B Die Autoren 268 Stichwortverzeichnis 269