Endinet Oracle Apps Een Portal voor APEX en Forms applicaties Spreker(s) : Datum : E-mail : Jacob Beeuwkes & Mark Verhagen 9 april 2013 info@transfer-solutions.com WWW.TRANSFER-SOLUTIONS.COM 1
Endinet Oracle Apps Een Portal voor APEX en Forms applicaties Jacob Beeuwkes Mark Verhagen Transfer Solutions Transfer Solutions 2
Even voorstellen... Jacob Beeuwkes Mark Verhagen 3
Outline Mark Endinet Endinet & Oracle De uitdaging Jacob Oplossing: Endinet Oracle Apps Uitleg features Forms-APEX koppeling Nieuwe uitdagingen 4 4
Endinet 5
De Energiemarkt Liberalisering (1998-2003) Splitsing: Leverancier - Netbeheerder Toezicht - Nederlandse Mededingings Autoriteit (NMA) Actueel: - Nieuw marktmodel - Centraal register - Slimme meters - 6 6
NRE Netbeheer GAS Netbeheer Elektriciteit Kabels en leidingen > 500.000 meters > 500.000 aansluitingen 7
Endinet & Oracle 8
Endinet & Oracle 1990: Oracle Database / Oracle Developer 2000: Designer / Headstart / CDM Ruleframe Business Rules in database lichte applicatie. Nieuwe functionaliteit bij voorkeur in APEX Omvang: - 7 Forms applicaties (3-120 modules) - 9 APEX applicaties (4-100 schermen) 9
Architectuur OTAP ontwikkelstraat Gebruiker Versies: Oracle Database 11g Apex 4.2.1.00.08 Applicatieserver OAS 10g Webserver Apache/Tomcat tas1 tws1 10 10
Oracle Applicaties Registers Klic Meldingen Fraude Beheer GEN BCM Bewakingscentrum Werkorder Registratie 11
Applicatie eigenschappen Generiek autorisatiemodel Bij elke applicatie aanmelden Elke applicatie eigen url http://tas01:7778/pls/confd46/f?p=oap:login Uniforme look-and-feel? Moeilijk te beheren 12
De Uitdaging 13
De Uitdaging Hoeveelheid applicatie windows Beheer url s Citrix portal (extern beheerd) Dubbele autorisatie (inloggen) Uniformiteit APEX applicaties Wat nu? 14
Endinet Oracle Apps De APEX oplossing 15
De inspiratie 16
Maar ook APEX zelf f?p=4000 f?p=4500 f?p=4800 f?p=4350 17 17
De oplossing Endinet Oracle Apps (OAP) 18
Architectuur Endinet Oracle Apps (OAP) is landingsapplicatie Inloggen in OAP toegang tot member applicaties KSR RIR OAP APEX Forms KSR RIR 19
Features (1/2) Centrale login Self-service: wachtwoord vergeten/wijzigen Applicaties met openbare pagina s 20 20
Features (2/2) Disabled applicaties OTAP aanduiding Onderhoudswindow Verder: Custom SSO APEX/Forms Toepassing autorisatie member applicaties 21 21
Uitleg features 22
Uitleg features 1. APEX authenticatie 2. APEX autorisatie 3. Iconenlijst APEX / Forms applicaties 4. Templates / lay-out 5. APEX-Forms koppeling 23 23
APEX authenticatie Wat? Toegang tot alle member applicaties via login pagina landingsapplicatie Authenticatie op basis van database users 24 24
APEX authenticatie Benodigd: Alle applicaties in dezelfde Workspace 1 landingsapplicatie n member applicaties DB user-authenticatie in APEX Zelfde cookie name in alle applicaties (Shared components > Authentication schemes > Edit) Oorspr. idee: apps2fusion.com Naslag: Oracle APEX Best Practices 25 25
APEX Session Cookie Wordt aangemaakt bij inloggen Session Cookie + Session record bepalen integriteit van sessie Worden gecontroleerd bij elk page request Cookie blijft bestaan zolang APEX sessie geldig is en browser geopend blijft 1 actieve APEX sessie per browser sessie Navigatie tussen applicaties &APP_SESSION. meenemen in url 26 26
Centrale login afdwingen (1/2) Bij inlogpoging member applicatie redirect naar landingsapplicatie PL/SQL proces On Load Before Header Login pagina van member applicatie bijna leeg PROCEDURE FORCE_CENTRAL_LOGIN IS l_redirect_url VARCHAR2(1000) := 'f?p=oap:login'; BEGIN htp.init(); owa_util.redirect_url(l_redirect_url); apex_application.stop_apex_engine; END; --OAP is alias of central login application --- Redirect to central login page --- Stop APEX engine processing 27 27
Centrale login afdwingen (2/2) Alternatief APEX 4.2 Login URL Opgeven in elke member applicatie Login pagina member applicatie niet meer nodig (Shared Components > User Interface Attributes) 28 28
Logout in member applicaties Logout moet redirect naar OAP zijn Post-Logout URL (Shared Components > Authentication schemes > Edit) Navigation Bar Entry target URL (Shared Components > Navigation Bar) 29 29
Uitleg features 1. APEX authenticatie 2. APEX autorisatie 3. Iconenlijst APEX / Forms applicaties 4. Templates / lay-out 5. APEX-Forms koppeling 30 30
Autorisatie in member applicaties Wat? Generieke controle op rechten voor alle pagina s Benodigd: View (users, rollen, applicaties, pagina s) Boolean functie Authorization scheme in APEX Toepassing Application authorization in APEX 31 31
Autorisatie uitlezen Matrix op basis van tabellen Rol - pagina voor applicatie KSR Pagina 1 Pagina 2 Pagina 3 KSR_OPDRACHTEN x KSR_BEHEER x x x KSR_FRAUDE x KSR_CENTRALIST x Gebruiker - rol KSR_OPDRACHTEN KSR_BEHEER KSR_FRAUDE KSR_CENTRALIST MVERHA x JBEEUW x x x RLEEND x PCOOLE x x 32 32
Authorization scheme Authorization scheme: HAS_PAGE_ACCESS (Shared components > Authorization schemes > Edit) 33 33
Application authorization instellen Autorisatie gecontroleerd bij elke page view Invullen security attributes op elke pagina niet meer nodig (Shared components > Security attributes) 34 34
Details oplossingen 1. APEX authenticatie 2. APEX autorisatie 3. Iconenlijst APEX / Forms applicaties 4. Templates / lay-out 5. APEX-Forms koppeling 35 35
Iconenlijst Wat? Overzicht met iconen APEX en Forms applicaties Sommige APEX applicaties hebben openbare pagina s 36
Iconenlijst Benodigd: View op tabel APPLICATIES List template: Horizontal Images with Label List Dynamic list regions (query) APEX-applicaties op Global page (P0) Forms-applicaties op P1 37
URL s APEX f?p=wrs:home:&app_session. Forms http://tas01:7778/forms/frmservlet?config=devport al&otherparams=apex_session=228918187250 38 38
Uitgrijzen applicaties Applicaties zonder rechten / in onderhoud krijgen class.greyed_out URL is: #disabled_link Dynamic Action on page load visueel effect 39 39
Details oplossingen 1. APEX authenticatie 2. APEX autorisatie 3. Iconenlijst APEX / Forms applicaties applicaties 4. Templates / lay-out 5. APEX-Forms koppeling 40 40
Templates / lay-out Wat? Uniforme lay-out alle applicaties Dynamische image paths OTAP Eén plek voor onderhoud 41 41
Subscription in APEX Master Hergebruik binnen Workspace OAP is Master applicatie Member apps hebben subscribed componenten Diverse componenten kunnen subscribed zijn: LOV s Authorization schemes Templates! Publish / Refresh Maak Quickstart applicatie Subscr. 1 Subscr. 2 Subscr. n 42 42
Templates / lay-out Benodigd: 1 Master applicatie & subscribed members Application Items (image paths) Subscribed page template: verwijzingen naar: APEX theme css/js OAP css/js Member applicatie css/js (Page template header) Tip: syntax highlighting / shortcuts: APEX Developer Addon (Peter Raganitsch) 43 43
Session state Application Items Nieuw in APEX 4.2: Global Item Session state beschikbaar voor alle applicaties met zelfde cookie Item alleen declareren in OAP, hergebruiken in member applicaties (Shared Components > Application Items) 44 44
OTAP aanduiding Subscribed Page template (body) Application process (on new instance) 45 45
Details oplossingen 1. APEX authenticatie 2. APEX autorisatie 3. Iconenlijst APEX / Forms applicaties 4. Templates / lay-out 5. APEX-Forms koppeling 46 46
APEX-Forms koppeling Wat? Navigatie vanuit APEX naar Forms Niet opnieuw inloggen 47 47
Aanroepen Forms Benodigd: APEX: URL met session in query Dynamic Action insert in SCRATCH tabel User en hashed wachtwoord APEX session id Forms opent met standaard user Check entry in SCRATCH tabel Re-connect forms sessie met sessie / user en unhashed password uit SCRATCH tabel 48
APEX Forms 49
Nieuwe uitdagingen 50
Nieuwe uitdagingen Oracle Access Manager integratie Ondersteuning meerdere DB Load balancing applicatieservers Sidebar menu met applicaties Meer gedetailleerde autorisatie (regions, items) 51
Conclusies 52
Behaalde resultaat Eenmaal inloggen Toegang tot APEX en Forms applicaties URL s in eigen beheer Uniforme APEX user-interface 53 53
Take home messages Endinet Oracle Apps heeft ons leven en dat van eindgebruiker makkelijker gemaakt Gebruik Session Cookie Attribute Gebruik subscribe/publish mogelijkheden APEX Doe hier je voordeel mee! 54 54
Referenties Jacob / Mark (jbeeuwkes@transfer-solutions.com) (mverhagen@transfer-solutions.com) Welkom op onze stand! Verder: http://apex.oracle.com/pls/apex/f?p=apex_develop ER_ADDON http://apps2fusion.com/at/64-kr/413-maintainingauthentication-between-apex-applications Boek: APEX Best Practices 55 55
V r a g e n A n t w o o r d e n CONSULTING MANAGED SERVICES EDUCATION WWW.TRANSFER-SOLUTIONS.COM 56 56