Apex

Apex: Die Salesforce Programmiersprache 

Salesforce-Apex

Apex ist eine stark typisierte und objektorientiert aufgebaute Programmiersprache. Sie ähnelt in ihrer Syntax Java und C#. Die Programmiersprache ist eine von drei Salesforce-Technologien neben Lightning und Visualforce. Apex ermöglicht es Entwicklern, Geschäftslogik in Systemereignisse zu integrieren.

Was Apex genau ist und was es kann, lesen Sie hier:

autor alexandra tovote Autor: Alexandra Tovote, Online Marketing
Veröffentlichung: Feb 2021
Lesedauer: 2 Minuten

Teilen Sie diesen Beitrag:
Share on facebook
Share on linkedin
Share on xing
Share on whatsapp
Share on email
Beitrag herunterladen:

Was ist Apex?

Apex ist eine stark typisierte, objektorientierte Programmiersprache, die es Entwicklern ermöglicht, Ablauf- und Transaktionssteuerungsanweisungen auf Salesforce-Servern in Verbindung mit Aufrufen der API auszuführen. Mit einer Syntax, die wie Java aussieht und sich wie gespeicherte Datenbankprozeduren verhält, ermöglicht es Entwicklern das Hinzufügen von Geschäftslogik zu den meisten Systemereignissen, einschließlich Schaltflächenklicks, Aktualisierungen von Bezugsdatensätzen und Visualforce-Seiten. Apex-Code kann durch Web-Service-Anforderungen und von Triggern auf Objekten initiiert werden.

Als Sprache ist Apex:

Integriert

Apex bietet integrierte Unterstützung für gängige Lightning Platform-Idiome, einschließlich:

  • DML-Aufrufe (Data Manipulation Language), z. B. INSERT, UPDATE und DELETE, mit integrierter DmlException-Behandlung
  • Inline-Abfragen der Salesforce Object Query Language (SOQL) und Salesforce Object Search Language (SOSL), die Listen von sObject-Datensätzen zurückgeben
  • Schleifen, die eine Massenverarbeitung von mehreren Datensätzen gleichzeitig ermöglichen
  • Sperrsyntax, die Konflikte bei der Datensatzaktualisierung verhindert
  • Benutzerdefinierte öffentliche API-Aufrufe, die aus gespeicherten Apex-Methoden erstellt werden können
  • Warnungen und Fehler, die ausgegeben werden, wenn ein Benutzer versucht, ein benutzerdefiniertes Objekt oder Feld, auf das Apex verweist, zu bearbeiten oder zu löschen

Einfach zu bedienen

Apex basiert auf vertrauten Java-Idiomen, wie der Syntax von Variablen und Ausdrücken, der Syntax von Blöcken und bedingten Anweisungen, der Schleifensyntax sowie der Objekt- und Array-Notation. Wo Apex neue Elemente einführt, verwendet es eine Syntax und Semantik, die einfach zu verstehen ist und die effiziente Nutzung der Lightning Platform fördert. Daher erzeugt Apex Code, der sowohl prägnant als auch einfach zu schreiben ist.

Datenorientiert

Apex ist darauf ausgelegt, mehrere Abfrage- und DML-Anweisungen zu einer einzigen Arbeitseinheit auf dem Salesforce-Server zusammenzufassen. Entwickler verwenden gespeicherte Datenbankprozeduren, um mehrere Transaktionsanweisungen auf einem Datenbankserver auf ähnliche Weise zusammenzufassen. Wie andere gespeicherte Datenbankprozeduren versucht Apex nicht, allgemeine Unterstützung für das Rendern von Elementen in der Benutzeroberfläche zu bieten.

Streng

Apex ist eine stark typisierte Sprache, die direkte Referenzen auf Schemaobjekte wie Objekt- und Feldnamen verwendet. Sie schlägt zur Kompilierungszeit schnell fehl, wenn irgendwelche Referenzen ungültig sind. Es speichert alle benutzerdefinierten Feld-, Objekt- und Klassenabhängigkeiten in Metadaten, um sicherzustellen, dass sie nicht gelöscht werden, während sie vom aktiven Apex-Code benötigt werden.

