Posts mit dem Label OER werden angezeigt. Alle Posts anzeigen
Posts mit dem Label OER werden angezeigt. Alle Posts anzeigen

Mittwoch, 9. Februar 2011

Oracle Enterprise Repository "User is locked out"

Es kann passieren, dass der User im OER gelockt wird. Beim Login bekommt er dann nur die Meldung "User is locked out" und kommt nicht über das Anmeldefenster hinaus. Wenn man noch andere User im System hat, kann man sich mit diesen einloggen und den Benutzer wieder freigeben. Hat man aber nur den Admin-User, z.B. nach einer frischen Installation, kommt man hier nicht weiter.
In diesem Fall kann man sich als Repository-Benutzer auf der Datenbank anmelden und den Benutzer mit dem folgenen Script entsperren:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
set serveroutput on
DECLARE
oeruserid integer;
BEGIN
select id into oeruserid from DEV_OER.ENTSECUSERS where username='&1';
update DEV_OER.ENTSECUSERS set ACTIVESTATUS=0 where USERNAME='&1';
dbms_output.put_line( CHR(13)||CHR(10)|| 'The ID of user ' || '&1' || ' is >>>' || oeruserid || '<<<' );
update DEV_OER.CMEEUSERS set ACTIVESTATUS=0 where ENTSECUSERID=oeruserid;
commit;
END;
/
exit

Zur Wiederverwendung kann der Aufruf in ein Shellscript, z.B. oerunlock.sh verpackt werden:

sqlplus / as sysdba @oerunlock.sql $1

Der Aufruf wäre dann mit mit zu entsperrenden User als Parameter, z.B.


./oerunlock.sh admin

Es kann sein, dass die Daten noch gecached sind. In dem Fall hilft es, den WLS durchzustarten. Danach sollte das Login wieder funktionieren.

--- UPDATE 16.6.2015 -----------------------------------------------

Mit Oracle Enterprise Repository 12c funktioniert dies nicht mehr, hier sind zusätzliche Schritte notwendig.

Zunächst müssen die Diag Pages freigeschaltet werden wie in der Dokumentation beschrieben.  In der setStartupEnv.sh muss hierzu der Parameter -DdiagPagesEnabled auf true gesetzt und der OER werden. Danach muss der Managed Server, auf dem das OER läuft, neu gestartet werden.
Danach lassen sich die beiden folgenden URL's aufrufen:

http://<hostname>:<port>/oer/cachediag/CacheClear?cacheName=com.flashline.enterprise.secureuser.SecUserFactory.secUsers


Die Zeile cache com.flashline.enterprise.secureuser.SecUserFactory.secUsers cleared zeigt an, dass der entsprechende Teil des Caches gelöscht wurde.

http://<hostname>:<port>/oer/cachediag/CacheDetail?cacheName=com.flashline.cmee.secureuser.CMEESecUserFactory.secUsers


Wenn hier noch der Eintrag für die id des betreffenden Accounts angezeigt wird, kann hier per Klick auf den clear Link der Cache-Eintrag gelöscht werden.

Danach sollte das Lock für den User aufgehoben und ein Login wieder möglich sein.

Donnerstag, 28. Oktober 2010

Workshop: Antrag auf neuen Webservice ins Repository stellen

Wenn der Designer eines Prozesses nun einen neuen Service benötigt, kann er grundsätzlich im Repository nachsehen ob er dort einen geeigneten Serivce findet. Allerdings muss der Prozessentwickler nicht zwingend auch ein SOA-Experte sein, so dass er mit der Menge der Assets im Repository möglicherweise nicht viel anzufangen weiß. Selbst wenn er einen grundsätzlich geeigneten Webservice findet, ist er möglicherweise nicht in der Lage zu bewerten ob ein Serivce wirklich für die Verwendung in seinem Prozess geeignet ist.
Eine Kommunikation zwischen den beteiligten Parteien ist hier Grundvoraussetzung, diese kann auch nicht durch ein Werkzeug ersetzt werden. Das Oracle Enterprise Repository kann den Prozess aber unterstützen und dafür sorgen, dass die Ergebnisse nutzbar und nachvollziehbar sind.

