Apex Entwicklung

Apex Entwicklung als zentraler Bestandteil der Salesforce Entwicklung in unserem E-BookSalesforce hat traditionelle Client-Server-Applikationen durch On-Demand-Anwendungen aus der Cloud ersetzt. Eine der Programmiersprachen, auf der diese Anwendungen basieren, ist Apex.

Inhalte im Überblick

  1. Was ist Apex?
  2. Was ist Force.com?
  3. Apex Vorteile
  4. Apex Architektur
  5. Entwicklung mit Apex

Was ist Apex?

Apex ist eine reine Backendtechnologie, die stark typisiert und objektorientiert aufgebaut ist und deren Syntax Java ähnelt, der beliebtesten Programmiersprache für Webanwendungen.
Apex wurde speziell für die Erstellung von Geschäftsanwendungen konzipiert und wird auf den Force.com-Plattformservern ausgeführt. Die Sprache bietet einen einzigartigen und produktiven Ansatz zur Erstellung von Funktionen und Logik, mit dem Entwickler sich auf die Elemente konzentrieren können, die spezifisch für ihre Anwendung sind, während die Force.com-Plattform den Rest übernimmt.

Was ist Force.com?

Force.com nutzt ein deklaratives Framework, was für die Anwender verschiedene Vorteile mit sich bringt. Viele Datenmodellierungen und Automatisierungen können per Drag&Drop durchgeführt werden, Validierungen können ohne Coding über Formeln erfolgen und Berechtigungen, Profile und Rollen können ohne Coding definiert werden. Daraus ergibt sich ein enormer Geschwindigkeitsvorteil für Entwickler, da bis zu 30% aller Anpassungen über einfaches Customizing erfolgen können. Für die restlichen 70% ist allerdings Entwicklungsarbeit erforderlich. Hier kommt Apex gemeinsam mit Visualforce und Lightning als Oberflächentechnologie zum Einsatz.

Force.com hält sich an etablierte Technologiestandards, d.h. Entwickler können ihre bevorzugten Tools und Technologien wie gewohnt weiterverwenden. Indem umfangreiche WSDL und Services out of the box angeboten werden, lässt sich der Entwicklungsaufwand deutlich verkürzen. Entwickler können Standardaufgaben in kurzer Zeit erledigen und sich auf die strategisch wichtigen Aspekte konzentrieren.

Vorteile von Apex

Integriert:

  • Mit Apex lassen sie die Force.com plattformspezifischen Besonderheiten und Sprachen nutzen, 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 und 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. Dadurch 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 werden alle benutzerdefinierten Felder, Objekte und Klassen Abhängigkeiten in den Metadaten gespeichert, 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.

Apex Architektur

Apex Architektur MVC

Salesforce basiert auf dem MVC-Modell (Model – View – Controller). Mit Hilfe von Eingaben auf dem User Interface lösen Nutzer Prozesse und Mechanismen aus, die dafür sorgen, dass der Controller Änderungen an Daten vornimmt.

Der Controller manipuliert das Datenmodell, d.h. es werden Operationen wie das Hinzufügen von Daten oder das Ändern von Datensätzen durch einen Controller auf dem Datenmodell durchgeführt. Der Controller ist dafür zuständig, die Daten aus dem Modell zu beschaffen, die später in der View angezeigt und bearbeitet werden sollen. Diese Controller werden durch Apex-Entwicklung gesteuert, d.h. Apex sucht, holt und manipuliert die Daten über Operationen, die durch die View angestoßen werden.

Visualforce-Seiten stellen die View in diesem Model dar. Jedem View können dabei 1 bis n Controller zugeordnet sein. Die View ist das, was der User sieht und mit dem der User arbeitet. Klickt der User auf der View einen Button, so wird im Controller eine Aktion angestoßen, die das Datenmodell manipuliert.

Entwicklung mit Apex

Für die Entwicklung von Salesforce-Anwendungen auf Basis von Apex kann die integrierte Entwicklungsumgebung genutzt werden. Sie ist im Vergleich zu VisualStudio für C# oder Eclipse für Java allerdings stark gewöhnungs- und verbesserungswürdig. Es stehen jedoch Erweiterungen und Plug-Ins zur Verfügung, um diesem Problem entgegenzuwirken. Vor allem für große und komplexe Projekte empfiehlt sich eine leistungsstärkere Entwicklungsumgebung, wie Cloud9 oder Sublime Text.

Sublime Text ist in seiner Urform ein Text-Editor. In Verbindung mit dem Plugin Mavens Mate wird daraus eine sehr mächtige Entwicklungsumgebung für Salesforce. Der Einstieg ist zeitintensiv: Es ist notwendig, sich durch mehrere XML-Dateien zu arbeiten, Pakete herunterzuladen, wobei die Konfiguration 90er-Jahre Charme hat. Nach diesem initialen Aufwand erwartet den Entwickler allerdings eine 1A-Entwicklungsumgebung, die toll aussieht, schnell reagiert und eine funktionierende Codevervollständigung vorweist. Das Speichern funktioniert auch in sehr großen Organisationen zuverlässig.

Da die Meta-Daten auf der eigenen Festplatte gespeichert werden, ist auch eine Integration in ein Repository mit GIT und Source Tree leicht eingerichtet. Mavens Mate und Sublime Text ist zunächst kostenfrei, nach einer Testphase wird eine einmalige Gebühr fällig.

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

Sie möchten noch mehr über die Apex Entwicklung allgemein oder einen Teilbereich im Speziellen erfahren? 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. Sie möchten sich eigenständig weiterbilden? In unserem kostenlosen E-Book zur Salesforce Entwicklung steckt das Know-how, das Sie suchen:

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.