Gehostet

Apex wird vollständig von der Lightning-Plattform gespeichert, ausgeführt und kompiliert.

Multi-Mandantenfähig

Wie der Rest der Lightning Platform läuft auch Apex in einer mandantenfähigen Umgebung. Daher ist die Apex-Laufzeit-Engine so konzipiert, dass sie Code, der aus dem Ruder läuft, streng bewacht und verhindert, dass er gemeinsame Ressourcen monopolisiert. Jeder Code, der die Grenzen verletzt, schlägt mit leicht verständlichen Fehlermeldungen fehl.

Einfach zu testen

Apex bietet integrierte Unterstützung für die Erstellung und Ausführung von Unit-Tests. Es enthält Testergebnisse, die anzeigen, wie viel Code abgedeckt ist und welche Teile Ihres Codes effizienter sein könnten. Salesforce stellt sicher, dass der gesamte benutzerdefinierte Apex-Code wie erwartet funktioniert, indem alle Unit-Tests vor jeder Plattformaktualisierung ausgeführt werden.

Versioniert

Benutzerdefinierter Apex Code kann für verschiedene Versionen der API gespeichert werden.

Wann sollte Apex genutzt werden?

Die vorgefertigten Anwendungen von Salesforce bieten leistungsstarke CRM-Funktionen. Darüber hinaus bietet Salesforce die Möglichkeit, die vorgefertigten Anwendungen an Ihr Unternehmen anzupassen. Möglicherweise hat Ihr Unternehmen jedoch komplexe Geschäftsprozesse, die von den vorhandenen Funktionen nicht unterstützt werden. In diesem Fall bietet die Lightning Platform fortgeschrittenen Administratoren und Entwicklern verschiedene Möglichkeiten zur Erstellung benutzerdefinierter Funktionen.

Apex

Verwenden Sie Apex, wenn Sie:

  • Webdienste erstellen.
  • E-Mail-Dienste erstellen.
  • Komplexe Validierung über mehrere Objekte durchführen.
  • Komplexe Geschäftsprozesse erstellen, die von Workflow nicht unterstützt werden.
  • Benutzerdefinierte Transaktionslogik erstellen möchten (Logik, die über die gesamte Transaktion und nicht nur mit einem einzelnen Datensatz oder Objekt ausgeführt wird).
  • Hängen Sie benutzerdefinierte Logik an einen anderen Vorgang an, z. B. das Speichern eines Datensatzes, so dass sie immer dann ausgeführt wird, wenn der Vorgang ausgeführt wird, unabhängig davon, ob er von der Benutzeroberfläche, einer Visualforce-Seite oder von der SOAP-API ausgeht.

Lightning-Komponenten

Entwickeln Sie Lightning-Komponenten, um Lightning Experience, die mobile Salesforce-App, anzupassen oder um eigene, eigenständige Apps zu erstellen. Sie können auch Out-of-the-Box-Komponenten verwenden, um die Entwicklung zu beschleunigen.

Ab Spring ’19 (API-Version 45.0) können Sie Lightning-Komponenten mit zwei Programmiermodellen erstellen: dem Lightning-Webkomponenten-Modell und dem ursprünglichen Aura-Komponenten-Modell. Lightning-Webkomponenten sind benutzerdefinierte HTML-Elemente, die mit HTML und modernem JavaScript erstellt werden. Lightning Web-Komponenten und Aura-Komponenten können auf einer Seite koexistieren und interagieren. Konfigurieren Sie Lightning Web-Komponenten und Aura-Komponenten so, dass sie in Lightning App Builder und Experience Builder funktionieren.

Visualforce

