- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
DataAccessPlugin als public component mit Konfiguration
Werte Community,
ich stehe vor der folgenden Herausforderung. Ich mรถchte Daten, die extern รผber eine API bereitgestellt werden in FirstSpirit verfรผgbar machen und verwende dazu ein DataAccessPlugin. Um die Daten รผber die API abgreifen zu kรถnnen, verwenden wir einen API-Client, der konfigurierbar sein soll (Credentials, URL, etc.). Damit wir nicht in jedem Projekt, in dem wir das DAP einsetzen, die Konfiguration pflegen wollen, haben wir das DAP als public Komponente in der module.xml eingetragen und eine Configurable-Klasse bereitgestellt, รผber die sich das DAP (bzw. der API-Client) konfigurieren lรคsst.
Soweit so gut, aber wir kommen wir an diese Konfiguration heran, wenn ein Redakteur das DAP im SiteArchitekt nutzt und wรคhrend dieser Nutzung der API-Client auf Basis der in den Server-Eigenschaften (Konfiguration erfolgt global รผber die Modul-Konfiuration) hinterlegten Konfiguration erzeugt werden soll?! Geht das รผberhaupt?
Gibt es Best-Practices hierzu? Sollten man den API-Client evtl. als Service implementieren, den man sich รผber den ServiceBroker holt und im DAP nutzt? Kann man DAPs mit einer globalen Konfiguration bereitstellen?
Fรผr Rรผckmeldungen und Anregungen wรคre ich dankbar.
Freundliche Grรผรe
Carsten Noetzel
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Carsten,
wir nutzen DAP ebenfalls in verschiedenen Szenarien. Allgemein hat es sich aus meiner Sicht als gutes Design abgezeichnet, den Client zur Abfrage des externen Systems in einen Service auszulagern.
Wenn Du die Verbindung direkt aus dem DAP heraus erzeugst, dann fรผhrt das ja dazu, dass der jeweilige FirstSpirit-Client die Verbindung zum externen Server direkt aufbaut, dass also bspw. der jeweilige SiteArchitect mit dem externen Server eine Verbindung aufbaut. Auch im ContentCreator wรคre das dann so, dass diese Verbindung aus der entsprechenden Web-Application heraus aufgebaut wird. Das ist auch nicht optimal und kann auch, je nach Systemlandschaft, in manchen Konstellationen gar nicht erlaubt sein.
Auรerdem hast Du eben im Service noch die Mรถglichkeit Konfigurationen, Clienterzeugung und Caching zentral zu halten wenn Du das willst.
So wie ich Deine Frage verstanden habe ist das ja fรผr die Konfiguration der Fall, womit Deine Anforderung erfรผllt wรคre.
Schรถne Grรผรe
Stefan Brauneis
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Carsten,
wir nutzen DAP ebenfalls in verschiedenen Szenarien. Allgemein hat es sich aus meiner Sicht als gutes Design abgezeichnet, den Client zur Abfrage des externen Systems in einen Service auszulagern.
Wenn Du die Verbindung direkt aus dem DAP heraus erzeugst, dann fรผhrt das ja dazu, dass der jeweilige FirstSpirit-Client die Verbindung zum externen Server direkt aufbaut, dass also bspw. der jeweilige SiteArchitect mit dem externen Server eine Verbindung aufbaut. Auch im ContentCreator wรคre das dann so, dass diese Verbindung aus der entsprechenden Web-Application heraus aufgebaut wird. Das ist auch nicht optimal und kann auch, je nach Systemlandschaft, in manchen Konstellationen gar nicht erlaubt sein.
Auรerdem hast Du eben im Service noch die Mรถglichkeit Konfigurationen, Clienterzeugung und Caching zentral zu halten wenn Du das willst.
So wie ich Deine Frage verstanden habe ist das ja fรผr die Konfiguration der Fall, womit Deine Anforderung erfรผllt wรคre.
Schรถne Grรผรe
Stefan Brauneis
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
danke fรผr die Antwort. Ich dachte mir, dass es in diese Richtung gehen wรผrde. Ich habe mittlerweile einen Service implementiert รผber den ich Anfragen an die API stellen kann. Gibt es eine elegante Mรถglichkeit das Interface fรผr den Service irgendwie so exportieren und anderen Modulen zur Verfรผgung zu stellen, damit diese sich den Service รผber den ServiceBroker holen kรถnnen? Im Optimalfall mรถchte man ja nicht alles in einem Modul entwickeln, wie macht man also das Interface anderen Modulen bekannt?!
Freundliche Grรผรe
Carsten Noetzel

