Apex

Apex: Die Salesforce Programmiersprache 

Salesforce-Apex

Apex ist eine stark typ­isierte und objek­to­ri­en­tiert aufge­baute Pro­gram­mier­sprache. Sie ähnelt in ihrer Syn­tax Java und C#. Die Pro­gram­mier­sprache ist eine von drei Sales­force-Tech­nolo­gien neben Light­ning und Visu­al­force. Apex ermöglicht es Entwick­lern, Geschäft­slogik in Sys­te­mereignisse zu integrieren. 

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

autor alexandra tovote Autor: Alexan­dra Tovote, Online Mar­ket­ing
Veröf­fentlichung: Feb 2021
Lesedauer: 2 Minuten

Teilen Sie diesen Beitrag:
Beitrag herunterladen:

Was ist Apex?

Apex ist eine stark typ­isierte, objek­to­ri­en­tierte Pro­gram­mier­sprache, die es Entwick­lern ermöglicht, Ablauf- und Transak­tion­ss­teuerungsan­weisun­gen auf Sales­force-Servern in Verbindung mit Aufrufen der API auszuführen. Mit ein­er Syn­tax, die wie Java aussieht und sich wie gespe­icherte Daten­bankproze­duren ver­hält, ermöglicht es Entwick­lern das Hinzufü­gen von Geschäft­slogik zu den meis­ten Sys­te­mereignis­sen, ein­schließlich Schalt­flächen­klicks, Aktu­al­isierun­gen von Bezugs­daten­sätzen und Visu­al­force-Seit­en. Apex-Code kann durch Web-Ser­vice-Anforderun­gen und von Trig­gern auf Objek­ten ini­ti­iert werden.

Als Sprache ist Apex:

Inte­gri­ert

Apex bietet inte­gri­erte Unter­stützung für gängige Light­ning Plat­form-Idiome, einschließlich:

  • DML-Aufrufe (Data Manip­u­la­tion Lan­guage), z. B. INSERT, UPDATE und DELETE, mit inte­gri­ert­er DmlException-Behandlung
  • Inline-Abfra­gen der Sales­force Object Query Lan­guage (SOQL) und Sales­force Object Search Lan­guage (SOSL), die Lis­ten von sOb­ject-Daten­sätzen zurückgeben
  • Schleifen, die eine Massen­ver­ar­beitung von mehreren Daten­sätzen gle­ichzeit­ig ermöglichen
  • Sperrsyn­tax, die Kon­flik­te bei der Daten­satza­k­tu­al­isierung verhindert
  • Benutzerdefinierte öffentliche API-Aufrufe, die aus gespe­icherten Apex-Meth­o­d­en erstellt wer­den können
  • War­nun­gen und Fehler, die aus­gegeben wer­den, wenn ein Benutzer ver­sucht, ein benutzerdefiniertes Objekt oder Feld, auf das Apex ver­weist, zu bear­beit­en oder zu löschen

Ein­fach zu bedienen

Apex basiert auf ver­traut­en Java-Idiomen, wie der Syn­tax von Vari­ablen und Aus­drück­en, der Syn­tax von Blöck­en und bed­ingten Anweisun­gen, der Schleifen­syn­tax sowie der Objekt- und Array-Nota­tion. Wo Apex neue Ele­mente ein­führt, ver­wen­det es eine Syn­tax und Seman­tik, die ein­fach zu ver­ste­hen ist und die effiziente Nutzung der Light­ning Plat­form fördert. Daher erzeugt Apex Code, der sowohl präg­nant als auch ein­fach zu schreiben ist.

Datenori­en­tiert

Apex ist darauf aus­gelegt, mehrere Abfrage- und DML-Anweisun­gen zu ein­er einzi­gen Arbeit­sein­heit auf dem Sales­force-Serv­er zusam­men­z­u­fassen. Entwick­ler ver­wen­den gespe­icherte Daten­bankproze­duren, um mehrere Transak­tion­san­weisun­gen auf einem Daten­bankserv­er auf ähn­liche Weise zusam­men­z­u­fassen. Wie andere gespe­icherte Daten­bankproze­duren ver­sucht Apex nicht, all­ge­meine Unter­stützung für das Ren­dern von Ele­menten in der Benutze­r­ober­fläche zu bieten.

Streng

Apex ist eine stark typ­isierte Sprache, die direk­te Ref­eren­zen auf Schemaob­jek­te wie Objekt- und Feld­na­men ver­wen­det. Sie schlägt zur Kom­pilierungszeit schnell fehl, wenn irgendwelche Ref­eren­zen ungültig sind. Es spe­ichert alle benutzerdefinierten Feld‑, Objekt- und Klassen­ab­hängigkeit­en in Meta­dat­en, um sicherzustellen, dass sie nicht gelöscht wer­den, während sie vom aktiv­en Apex-Code benötigt werden.

Gehostet

Apex wird voll­ständig von der Light­ning-Plat­tform gespe­ichert, aus­ge­führt und kompiliert.

Mul­ti-Man­dan­ten­fähig