Visualforce besteht aus einer Tag-basierten Markup-Sprache, die Entwicklern eine leistungsfähigere Methode zum Erstellen von Anwendungen und Anpassen der Salesforce-Benutzeroberfläche bietet. Mit Visualforce können Sie:

  • Assistenten und andere mehrstufige Prozesse erstellen.
  • Ihre eigene benutzerdefinierte Ablaufsteuerung durch eine Anwendung erstellen.
  • Definieren Sie Navigationsmuster und datenspezifische Regeln für eine optimale, effiziente Anwendungsinteraktion.

SOAP-API

Verwenden Sie Standard-SOAP-API-Aufrufe, wenn Sie einer zusammengesetzten Anwendung Funktionalität hinzufügen möchten, die jeweils nur einen Typ von Datensätzen verarbeitet und keine Transaktionssteuerung erfordert (z. B. das Setzen eines Speicherpunkts oder das Zurücksetzen von Änderungen).

Wie funktioniert Apex?

Der gesamte Apex läuft vollständig on-demand auf der Lightning Platform. Entwickler schreiben und speichern Apex-Code auf der Plattform, und Endanwender lösen die Ausführung des Apex-Codes über die Benutzeroberfläche aus.

Apex wird vollständig auf der Lightning Platform kompiliert, gespeichert und ausgeführt.  

Wenn ein Entwickler Apex-Code schreibt und auf der Plattform speichert, kompiliert der Plattform-Anwendungsserver den Code zunächst in einen abstrakten Satz von Anweisungen, die vom Apex-Laufzeitinterpreter verstanden werden können, und speichert diese Anweisungen dann als Metadaten.

Wenn ein Endbenutzer die Ausführung von Apex auslöst, z. B. durch Klicken auf eine Schaltfläche oder Aufrufen einer Visualforce-Seite, ruft der Plattform-Anwendungsserver die kompilierten Anweisungen aus den Metadaten ab und sendet sie durch den Laufzeitinterpreter, bevor er das Ergebnis zurückgibt. Der Endbenutzer bemerkt keine Unterschiede in der Ausführungszeit im Vergleich zu standardmäßigen Plattformanfragen.

wie-funktioniert-salesforce-apex

Wie kann man Apex lernen?

Salesforce hat eine Entwickler-Edition, die kostenlos zu verwenden ist!

developer.salesforce.com/signup

Es gibt auch eine Trailhead-Plattform trailhead.salesforce.com, auf der Sie vom Anfänger bis zum Architekten kostenlos lernen können! Diese Lernplattform ist stark spielerisch aufgebaut und enthält Themen aus dem wirklichen Leben, die in leicht verdauliche 15-20-minütige Teile unterteilt sind.

Fazit

Apex ist eine proprietäre Sprache, die von Salesforce entwickelt wurde. Es handelt sich um eine stark typisierte, objektorientierte Programmiersprache, mit der Entwickler Ablauf- und Transaktionssteuerungsanweisungen auf dem Force.com-Plattformserver in Verbindung mit Aufrufen der Force.com-API ausführen können. Mehr Informationen zu Apex finden Sie hier: trailhead.salesforce.com/apex
Fazit

Kontakt

Sie möchten mehr über Apex erfahren? 

Nehmen Sie mit uns Kon­takt auf:

Wie können wir Sie unterstützen?

Ich stehe Ihnen jed­erzeit als Ansprechpartner zur Verfügung.

Bernd Bittner - Sales Director Salesforce CRM Services - comselect

Bernd Bit­tner, Sales Direc­tor CRM Ser­vices
Tele­fon: 0621 / 76133 500
Email: info@comselect.de

N

N

O

Salesforce Outlook
Salesforce Ohana

P

Salesforce Preise
Salesforce Process Builder

Q

R

R

W

Salesforce Workflows
Work.com

X

x

Y

Y

Z

Z

Diese Website benutzt Cookies, welche für die Funktion und Darstellung notwendig sind. Wenn Sie diese Website weiter nutzten, gehen wir von Ihrem Einverständnis aus.