Feb 16, 2011

Άντληση πληροφοριών για το περιβάλλον εκτέλεσης μιας ADF εφαρμογής

Διάφορες, πολύ σημαντικές πληροφορίες σχετικά με το περιβάλλον εκτέλεσης (runtime) και το πλαίσιο (context) λειτουργίας μιας ADF εφαρμογής, βρίσκονται στην κλάση oracle.adf.share.ADFContext.
(το JavaDoc βρίσκεται εδώ) Σε αυτήν την κλάση θα βρούμε διάφορες μεθόδους που μπορούμε άμεσα να εκμεταλλευτούμε από τα ADF BC (Application Modules, View Objects, Entities), όπως για παράδειγμα:
  • getCurrent(): αντλεί το ADF Context για το ενεργό thread
  • isHttpContext(): μας δίνει την πληροφορία για το αν τα ADF components μας τρέχουν ως μέρος μιας web εφαρμογής
  • getSecurityContext(): ώστε να αντλήσουμε πληροφορία σχετικά με το περιβάλλον ασφάλειας της εφαρμογής (πχ. logged-in χρήστης, ρόλους και ομάδες στις οποίες ανήκει, κλπ)
  • getEnvironment(): σε περίπτωση που το περιβάλλον εκτέλεσης είναι μια web εφαρμογή, τότε αποκτούμε πρόσβαση στα request, session και response objects του servlet/faces runtime context από τα ADF business components. Αν και ακούγεται εξαιρετικά επικίνδυνο, άκομψο και εν γένει bad-practice, αυτή η κλήση μου φάνηκε εξαιρετικά χρήσιμη ώστε να γίνει initialize το workflow context του Oracle BPM, για τον logged-in χρήστη, αφού μπορεί να αρχικοποιηθεί με βάση ένα ενεργό web authenticated session.

No comments: