Salesforce Entwicklung

Salesforce EntwicklungSalesforce bietet mit seiner Cloud-Plattform Anwendungen für das Kundenbeziehungsmanagement in allen Phasen der Customer Journey. Um den Standard den unternehmensspezifischen Anforderungen anzupassen, stehen verschiedene Technologien zur Verfügung. Die drei wichtigsten sind Apex, Visualforce und Lightning.

Dass der Standard einer IT-Lösung nicht für jedes Unternehmen passgenau sein kann, ist eine Binsenweisheit. Individuelles Customizing und eigenentwickelte Anpassungen sind notwendig, um das Maximum an Prozessoptimierung und Leistungsfähigkeit aus einer Software herauszuholen.

Salesforce macht es seinen Kunden leicht: Für viele Bereiche ist schnelles und unkompliziertes Customizing ohne Codingaufwand möglich. Reicht dies doch einmal nicht aus, muss auf Salesforce Entwicklung zurückgegriffen werden.

Inhalte im Überblick

  1. Salesforce Technologien
  2. Entwicklungsumgebungen für Salesforce
  3. Frameworks zur Salesforce Entwicklung
  4. Salesforce Entwicklungsrichtlinien

Salesforce Technologien

In Salesforce stehen drei Basistechnologien zur Verfügung: Apex, Visualforce und Lightning.

Apex

Salesforce Entwicklung mit ApexDie Programmiersprache Apex ist eine stark typisierte, objektorientierte Programmiersprache, deren Syntax Java, der beliebtesten Programmiersprache für Webanwendungen, ähnelt. Sie wird auf den Force.com-Plattformservern ausgeführt. Apex wurde speziell für die Erstellung von Geschäftsanwendungen konzipiert, die der Verwaltung von Daten und Prozessen im größeren Kontext der Force.com-Plattform dienen. Die Sprache bietet einen einzigartigen und produktiven Ansatz zur Erstellung von Funktionen und Logik, mit dem die Entwickler sich auf die Elemente konzentrieren können, die spezifisch für ihre Anwendung sind, während die Force.com-Plattform den Rest übernimmt. Die integrierte Entwicklungsumgebung ist im Vergleich zu VisualStudio für C# oder Eclipse für Java allerdings stark gewöhnungs- und verbesserungswürdig. Es gibt jedoch Erweiterungen und PlugIns, um diesem Problem bis zu einem gewissen Maße entgegenzuwirken. Folgende Features zeichnen Apex aus:

Integriert:

Mit Apex lassen sie die Force.com plattformspezifischen Besonderheiten und Sprachen nutzen, wie zum Beispiel:

  • DML (Data Manipulation Language) Aufrufe wie INSERT, UPDATE oder DELETE mit eingebautem DML Exception Handling
  • Inline Salesforce Object Query Language (SOQL) und Salesforce Object Search Language (SOSL) Abfragen, die Listen von sObjects zurückgeben
  • Aufrufschleifen, die es ermöglichen, mit Hilfe von Bulk-Aufrufen mehrere Datensätze gleichzeitig zu verarbeiten
  • Force.com API Aufrufe
  • Warn- und Fehlermeldungen, die ausgelöst werden, wenn ein Objekt oder Feld bearbeitet wird, welches entsprechend im Apex Code referenziert ist

Leicht zu erlernen/anzuwenden:

Apex ähnelt syntaktisch der Programmiersprache Java. So hat Apex z.B. vergleichbare:

  • Variablen
  • Ausdrücke
  • Bedingte Anweisungen
  • Schleifen
  • Objekt und Array Notationen

Bei neuen Elementen setzt Apex auf leicht verständliche Syntax und Semantik. In Kombination erzeugt Apex verständlichen, effizienten Code.

Datengestützt:

Apex ist dafür entwickelt, mehrere Abfragen und DML-Aufrufe innerhalb einer Arbeitseinheit auf dem Force.com Server zu bündeln. So wie Entwickler datenbankgestützte Aufrufe verwenden, um mehrere Transaktionsaufrufe auf einem Datenbankserver zu bündeln.

Streng:

Apex ist eine streng typisierte Programmiersprache, die direkte Referenzen zwischen Schemaobjekten, wie Objekt- und Feldnamen, verwendet. Die Kompilierung schlägt fehl, sobald eine Referenz ungültig ist. Zusätzlich speichert es alle benutzerdefinierten Felder, Objekte und Klassen-Abhängigkeiten in den Metadaten, um sicherzustellen, dass diese nicht gelöscht werden, solange sie vom Apex Code benötigt werden.

Hosted:

Apex wird komplett von der Force.com Plattform ausgewertet, ausgeführt und gesteuert.

Mandantenfähig:

Wie der Rest der Force.com Plattform läuft Apex in einer mandantenfähigen Umgebung. Jeder Code, der Limitierungen in dieser Hinsicht gefährdet oder verletzt, erzeugt leicht verständliche Fehlermeldungen.

Automatisch aktualisiert:

Apex Code muss nie im Rahmen von Plattform Updates umgeschrieben werden. Der kompilierte Code wird als Metadatensatz auf der Plattform gespeichert und der Apex Code wird im Zuge von Salesforce Releases automatisch aktualisiert.

Leicht zu testen:

Apex liefert eingebaute Tools zur Erstellung und Durchführung von Unit Tests. Darin beinhaltet sind Testergebnisse, die angeben, wie viel Code von dem Test abgedeckt ist und welche Teile des Codes effizienter gestaltet werden könnten. Salesforce stellt sicher, dass jeglicher Apex Code nach einem Plattform Update so wie erwartet funktioniert, in dem es alle Unit Tests vor den Updates durchlaufen lässt.

Versioniert:

Apex Code kann für verschiedenste Versionen der Force.com API abgespeichert werden. Dies ermöglicht es, Code lauffähig zu halten, auch nach Versions-Upgrades.

Visualforce

Visualforce ist eine Oberflächentechnologie, die sich als Mischung aus HTML, speziellen Visualforce Tags, Apex und Javascript beschreiben lässt. Mithilfe von Visualforce lassen sich schnell relativ einfache, aber funktionale Oberflächen in Salesforce entwickeln. Die Oberflächen können individuell verwendet oder in normale Salesforce Layouts von Objekten eingebettet werden. Allerdings entspricht das Design nicht modernen Nutzererwartungen und – ein noch größerer Nachteil – die Oberflächen sind nicht ohne weiteren Entwicklungsaufwand mobilfähig.

Salesforce Entwicklung mit Lightning

Lightning

Salesforce Entwicklung mit Lightning2016 hat Salesforce mit Lightning eine Erweiterung der bestehenden Oberflächentechnologie auf den Markt gebracht, die auf Javascript und HTML5 basiert. Zusammen mit dem Design System Lightning Experience, dem Lightning App Builder und den Lightning Components können so benutzerfreundliche und intuitiv bedienbare Anwendungen entwickelt werden, die auf allen Endgeräten in gleicher Qualität funktionieren.

Allerdings ist diese Technologie noch nicht vollständig ausgereift, sodass Entwickler häufig an Grenzen stoßen, an denen Features noch nicht vollständig von Salesforce implementiert worden sind und Workarounds erarbeitet werden müssen. Nicht nur deswegen dauert die Entwicklung mit Lightning in der Regel sehr viel länger als mit Visualforce. Auch die Einarbeitung gestaltet sich komplizierter und nimmt mehr Zeit in Anspruch. Wer von der verbesserten Usability und den ansprechenderen Oberflächen profitieren will, muss dafür also zusätzliche zeitliche bzw. personelle Ressourcen einplanen.

Entwicklungsumgebungen für Salesforce

Die Entwicklungsumgebung gehört zu den wichtigsten Tools in der Umsetzung eines Salesforce-Projekts. Die integrierte Salesforce Developer Console eignet sich hervorragend für kleinere und mittlere Projekte. Sie müssen keine neue IDE installieren, da die Salesforce IDE direkt in der Salesforce Cloud läuft. Für größere Organisationen bieten sich allerdings eigene Tools an, wie zum Beispiel Sublime, das in seiner Urform ein Text-Editor ist, aber in Verbindung mit dem Plugin Mavens Mate zu einer leistungsstarken Entwicklungsumgebung für Salesforce wird.