Hierzu soll der Prozessentwickler die Möglichkeit bekommen, im Enterprise Repository eine Anfrage nach einem benötigten Service zu hinterlegen. Diese wird abgebildet über einen neuen Asset-Typen 'Request for Webservice', der im Asset Editor angelegt werden kann.

Den Type Manager erreicht man aus dem Asset Editor über den Menüpunkt 'Actions|Manage Types'. Hier werden alle aktuellen Asset-Typen aufgeführt

Über File|New lässt sich ein neuer Service anlegen. Dieser soll hier 'Request for Service' heißen und wird von dem normalen Service abgeleitet.

Zurück im Type Manager lässt sich der 'Request for Service' weiter anpassen. Da er z.B. niemals in der UDDI-Registry auftauchen wird, lässt sich der Punkt auf 'None' setzen.  Über die Einstellmöglichkeiten zu Tabs und Elements lässt sich weiter konfigurieren, welche Attribute überhaupt im Asset Editor für den 'Request for Service' angezeigt werden sollen. Das OER lässt sich hier stark an die jeweiligen Bedürfnisse anpassen, aber für den Workshop soll erst einmal mit den Standardeinstellungen verfahren werden.
Die getätigten Einstellungen werden über den Menüpunkt File|Save dauerhaft gesichert.

Als nächstes wird ein Repository-Benutzer für den Prozessentwickler benötigt. Dieser kann im Repository Frontend unter 'Admin|Users|Create New' angelegt werden.

In diesem Dialog kann der User Peter Prozessbauer angelegt werden mit den Rollen businessAnalyst, projectAdministrator und projectArchitect. Die Rolle user ist standardmässig vorhanden. Mit 'Save' (runterscrollen) wird der Dialog beendet.

Analog dazu wird ein Projekt angelegt unter Projects|Create New.

Hier kann das HR-BPMN Projekt angelegt werden. Ein User muss als Project Leader eingetragen werden, den Dialog hierzu erreicht man über den Edit-Button rechts neben 'Users'.

Hier kann der neu angelegte User dem Projekt als Leiter zugewiesen werden. Über 'List All Users' bekommt man die Auflistung der User, hier kann der Anwender 'peter' ausgewählt und über den Doppelpfeil (>>) den 'Projekt Leaders' zugewiesen werden. Der Dialog wird ganz unten über 'OK' verlassen (ggf. scrollen), der Dialog für das Erstellen des Projekts wird ebenfalls unten über 'Save' geschlossen.
Jetzt kann Peter Prozessbauer seinen 'Request for Service' eintragen. Hierzu kann der Administrator ausgeloggt werden, oder alternativ ein zweiter Browser geöffnet werden.

Hier kann sich der neue Projektleiter anmelden.

Seinen Wunsch nach einem neuen Webservice kann er direkt auf der Startseite erfassen über den Link 'Submit an Asset'.

Hier kann der 'Request for Service' jetzt wie jedes andere Asset eingetragen werden. Wichtig ist nur die Auswahl des Type 'Request for Service'. In den Feldern 'Description' und ggf. 'Comments' kann der benötigte Service jetzt beschrieben werden. Die 'File Location URL' ist ein Pflichtfeld, hier kann z.B. die URL einer Feinspezifikation angegeben werden, die im lokalen DMS liegt. Der Link wird aber an dieser Stelle nicht automatisch überprüft, so dass hier auch ein Platzhalter eingegeben werden kann. Per Doppelklick kann dann noch das Projekt 'HR-BPMN Projekt' ausgewählt werden. Via 'Submit' wird der Dialog beendet. Es folgt eine Bestätigung und mit 'Close' wird der Dialog geschlossen.