Wie der Rest der Light­ning Plat­form läuft auch Apex in ein­er man­dan­ten­fähi­gen Umge­bung. Daher ist die Apex-Laufzeit-Engine so konzip­iert, dass sie Code, der aus dem Rud­er läuft, streng bewacht und ver­hin­dert, dass er gemein­same Ressourcen monop­o­lisiert. Jed­er Code, der die Gren­zen ver­let­zt, schlägt mit leicht ver­ständlichen Fehler­mel­dun­gen fehl.

Ein­fach zu testen

Apex bietet inte­gri­erte Unter­stützung für die Erstel­lung und Aus­führung von Unit-Tests. Es enthält Testergeb­nisse, die anzeigen, wie viel Code abgedeckt ist und welche Teile Ihres Codes effizien­ter sein kön­nten. Sales­force stellt sich­er, dass der gesamte benutzerdefinierte Apex-Code wie erwartet funk­tion­iert, indem alle Unit-Tests vor jed­er Plat­tfor­mak­tu­al­isierung aus­ge­führt werden.

Ver­sion­iert

Benutzerdefiniert­er Apex Code kann für ver­schiedene Ver­sio­nen der API gespe­ichert werden.

Wann sollte Apex genutzt werden?

Die vorge­fer­tigten Anwen­dun­gen von Sales­force bieten leis­tungsstarke CRM-Funk­tio­nen. Darüber hin­aus bietet Sales­force die Möglichkeit, die vorge­fer­tigten Anwen­dun­gen an Ihr Unternehmen anzu­passen. Möglicher­weise hat Ihr Unternehmen jedoch kom­plexe Geschäft­sprozesse, die von den vorhan­de­nen Funk­tio­nen nicht unter­stützt wer­den. In diesem Fall bietet die Light­ning Plat­form fort­geschrit­te­nen Admin­is­tra­toren und Entwick­lern ver­schiedene Möglichkeit­en zur Erstel­lung benutzerdefiniert­er Funktionen.

Apex

Ver­wen­den Sie Apex, wenn Sie:

  • Web­di­en­ste erstellen.
  • E‑Mail-Dien­ste erstellen.
  • Kom­plexe Vali­dierung über mehrere Objek­te durchführen.
  • Kom­plexe Geschäft­sprozesse erstellen, die von Work­flow nicht unter­stützt werden.
  • Benutzerdefinierte Transak­tion­slogik erstellen möcht­en (Logik, die über die gesamte Transak­tion und nicht nur mit einem einzel­nen Daten­satz oder Objekt aus­ge­führt wird).
  • Hän­gen Sie benutzerdefinierte Logik an einen anderen Vor­gang an, z. B. das Spe­ich­ern eines Daten­satzes, so dass sie immer dann aus­ge­führt wird, wenn der Vor­gang aus­ge­führt wird, unab­hängig davon, ob er von der Benutze­r­ober­fläche, ein­er Visu­al­force-Seite oder von der SOAP-API ausgeht.

Light­ning-Kom­po­nen­ten

Entwick­eln Sie Light­ning-Kom­po­nen­ten, um Light­ning Expe­ri­ence, die mobile Sales­force-App, anzu­passen oder um eigene, eigen­ständi­ge Apps zu erstellen. Sie kön­nen auch Out-of-the-Box-Kom­po­nen­ten ver­wen­den, um die Entwick­lung zu beschleunigen.

Ab Spring ’19 (API-Ver­sion 45.0) kön­nen Sie Light­ning-Kom­po­nen­ten mit zwei Pro­gram­mier­mod­ellen erstellen: dem Light­ning-Webkom­po­nen­ten-Mod­ell und dem ursprünglichen Aura-Kom­po­nen­ten-Mod­ell. Light­ning-Webkom­po­nen­ten sind benutzerdefinierte HTML-Ele­mente, die mit HTML und mod­ernem JavaScript erstellt wer­den. Light­ning Web-Kom­po­nen­ten und Aura-Kom­po­nen­ten kön­nen auf ein­er Seite koex­istieren und inter­agieren. Kon­fig­uri­eren Sie Light­ning Web-Kom­po­nen­ten und Aura-Kom­po­nen­ten so, dass sie in Light­ning App Builder und Expe­ri­ence Builder funktionieren.

Visu­al­force

Visu­al­force beste­ht aus ein­er Tag-basierten Markup-Sprache, die Entwick­lern eine leis­tungs­fähigere Meth­ode zum Erstellen von Anwen­dun­gen und Anpassen der Sales­force-Benutze­r­ober­fläche bietet. Mit Visu­al­force kön­nen Sie:

  • Assis­ten­ten und andere mehrstu­fige Prozesse erstellen.
  • Ihre eigene benutzerdefinierte Ablauf­s­teuerung durch eine Anwen­dung erstellen.
  • Definieren Sie Nav­i­ga­tion­s­muster und daten­spez­i­fis­che Regeln für eine opti­male, effiziente Anwendungsinteraktion.

SOAP-API

