Freitag, 23. November 2018

DOAG 2018 Konferenz in Nürnberg - ein paar Erkenntnisse von mir

Schon ist die DOAG 2018 Konferenz in Nürnberg wieder vorbei - 3 Tage voller Trubel und geballten Informationen rund um den großen roten Oracle-Riesen in Germany. Im Vorfeld hatte ich schon die für mich interessanten Vorträge, Themen und mögliche Gesprächspartner herausgefiltert. Meine 3 Top-Themen waren: Oracle Forms, Weblogic Server und DevOps.

Man merkt immer mehr, wie das Thema DevOps endlich bei Oracle ankommt. Gibt es doch schon die Datenbank im Docker Container, den Weblogic Server ebenfalls. Oracle Forms kann darin laufen und auch der Weblogic Server ist für Kubernetes zertifiziert.

Wie die letzten Jahre schon üblich, fand am Dienstag Abend wieder das Forms Community Meeting statt. Da wurde der Product Manager Michael Ferrante wieder zu Themen rund um Forms und Reports befragt.

Quelle: von Auraplayer
Die Erkenntnisse davon, aus den Vorträgen und persönlichen Gesprächen mit dem Product Manager reihe ich nun mal in Kurzform auf. Der Rest ist auf den offiziellen Folien zu finden. Alles was im Folgenden kommt, ist noch nicht offiziell (vergleiche Safe Harbor Statement von Oracle) und muss so nicht unbedingt eintreten.

  • Es ist möglich, dass es ein Reports 19 Release geben wird
  • Forms 19 ist ein Patch Release (also eigentlich ein 12.2.1.4.0) und kommt im Kalenderjahr 2019
  • Der Forms Standalone Launcher (FSAL) bekommt einige Neuerungen und Verbesserungen, unter anderem den Single Sign-On Support
  • Forms 20 wird wohl auch ein Patch Release
  • Forms wird wohl noch weit über 2030 hinaus leben, vergleiche Lebenszyklus der Oracle E-Business Suite
  • ein signifikantes neues Feature ist der Support von Forms im Developer Cloud Service
  • Forms 19+ soll Java 11 LTS unterstützen
Quelle: Oracle 
Quelle: Oracle

Weitere interessante Themen auf der DOAG waren:

  • Revival von utPLSQL mit 2 tollen Vorträgen
  • DevOps Vorträge rund um verschiedene Oracle Komponenten
  • APEX Neuerungen in 18.1 und forward
  • verschiedene Cloud Themen
  • und und und
Am Ende gingen die 3 Tage in Nürnberg wieder viel zu schnell vorbei. Das ist ja irgendwie immer so. Neben viel Austausch gab es einen Haufen an Informationen zu aktuellen Themen und Trends. Was nicht wirklich gut für Oracle ankam, waren die Ergebnisse einer Support Umfrage der DOAG zur Zufriedenheit mit dem Oracle-Support (siehe Link ). Tendenz: weiter sinkende Zufriedenheit, das sollte der Hersteller wirklich ernst nehmen.
Nun bleibt mir nur noch zu sagen: bis zur #DOAG2019 und früher.

Viele Grüße
Holger

Samstag, 20. Oktober 2018

Forms 12c und Gerüchte zur Cloud

Noch knapp 1 Monat ist es bis zur DOAG Hauptkonferenz in Nürnberg. Erwartet werden wieder mehr als 2000 Besucher bei der Veranstaltung.

Vorher ist noch kommende Woche die noch größere OOW in den USA. Dort und in Nürnberg gibt es wieder Vorträge zu Oracle Forms 12. Nach einigen Gerüchten kann man nichts Spektakuläres Neues erwarten, aber einige Gerüchte wurden vorher gestreut.

Es soll möglich sein, Forms mit dem Oracle Developer Cloud Service (DEVCS) in der Oracle Cloud laufen zu lassen. Und das vielleicht auch endlich mit dem nötigen Support vom Hersteller selbst. Dafür gibt es dieses Jahr auch nicht den üblichen jährlichen Forms 12 Patch und man konnte dafür das erste Mal etwas von Forms 19 hören.

