Oracle EBS og WebCenter Hvordan lage brukervennlig grensesnitt mot EBS - Håvard Kristiansen, Konsulent, Bouvet ASA - Are Bjørn Pedersen, Systemansvarlig, Nemko AS
Kort om Bouvet ASA Et konsulentselskap med virksomhet i Norge og Sverige Leverer utviklings- og rådgivningstjenester innen informasjonsteknologi Ca 450 ansatte Gjennomsnittsalder: 37 år Gjennomsnittlig erfaring: 12 år Andel høyskole-/universitetsutdanning: >95% 9 kontorer i Norge og Sverige Lokal forankring av hvert prosjekt, men utnyttelse av kompetanse på tvers av selskapet Notert på Oslo Axess under tickeren ’BOUVET’
Disclaimer (eller kort om Håvard) ”Vi skjønner sjelden hva han prater om, antagelig et resultat av mye kaffe og lite dagslys. Vi er faktisk ganske sikre på at han finner på mesteparten selv, uten at det nødvendigvis har rot i virkeligheten.” - Bouvet
Kort om Nemko-gruppen Etablert 1933 for verifisering av elektrisk sikkerhet Privat stiftelse fra 1991 Tilbyr test- og sertifiseringstjenester nasjonalt og internasjonalt for global markedstilgang Tjenestene inkluderer elektriske produkter og maskiner samt system- og personsertifisering +500 ansatte i 15 selskaper i 11 land verden rundt
Nemko-gruppen felles IT-system eBbusiness Suite som felles ERP system for alle selskapene Financials, Order Management og Field Service benyttes i hovedarbeidsflyten Oracle Portal, WEBCenter, Content DB
Automatic task distribution NEX Project Workflow Customer Customer handling Order Management Technical Assistants Automatic task distribution Tasks Field Service Project Handlers Task handling DocStore Document exchange Extranet
Data for certificates and reports Items can generate 0, 1 or 2 tasks Sales Order Data for certificates and reports Items can generate 0, 1 or 2 tasks
Service Task Handling in Form JTFKMAN Task list can be long and wide Data spread and hidden
Hovedkrav til nytt brukergrenssnitt Raskere adgang til funksjoner og data; ”færre klikk” Skjermbilde og funksjoner gjenkjennbare Flere linjer og kolonner synlige Kunne velge og prossessere flere tasker ad gangen Endre data rett i skjermbildet; klipp og lim Mer relevante søkemuligheter Bedre oversikt over nødvendige data
Valg av løsning Forms på vei ut, kan ikke endre tilstrekkelig Passe inn i driftsmiljøet Kompatibel med Oracle Portal; Single Sign On Fremtidsrettet; mulige utvidelser Webcenter innkjøpt ifb med annet prosjekt og med tanke på web-relaterte applikasjoner Webcenter fremsto som riktig til å utvikle bruker-grensesnitt og web-baserte applikasjoner fremover
Prosjektgjennomføring Scrum (agil metodikk) Fem sprinter Sprint 0: ”Taking down risk” Sprint 1-3: Implementere funksjonalitet i prioritert rekkefølge Sprint 4: Test, feilretting og leveranse
Demonstrasjon
Teknisk infrastruktur Oracle Database med EBS Oracle DB 9.2.0.8 Oracle EBS 11.5.10.2 Oracle Appserver med OID (Single Sign-On) Oracle Application Server 10.1.4.0.1 Oracle Appserver med WebCenter Oracle Application Server 10.1.3.3.0 Oracle Content Database 10.1.3.2
Arkitektur programvare OIM Oracle DB EBS OAS EBS OAS WC Oracle Content DB
Arkitektur applikasjon Custom schema OC4J JSF ADF Faces ADF BC (BC4J) APPS-schema AJAX
Arkitektur applikasjon Henting av data Alle data hentes via views i eget skjema Views er enten laget som subset av EBS views, eller en sammensetning av eksisterende EBS views Forretningslogikk Manipulasjon av EBS data skjer gjennom egenprogrammert databasepakke Data manipuleres gjennom dokumenterte EBS API
Debugging Klassiker: System.out.println Enkelt og greit under utvikling Lage egen Run Configuration i Jdeveloper Opprettes under ViewController properties Launch Settings: -Djbo.debugoutput=adflogger -Djbo.adflogger.level=FINE Gir SQL-statements med mer Database Opprette logg-prosedyre som er enkel å bruke Bruke autonome transaksjoner
Erfaring med utvikling i ADF ”Real life applications” er vanskeligere enn tutorials Flervalgsliste i avansert søk Sekundære kriterier ved sortering Autocomplete er ikke standard komponent i ADF ”Multi row update” Nedtrekksliste med ulike verdier per rad Ikke støtte for å åpne dynamisk url i nytt vindu
Erfaring med utvikling i ADF Raskt oppe med første versjon av skjermbildet Både visning og delvis oppdatering var relativt enkelt å få til Gjør det enklere å kommunisere med kunder Mye ”gratis” funksjonalitet Sortering, søk, etc. Enkelt å bruke eksisterende GUI-komponenter JDeveloper gir god støtte med ”drag’n’drop” Vesentlig enklere enn tradisjonell JSP programmering
Implementere design i ADF Overstyre default ADF-stiler (adf-faces-config) Overstyres med CSS CSS må skrives på 3.0 format Browsere støtter ikke 3.0 format (ennå) ADF Faces har eget skin default Overstyring av skin medfører arv fra ”Basic Skin” Implementere endringer Bør gjøres i JDeveloper Noe triksing for å gjenspeile siste endringer
Produksjonserfaringer med ADF Brukere opplevde at data ble oppdatert på feil ordre Default web.xml (generert av JDeveloper), gir sammenblanding av tråder på serversiden, det kan da oppstå en miks av sesjonsdata Kan oppstå hvis to brukere jobber mot samme (modale) skjermbilde samtidig Fant ingen dokumentasjon om denne feilen Applikasjonen ble tatt ut av produksjon mens feilsøkingen pågikk Løst ved å omstrukturere innholdet i web.xml Har ikke fått rapporter om feil siden rettelsen ble satt i produksjon
Kort om alternativer til ADF Apex HTML/JS, PL/SQL-basert, lever i databasen Forms Java Applet, PL/SQL-basert, lever på iAS Integrerte løsninger Forms kan både styre og styres av HTML/JavaScript Fungerer både med Apex og ADF (finnes allerede 3. parts kommersielt produkt for dette i ADF)
Implementasjon Kjørte uttesting i en mindre brukergruppe Demo for alle brukerne Enkel brukerguide Finland; kun brukerguide Ingen problemer med utrulling så langt; intuitivt forståelig Ruller ut Tyskland og Italia nå, så USA, Canada og Asia.
Traff vi målet? Ja Sjeldent mye skryt for løsningen; veldig fornøyde brukere og ledere Raskere tilgang direkte fra Intranet poulært Enkelt å ta i bruk; krever ikke opplæring Mer data og korrekte data blir lagt inn fordi det er enklere og raskere enn før Bedre søk og bedre oversikt over tasker
Mulige forbedringer i en oppgradering Få ønsker om endringer så langt Fast header ved scrolling mest ønsket Dynamiske kolonner, mulig å skjule kolonner
Oppsummering – Bouvet WebCenter er godt tilpasset prosjektform med iterasjoner (agil metodikk) Man kommer langt med default funksjonalitet, men det er HØY terskel for å bygge ikke standard funksjonalitet
Q&A