Damit ist der Request für den Webservice im Repository abgelegt. Überprüfen lässt sich dies auf der Seite 'Assets' über die Suche. Hier wird als 'Type' der 'Request for Service' eingetragen und der 'Registration Status' sollte auf 'All Assets' stehen. Über den 'Search'-Button wird die Suche ausgeführt und rechts der Request für den 'Webservice für Informationen zu Urlaubstagen angezeigt'.

---> Nächster Schritt: Überarbeiteten Service im Repository hinterlegen

Dienstag, 5. Oktober 2010

JDeveloper Workshop Setup für BPMN und Enterprise Repository

Für den Handson-Workshop kann der JDeveloper sowohl innerhalb der VM, als auch im Gastsystem benutzt werden. Diese Beschreibung geht von einer Installation im Gastsystem aus, aber der JDeveloper in der VM verhält sich analog.
Für den Workshop benötigt werden die Plugins für SOA, BPM und das Enterprise Repository sowie die Server-Verbindungen zu Datenbank, Application Server und Repository.
Bei bestehender Internet-Verbindung und mit einem OTN-Account können die Plugins direkt aus dem JDeveloper heruntergeladen werden. Wichtig hierbei ist, die Proxy-Einstellungen zu beachten unter Tools|Preferences|Web Browser and Proxy.

Falls in diesem Dialog Änderungen vorgenommen werden, ist es wichtig den JDeveloper danach neu zu starten damit diese auch aktiviert werden.

Über den Menüpunkt Help|Check for Updates gelangt man in den entsprechenden Wizard. Hier 'Next' klicken.

Die korrekten Update-Center sind bereits voreingestellt. Die Workshop-Teilnehmer bekommen die Extensions mit den Kursunterlagen und können hier auch 'Install From Local File' auswählen (aktuell lassen sich die benötigten Jdeveloper-Erweiterungen auch manuell von OTN herunterladen).

Hier werden die folgenden Erweiterungen ausgewählt:
  • Oracle BPM Studio 11g
  • Oracle Enterprise Repository Adapter
  • Oracle Enterprise Repository Harvester
  • Oracle SOA Suite Composite Editor

Ein OTN-Account wird benötigt...

... und die neuen Erweiterungen werden angezeigt.

Ein Neustart ist notwendig.
Sind alle Erweiterungen installiert, können die Verbindungen eingetragen werden.

Über File|New|Database Tier lässt sich die neue Database Connection anlegen.

Hier werden die Verbindungsdaten eingegeben, über den 'Test Connection' Button lässt sich die Verbindung überprüfen.

Über View|Database|Database Navigator lässt sich die Verbindung im JDeveloper anzeigen.

Über View|Application Server Navigator gelangt man in die entsprechende Ansicht. Hier ist bereits der intgrierte WLS eingetragen. Auf Rechtsklick erscheint die Auswahl zum Anlegen einer neuen Verbindung.

Standalone Server ist bereits voreingestellt.

Jetzt wird der Name vergeben, z.B. SOABPM

Das Admin-Password wird benötigt (standardmässig 'welcome1', im Workshop 'Oracle123')

Hier sind die korrekten Zugangsdaten einzutragen. Für den Workshop sind dies oel5r5 als Hostname und bpm_domain als Weblogic Domain.

Wie gewohnt lässt sich die Verbindung hier testen und der Wizard mit Finish abschliessen.

Der Application Server wird daraufhin im Navigator angezeigt und kann jetzt aus dem JDeveloper genutzt werden.
Zum Abschluss wird noch die Verbindung zum Enterprise Repository benötigt.

Wiederum über File|New, dann über General|Connections kann die Oracle Enterprise Repository Connection ausgewählt werden.

Auch hier wieder die Parametereingabe (Password Oracle123) mit entsprechender Testmöglichkeit, die URL ist http://oel5r5:7101/oer.

Über View|Resource Palette können alle eingetragenen Verbindungen angezeigt werden.

Speicherzuteilung erhöhen