Zwar ist der Konfigurationsaufwand zu Beginn recht hoch, danach erwartet den Entwickler eine 1A-Entwicklungsumgebung, die toll aussieht, schnell reagiert und eine funktionierende Codevervollständigung vorweist. Darüber hinaus gibt es verschiedene weitere Umgebungen, die alle Vor- und Nachteile aufweisen. Nähere Informationen dazu gibt es in unserem gratis E-Book zur Salesforce Entwicklung.

Frameworks zur Salesforce Entwicklung

Salesforce liefert mit seinen Basistechnologien wie Apex, Visualforce und Lightning umfangreiche Möglichkeiten, Automatisierungen oder individuelle Benutzeroberflächen zu implementieren. Manchmal reichen diese Möglichkeiten allerdings nicht aus oder beinhalten nicht die Features, die ein Entwickler benötigt, um eine umfangreiche User Experience zu entwickeln. Dann kann auf die in der Webentwicklung etablierten Frameworks/Bibliotheken wie jQuery, Bootstrap und AngularJS zurückgegriffen werden.

In Salesforce ist es möglich, Bibliotheken als statische Ressourcen in das System zu laden. Erstellen Sie eine Visualforce-Seite, können Sie auf diese statischen Ressourcen zugreifen und die Funktionen dieser Bibliotheken nutzen. Anders ausgedrückt: Visualforce wird als Container für diese Bibliotheken genutzt. Dabei müssen Sie das MVC-Muster nicht verlassen, sodass Sie weiter die Vorteile einer Visualforce-Seite, wie Datenbindung, Nutzung der APEX Controller und einfache Transporte sowie Release-Unabhängigkeit nutzen können. Gleichzeitig profitieren Sie von den Vorteilen der jeweiligen Frameworks.

Salesforce Entwicklungsrichtlinien

80% der Softwarekosten entfallen über den Lebenszyklus hinweg auf die Wartung. Denn in den seltensten Fällen wird Software über den gesamten Zeitraum von denselben Entwicklern betreut. Hier können Entwicklungsrichtlinien für Klarheit sorgen. Sie fördern die Lesbarkeit der Softwareimplementierung und ermöglichen somit ein schnelleres und gründlicheres Verständnis des Quelltextes. Vor allem sorgen sie für eine höhere Standardisierung der Entwicklung, was sich vor allem dann auszahlt, wenn ein Unternehmen verschiedene Entwicklungsstränge parallel verfolgt und in der Liveumgebung der Salesforce-Plattform zusammengeführt.

Um die Wirksamkeit der Richtlinien zu gewährleisten, sollten alle Phasen des Entwicklungsprozesses abgebildet sein. Dabei sollten auch Spezifikationen zur Modellierung und GUI Berücksichtigung finden. Nur so können Entwicklungsrichtlinien als konstruktive Maßnahme der Qualitätssicherung dienen. Die Einhaltung von Entwicklungsrichtlinien sollte im laufenden Betrieb mithilfe von Tools wie Eclipse-Plugin Checkstyle oder Eclipse-Plugin PMD kontrolliert werden.

Salesforce Entwicklung - Kontakt, Produkte und Dienstleistungen, gratis E-Book
Robert Richter Fachbereichsleiter

Sie möchten noch mehr über die Salesforce Entwicklung in Erfahrung bringen oder brauchen Unterstützung bei einer ganz bestimmten Herausforderung? Kein Problem. Kontaktieren Sie uns über info@mind-force.de oder nehmen Sie unsere kostenlose Telefonberatung in Anspruch.

Unter folgendem Link finden Sie einen Überblick zu unseren Produkten und Dienstleistungen. In unserem kostenlosen E-Book zur Salesforce Entwicklung finden Sie unser Know-how komprimiert als Wissensquelle und Nachschlagewerk:

E-Book Salesforce Entwicklung


SHARE
nach oben


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.