Ver­wen­den Sie Stan­dard-SOAP-API-Aufrufe, wenn Sie ein­er zusam­menge­set­zten Anwen­dung Funk­tion­al­ität hinzufü­gen möcht­en, die jew­eils nur einen Typ von Daten­sätzen ver­ar­beit­et und keine Transak­tion­ss­teuerung erfordert (z. B. das Set­zen eines Spe­icher­punk­ts oder das Zurück­set­zen von Änderungen).

Wie funktioniert Apex?

Der gesamte Apex läuft voll­ständig on-demand auf der Light­ning Plat­form. Entwick­ler schreiben und spe­ich­ern Apex-Code auf der Plat­tform, und Endan­wen­der lösen die Aus­führung des Apex-Codes über die Benutze­r­ober­fläche aus.

Apex wird voll­ständig auf der Light­ning Plat­form kom­piliert, gespe­ichert und ausgeführt. 

Wenn ein Entwick­ler Apex-Code schreibt und auf der Plat­tform spe­ichert, kom­piliert der Plat­tform-Anwen­dungsserv­er den Code zunächst in einen abstrak­ten Satz von Anweisun­gen, die vom Apex-Laufzeit­in­ter­preter ver­standen wer­den kön­nen, und spe­ichert diese Anweisun­gen dann als Metadaten.

Wenn ein End­be­nutzer die Aus­führung von Apex aus­löst, z. B. durch Klick­en auf eine Schalt­fläche oder Aufrufen ein­er Visu­al­force-Seite, ruft der Plat­tform-Anwen­dungsserv­er die kom­pilierten Anweisun­gen aus den Meta­dat­en ab und sendet sie durch den Laufzeit­in­ter­preter, bevor er das Ergeb­nis zurück­gibt. Der End­be­nutzer bemerkt keine Unter­schiede in der Aus­führungszeit im Ver­gle­ich zu stan­dard­mäßi­gen Plattformanfragen.

wie-funktioniert-salesforce-apex

Wie kann man Apex lernen?

Sales­force hat eine Entwick­ler-Edi­tion, die kosten­los zu ver­wen­den ist!

developer.salesforce.com/signup

Es gibt auch eine Trail­head-Plat­tform trailhead.salesforce.com, auf der Sie vom Anfänger bis zum Architek­ten kosten­los ler­nen kön­nen! Diese Lern­plat­tform ist stark spielerisch aufge­baut und enthält The­men aus dem wirk­lichen Leben, die in leicht ver­dauliche 15–20-minütige Teile unterteilt sind.

Fazit

Apex ist eine pro­pri­etäre Sprache, die von Sales­force entwick­elt wurde. Es han­delt sich um eine stark typ­isierte, objek­to­ri­en­tierte Pro­gram­mier­sprache, mit der Entwick­ler Ablauf- und Transak­tion­ss­teuerungsan­weisun­gen auf dem Force.com-Plattformserver in Verbindung mit Aufrufen der Force.com-API aus­führen können.

Mehr Infor­ma­tio­nen zu Apex find­en Sie hier:

trailhead.salesforce.com/apex

Sind Sie bereit für Ihr nächstes Projekt? 

Sie haben Fra­gen zu unseren Leis­tun­gen oder wün­schen ein Beratungsgespräch?

Wir sind gerne für Sie da und freuen uns auf Sie. Nehmen Sie ein­fach Kon­takt mit uns auf.

CRM Pioneer - 20 Jahre comselect

Als zertifizierter Salesforce Partner in Deutschland verfolgen wir ein Ziel: Sie erfolgreicher zu machen!

Ihr Erfolg ist unser Branchen Know-How

Wir kennen und verstehen Geschäftsprozesse. Von der Neukundengewinnung bis zur effektiven Vertriebssteuerung. Aus der Erfahrung von über 1000 CRM Projekten haben wir Branchen-Templates erstellt, welche Ihnen erlauben innerhalb weniger Tage mit ausgewählten Prozessen „live“ zu gehen.

Herstellende Industrie

Bau- & Zulieferindustrie

  • Baucore Cloud

Stadtwerke & Energieversorger

  • Energy & Utility Cloud

Salesforce Multi-Cloud Expertise seit 2002

Salesforce ist eine CRM-Lösung für das Management von Kundenbeziehungen. Alle Abteilungen, einschließlich Marketing, Vertrieb, Kundenservice sowie Online- und stationärer Handel arbeiten auf einer gemeinsamen CRM-Plattform. So haben alle dieselbe Sicht auf ihre Kunden und können für das perfekte Kundenerlebnis sorgen.

Sie wollen die Lösungen live sehen? Nutzen Sie unser kostensfreies Beratungsangebot.

Lösungen für Ihre Daten

Daten- / Datensicherheit

 
3rd Party Apps
  • Conga
  • Tourenplaner
  • Docusign

Salesforce CRM Beratungs seit 2002

Über 400 mittelständische Unternehmen vertrauen unserem Know-how und den Salesforce Clouds.

Salesforce Service & Support

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.