Herzlich willkommen auf dem Blog der exensio GmbH

exensio ist ein unabhängiges Software-Unternehmen von erfahrenen IT Beratern und Architekten. Zu unseren Kunden zählen namhafte deutsche Großunternehmen.

exensio verbessert das Kommunikations- und Informationsmanagement von Unternehmen. Auf Basis sinnvoller und zweckmäßiger Technologien erarbeiten wir flexible und übergreifende Lösungen für webbasierte Informationssysteme. Abhängig von den Kundenanforderungen realisieren wir Web Applikationen sowie Lösungen auf Basis von Web Content Management- und Portalsystemen. Integrativ, wirtschaftlich und anwenderfreundlich!

Hier gelangen Sie zur exensio GmbH.

Dienstag, 11. Mai 2010

Zurücksetzen des Administrator-Passworts für den WebLogic Server

Problem
Jeder ist wahrscheinlich schon einmal in die Situation geraten das Passwort für einen Account oder eine Applikation vergessen zu haben. Genau dieser Fall ist bei einem unserer Kunden aufgetreten. Niemand konnte sich mehr an das Administrator-Passwort für den WebLogic Server erinnern und auch das Ausprobieren der vermuteten Passwörter führte nicht zum Ziel. Was kann man hier tun?
Alle Anwesenden waren sich einig, dass es aus Sicherheitsgründen keine Möglichkeiten für das Zurücksetzen des Passwortes gibt.

Lösung
Da schon einige Zeit in das Anlegen und Anpassen der Domaine investiert wurde, wollte man sich aber auch nicht kampflos geschlagen geben. Nach etwas Recherche stellte sich heraus, dass es tatsächlich eine einfache Möglichkeit zum Zurücksetzen des Passwortes im Weblogic Server gibt. Hierfür sind folgende Schritte notwendig:
  • Sicherung der Datei DefaultAuthenticatorInit.ldift im Verzeichnis security der Domaine.
  • Öffnen einer Konsole und setzen der Umgebungs-Variablen für den Weblogic-Server durch Ausführen der Datei setDomainEnv.sh bzw. setDomainEnv.cmd.
  • Danach den folgenden abgebildeten Befehl in der Konsole ausführen:

  • Zu guter Letzt muss noch das Verzeichnis data unterhalb des Admin-Servers umbenannt werden. Es wird beim Serverstart wieder neu erstellt.
Das anschließende Hochfahren des Servers funktioniert problemlos. Der Reset erfolgte mit der WebLogic Server Version 11gR1. Ob dieser Trick auch für ältere Server-Versionen funktioniert ist auszuprobieren.

Fazit
Es existiert eine einfache Möglichkeit zum Zurücksetzen des Administrator Passworts für den WebLogic Server. Im Falle unseres Kunden ersparte dies einiges an Arbeit. Trotzdem darf die Frage gestellt werden, ob solch eine Möglichkeit auch sinnvoll ist?
Hat beispielsweise jemand böse Absichten und kommt durch eine Sicherheitslücke auf den physikalischen Server, dann ist es für diejenige Person unter Umständen auch relativ einfach den dort installierten WebLogic Server unter seine Kontrolle zu bekommen.

Sonntag, 9. Mai 2010

Klassifikation von Portal-Lösungen

Portal-Lösungen gibt es wie Sand am Meer. Jeder Hersteller hat mindestens eine Portal-Lösung im Portfolio und jede Web Applikation, die über ein Login verfügt, wird umgangssprachlich als Portal bezeichnet. Aber was ist eigentlich der Unterschied zwischen einem SAP Portal und Spiegel-Online?

Die Portal-Historie

Das Portal, wie wir es heute kennen, wurde ursprünglich von Yahoo entwickelt. Bedingt durch den immensen Anstieg von Informationen auf den Yahoo-Seiten, sah man sich gezwungen neue Wege zu beschreiten. Hierbei entstand eine der wichtigsten Portalfunktionalitäten, die Personalisierung. Mussten früher Yahoo-Nutzer beispielsweise ihre Wetter-Seite mühsam suchen, so konnte der Benutzer später Präferenzen setzen. Der erste Schritt, der stetig steigenden Informationsüberflutung Herr zu werden. Portale werden oft auch mit einem Flugzeug-Cockpit verglichen. So erhält ein Mitarbeiter alle wichtigen Informationen auf einen Blick und muss sich nicht erst in verschiedene Applikationen einloggen.

Klassifikation

Hilfreich ist hier eine Klassifikation des Portal-Markts, wie sie beispielsweise von der Gartner Group erstellt wurde. Die Gartner Group unterscheidet Portal-Lösungen folgendermaßen:

  • Framework-Portale, z.B. Oracle WebLogic Portal, IBM WebSphere Portal oder Liferay Portal
  • Applikations-Portale, z.B. SAP Enterprise Portal, Mircosoft Sharepoint Server, Siebel Portal (nun Oracle), Cognos Portal (nun IBM), SAS Information Delivery Portal, ….
  • Content-Portale, z.B. OpenText, Day, RedDot