Für die Wizards der BPM-Extension benötigt der JDeveloper mehr Speicher, als für den reinen Java-Betrieb. Daher sollte ihm mehr RAM zugestanden werden, zu konfigurieren ist dies in der Datei (Windows)

d:\Oracle\Middleware\jdeveloper\jdev\bin\jdev.conf

Darin wird die Zeile mit dem Parameter AddVMOption  wie folgt geändert:

AddVMOption  -XX:MaxPermSize=512M

Nach einem Neustart steht dem JDeveloper dann auch das benötigte RAM zur Verfügung.


Damit ist das Basis-Setup für den Workshop abgeschlossen.

--> Nächster Schritt: BPMN Application und Project anlegen

Freitag, 1. Oktober 2010

SOA-BPM-Governance Handson-Workshop

Anfang nächstes Jahres werde ich zusammen mit meinem Kollegen Bernhard Fischer-Wasels vom SOA und Logistik Blog wieder eine Hands-On Workshop-Reihe in Deutschlands Norden durchführen. Geplant sind zunächst 3 Workshops in den Oracle Geschäftstellen in Hamburg, Hannover und Berlin. Weitere gerne auf Anfrage, bei ausreichend Nachfrage können auch Workshops in anderen Teilen Deutschlands angeboten werden.
Grundsätzlich geht es wieder um die Oracle SOA Suite, aber dieses Mal werden auch die Produkte Oracle BPM-Suite und Oracle Enterprise Repository berücksichtigt. Da die Installation der SOA-Suite bereits Bestandteil der letzten Workshop-Reihe war, bekommt jeder Teilnehmer ein VirtualBox-Image in dem die benötigte Software bereits vorinstalliert ist. Konkret handelt es sich um Oracle Enterprise Linux 5R5, Oracle DB 11.2, Weblogic Server 10.3.4, SOA Suite 11g PS3, BPM Suite, JDeveloper 11g sowie SQLDeveloper.
Die Anleitungen zu den einzelnen Übungen werde ich hier im BLOG veröffentlichen und mit dem Tag soa_bpm_gov_ws versehen, so dass hier immer der aktuelle Stand der Übungen zu finden ist. Teilweise handelt es sich um Wiederholungen von Anleitungen, die ich hier bereits gepostet habe. Da ich aber die gleichen Bezeicher wie im Workshop benutzen möchte, sind diese Anleitungen dann in leicht veränderter Form hier doppelt vorhanden. Die folgende Liste der Übungen wird mit dem Fertigwerden des Workshops aktualisiert.
  1. Einleitung
  2. Setup des VirtualBox Images
  3. JDeveloper Workshop Setup
  4. BPMN Application und Project anlegen
  5. BPMN Rollen & User anlegen
  6. BPMN fachliches Modell erstellen
  7. BPMN: Datenmodell erstellen
  8. BPMN: File-Adapter einbinden
  9. BPMN: Objekte mit dem Prozess verknüpfen
  10. BPMN: Benutzeroberflächen generieren
  11. BPMN: Deployment auf Weblogic Server
  12. BPMN: Prozess im Weblogic Server testen
  13. BPMN: Prozess-Simulation
  14. PL/SQL-Webservice erstellen, Datenbank vorbereiten
  15. PL/SQL-Webservice erstellen, Webservice generieren
  16. PL/SQL-Webservice erstellen, Datasource auf dem Weblogic Server einrichten
  17. PL/SQL-Webservice erstellen, Webservice deployen
  18. Webservice ins Enterprise Repository übernehmen
  19. Antrag auf neuen Webservice ins Repository stellen
  20. Überarbeiteten Service im Repository hinterlegen
  21. BPM-Suite und Oracle Enterprise Repository im Zusammenspiel
  22. Password expired beim Start der SOA-Suite?
Die Anmeldeseite für den Workshop ist zu finden unter http://apex.oracle.com/pls/apex/f?p=38040:1:4671628964056695.

Wir freuen uns auf Ihr Kommen!