Forms 19  mit Window Tile: ... Oracle Cloud @Quelle Michael Ferrante
Es bleibt spannend und ich hoffe, wir sehen uns in Nürnberg.

Nachtrag 26.10.2018 nach der OOW:
Die Katze ist aus dem Sack, die Folien von Michael sind online: Folgerung eine Kombination aus FADS (Oracle Forms Application Deployment Services) und dem DCS od. DevCS (Developer Cloud Service). Das FADS dafür vorgesehen war kam schon direkt bei der Vorstellung als Neuerung hervor.

Viele Grüße
Holger

Freitag, 11. Mai 2018

Forms 12c, Reports und Weblogic in Docker - diesmal mit Windows 10

Heute möchte ich meine Reihe mit der Oracle Middleware und Docker fortsetzen. Doch diesmal wähle ich Windows 10 Professional als Host aus, denn dafür ist Docker mittlerweile auch verfügbar.

Wichtig ist, nach der Installation von Docker im Menü auf die Linux Container zu wechseln, statt mit den Windows Containern zu arbeiten.


Wenn das kleine Walfisch-Icon (Docker) dann weiß ist und sich nicht mehr bewegt, ist Docker erfolgreich gestartet.





Zusätzlich kann man auch in der DOS-Box fragen, ob der Befehl docker nun verfügbar ist.


Am Anfang des Probierens habe ich mich gefragt, wie komme ich denn nun beim Weblogic Docker Images gebaut, welches normalerweise mit

sh buildDockerImage.sh -v 12.2.1.3 gestartet wird. Klassische Linux Befehle in einer Windows DOS-Box wie soll das gehen? Im Endeffekt gar nicht, denn ich habe die Docker Images von Linux exportiert und dann im Anschluß in Windows importiert. Das geht so:

## auf Linux:
docker save  -o /mnt/hgfs/D/formsreports12.2.1.3.tar localhost/oracle/myformsreports:12.2.1.3

## auf Windows:
docker load --input D:/formsreports12.2.1.3.tar
und ein docker images zeigt sie dann auch erfolgreich an.


Die nächste Transformation fand in den Environment-Variablen statt:
## auf Linux:
  export DC_ORCL_PORT=1521
  export DC_ORCL_OEM_PORT=5500
  export DC_ORCL_SID=frdb
  export DC_ORCL_PDB=frpdb
  export DC_ORCL_SYSPWD=Oracle12c
  export DC_ORCL_HOST=${DC_HOSTNAME}

## auf Windows:
 SET DC_DESIRED_HOSTNAME=myformsserver
 SET DC_ORCL_PORT=1521
 SET DC_ORCL_OEM_PORT=5500
 SET DC_ORCL_APEX_PORT=8080
 SET DC_ORCL_SID=ORCLCDB
 SET DC_ORCL_PDB=ORCLPDB1
 SET DC_ORCL_SYSPWD=oracle
 SET DC_ORCL_HOST=%DC_DESIRED_HOSTNAME%

zusätzlich habe ich mir einen festen Hostnamen ausgedacht, der auch in den Properties konfiguriert ist. In dem Zusammenhang sei gesagt, dass das Mounten von Volumes auf Windows mit dem späteren Docker Container nicht funktioniert hat, was sicherlich an irgendwelchen Rechten liegt. So werden also im Gegensatz zum Linux Host die späteren Domain-Informationen alle innerhalb des Docker Containers gespeichert. Dies ist natürlich vom Zugriff her nicht so komfortabel wie auf dem Linux Host, wo er Volume-Mount keine Probleme gemacht hat.

Im File für docker-compose habe ich auch einige Anpassungen vorgenommen, dort wird z.B. auch direkt der Hostname des neuen Containers auf den gewählten aus dem Properties-File gesetzt und ich habe noch einige weitere Environment-Variablen erzeugt, die später den Umgang mit der Domäne etwas vereinfachen.

Hier der Inhalt meines docker-compose Files:
version: "3.0"

services:
  #
  #  The Oracle DB Definition
  #
  frdb:
    image: oracle/database:12.1.0.2-ee
    network_mode: "bridge"
    ports:
      - "${DC_ORCL_PORT}:1521"
      - "${DC_ORCL_OEM_PORT}:5500"
      - "${DC_ORCL_APEX_PORT}:8080"
    environment:
      - ORACLE_SID=${DC_ORCL_SID}
      - ORACLE_PDB=${DC_ORCL_PDB}
      - ORACLE_PWD=${DC_ORCL_SYSPWD}
    container_name: frdb

  #
  #   The Forms & Reports Servers
  #   
  myfrfmw:
    image: ${DC_REGISTRY_FR}/oracle/${DC_FR_PREFIX}formsreports:${DC_FR_VERSION}
    hostname: ${DC_DESIRED_HOSTNAME}
    network_mode: "bridge"
    container_name: myfrfmw
    command: /bin/bash -c "sleep 5s; /opt/oracle/dockertools/crDomain.sh"
    ports:
      - "${DC_ADMINPORT}:${DC_ADMINPORT}"
      - "${DC_FORMS12C_MS_PORT}:${DC_FORMS12C_MS_PORT}"
      - "${DC_REPORTS12C_MS_PORT}:${DC_REPORTS12C_MS_PORT}"
      - "${DC_OHS_LISTENPORT}:${DC_OHS_LISTENPORT}"
      - "${DC_NM_PORT}:${DC_NM_PORT}"
    environment:
      - SCRIPT_HOME=${DC_SCRIPT_HOME}
      - INT_ORACLE_HOME=${DC_INT_ORACLE_HOME}
      - WL_HOME=${DC_WL_HOME}
      - WLST_HOME=${DC_WLST_HOME}
      - MW=${DC_MW}
      - DOMAIN_BASE=${DC_DOMAIN_BASE}
      - APPLICATION_BASE=${DC_APPLICATION_BASE}
      - APP_VZ=${DC_APP_VZ}
      - FORMS12C=${DC_FORMS12C}
      - FADS12C=${DC_FADS12C}
      - REPORTS12C=${DC_REPORTS12C}
      - WEBTIER12C=${DC_WEBTIER12C}
      - OHS_COMPONENTNAME=${DC_OHS_COMPONENTNAME}
      - OHS_LISTENPORT=${DC_OHS_LISTENPORT}
      - OHS_SSLPORT=${DC_OHS_SSLPORT}
      - TEMPLATE=${DC_TEMPLATE}
      - DOMAIN_NAME=${DC_DOMAIN_NAME}
      - AS_NAME=${DC_AS_NAME}
      - ADM_USER=${DC_ADM_USER}
      - ADM_PWD=${DC_ADM_PWD}
      - ADMINPORT=${DC_ADMINPORT}
      - ADMINPORTSSL=${DC_ADMINPORTSSL}
      - AS_HOST=${DC_AS_HOST}
      - FORMS_MS_NAME=${DC_FORMS_MS_NAME}
      - FORMS12C_MS_PORT=${DC_FORMS12C_MS_PORT}
      - REPORTS_MS_NAME=${DC_REPORTS_MS_NAME}
      - REPORTS12C_MS_PORT=${DC_REPORTS12C_MS_PORT}
      - REPORTS_IN_FORMS=${DC_REPORTS_IN_FORMS}
      - REP_SERVER=${DC_REP_SERVER}
      - REP_SERVER_NAME=${DC_REP_SERVER_NAME}
      - REP_TOOLS_NAME=${DC_REP_TOOLS_NAME}     
      - NM_LISTENADDRESS=${DC_NM_LISTENADDRESS}
      - NM_TYPE=${DC_NM_TYPE}
      - NM_PORT=${DC_NM_PORT}
      - NM_USERNAME=${DC_NM_USERNAME}
      - NM_PWD=${DC_NM_PWD}
      - DBUSER=${DC_DBUSER}
      - DBPWD=${DC_DBPWD}
      - DBROLE=${DC_DBROLE}
      - COMPONENTPWD=${DC_COMPONENTPWD}
      - SCHEMA_PREFIX=${DC_SCHEMA_PREFIX}
      - DB_HOST=${DC_DB_HOST}
      - DB_PORT=${DC_DB_PORT}
      - DB_SERVICE=${DC_DB_SERVICE}
      - DB_OMF=${DC_DB_OMF}
      - DB_USER_PW=${DC_DB_USER_PW}
      - PWDFILE=${DC_PWDFILE}
      - TNS_ADMIN=${DC_DOMAIN_BASE}/${DC_DOMAIN_NAME}/config/fmwconfig
      - FORMS_INSTANCE=${DC_DOMAIN_BASE}/${DC_DOMAIN_NAME}/config/fmwconfig/components/FORMS/instances/forms1/bin  
      - FORMS_WEBCFG=${DC_DOMAIN_BASE}/${DC_DOMAIN_NAME}/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_12.2.1/config
      - DOMAIN_DIR=${DC_DOMAIN_BASE}/${DC_DOMAIN_NAME}
      - DOMAIN_DIR_BIN=${DC_DOMAIN_BASE}/${DC_DOMAIN_NAME}/bin  
      - NLS_LANG=AMERICAN_AMERICA.AL32UTF8      
      - FORMS_WEBUTIL=${DC_DOMAIN_BASE}/${DC_DOMAIN_NAME}/config/fmwconfig/components/FORMS/instances/forms1/server   

Gestartet wird zunächst wieder einmal die Datenbank-Instanz, die als Repository dienen soll und im Anschluß dann der Weblogic-Server, der zunächst automatisch die Forms/Reports-Domäne erzeugt.

docker-compose -f myfrfmw-docker-compose.yml up -d myfrfmw
docker logs myfrfmw -f

Alles in allem nicht wirklich schwer das Prozedere und mit etwas Transfer-Arbeit verbunden. Natürlich gut und hilfreich, dass Docker den Ex- und Import von Images anbietet; auch plattformübergreifend.

Bis bald
Holger

Dienstag, 1. Mai 2018

Form Builder aus Docker auf Windows Host öffnen

Im letzten Post habe ich beschrieben, wie man Forms und Reports per Docker auf einem Linux Host installiert. Dies habe ich mittlerweile auch auf einem Windows Host gemacht, auf dem dann auch Docker installiert ist. Docker läuft momentan nur auf Windows-basierten System mit Windows Server und Windows 10.

Möchte man nun den Form Builder aus diesem Docker Container zum Laufen bringen, ist das nicht ganz so einfach und wird mit einer Fehlermeldung quittiert.


Es ist einfach noch kein X-Window-Server eingerichtet. Dafür habe ich auf dem Windows Host dann den XMing Server installiert, der dafür bestens geeignet ist.

Ebenfalls ist es nötig, dass der X-Server auch benutzt werden darf, sprich das sich Clients auch connecten können. Daher hat mein Windows auf noch eine Cywgin Installation bekommen.

In Cygwin setze ich die DISPLAY Variable wie folgt und gestatte per Xhost den Connect.


Ist dies erledigt, kann es im Docker Container weitergehen. Dort setze ich auch die DISPLAY Variable entsprechend und dann geht der Start des Form Builder auch schon.


Recht einfach, wenn man weiß wie das alles zusammenspielen muß. Anstelle das xhost Befehls kann man das sicher noch optimieren.

Als nächstes folgt hoffentlich bald die Beschreibung der Docker Einrichtung mit Forms/Reports auf Windows.

Bis bald
Holger

Dienstag, 13. Februar 2018

verlängerter Lifetime Support für Forms 12c nun bis 2022

Gestern Abend kam per Twitter eine hoffnungsvolle Botschaft von Oracle in Form von Product Manager Michael Ferrante:

verlängerter Lifetime Support für die Fusion Middleware 12.2, insbesondere Forms 12c nun bis 2022 statt 2020. Extended Support sogar bis 2025, auch gültig für Reports 12c.


Quelle: Oracle

Also noch etwas mehr Zeit um hoffentlich noch spannende und zukunftsträchtige Features zu implementieren.