Die meisten Angebote finden sich im Bereich der Applikations-Portale, sprich jeder Hersteller bezeichnet sein User-Interface als Portal – dies macht den Markt so unübersichtlich. Wofür eigenen sich nun die Portal-Lösungen am besten?

Framework-Portale

Diese verfügen über eine eigene Entwicklungsumgebung und bieten die meisten Freiheitsgrade für die Entwicklung an. Sie eignen sich besonders gut, um einen heterogenen Zoo von Backend-Systemen in ein Portal einzubinden. Nachteil ist hier, dass man alles selber entwickeln muss – was jedoch meistens durch eine sehr gute Entwicklungsumgebung stark vereinfacht wird.

Applikations-Portale

Diese können besonders einfach die Applikationen desselben Herstellers integrieren. Leider ist es nicht so einfach, eine heterogene Landschaft zu integrieren. Diese dienen meist als User-Interface zu den verschiedenen Applikationen. Wird innerhalb eines Unternehmens beispielsweise nur SAP eingesetzt, so kann hier schon das SAP Enterprise Portal ausreichen.

Content-Portale

Diese eignen sich besonders gut, um Content redaktionell verarbeiten zu können. Die Integration von Applikationen bzw. Prozessen über verschiedene Backend-Systeme ist mit Content-Portalen jedoch nicht so einfach. Aus diesem Grund wird hier meistens eine Integrationsschicht vor das Portal gehängt, die im eigentlichen Sinn die Funktionalitäten eines Framework-Portals abdeckt.

Fazit

Ich hoffe, dass mit Hilfe dieser Klassifizierung von Gartner das Einordnen der unterschiedlichen Lösungen etwas einfacher fällt. Eine pauschale Aussage, wofür man welches Portal nehmen soll, kann jedoch nicht getroffen werden.

Samstag, 1. Mai 2010

Übernehmen von Konfigurationen im WebLogic Portal durch Propagierung

Das Oracle WebLogic Portal bietet zahlreiche Konfigurationsmöglichkeiten über die Administrationskonsole. Neben der Erstellung des Streaming-Portals werden dort unter anderem auch Portlet-Eigenschaften, der Seitenaufbau des Portals oder auch Berechtigungen definiert. Des Weiteren wird das integrierte CMS-System hierüber administriert.

Bei Software-Projekten werden in der Regel mehrere Umgebungen für die Durchführung benötigt (z.B. Produktions-, Wartungs- und Test-Umgebung). Da es sehr aufwändig und auch fehleranfällig ist die ganzen Konfigurationen des Portals in jeder Umgebung von Neuem zu erstellen, stellt sich die Frage wie Einstellungen und CMS-Inhalte von Umgebung zu Umgebung übertragen werden können.

Die Lösung hierfür ist die Verwendung der in der Entwicklungsumgebung (Workshop bzw. OEPE) mitgelieferten Propagierungs-Werkzeuge. Die Funktionsweise der Propagierung ist ausführlich auf den Seiten zur Portal-Dokumentation beschrieben [1]. Neben der kompletten Übernahme von Konfigurationen bei Neuanlagen sind auch Merges möglich. Die folgende Grafik zeigt einen Ausschnitt einer Merge-Session.

Beispiel einer Merge-Session

Leider kann es vorkommen, dass in der Zielumgebung nicht alles aktualisiert wird, obwohl die Einträge in der Merge-Session, wie in obiger Grafik zu sehen, entsprechend für ein „Update“ markiert wurden. Da auch das mehrfache Durchführen der Propagierung nicht hilft bleibt nur der Griff in die Datenbank des Portals übrig.

Konkret ist dieses Problem bei unseren Projekten schon mehrfach beim Versuch der Aktualisierung des Benutzer-Profils (UUP) aufgetreten. In der entsprechenden XML-Datei für das Benutzerprofil können Attribute, wie bspw. Abteilung definiert werden. Wenn jetzt zwischen zwei Releases ein neues Attribut hinzukommt tritt genau der Fall der notwendigen Aktualisierung auf. Mit etwas Kenntnis im Portalschema findet man heraus, dass in der Tabelle DATA_SYNC_ITEM die komplette XML-Datei als BLOB-Wert abgespeichert wird. Durch Austausch des BLOB-Wertes mit der neuen XML-Datei ist das aktualisierte Benutzer-Profil auch auf der Zielumgebung zur Verfügung.

Differenz einer UUP-Datei zwischen Quell- und Zielsystem, die nicht übernommen wird

Referenzen:
[1] http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/prodOps/propTool.html