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:
Share on facebook
Share on linkedin
Share on xing
Share on whatsapp
Share on email
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ön­nen. Mehr Infor­ma­tio­nen zu Apex find­en 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 ste­he Ihnen jed­erzeit als Ansprech­part­ner 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

Y

Y

Z

Z

CRM Pioneer - 20 Jahre comselect

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

Wissen

CRM Einführung richtig angehen - Scheitern vermeiden. Erfahren Sie alles rund um CRM und Salesforce in unseren Wissensbeiträgen.

Im Fokus

  • Blog
  • Artikel
  • Whitepaper
  • Mediathek

Wissenswertes

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.

CRM für den Service

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

CRM für das Marketing

Lösungen für Ihre Daten

Daten- / Datensicherheit

 
3rd Party Apps
  • Conga
  • Tourenplaner
  • Docusign

Salesforce CRM Beratungs-Expertise seit 2002

Über 400 mittelständische Hersteller 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.