Oracle Gebruikersclub Holland
VISIE
t * from a, b a.c1 = b.c1 .c1 = ‘x’ Najaar 2010 • Jaargang 15 • Nummer 2 • h 7,50
APEX APEX helaas helaas gratis gratis BPEL BPEL in in een een BPM-wereld BPM-wereld Verslag Verslag tweede tweede OGh OGh DBA-dag DBA-dag Oracle en de cloud
Programma OGh 2010-2011 In elk kalenderjaar ontplooit de OGh de volgende activiteiten*: • Het organiseren van een viertal Special Interest Group dagen • Het houden van elf themabijeenkomsten • Het driemaal uitbrengen van de OGh Visie • Het houden van SIG-bijeenkomsten Special Interest Group dagen Miniseminars voor 100-150 deelnemers In 2010 zijn de volgende SIG-dagen gehouden: • APEX-dag, 30 maart • Fusion Middleware/SOA-dag, 19 mei • DBA-dag, 14 september De Spatial-dag wordt op 25 november a.s. gehouden, in samenwerking met Oracle Nederland. Tijdens een SIG-dag geven externe experts en leden van de OGh in een miniseminar presentaties over hun ervaringen en dragen ze kennis over aan de toehoorders. Het doel van de dag is kennisuitwisseling en netwerken. De dit jaar gehouden APEX-dag, de Fusion Middleware/SOA-dag en recent de tweede DBA-dag bewijzen met hun hoge opkomst en een goede waardering dat hieraan veel behoefte bestaat bij de leden, Vandaar dat er voor 2011 weer vier-
maal een Special Interest Group dag (miniseminar) op de agenda staat. De APEX-dag wordt in maart gehouden, de Fusion Middleware-dag is gepland in mei en de derde DBA-dag zal eind september/begin oktober plaatsvinden. De Spatial-dag wordt evenals dit jaar in november gehouden. Themabijeenkomsten Voor 2010 zijn staan nog de themabijeenkomsten op de agenda op 12 oktober, 17 november en 23 december. De agenda voor 2011 wordt later dit jaar vastgesteld en gepubliceerd op de OGh website en in OGh Visie. De themabijeenkomsten worden gehouden in de Morse zaal bij Oracle in De Meern. De verdeling van de thema’s is als volgt: • 4 maal een database-gerelateerd onderwerp • 3 maal een Fusion Middleware-gerelateerd onderwerp • 2 maal een Business Intelligence-gerelateerd onderwerp • 2 maal een algemeen Oracle-gerelateerd onderwerp Het programma en informatie over de OGh bijeenkomsten is te vinden op www.ogh.nl. *data onder voorbehoud
Ordina heeft de grootste Oracle practice in Nederland en is partner van Oracle. Om voorop te blijven lopen in ontwikkelingen binnen verschillende markten zoals Finance, Public, Zorg en Industrie worden de vaardigheden van onze specialisten voortdurend aangescherpt. Bijvoorbeeld door actief deel te nemen aan Masterclasses of participatie in Special Interest Groups.
ORDINA ZOEKT ERVAREN ORACLE SPECIALISTEN
Professionele samenwerking met onze klanten vinden we belangrijk. Niet alleen bij implementaties van application suites zoals eBS, Siebel en JDEdwards. Maar ook bij de ontwikkeling van maatwerk met behulp van Jdeveloper, Designer en Forms. Bij Ordina krijg je de ruimte om je te ontwikkelen. Door praktijkervaring, coaching en certificering. Of je nou Consultant, Developer of DBA bent. Wil jij onderdeel uitmaken van een team professionals op het gebied van Oracle? Kijk dan direct op www.werkenbijordina.nl.
Voorwoord
VISIE
Geachte lezer, De tweede OGh DBA-dag was opnieuw een zeer succesvol evenement. Met 110 aanwezige DBA’s en 11 sessies (2 plenair en 3 x 3 parallel) was het een drukte van belang. Tevens hadden we 2 sponsors waarvan 1 met een stand. Het volgende event is een Spatial dag. Zodra daar meer over bekend is, zullen we u langs de gebruikelijke weg daarover informeren.
Colofon Redactie
Hans Gerritse (hoofdredacteur) Learco Brizzi (Itium BV) Frits Hoogland (VX Company) Michiel Jonkers (USG People) Milan Uitentuis (Atlis Informatiesystemen) E
[email protected]
Redactieadres/ secretariaat OGh/ advertentie-exploitatie Oracle Gebruikersclub Holland Postbus 701 3700 AS Zeist T + 3130 69 97 065 F + 3130 69 62 378 E
[email protected]
Realisatie
Drukkerij Donath B.V., Zeist E
[email protected]
Organisatie/ OGh Secretariaat/ advertentie-exploitatie Guusje van der Weijden BMO b.v, Zeist T +313069097070 F +31 30 6962378 E
[email protected]
Gebruikersbijeenkomsten/ congressen Onderwerpen/ Werving sprekers Theo Koster Conclusion Communiation, Utrecht E
[email protected]
Een vooraankondiging vindt u elders in dit nummer. Het doet het bestuur goed dat onze mini events naast de themabijeenkomsten goed bezocht en goed gewaardeerd worden. We hebben dan ook besloten om de ingeslagen weg voort te zetten en zullen ook in 2011 weer 4 mini events organiseren. In het vorige nummer heb ik al de aankondiging van de algemene ledenvergadering mede langs elektronische weg gedaan. Inmiddels zijn de statuten door de notaris aangepast en is dit nu formeel mogelijk. Mocht u de statuten willen lezen, dan kunt u deze vinden op www. ogh.nl. Leden die niet in de gelegenheid zijn de vergadering bij te wonen, kunnen vooraf via elektronische weg stemmen over de voorstellen tot besluitvorming. In de ALV zullen dan vervolgens, op basis van de ontvangen reacties en stemming van de wel aanwezige leden, rechtsgeldige
besluiten kunnen worden genomen. De uitnodiging om deel te nemen aan de ALV zullen alle contactpersonen digitaal ontvangen en de stukken zullen op het besloten gedeelte van de site worden opgenomen. Het nieuwe toehoorderlidmaatschap voor studenten en ZZP’ers begint nu ook uit de verf te komen. Op dit moment zijn het er al 22. Voor wie het nog niet gedaan heeft: Sluit je aan bij de OGh-group op LinkedIn. De OGh is er voor de leden. Dus heeft u ideeën, suggesties, wensen, vragen of wilt u een steentje bijdragen? Laat het ons weten! Als u uw stem laat horen, zullen wij luisteren. Tot ziens op een van de OGh-bijeenkomsten. Robin Buitenhuis Voorzitter OGh
Bestuur OGh
Robin Buitenhuis (voorzitter) Ciber Nederland BV E
[email protected] Ise Douwes (penningmeester) Quobell bv E
[email protected] Milan Uitentuis (secretaris) Atlis Informatiesystemen E
[email protected] Learco Brizzi Itium B.V. E
[email protected] Yung Fu Itude Technology E
[email protected] Erik Hogervorst Axis Into ICT E
[email protected] Jaime Conejo Verheijden Creetion E
[email protected] Oplage 6.500 OGh Visie is een uitgave van Oracle Gebruikersclub Holland en wordt verzonden aan al haar leden en Oracle geïnteresseerden. U kunt zich aanmelden voor een gratis abonnement via de website www.ogh.nl
© 2010 OGh
Inhoud Voorwoord door Robin Buitenhuis
3
Ook Oracle omarmt nu de cloud
4
Samenwerking OGh en Oracle Business Club
5
Cloud computing en Oracle door Frits Hoogland
6
Oracle introduceert Exalogic Elastic Cloud
7
Column – APEX helaas gratis door Learco Brizzi
8
Geslaagde OGh Fusion Middleware-dag krijgt volgend jaar zeker een vervolg
9
BPEL in een BPM-wereld door Martien van den Akker
11
Proactief monitoring en beheer van Oracle Fusion Middleware door Denis Joanides
14
WebLogic vs Oracle AS (OC4J) door Edwin Biemond
17
Database performance tuning en troubleshooting door Gerard Uiterwaal
18
Oracle Locator and Oracle Spatial 11g Best Practices door Han Wammes
23
Oracle Spatial dag 25 november: ‘Spatial and IT aligned’
25
Verslag tweede DBA-dag
26
Eerste ervaringen met Oracle BI 11g R1 door Philip Brand
30
Oracle en cloud computing
Ondanks afkeer CEO Larry Ellison van ‘cloud computing-hype’
Ook Oracle omarmt nu de cloud Eind vorig jaar nog veegde Oracle topman Larry Ellison tijdens een aandeelhoudersvergadering de vloer aan met Salesforce.com en met name het cloud computing bedrijfsmodel dat de Oracle concurrent hanteert. “Salesforce. com is nergens zonder Oracle-power onder de motorkap”. Ook bij andere gelegenheden liet de Oracle CEO regelmatig zijn afkeer blijken van cloud computing en de waarde die het begrip cloud inmiddels heeft gekregen. Bij Oracle zelf werd dan ook alleen binnens-kamers over de cloud gerept, temeer omdat Ellison zelf hardnekkig bleef vasthouden aan de term grid computing – de ‘g’ in de laatste versienamen. In dat licht is het op z’n minst opmerkelijk dat Oracle vrij plotseling een flinke ommezwaai lijkt te hebben gemaakt en de eerder zo gewraakte cloud nu stevig omarmt. Er is zelfs een grootscheepse roadshow opgetuigd om de klanten wereldwijd te informeren over de cloudplannen en strategie van Oracle. In kort bestek komen de cloudplannen er op neer dat Oracle zowel Software-asa-Service (SaaS, of On Demand in Oracle-terminologie), Platform-as-a-Service (PaaS) en Infrastructure-as-a-Service (IaaS) levert voor publieke clouds en private clouds. Oracle verwacht dat ondernemingen zich ontwikkelen naar cloud computing, waarbij een mix ontstaat van private clouds met een gedeelde infrastructuur of gedeelde services. Oracle levert hiervoor een uitgebreide set van bouwstenen op basis van grid computing in alle lagen van dit platform, met value-added componenten zoals SOA, BPM, Identity Management en gebruikersinteractie. Door de overname van Sun kan Oracle een complete stack van producten leveren voor een open en geïntegreerd Cloud Platform, van opslagmedia en servers, besturingssysteem en virtualisatielaag tot aan databases, middleware en applicaties, met Oracle Enterprise Manager als overkoepelende beheerlaag. Overigens is in de Oracle cloudplannen geen plaats meer voor de Sun Cloud. Sun’s alternatief voor de succesvolle Amazon EC2 clouddienst is na de overname stopgezet, maar Oracle gaat wel investeren in Sun hardware en de integratie van hardware en software.
applicaties, waaronder Siebel CRM, in de vorm van services met flexibele gebruiksmodellen. Voor ISV’s (Independant Software Vendors) en service providers die SaaS, PaaS en IaaS service leveren, biedt Oracle volgens Baker een compleet, open en geïntegreerd cloud platform met de hoogste niveaus van performance, schaalbaarheid, betrouwbaarheid, beschikbaarheid en beveiliging. Ondernemingen die publieke clouds inzetten beschikken met Oracle Fusion Middleware over integratiefaciliteiten waarmee het eenvoudig is een scheiding te maken tussen voorwaardelijk en openbaar gebruik van cloud services.
Definitie “A style of computing where scalable and elastic IT-enabled capabilities are delivered as a service to customers using Internet Technologies”. Zo luidt de definitie van cloud computing die marktonderzoekbureau Gartner hanteert. Volgens Philip Dawson van Gartner zal de cloud SOA services laten integreren in algemene IT. Private cloud computing is daarbij de eerste stap naar cloud computing. De service-ownership en servicetoegang bepalen daarbij of een service publiek of privaat is, maar veel services zullen daar een mengvorm van zijn. Dawson gaf CIO’s en operationele ITmedewerkers het advies mee om nu te gaan experimenteren met de cloud
Publieke clouds Klanten kunnen Oracle producten tegenwoordig ook inzetten voor publieke clouds als Amazon en andere service providers, vertelde Chris Baker, Senior Vice President bij Oracle EMEA tijdens de roadshow. Verder biedt Oracle On Demand een verzameling enterprise
4 OGh Visie
Nu Oracle een forse ommezwaai heeft gemaakt richting de cloud rijst de vraag of de volgende release van de database nu ook Oracle 12c zal gaan heten.
Oracle en cloud computing (en daarbij te ontdekken waar het al plaatsvindt binnen de organisatie). Hij adviseert organisaties in de eerste drie maanden virtualisatie te gebruiken als katalysator voor modernisatie van de IT (technologie, proces, mens) en hun services in kaart te brengen (inventarisatie, SLA’s, kosten). Ook zouden organisaties een strategie moeten ontwikkelen voor private clouds en services, en moeten ontdekken welke nieuwe mogelijkheden voor de onderneming ontstaan door cloud computing. De volgende twaalf maanden zouden organisaties in de visie van Gartner moeten besteden aan het ontwikkelen van een algehele cloud computing-strategie en het opbouwen van een dynamische sourcing-organisatie. Gartner-onderzoeker Chris Dawson kon nog niet direct synergievoordelen
ontdekken van de overname van Sun (of fusie, zoals beide partijen het noemen). Martin de Jong van Sun Microsystems ziet die synergievoordelen al wel, zo gaf hij in zijn keynote aan. Sun voegt volgens hem naast opslagmedia en servers ook cloudtechnologie toe aan Oracle, in de vorm van de geïntegreerde beveiligingstechnologie van Solaris (‘The Cloud Operating System)’en virtualisatie (desktop, server en storage). Binnen de cloud is nog steeds infrastructuur nodig en die bood Sun al aan in samenwerking met Oracle. Volgens Sun is die samenwerking door de fusie ‘alleen wat intensiever geworden’.
Virtualisatie Oracle Technology Sales Consultant John Abrahams legde tijdens de road-
show uit hoe virtualisatie cloud computing ondersteunt. Virtualisatie maakt cloud computing beter beheersbaar en economischer, doordat IT resources niet meer gebonden zijn aan een vast gebruiksdoel. De software draait dus onafhankelijk van de fysieke hardware. Server virtualisatie en clustering zijn de belangrijkste technologieën voor de cloud, want die maken naast resource pooling ook flexibele schaalbaarheid en snelle deployment mogelijk. De Oracle VM Server Virtualization software is daarbij de virtualisatie-oplossing voor zowel Oracle- als niet-Oracle applicaties, aldus Abrahams. Ook hij benadrukte dat (alleen) Oracle – samen met Sun -complete, geïntegreerde oplossingen biedt, die fysieke, virtuele en cloud omgevingen ondersteunen.
Samenwerking Oracle Gebruikersclub Holland en Oracle Business Club Deze zomer hebben vertegenwoordigers van de besturen van de OBC en OGh gesproken over het bundelen van de krachten. De Oracle Gebruikersclub Holland (OGh) is een vereniging van in Nederland gevestigde Oracle gebruikers, partners en ZZP’ers. De OGh is onafhankelijk van softwareleverancier Oracle en heeft als doelstelling het bevorderen van een effectief en efficiënt gebruik van de Oracle technologieproducten. Dit onder andere door de uitwisseling van informatie tussen de leden middels themasessies, minicongressen, het faciliteren van Special interest Groups en het uitgeven van een eigen lijfblad OGh Visie. Op dit moment heeft OGh ongeveer 300 leden. De Oracle Business Club (OBC) is een netwerkorganisatie voor ICT bedrijven met een focus op Oracle. Het doel is kleine en grote bedrijven een gelegenheid te bieden een gericht maar zeer efficiënt netwerk op te bouwen om geza-
menlijk de markt verder te ontwikkelen en kansen te creëren. Hiertoe organiseert de OBC regelmatig business meetings. Bij de OBC zijn ongeveer 45 leden aangesloten. Beide verenigingen werken uiteraard nauw samen met Oracle en hechten daarbij tegelijkertijd een groot belang aan onafhankelijkheid van Oracle. Beide verenigingen hebben vorig jaar besloten niet op te gaan in de Oracle Benelux User Group. De besturen van beide verenigingen zien voordelen in een verdergaande samenwerking en mogelijk samengaan van OGh en OBC: • Synergie voordelen door het delen van de back-office • Door samengaan ontstaat een grotere en krachtigere vereniging met een onafhankelijke positie ten opzichte van Oracle • Een groter potentieel publiek voor de technische sessies en congressen van de OGh en een groter bereik voor de business meetings van OBC.
Het plan is het komende jaar te benutten om intensief nog als twee aparte verenigingen te gaan samenwerken o.a. door het deelnemen in elkaars besturen en een mogelijke fusie per 1 jaar 2012 voor te bereiden. Beide besturen zullen op korte termijn hiertoe voorstellen aan hun leden voorleggen en toestemming daarvoor vragen. Via OGh Visie zult u uiteraard op de hoogte gehouden worden van de uitkomst en voortgang. Leden die nu van de ene vereniging lid zijn en ook willen participeren aan de bijeenkomsten van de andere vereniging kunnen uiteraard nu al lid worden van beide verenigingen en volgens de nu opgestelde plannen profiteren zij voor 2011 dan van een korting van 50 euro op de gezamenlijke contributies.
OGh Visie
5
Cloud computing en Oracle
Officiële definitie ontbreekt nog, belangrijkste eigenschappen op een rij gezet
Cloud computing en Oracle Verwarrend. Dat is in mijn optiek de stellingname van Oracle tegenover ‘Cloud Computing’, en met name de mening van Oracle’s CEO Larry Ellison. “We doen geen cloud computing” en “als dat cloud computing is, dan doen we het al minstens 10 jaar.” Maar Oracle’s cloud computing strategie (die als PDF op het internet te vinden is) impliceert toch duidelijk dat Oracle zich wel degelijk met cloud computing bezighoudt.
Door Frits Hoogland Wat is Cloud computing nu eigenlijk? Een duidelijke definitie is belangrijk, want daarmee praat iedereen over hetzelfde. En dat is ook waar de verwarring begint: er is geen officiële, eenduidige definitie van cloud computing. Natuurlijk bestaan er legio definities: • Wikipedia: ‘Cloud Computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.’ • Gartner: ‘A style of computing in which massively scalable IT-related capabilities are provided ‘as a service’ using Internet technologies to multiple external customers.’ Maar zoals duidelijk wordt zijn deze definities niet gelijk. Dat betekent dat elke zichzelf respecterende IT-leverancier de definitie dusdanig kan ombuigen en oprekken dat een gedeelte van zijn eigen portfolio daar binnen valt, om zo te kunnen profiteren van de ‘cloud hype’. Hiermee is alleen de verwarring aangegeven en niet wat cloud computing nu feitelijk is. Door het ontbreken van een officiële definitie kan ik alleen aangeven wat de belangrijkste eigenschappen van cloud computing zijn: • Mogelijkheid tot ‘on-demand computing’, wat betekent dat ‘computing resources’ snel toegevoegd of verwijderd kunnen worden. Veelal via een API. • Gebruik van ‘computing resources’ via een netwerk. • De gebruiker van de computing resources kan deze inzetten zonder specifieke kennis van de onderliggende technische implementatie van het aanleveren van de computing resource. • Beheer van computing resources via
6 OGh Visie
HTTP/HTTPS. Een aantal eigenschappen die doelbewust niet in het bovenstaande rijtje zijn gezet: - Snel en eenvoudig de beschikking hebben over computing resources. - Efficiency: veel ‘computing resources’ gebruiken maar een klein deel van de aan hen toegewezen CPU’s. Door deze te delen wordt efficiënter gebruik gemaakt van de onderliggende hardware. Dit zijn namelijk eigenschappen van virtualisatie, niet van cloud computing. Natuurlijk maakt (voor zover mij bekend) iedere cloud-leverancier gebruik van virtualisatie, maar het is theoretisch prima mogelijk cloud-faciliteiten te bieden zonder virtualisatie.
Computing resource In dit artikel wordt consequent de term ‘computing resource’ gebruikt. Cloud computing kent een aantal ‘lagen’ waarin het cloud-aanbod verschilt. Dit betekent dat per laag de gebruiker iets anders geleverd krijgt: IaaS: Infrastucture-as-a-Service. Hierbij wordt een besturings systeem beschikbaar gesteld. Voorbeeld: Amazon EC2 PaaS: Platform-as-a-Service. Hierbij wordt een webapplicatie-stack beschikbaar gesteld. Dit kan ook nog afgeleide diensten bevatten zoals onder andere versiebeheer. Voorbeeld: Google App engine. SaaS: Software-as-a-Service. Hierbij wordt een webapplicatie beschikbaar gesteld. Voorbeeld: Google Mail. Gelukkig wordt deze terminologie wel eendrachtig gehanteerd door de bekende cloud-leveranciers.
Cloud computing en Oracle Oracle heeft in 2008 tijdens Oracle OpenWorld cloud computing geïntroduceerd
voor haar producten. Dit heeft geresulteerd in: • Een Cloud Computing Center op Oracle’s TechNet. • Amazon EC2 als (enige) ondersteunde cloud-provider. • Images van Oracle met Oracle producten beschikbaar in EC2. • Een uitbreiding op de Recovery Manager om van Amazon’s Cloud Storage (S3) gebruik te maken als back-upmedium. Het gebruik van Amazon is gehouden aan de karakteristieken van Amazon EC2. Dit betekent dat bij het opstarten van een virtual machine de disk image van een opgeslagen virtual machine-template worden gekopieerd (vanuit Amazon S3, Amazon’s virtual storage). Wijzigingen op de disk tijdens het gebruik van de virtual machine worden niet opgeslagen in de template. Als de virtual machine wordt afgesloten (door middel van de Amazon tools) en daarna een nieuwe virtual machine wordt opgestart met dezelfde template, wordt de disk image wederom gekopieerd. De Amazon virtual machine van Oracle met de Oracle database werkt dan ook doordat de database wordt gecreëerd aan de hand van de specificaties die worden gevraagd bij de eerste maal dat er aangelogd wordt na het opstarten. Als de virtual machine wordt afgesloten, is de database verdwenen. Dit geldt ook voor de andere virtual machines die Oracle beschikbaar heeft gemaakt voor andere producten: opstarten, configureren na aanloggen en alle gegevens zijn verdwenen na het afsluiten. Op basis van de hierboven beschreven zaken zou het nutteloos zijn een database in Amazon’s cloud te gebruiken. Zodra een machine afgesloten wordt is alles weg, terwijl je met een database toch dingen wilt opslaan, in de meeste gevallen permanent of in ieder geval tot je zelf besluit de boel weg te gooien, niet totdat de machine uit-
Cloud computing en Oracle gezet wordt. Is dan de conclusie dat het niet nuttig is wanneer je data permanent wilt opslaan?
Elastic Block Storage Het antwoord is neen. Een andere uitbreiding van het Amazon cloud computingportfolio is EBS, Elastic Block Storage. Dit is storage die de opgeslagen data permanent bewaart, totdat de gebruiker er van er voor kiest de data weg te gooien, of om de EBS middels de Amazon tools te verwijderen. Deze storage kan aangeboden worden aan één systeem, dus niet als gedeelde disk voor Oracle Real Application Clusters) en wordt zichtbaar als een blockdevice. Een EBS blockdevice kan echter pas aangekoppeld worden nadat een virtual machine gestart is, het blockdevice moet namelijk met het unieke nummer van de virtual machine instance opgegeven krijgen. Dit betekent dus dat (handmatig) na het opstarten van een virtual machine de permanente of ‘EBS’ storage aangekoppeld moet worden, of, zoals in het cloud computing forum van Oracle geadviseerd wordt, door middel van een Amazon virtual machine die als functie heeft de uiteindelijke instance in de gaten te houden en in voorkomend geval de EBS storage te koppelen. (een zogenaamde ‘marshalling instance’).
Oracle CEO Larry Ellison
Conclusie Cloud computing werkt. In mijn optiek is cloud computing op dit moment nog niet ‘af’ voor het gebruik van producten die permanente opslag vereisen, of waarvan wij zelf willen dat er zaken permanent opgeslagen worden. Immers, niemand zal voor een systeem met een Oracle database waarmee je klanten wilt bedienen de niet permanente opslag willen gebruiken. Het
gebruik van Amazon’s permanente storage (‘EBS’) vereist interactie tijdens het starten. Is cloud computing dan nutteloos? Dat nu ook weer niet. Cloud computing werkt natuurlijk nu al prima voor het proberen van de database of andere producten van Oracle die aangeboden worden. Ook kan ik mij voorstellen dat voor testen waarbij de database deel uitmaakt van het te testen geheel cloud computing voordelen kan bieden. Daarnaast zou je gebruik kunnen maken van software op de virtual machine om zichzelf te laten configureren na het opstarten. Dit zal voor sommigen wat bijzonder klinken, maar het is goed mogelijk een systeem zichzelf te laten configureren door middel van configuratie software als ‘cfengine’ of ‘puppet’. Dit biedt dan (onder andere) weer de mogelijkheid zelf de permanente storage te koppelen, en/of om andere public key’s te kopiëren voor andere accounts dan root... en dit zijn slechts enkele voorbeelden. Frits Hoogland is principal consultant bij VX Company en lid van de redactie van OGh Visie. Hij is onlangs benoemd tot Oracle ACE Director en is toegetreden tot The Oaktable Network, een wereldwijd netwerk van Oracle-specialisten.
Eerste geïntegreerde middleware machine
Oracle introduceert Exalogic Elastic Cloud Oracle CEO Larry Ellison heeft tijdens Oracle OpenWorld 2010 ‘s werelds eerste geïntegreerde middleware machine aangekondigd. De Oracle Exalogic Elastic Cloud is een geïntegreerd hardware- en softwaresysteem geoptimaliseerd om de beste prestaties uit Java en non-Java applicaties te halen. De machine heeft een complete cloud applicatie-infrastructuur die de grootste range aan Java en nonJava applicaties overkoepelt. Voortbouwend op het platform van de Exadata Database Machine beschikt de Oracle Exalogic Elastic Cloud over 64-bit x86 processors, een op InfiniBand gebaseerde I/O structuur en solid state storage met de Oracle WebLogic Server, verschillende enterprise Java Oracle middlewareproducten en een keuze uit Oracle Solaris en Oracle Linux besturingssysteemsoftware. De software is geoptimaliseerd om de I/O structuur in de Oracle Exalogic
Elastic Cloud machine ten volle te benutten om 10x betere prestaties te leveren dan een standaard applicatieserver-configuratie, aldus Oracle.
de machine geoptimaliseerd voor de integratie met Oracle Database 11g, Oracle Real Application Clusters en de Oracle Exadata Database Machine.
Grootschalige toepassingen
Java prestaties
De Oracle Exalogic Elastic Cloud is gericht op grootschalige, bedrijfskritische toepassingen. De machine biedt de fundering voor enterprise class multi-tenancy of cloud-toepassingen. De middleware machine ondersteunt duizenden applicaties met verschillende eisen voor beveiliging, betrouwbaarheid en prestaties, waardoor het geschikt is als platform om bedrijfsbrede datacenterconsolidatie door te voeren. Oracle Exalogic Elastic Cloud versnelt de prestaties van het volledige Oracle Fusion Middleware portfolio en vergroot de slagkracht van applicaties die draaien op Oracle WebLogic Server met Oracle Linux dan wel Oracle Solaris 11. Daarnaast is
In interne testen van Oracle bood Oracle Exalogic Elastic Cloud een twaalfvoudige versnelling van internetapplicaties, met meer dan een miljoen HTTP-requests per seconde. Voor Java-gebaseerde communicatietoepassingen betekende het een 4,5 keer snellere verwerking, tot 1,8 miljoen berichten per seconde. “Oracle Exalogic Elastic Cloud is een compleet systeem van servers, netwerktechnologie, storage, VM, besturingssysteem en middleware volledig op elkaar afgestemd”, aldus Oracle CEO Larry Ellison. “Dit levert indrukwekkende resultaten op, waaronder de snelste Java prestatie, flexibele capaciteit on demand en een volledig fouttolerant systeem.” OGh Visie
7
Column
Column
OGh Visie verwelkomt Learco Brizzi als columnist. Learco is oprichter van Itium BV, dat zich inmiddels hoofdzakelijk toelegt op APEX. Zijn enthousiasme voor APEX uit Learco in zijn presentaties, trainingen, artikelen en bijdragen aan de Oracle community. Als bestuurslid van de OGh heeft hij in maart de goed bezochte Oracle APEX-dag georganiseerd. Learco is recent benoemd tot Oracle ACE en maakt sinds begin dit jaar deel uit van de redactie van OGh Visie.
APEX helaas gratis Met versie 4.0 geeft Oracle aan APEX serieus te nemen, maar er is nog veel meer mogelijk. Oracle zou daarom best nog wat meer tijd en aandacht aan APEX kunnen besteden als aantrekkelijk – en gratis – alternatief voor Java.
De technieken die de basis vormden voor de APEX-producten waren de OWA packages en MOD PL/SQL voor Apache. De kern van deze technieken lag in het feit dat via een URL in de browser een procedure in de database kan worden aangeroepen. Deze procedure kan dan weer een tekst string (HTML) ‘terugprinten’ naar de browser. Diverse Oracle producten hebben de afgelopen jaren gebruik gemaakt van deze technieken: • Designer, waarmee webmodules (packages) konden worden gegenereerd. • WebDB dat ook packages genereerde en waarmee rudimentaire schermen en rapporten konden worden gemaakt. • Portal dat de WebDB functionaliteit in zich opnam. • HTMLDB was de eerste serieuze tool die veel meer mogelijkheden bood dan de voorgaande tools op het gebied van het genereren van schermen, rapporten, autorisatie en authenticatie, deployment, herbruikbare objecten etc. HTMLDB genereert geen packages, maar is een repository van waaruit runtime de HTML gegenereerd wordt. • Application Express (APEX) is de nieuwe naam van HTMLDB.
Versie 4.0 Met versie 4.0 geeft Oracle duidelijk aan dat het ze menens is met de (door-)ontwikkeling van APEX. Dat blijkt uit de veelvuldig geüpdate ‘statements of direction’. Door de vele features (zowel voor programmeurs als eindgebruikers) is APEX volwassen geworden en sluit de tool helemaal aan op het huidige Web 2.0 en AJAX tijdperk door gebruikmaking van zogenaamde Dynamic Actions. Omdat PL/SQL door Oracle ook verder wordt doorontwikkeld, worden de mogelijkheden van APEX impliciet uitgebreider. Ook een belangrijke vernieuwing is de plug-in structuur. Het is nu mogelijk om herbruikbare componenten te bouwen en deze te delen met de ontwikkelaargemeenschap (zie bijvoorbeeld www. apex-plugin.com). APEX is zeer laagdrempelig. Het is een declaratieve tool en werkt hoofdzakelijk met wizards. Op redelijk eenvoudige wijze kunnen programmeurs met voor velen reeds vertrouwde technieken, zoals PL/SQL, snel gelikte internettoepassingen maken, zonder direct met Java of iets dergelijks aan de gang te moeten gaan.
8 OGh Visie
Organisaties die al met Oracle werken, denken bij het starten van een internetproject vaak in eerste instantie aan Java. Het is altijd weer een mooi moment als ze inzien dat APEX voor hen een veel aantrekkelijker alternatief vormt. Dat APEX steeds meer mensen weet te bekoren, blijkt ook uit de opkomst op evenementen (ODTUG, OGh APEX-dag), trainingen en op internetfora. Steeds vaker wordt APEX toegepast in bedrijfkritische projecten bij grote bedrijven. Banken, verzekeringsmaatschappijen, Philips, RIVM et cetera, eigenlijk overal waar van oudsher Oracle werd gebruikt. APEX kan ook gemakkelijk worden ingezet bij het MKB en leent zich daarnaast prima om te worden gehost of om als SaaS-oplossing te worden ingezet. Ook binnen Oracle zelf wordt APEX veel gebruikt. Zie o.a. shop.oracle.com en www. asktom.com.
Gratis? Ik heb dan ook de overtuiging dat APEX een steeds belangrijker alternatief zal zijn tussen de huidige tools. Oracle zou de aandacht best wel wat beter kunnen verdelen tussen Java en APEX. Wellicht druist dat in tegen het ingeslagen pad en strategie van Oracle, maar APEX is een zeer aantrekkelijk alternatief voor Java. Het wordt daarom tijd dat APEX een betaald product wordt, om op die manier de sales (en marketing) van Oracle meer in beweging te krijgen voor APEX. Een gevolg zou dan kunnen zijn dat er met meer mankracht aan de ontwikkeling van APEX zal worden gewerkt. Dat zou het allemaal nog mooier kunnen maken.
OGh Fusion Middleware/SOA dag
Geslaagde OGh Fusion Middleware/SOA-dag krijgt volgend jaar zeker een vervolg Na de eerdere succesvolle OGh DBA-dag en APEX-dag organiseerde de OGh in mei voor de eerste maal de Fusion Middleware/SOA-dag. Gezien de verheugende opkomst en de hoge waardering van de deelnemers zal ook deze OGh Special Interest Group dag zeker een vervolg krijgen in het komende jaar. De OGh Fusion Middleware/SOA-dag werd gehouden in de sfeervolle locatie het Oude Tolhuys in Utrecht. De bijeenkomst werd bezocht door ruim 100 OGh-leden, die het interessante en afwisselende programma en de sprekers bijzonder positief beoordeelden. Na het welkomstwoord van OGh-voorzitter Robin Buitenhuis gaf Evelyn Gerritsen van Oracle een overzicht van de componenten in de Oracle Fusion Middleware stack en de samenhang daartussen. Aansluitend werd de keynote verzorgd door Frits Bussemaker, voorzitter en oprichter van het BPM-Forum Nederland. Bussemaker stond voor de lastige taak om de bekende analist en BPM-goeroe Bruce Silver te vervangen, die zijn optreden als gastspreker op het laatste moment moest afzeggen wegens familieomstandigheden.
Frits Bussemaker: “BPM – an inconvenient truth”.
BPM – an inconvenient truth
Uitstekende opmaat
Verslag Jaime Conejo Verheijden Bussemaker werkt als zelfstandig adviseur en coacht organisaties op het gebied van samenwerking. Hij werkt al meer dan twintig jaar in de ICT-industrie, onder meer bij Logica, Cambridge Technology Partners en Ordina, met verantwoordelijkheid voor marketing en allianties. Vanuit de visie “laten we waarde organiseren” heeft hij aan de basis gestaan van diverse succesvolle communities. In 2003 was hij de oprichter van het BPMForum, waarvan hij nu voorzitter is. Op de OGh Fusion Middleware-dag mocht Bussemaker het spits afbijten met een goed onderbouwde en interactieve presentatie met de prikkelende titel: ‘BPM – an inconvenient truth’. Zit de markt wel op BPM te wachten? Welke opvattingen hebben bedrijven/mensen bij de term BPM? En wordt Business Process Management wel juist toegepast en heeft het de gewenste uitwerking?
Op voorhand had Bussemaker geen gemakkelijke start: Hoewel hij zelf ook bepaald geen nieuwkomer is op het gebied van BPM blijft het lastig om als niet-technische spreker een BPM-expert van het kaliber Bruce Silver te vervangen. Hoe dan ook is het Bussemaker uitstekend gelukt om zijn gehoor te boeien en te verwonderen over de opstanding, de mogelijke gevaren of wellicht toekomstige ondergang van BPM. In een betoog over de zoveelste afkorting die ons ICT-wereldje kent wist Bussemaker precies aan te geven waar het in Business Process Management nu om gaat: “Efficiënte communicatie en bewustwording van de geïmplementeerde processen“. Met gevatte voorbeelden over niet nader te omschrijven telecomgiganten of kabelmaatschappijen wist hij meerdere malen een discussie te ontlokken met de deelnemers, waardoor zijn (interactieve) presentatie een uit-
stekende opmaat vormde van een geslaagde BPM/SOA-dag. Kunnen we het ons permitteren om de klant op te zadelen met slecht ingeklede en afgestemde communicatiepunten? Verliezen we hierdoor marktaandeel?
Stap vooruit Een van de zwaktes volgens Bussemaker is dat automatiseringsprogramma’s als ERP en CRM zich te veel richten op één onderdeel van een bedrijf of organisatie. Hierdoor gaan deze programma’s voorbij aan het feit dat de waardeketen, het end-to-end proces binnen organisaties, over meerdere afdelingen en disciplines heen gaat. Vanuit dit perspectief is de aandacht voor processen en BPM zeker een stap vooruit. ”De tweede zwakte is dat automatiseringstools, waaronder nu ook nog BPM, te weinig inspelen op het menselijke aspect in een organisatie. En dat terwijl 85 procent van alle OGh Visie
9
OGh Fusion Middleware/SOA dag
bedrijfsprocessen gebaseerd is op menselijk handelen. Het is echt nodig dat dit gegeven in de aangeboden advies- en ICT-oplossingen meer aandacht krijgt.” Een combinatie van deze twee zwaktes is dat er onvoldoende afstemming en samenwerking is tussen mensen van verschillende afdelingen. Bussemaker benadrukt dat dit niet alleen de schuld is van de automatiseerders. “Bij veel organisatiedivisies en -afdelingen is eenvoudigweg geen bewustzijn aanwezig dat ze onderdeel zijn van een proces dat door het hele bedrijf heen gaat. Het is belangrijk dat dit bewustzijn wordt bijgebracht en dat je inzet op het organiseren van samenwerking.”
Niet meer de hoofdrol Business Process Management gaat over alle disciplines van een bedrijf heen en kan niet succesvol worden toegepast als we niet een enorm draagvlak creëren om echt kritisch te kijken naar de huidige processen en het nut van deze processen, stelde Bussemaker. “Daarnaast veranderen processen met de tijd, daar kan niemand omheen. Neem het voorbeeld van het huiswerk maken door onze kinderen. Daar waar we eerst ons huiswerk alleen op onze kamer maakten en daarna in groepjes toetsten, zien we nu onze kinderen via Skype/MSN/etc. meetings plannen en gelijk in groepsverband alle taken verdelen en opsplitsen. Het proces van huiswerk maken is compleet veranderd en de techniek is meegegaan. Niet andersom! Waar het in BPM eerst ging over technische oplossingen, gaat het in de toekomst over disciplines, waarin uiteraard de software een rol speelt maar niet meer de hoofdrol. Een van de kernvragen die we onszelf na het beluisteren van deze presentatie moeten stellen: Zijn we ons bewust van de processen die we in ons dagelijks werk hebben geïmplementeerd en beoefenen we deze efficiënt? Volgens onderzoek is 80% van de organisaties zich bewust van de processen,waarbij van die 80% er slechts 10% is geïmplementeerd. Bussemaker stelde daarentegen dat 80% van de organisaties zich inderdaad bewust is van de processen, maar dat deze 100% geïmplementeerd zijn! Al met al gaf deze keynote voldoende stof tot bezinning en discussie.
Paralleltrack - SOA Het programma van de OGh Fusion Middleware/SOA-dag na de openingskeynote
10 OGh Visie
was onderverdeeld in drie paralleltracks, met als thema’s SOA, BPM en Technology. In de SOA-track werd uitgebreid ingegaan op de Oracle Service Bus en werd getoond hoe SOA in de praktijk is in te zetten bij organisaties. In de sessie Oracle Service Bus meets Database lichtte Peter Ebell van Amis toe dat de voornaamste taak van een Enterprise Service Bus (ESB) het samenbrengen van alle individuele webservices binnen (en buiten) het ICT landschap achter één loket is. Met de Oracle Service Bus (OSB) biedt Oracle een krachtige en flexibele oplossing op dit gebied. Enige tijd geleden is OSB uitgebreid met de SOA Suite Adapters - generieke ’wrappers’ die allerlei IT resources zoals ftp servers, queues en natuurlijk ook databases, kunnen ontsluiten als webservice. Hiermee wordt een nieuw soort toepassing van de OSB mogelijk: het opzetten van een webservicelaag bovenop bijvoorbeeld een Oracle database. Oracle ACE Lonneke Dikmans van Approach Alliance liet in haar presentatie zien hoe de gemeente Rotterdam, net als veel andere gemeenten, haar dienstverlening heeft ingericht conform de NORA (Nederlandse Overheid Referentie Architectuur) en de GEMMA (GEMeentelijke Model Architectuur). Eén van de basisprincipes van de NORA is serviceoriëntatie. Rotterdam hanteert het principe ‘just in time, just enough architecture’ en is gestart met serviceoriëntatie in twee grote programma’s: WABO en het programma Dienstverlening. Hierbij zijn verschillende technieken gebruikt, waaronder de Oracle SOA Suite10g. In de presentatie werden de ervaringen met serviceoriëntatie en de SOA Suite van de gemeente Rotterdam belicht vanuit het perspectief van architectuur, projecten en beheer.
BPM In de BPM-track werd ingegaan op de toepassing van BPM in de praktijk en op de positie die BPEL inneemt in het BPM-spectrum. In de sessie BPEL in een BPM-wereld ging Martien van den Akker van Darwin-IT na een inleiding over de theorie en de geschiedenis in op de praktijk van BPEL. In een artikel elders in dit nummer wordt dit onderwerp uitgebreid belicht.
Elders in dit nummer zijn deze onderwerpen nader uitgewerkt. In het artikel Proactief monitoring en beheer van Oracle Fusion Middleware belicht Denis Joannides van Truston Fusion de beheerkant van Oracle Fusion Middleware. Oracle ACE Edwin Biemond van Whitehorses behandelt in zijn artikel de belangrijkste Weblogic onderwerpen en geeft aan hoe deze zich verhouden ten opzichte van Oracle Application Server. De Fusion Middleware/SOA-dag werd afgesloten met een plenaire sessie, waarin Sandor Nieuwenhuis van Oracle een toelichting gaf op de strategie rondom de overname van Sun door Oracle. Hij ging daarbij met name in op de vraag wat deze overname betekent voor Oracle Fusion Middleware, nu en in de toekomst.
Technology In de technology track werd onder meer ingegaan op de beheeraspecten van Fusion Middleware en op Oracle Weblogic in relatie tot Oracle Application Server.
De presentaties van de OGh Fusion Middleware/SOA-dag zijn te downloaden van de OGh website: www.ogh.nl.
BPEL in een BPM-wereld
BPEL in een BPM-wereld BPEL in de Oracle-historie op het gebied van process management. Wat is BPEL en waarom of wanneer wordt het gebruikt ten opzichte van de andere Oracle process management/modeling tools? Dat zijn de twee hoofdthema’s in dit artikel, dat een weerslag vormt van de presentatie van Integration Architect Martien van den Akker tijdens de OGh Fusion Middleware/SOA-dag.
Door Martien van den Akker Process management bij Oracle Oracle heeft al een lange historie van process management. Voor zover mij bekend is Oracle Workflow (OWF) de eerste proces engine van Oracle. Ontstaan in de E-Business Suite is OWF vanaf pakweg versie 2.5 ook in een stand-alone versie beschikbaar, die werd meegeleverd bij Oracle 8i, 9i en10g database en 9i en 10g Application Server. Spijtig genoeg is Oracle Workflow 2.6.4 de laatste versie die stand-alone te verkrijgen is. Vanaf 11g wordt OWF helaas niet meer meegeleverd en eindigt de ondersteuning met de 10g producten. Eigenlijk is dat wel jammer, want OWF is echt een ideale Process Management tool voor databasecentrische applicaties, bijvoorbeeld Oracle Forms. Omdat OWF volledig in de database draait garandeert het commit-mechanisme van de database dat de status van het workflow-proces altijd consistent is met de data in de applicatie. De embedded versie blijft in Oracle E-Business Suite bestaan zolang deze daar niet vervangen wordt door de beoogde opvolger (BPEL PM). De OWF processen worden ontworpen en gebouwd met de Oracle Workflow Builder. Vanaf versie 2.6.2 bevat Oracle Workflow ook een zogenaamd Business Event System (BES). Het BES biedt een HTML-interface om gebeurtenissen met abonnementen te definiëren. Een abonnement kan een Workflow proces, een Java method of een PL/SQL rule functie aanroepen. PL/SQL API’s stellen je in staat om een event vanuit een trigger af te vuren. Abonnementen zijn daarnaast te prioriteren. Bij een mutatie krijgt de eindgebruiker dan zijn controle meteen terug en Oracle Workflow voert op de achtergrond, onafhankelijk van het bronsysteem, de abonnementen uit. Wanneer dit fout loopt, bijvoorbeeld bij niet-beschikbaarheid van de applicatie of invalid objects, dan start OWF gewoon een error
Figuur 1: Workflow HTML Interface proces dat een notificatie aan de System Administrator tot gevolg heeft. Die kan dan het probleem oplossen en de functie eventueel opnieuw laten uitvoeren. Overigens zou OWF ook een ideale tool kunnen zijn om ingewikkelde batchprocessen aan te sturen. Je kunt namelijk perfect aangeven welke activiteiten parallel en met welke prioriteit kunnen draaien (zware processen met een lagere prioriteit bijvoorbeeld) en welke sequentieel. Fouten in gelopen activiteiten kunnen automatisch een error proces tot gevolg
hebben. Misschien zou Oracle moeten overwegen om OWF als Open Source vrij te geven...
InterConnect InterConnect is geen proces-tool. Het is een applicatie-integratieproduct. De reden dat ik het hier noem is dat InterConnect bestond in het OWF tijdperk en via het Business Event System koppelingen had met OWF. Eigenlijk is het een prehistorische EBS. Ik zou zelfs het statement aandurven dat InterConnect in
Figuur 2: Workflow Builder OGh Visie
11
BPEL in een BPM-wereld
combinatie met OWF een prehistorische SOA Suite is. De meeste zaken waar we nu SOA Suite voor gebruiken kun je daar ook mee doen. Weliswaar zijn de SOA Suite modellers gebruiksvriendelijker en is het mogelijk om Webservice gebaseerde services aan te sturen. Alhoewel in de meeste omgevingen toch voornamelijk de technologieadapters worden gebruikt.
Een interface die verdacht veel op Workflow Builder lijkt, maar dan in een JDeveloper (9) jasje. OW4J zou in staat moeten zijn om op industriestandaarden gebaseerde XMLBPM-modellen te importeren en exporteren.
ProcessConnect
Diezelfde OW4J zou een Self Service Modeller moeten krijgen. Een browser based tool waarmee je on-line Use-Cases zou moeten kunnen uitwerken. Het was bedoeld voor businessanalisten en zou geoptimaliseerd zijn voor scenario’s als Notification messages editing en herschikken van simpele activiteitvolgordes. De oplossing zou ideaal zijn voor ‘hosted’ (lees: SaaS) omgevingen.
Oracle zag in pakweg 2002-2003 in dat de volgende stap op de integratieladder procesintegratie was. Daarom begon men helemaal van de bodem af een eigen integratieproduct te bouwen. Dit werd ProcessConnect. Maar het bleek al wel snel dat Oracle heel handig was met het verzinnen van mooie repositories et cetera, maar niet zo handig was met het bouwen van User Interfaces. Het bleek gewoon niet bruikbaar. Een onderdeel van ProcessConnect dat overigens wel slim was, was het Trading Partner Management. Via de naam PartnerConnect werd dit wat we nu kennen als Integration B2B. Hier kun je Enterprise overstijgende integraties mee implementeren via op industrie standaard gebaseerde protocollen.
OWF4Java In dezelfde periode had Oracle ook nog een initiatief voor de ‘next generation of Oracle Workflow’. Het idee was om een engine te bouwen die zowel in de database als op de middle tier (J2EE, OC4J) kon draaien. Hiermee heb je dus de voordelen van een database centrische engine en een engine op de middle tier, voor het aansturen van J2EE middle tier componenten. De modeller was geïntegreerd in JDeveloper.
Figuur 3: OW4J Modeller
12 OGh Visie
‘Future’- OW4J Self Service Modeller
Deze plannen stammen uit 2003-2004. Mooi is dat we dit straks voor het eerst terugzien bij BPM Suite 11g, terwijl de ideeën inmiddels al ruim 6 jaar oud zijn.
BPEL Process Manager In 2004 kocht Oracle het bedrijf Collaxa, dat een process manager maakte onder de naam ‘Collaxa BPEL4WS Orchestration Server’. Een heel goede keuze omdat de BPEL Process Manager van Collaxa al een heel goed product was en Oracle daarmee meteen de SOA-arena kon betreden. BPEL staat voor Business Process Execution Language. Het is een XML-gebaseerde taal om de uitvoer van bedrijfsprocessen te beschrijven. In beginsel was BPEL Process Manager vooral bedoeld om Webservices te orkestreren. Het mooie is dat elk BPEL Process door BPEL PM als
Figuur 4: OW4J Self Service Modeller Webservice beschikbaar wordt gesteld. Je kunt zo Webservices combineren tot een complexere Service. Oracle heeft er een sterke set van op JCA (J2EE Connector Architecture) gebaseerde adapters aan toegevoegd. En verder een hele handige op XSLT (EXtensible Stylesheet Language Transformations) gebaseerde transformatietool. Hiermee is het mogelijk mappings tussen input- en outputdocumenten te maken door gewoon de elementen via drag-and-drop met lijnen met elkaar te verbinden. Voor Oracle was dat samen met de JMS (Java Messaging Service) en Advanced Queuing oplossingen de ESB-propositie. BPEL is vooral gericht op ontwikkelaars, door het toch wel technische karakter. En ook nu gezien het huidige aanbod van process managers van Oracle vooral bedoeld voor technische integratietoepassingen. Bijvoorbeeld wanneer er volgens technische logica meerdere API’s moeten worden aangeroepen om een Order in een doelapplicatie op te voeren.
BPA Suite BPEL PM was de beoogde opvolger van OWF en Oracle’s primaire Process Modeller en Process Management Engine. Maar Oracle zag ook het belang van Process Architectuur en Business Process Modelling. Een gevestigde naam in dat marktsegment is IDS Scheer met het pakket ARIS. Oracle is er niet in geslaagd IDS Scheer over te nemen, maar kreeg wel een OEM-overeenkomst voor elkaar. Dat resulteerde in Oracle BPA Suite. BPA Suite biedt feitelijk dezelfde mogelijkheden als ARIS. Maar nadat in BPMN (Business Process Modeling Notation) het proces is uitgemodelleerd is het mogelijk om er een BPEL (of vanaf 11g BPM Suite) Blueprint van te genereren. Dat Blueprint is het ‘skelet’ van het proces dat een ontwikkelaar vanuit de
BPEL in een BPM-wereld
van Oracle is meegekomen met de acquisitie van BEA Systems in 2008, en zelf eigenlijk al eerder door BEA aangekocht: BPM Suite. Voorheen BEA Aqualogic BPM en oorspronkelijk van Fuego. Het is een krachtige, flexibele Process Engine gebaseerd op BPMN. Daarmee is het gericht op zowel businessanalisten als ontwikkelaars. De scheiding daartussen is te vinden in een menuoptie die de presentatie van het proces in de tool aanpast. Als ontwikkelaar zie je meer details. Er is echter geen scheiding in werkwijze/ verantwoordelijkheid binnen de tool, zoals je die hebt in de combinatie BPA Suite vs. BPEL PM/BPM Suite. Figuur 5: BPEL BPA Suite repository kan importeren in JDeveloper. Nadat het project technisch is gedetailleerd kan het vanuit JDeveloper weer terug aangeboden worden aan BPA Suite. Daar kan de Business Analist de wijzigingen al dan niet accepteren en daarna het proces verder aanpassen en verbeteren. De eerder gemaakte aanpassingen blijven intact bij het genereren van een blueprint van een gewijzigd BPMN-proces. Zo is dus een complete round-trip mogelijk. Belangrijk is het om op te merken dat BPA Suite geen process engine is. Het kan dus geen processen uitvoeren, wel simuleren. Het is daarmee vooral bedoeld voor het uitwerken van de architectuur van een organisatie. En daarmee de gevolgen voor de IT. Met BPA suite is het dan ook mogelijk een koppeling te maken tussen de IT-architectuur en daadwerkelijk geautomatiseerde processen.
Er zal dus zelf in werkwijze moeten worden gezorgd voor een goede verdeling tussen wat de businessanalist uitwerkt en wat een ontwikkelaar. Bijvoorbeeld in hoofd- en detail- (sub-) processen. Want in principe kunnen beiden alles aanpassen. De scheidingslijn is vaag, de verantwoordelijkheden overlappen. Maar daardoor kunnen ze wel werken aan een proces dat dan ook als zodanig kan worden uitgevoerd. En dat maakt het ontwikkelen wel heel snel en flexibel. Maar wanneer nu BPEL, BPA Suite en/of BPM Suite?
De nieuwste Process Management telg
BPA Suite is vooral de ‘thuisbasis’ van de Process Expert/Architect. Het is sterk methodologie-gedreven en hiërarchisch. Het dwingt daarmee een sterke architectuur, ontwerp en ontwikkelwerkwijze af. Mede omdat het ook repository gebaseerd is, is het een sterk documentatiegereedschap, waar ook een Publisher inzit om de processen publiek raadpleegbaar te maken. Vanaf BPA Suite 11g kunnen naast BPEL ook BPM Suite blueprints worden gegenereerd.
Figuur 6: Oracle Business Process Architect
BPM Suite is een proces modeling omgeving, die ‘business gebruikersvriendelijk’ is. Het is vooral bedoeld voor processen waar binnen meerdere bedrijfsprocesparticipanten met verschillende rollen of verantwoordelijkheden activiteiten moeten uitvoeren. BPM Suite is erg sterk in het inzichtelijk maken van die verantwoordelijkheden en de activiteiten die daar binnen vallen. Dit door de BPMN notatie binnen ‘swimming lanes’. Daarbij is het een collaboratieve omgeving: businessanalisten en ontwikkelaars werken er in samen. BPEL PM daarentegen is vooral bedoeld voor technische orkestratie. ‘Human Workflow’ is zeker wel mogelijk, in de
BPM Suite
Figuur 7: BPM Studio SOA Suite 11g versie is daar uitgebreid aandacht voor. Maar Human Workflow binnen BPEL PM blijft ook in SOA Suite11g een aparte service.
Toekomstige ontwikkelingen In SOA Suite 11gR3 wordt BPM Suite Binding/Service Engine in SOA Suite. Dat houdt in dat BPM Suite in de Service Component Architecture (SCA) van SOA Suite wordt opgenomen. En dat maakt de integratie met de andere SOA Suite onderdelen eenvoudiger. Bij de acquisitie van BEA Systems heeft Oracle al aangekondigd dat het in de nabije toekomst BPM Suite en BPEL PM wil samenvoegen in een engine. Het opnemen van BPM Suite in SCA is daarin al een belangrijke stap, denk ik. Veel zaken kun je zowel in BPMN als in BPEL doen en het zal maar net zijn waar je het handigst mee bent. Toch is er wel wat voor te zeggen om de businessproces- en eindgebruikergeoriënteerde processen vooral in BPM te doen en de technische zaken vooral in BPEL.
Tenslotte Aan het eind van mijn presentatie heb ik nog aandacht besteed aan het starten met BPEL. Wat is BPEL, hoe zit BPEL eigenlijk in elkaar en hoe ga je snel met BPEL aan de slag? In dit artikel wordt daar niet verder op ingegaan. Wel kan ik wijzen op een heel interessant boek door uitgever Pack-it uitgegeven onder de titel: ‘Getting started with SOA Suite 11gR1’. Dit boek is gebaseerd op workshops die Oracle heeft gehouden mensen snel kennis te laten maken om met de verschillende SOA Suite onderdelen. Oracle Partner Network geeft OPN Bootcamps om in 2 á 3 dagen aan de slag te gaan met BPM Suite 10.3 of SOA Suite 11g. Martien van den Akker is Integration Architect bij Darwin-IT Professionals. OGh Visie
13
Monitoring en beheer OFM
Proactief monitoring en beheer van Oracle Fusion Middleware Oracle Fusion Middleware is een van de strategische productlijnen binnen Oracle. Sinds de overname van BEA door Oracle zijn er veel nieuwe producten aan toegevoegd, zoals WebLogic Server. Dit heeft de nodige consequenties voor de wijze van beheer. In dit artikel wordt een aantal handvatten gegeven hoe het beheer van Oracle Fusion Middleware ingericht kan worden met behulp van de Oracle Enterprise Manager. Hierdoor is het mogelijk grip te houden op het voortdurend veranderende IT landschap.
Door Denis Joannides
- Lagere beheerkosten doordat generieke zaken eenmalig worden ingericht en onderhouden - Hogere beschikbaarheid van applicaties door inrichting van een stabiel middleware platform - Kortere doorlooptijd van projecten doordat softwareont wikkelaars en beheerders met elkaar samenwerken en elkaar begrijpen!
Tijdens een aantal grootschalige Java EE / BEA projecten is mij tijdens het inrichten van de middleware infrastructuur keer op keer gebleken dat binnen organisaties onvoldoende beseft wordt wat de implementatie van middleware betekent. Met als gevolg onnodig veel kosten en instabiliteit van applicaties. Inmiddels erkennen deze organisaties dat middleware een vakgebied is dat een integrale, applicatieoverstijgende aanpak vereist, van silo naar service.
Oracle meets Java De afgelopen jaren was Oracle onduidelijk over haar strategie en met name de adoptie van Java. Sinds de overname van BEA is hier gelukkig verandering in gekomen. Oracle heeft een goede keuze gemaakt om alle applicatieontwikkelingen te baseren op Java technologie. Het fundament hiervoor is Oracle Fusion Middleware inclusief de WebLogic Application Server. Oracle Fusion Middleware (OFM) is de enabler voor het snel en flexibel
ontwikkelen van software. Wanneer organisaties OFM goed embedden in haar organisatie is men in staat om zeer wendbaar en kosteneffectief te opereren. Door het standaardiseren van de OFM (software-infrastructuur) kunnen softwareontwikkelaars en leveranciers van standaardapplicaties zich volledig richten op de functionaliteit (functionals) en worden met name de technische aspecten afgedekt door de middleware (non-functionals). Ondanks de complexiteit van middleware technologie is het indrukwekkend hoe Oracle dit momenteel aan-
pakt. Oracle probeert zoveel mogelijk complexiteit te ‘verbergen’ in de tools waardoor het voor de gebruiker zo eenvoudig mogelijk wordt gemaakt. Deze ontwikkeling heeft gevolgen voor de huidige Oracle gebruikers. Er bestaat een groot ‘gat’ tussen organisaties die strategisch kiezen of gekozen hebben voor Java, zeg maar de oude BEA klanten, en de huidige Oracle klanten, die nu met Java aan de slag gaan. Bij de laatstgenoemde categorie moet het besef van middleware nog ontstaan. Zodra mensen ‘niet volledig op de hoogte zijn wat wordt bedoeld met de term middleware’ en aangeven dat ze dit ‘er wel even bijdoen’ word ik nerveus. Hier is veel werk te doen.
(H)erken middleware en ga aan de slag! Organisaties kunnen maar één ding doen, namelijk middleware erkennen en hier naar acteren. De ervaring leert dat wanneer organisaties inzien dat middleware een apart vakgebied is, men veel betere resultaten behaalt:
Wat betekent dit allemaal voor beheer van OFM? Oracle Fusion Middleware stimuleert het ontwikkelen van kleinere softwa-
14 OGh Visie
Monitoring en beheer OFM
recomponenten die met elkaar samenwerken. In een middleware landschap is het aantal softwarecomponenten beduidend groter dan in een traditionele Oracle applicatie met behulp van bijvoorbeeld Oracle Forms. Tel hierbij de sterke groei van Agile softwareontwikkeling zoals Scrum, waarbij werkende software in iteraties van 2–3 weken wordt opgeleverd, dan heeft dit tot gevolg dat het aantal softwarecomponenten exponentieel zal groeien. Beheerorganisaties kunnen niet om deze trend heen. De software ontwikkelafdeling en de beheerorganisatie zullen goed op elkaar moeten aansluiten om de software snel in productie te krijgen. De traditionele aanpak van automatisering , denken in silo’s en 1 maal per 3 maanden een installatie, past hier niet bij. Het gaat juist om een vloeiend proces waarbij applicaties geruisloos over kunnen gaan van Ontwikkel, Test, Acceptatie naar Productie.
Gartner hanteert de volgende definitie voor middleware: Middleware kenmerkt zich door de software infrastructuur die een runtime omgeving voor applicatie logica bevat (Java EE) inclusief de mogelijkheden om applicaties op een gestandaardiseerde manier met elkaar te laten communiceren (ESB). Daarnaast bevat het moderne tools om businessprocessen te automatiseren (BPM). Het totale middleware platform bepaalt de wijze van softwareontwikkeling en mogelijkheden van de applicaties die hiervoor ontwikkeld worden. Manager van ManageEngine of Nagios, maar het wordt pas echt interessant wanneer men direct vanuit een business services kunt down-drillen naar de onderliggende onderdelen, tot op Java en SQL niveau. NOTE: producten moeten in staat zijn business services te monitoren en inzicht te geven wanneer er ergens iets in de keten misgaat.
zijn, zodat problemen direct getraceerd kunnen worden. Er zijn klanten die meer dan 20 OTAP straten moeten onderhouden. Zonder de juiste tools is dit vrijwel onmogelijk. Oracle Enterprise Manager Grid Control biedt hiervoor de uitkomst. Dit product is vooral bekend bij de Oracle database DBA’ers. En dat is jammer, want het is een zeer volwassen product waarmee je end-to end monitoring en
NOTE: na inventarisatie van de projecten gedurende de afgelopen 10 jaar is mijn’ conclusie dat projectkosten minimaal 30% gereduceerd kunnen worden wanneer het OFM platform goed wordt ingericht. Daarnaast kunnen ook de operationele beheerkosten met minimaal 25% omlaag. De beheerorganisatie heeft een grote invloed op dit proces. Door het beheer meer te laten aansluiten op de nieuwe werkwijze kan men proactief bijdragen aan het resultaat. Beheer wordt dus veel meer de spin in het web die ervoor zorgt dat straks alles gaat werken. Gevolg is dat er meer afstemming moet zijn tussen de verschillende experts om problemen op te lossen. De oplossing ligt namelijk altijd in het midden: hardware, OS, netwerk, middleware en software. Een totaaloverzicht en controle over het ICT platform is dus essentieel.
Oracle Enterprise Manager Grid Control biedt uitkomst De afgelopen jaren heb ik me bezig gehouden met de vraag op welke wijze men Oracle Fusion Middleware het best kan beheren. Heel veel producten bieden wel mogelijkheden voor het operationeel monitoren van individuele componenten, zoals Applications
Daarnaast moeten de tools ook in staat zijn om optimaal te ondersteunen bij het installeren van de ontwikkelde software en de Oracle producten op de verschillende OTAP omgevingen. Dit is cruciaal omdat men er zeker van moet zijn dat omgevingen gelijk aan elkaar
beheer van de totale Oracle-omgeving kunt uitvoeren inclusief Oracle Fusion Middleware. Overigens kan OEM ook non-Oracle producten beheren door middel van de juiste plug-ins (Tomcat, BizTalk, IIS, SQL Server et cetera). Een aantal highlight van OEM: • Totaal overzicht OEM biedt één geïntegreerd overzicht van het IT-landschap waardoor een beheerder overzicht heeft van alle applicaties, servers, databases, netwerkcomponenten et cetera, aangevuld met performance- en configuratiedata. Hierdoor is het mogelijk om problemen veel sneller te lokaliseren. Oracle OGh Visie
15
Monitoring en beheer OFM
Fusion Middleware is een van de onderdelen binnen de gehele keten. • Operationeel Monitoring Allerlei informatie van diverse ‘targets’ zoals hardware, database, Applicatie Server, Service Bus kunnen via een alerting mechanisme gefilterd worden aan de hand van ingestelde grenswaarden. In geval van overschrijding van een grenswaarde kan de beheerder gealarmeerd worden of waar mogelijk kan OEM zelf een ‘corrective action’ uitvoeren om een crisissituatie te voorkomen Door alerts goed in te richten kunnen die beschamende situaties voorkomen worden, waarin een eindgebruiker de beheerafdeling moet attenderen dat de applicatie niet werkt, zoals nu in 70% van de gevallen nog gebeurt. • Applicatie Performance OEM biedt de mogelijkheid om de gehele keten van Service tot aan SQL statement te analyseren voor bijvoorbeeld het verbeteren van de performance. Met behulp van de jvm diagnose tool AD4J kan bijvoorbeeld al in een heel vroeg stadium worden gezocht naar beruchte veroorzakers van problemen zoals memory leaks. Het snel achterhalen van dit soort problemen voorkomt verder tijdverlies tijdens het testen. Onlangs heeft Oracle Amberpoint overgenomen, nu Oracle BTM, waardoor de gehele keten van webservices gemonitord kan worden, zowel qua performance als qua beschikbaarheid. Hierbij merk je dat medewerkers van IT Operations veel meer kennis nodig zullen hebben van OFM om de producten goed te kunnen beheren. • Provisioning OEM kent ook een zeer uitgebreid provisioning mechanisme, waarmee snel nieuwe omgevingen of onderdelen van omgevingen uitgerold en onderhouden kunnen worden, zogenaamde ‘Gold Images’. Het inrichten van een complete OTAP omgeving, inclusief Oracle Weblogic Server, Service Bus et cetera kan daardoor worden teruggebracht van weken naar een paar uur. Daarnaast kunnen ook geautomatiseerd patches worden uitgevoerd van bijvoorbeeld WebLogic Server over alle OTAP omgevingen. Eenzelfde mechanisme kan gebruikt
16 OGh Visie
worden om ontwikkelde software zoals Java applicaties, integratiecomponenten en BPEL-processen automatisch te installeren waardoor projecten snel de software in de OTAP omgeving kunnen installeren en de kans op fouten geminimaliseerd is.
Een stapsgewijze aanpak De beheerder van Oracle Fusion Middleware krijgt dus niet alleen te maken met de producten zoals WebLogic Server, Oracle Service Bus en natuurlijk Java maar ook met Oracle Enterprise Manager en het hele software deployment proces. Het is belangrijk om gaandeweg kennis op te bouwen over de diverse producten om zodoende controle te krijgen over de OFM en proactief projecten te ondersteunen. Mijn advies is stapsgewijs onderdelen te implementeren en te leren zodat je snel successen kunt boeken. Dit biedt een goede basis om verder te groeien. Best practices voor het beheren van een Oracle Fusion Middleware omgeving: 1. Gebruik Oracle Enterpise Manager Grid Control Richt op een aparte machine OEM in en gebruik deze voor het beheer van al je omgevingen. Gebruik dus niet meer de diverse consoles van de verschillende producten zoals voor de Database, WebLogic Server, OSB et cetera 2. Maak een referentie implementatie (‘Gold Image’) Ervaring leert dat wanneer men een gold image gaat gebruiken men vele malen sneller kan werken en veel problemen voorkomt zoals verschillende configuraties en typefouten. 3. Richt een deployment proces in Probeer zoveel mogelijk gebruik te maken van het deployment proces zoals dit is meegeleverd door Oracle. Lukt dit niet, maak dan aanvullende scripts via WLST. Investeer tijd om dit proces goed op te zetten en ga deployments niet handmatig uitvoeren. Dit gaat onherroepelijk tot fouten in de OTAP omgeving leiden. 4. Richt basis monitoring functionaliteit in Ga vanuit OEM nu alle targets moni-
toren en definieer indicatoren inclusief de bijbehorende limieten. In een aantal gevallen zal men diepgaande kennis van de applicatie of java moeten hebben. Vraag hiervoor advies van het software ontwikkelteam. Daarnaast adviseer ik om een aantal grafische overzichten te maken en deze te presenteren aan de business owner. Hierdoor krijgt hij inzicht in zijn applicatie en dit geeft vertrouwen. 5. Richt Lifecycle Management in voor het onderhouden/patchen van je Oracle producten In het verleden moest de software altijd handmatig gepatcht worden, maar nu kan OEM hierover adviseren en automatisch patches doorvoeren. Besteed voldoende tijd om dit mechanisme goed in te richten. 6. Proactief projecten ondersteunen bij o.a. performance troubleshooting Richt de diverse performance tools zoals AD4J en Application Dependency and Performance (ADP) in ter ondersteuning van de projecten. Hierdoor is het mogelijk om de ontwikkelde softwarecomponenten te analyseren en performanceproblemen te lokaliseren. Dit is zeker de investering waard want zodra men dit aanbiedt aan projecten, zal men dit zeker gaan gebruiken.
Nog een laatste advies Start klein en ga niet direct alle tools inzetten. Aangezien het veel nieuwe technologie betreft is het niet mogelijk om alles in één keer te gaan installeren en inrichten. Laat je desgewenst adviseren door een expert op gebied van Oracle Fusion Midldeware. Denis Joannides is verantwoordelijk voor Truston Fusion, een organisatie die zich volledig richt op het inrichten en beheer van Oracle Fusion Middleware gebruikmakend van o.a. OEM Grid Control – www.truston-fusion.com.
WebLogic vs Oracle AS
WebLogic vs Oracle AS (OC4J) Allereerst is dit artikel niet bedoeld als een strijd tussen twee J2EE applicatieservers. Beide zijn uitstekende Java Applicatie Servers en doen hun werk voor de volle honderd procent. Het artikel is meer bedoeld om te laten zien waarin WebLogic 10.3 zich onderscheidt ten opzichte van de Oracle Applicatie Server 10.1.3. Vaak heeft men geen keus welke Java Applicatie Server te gebruiken, zoals bij Oracle E-Business Suite (EBS). EBS vereist Oracle Applicatie Server 10.1.3, maar de 11g releases van de Oracle producten zoals Forms, SOA Suite, Business Intelligence, Enterprise Grid en straks Fusion Apps hebben WebLogic als applicatieserver. Met dit artikel wil ik aantonen dat het upgraden naar 11g, alleen al op applicatieserver-gebied veel voordelen en mogelijkheden biedt.
Door Edwin Biemond Installatie & Omgeving Tijdens de Oracle AS 10.1.3 installatie kan men een Applicatie Server omgeving opzetten met daarbij een Oracle HTTP Server, een of meerdere OC4J containers met daarop SOA Suite 10.1.3. Voor Fusion Middleware 11g begint men altijd met de WebLogic installatie. Deze installatie is te vinden op de Oracle download pagina. Allereerst ziet men op deze pagina meerdere versies van WebLogic namelijk 10.3.3 , 10.3.2. Deze versies maken allemaal onderdeel uit van WebLogic FMW 11g. Pas dus op welke versie van WebLogic je gebruikt, dit is namelijk afhankelijk van het product dat je er bovenop wilt installeren. Als WebLogic alleen maar wordt gebruikt als J2EE applicatie server dan kan de laatste versie worden gebruikt. Naast een hogere versie kan ook WebLogic met de OEPE en de Coherence optie worden gedownload. OEPE of Oracle Enterprise Pack for Eclipse is een Java ontwikkelomgeving geoptimaliseerd voor het werken met de WebLogic applicatieserver. Als je bijvoorbeeld wilt werken met Oracle Service Bus Workshop dan is OEPE noodzakelijk. De tweede optie is Coherence, Coherence is een Java Cache en is noodzakelijk voor SOA Suite Clustering of het willen cachen van Service resultaten in Oracle Service Bus 11g. De Oracle AS omgeving heeft maar één Oracle Home waarin Apache en de OC4J Containers hun eigen submap hebben. Fusion Middleware WebLogic heeft een andere omgevingstructuur. De WebLogic installatie zorgt ervoor dat er een MiddleWare Home (MW_HOME in afbeelding 1 ) wordt gecreëerd en met daarin binnen meerdere Oracle Homes zoals een WebLogic Home ( WL_HOME ), OEPE Home en een Oracle Common Home. Daarnaast kunnen er andere producten bij worden
geïnstalleerd, zoals Oracle Service Bus 11g of SOA Suite 11g. Na de installatie van WebLogic en eventueel andere Oracle FMW 11g producten kan men een WebLogic domein aanmaken. Bij Oracle AS moet men bij de installatie al aangeven wat voor configuratie men wil. Bij WebLogic kan men meerdere domeinen aanmaken waarbij men kan kiezen voor een WebLogic domein zonder specifieke Oracle-onderdelen , een domein met daarin SOA Suite en Oracle Service Bus of alleen een ADF domein.
Dit vereist wel dat de FMW software op alle servers op dezelfde manier is geïnstalleerd. Je hoeft daarna alleen de domein directory te kopiëren naar alle servers. Bij Oracle AS kan je via OPMN de servers aan elkaar bekend maken.
Beheer & Monitoring De WebLogic Server beschikt over MBeans (MBeans zijn Java classes die het management en monitoring werk kunnen uitvoeren waarmee men WebLogic onderdelen kan configureren, monitoren of sturen.
Afbeelding 1. Een Fusion Middleware Omgeving Een domein in WebLogic is een verzameling van scripts en directories en default staan deze domeinen in user_projects (zie afbeelding 1). Het is met WebLogic eenvoudig om een ontwikkel-, test- en acceptatieomgeving op één server naast elkaar te draaien. Het enige nadeel (of voordeel) is dat een patch automatisch op elke omgeving is doorgevoerd. In de domein wizard van WebLogic kan ook eenvoudig een cluster gedefinieerd worden.
Een MBean kan één of meerdere attributen hebben die gelezen of veranderd kunnen worden. Daarnaast kan een MBean ook operaties bevatten. Elk onderdeel van de WebLogic Server heeft zijn eigen MBean waarmee vanuit Java, WebLogic Console, Oracle Enterprise Manager of via scripting mee kan worden gecommuniceerd. De WebLogic Console of de domein wizard communiceren allemaal met deze MBeans. Alles wat je via de WebLogic console kan doen kan dus ook via scripting gedaan worden. De WebLogic Con OGh Visie
17
WebLogic vs Oracle AS
sole biedt zelfs een optie om de gebruikersacties te loggen, zodat deze ook op andere WebLogic omgevingen kunnen worden uitgevoerd. Met WebLogic kan je dus voor continuous integration, test, acceptatie of productie een domein laten configureren zonder dat er verschillen zijn tussen deze omgevingen. Helaas is dit niet mogelijk in Oracle Applicatie Server. Met een Diagnostic System Module kunnen onderdelen van de WebLogic Server worden gemonitord. In een Diagnostic System Module kan de beheerder aangeven welke MBeans attributen gebruikt moeten worden voor de monitoring en hoe vaak deze attributen gesampled moeten worden. Vervolgens kan de beheerder regels opstellen bij welke waarde er een waarschuwing gestuurd moet worden. De beheerder wordt dan gewaarschuwd via een e-mail, JMS of via een SNMP trap. Bij de Oracle Applicatie Server heeft men voor monitoring Oracle Enterprise Grid nodig. Uiteraard werkt Oracle Enterprise Grid ook met WebLogic.
rijk is voor SLA’s en PKI’s. Een ander JRocket product is JRocket Mission Control. Hiermee kan verbinding worden gemaakt met de WebLogic Servers die draaien op de JRocket JVM. De beheerder of ontwikkelaar kan met deze tool de performance monitoren of geheugenproblemen detecteren en eventueel de JVM bijsturen. Daarnaast heeft WebLogic de beschikking over Work Managers, waarmee applicaties beter kunnen worden gecontroleerd door meer of minder resources aan deze applicaties toe te kennen. Men kan er bijvoorbeeld voor zorgen dat een applicatie altijd een bepaalde responstijd heeft door andere intensieve applicaties af te knellen. Ook Denial of Service (DOS) aanvallen zijn met behulp van een Work Manager af te wenden door de requests te droppen als het aantal requests boven een bepaalde waarde komt. Beschikbaarheid & Schaalbaarheid Met de Oracle AS 10.1.3 kan men een cluster configureren. Helaas werkt dit alleen maar goed met webapplicaties en gaat
niet dat ze beiden hoog beschikbaar zijn. Een server kan falen en dit betekent in het ergste geval dat het cluster de helft minder belasting aan kan en de openstaande transacties afgebroken worden. In WebLogic kan men dit voorkomen door een (automatische ) Server migratie uit te voeren. Dit houdt in dat de WebLogic Server automatisch opstart op een andere server. Hiervoor moeten wel virtueel IP adressen worden gebruikt (deze verhuizen mee) en er moet een Shared Storage zijn voor de JMS en transactie logs zodat er geen data verloren kan gaan.
Conclusie Als je WebLogic vergelijkt met Oracle Applicatie Server dan kan je stellen dat beide hun kerntaak als J2EE server goed uitvoeren, maar dat WebLogic duidelijk de betere en complete Java Applicatie Server is. Dat heeft WebLogic vooral te danken aan de volgende eigenschappen en criteria: JRocket JVM, domeinconfiguratie, scripting, hoge beschikbaarheid en de zeer
Security De WebLogic Server kent verschillende vormen van Security namelijk: • Authenticatie en Autorisatie, zoals een databasetabel, SAML, LDAP waaronder Active Directory, Open LDAP of OID, PKI etc. De authenticatie- en autorisatie mogelijkheden zijn zeer uitgebreid en kunnen eventueel uitgebreid worden met een eigen Security Module. • WebLogic WS-Security profielen voor Webservices • FMW Oracle Web Service Manager profielen voor Web Services. In 11g is WSM geïntegreerd in de WebLogic server. De Oracle Applicatie Server security gaat niet zo ver als die van WebLogic en dus moest er een eigen login module gemaakt worden. Het beveiligingen van Webservices kan alleen met OWSM.
Tuning Met de overname van BEA kreeg Oracle naast WebLogic ook de beschikking over de JRocket producten. De belangrijkste is de JRocket Java Virtual Machine, deze JVM kan de standaard JVM van Sun vervangen. Deze JRocket JVM kan op bepaalde momenten trager zijn dan die van Sun maar levert wel altijd een constante performance ( responstijden), wat weer belang-
18 OGh Visie
Afbeelding 2. De JRocket Mission Control Applicatie het niet zo ver en gemakkelijk als in WebLogic. WebLogic kan daarnaast ook nog Enterprise Java Beans (EJB) en Java Messaging Service (JMS ) clusteren. Zo heeft SOA Suite 10.1.3 op Oracle Applicatie Server AQ nodig om te kunnen schalen. SOA Suite 10.1.3 en 11g kunnen hiervoor gebruik maken van de WebLogic JMS. SOA Suite 11g kan naast de JMS clustering ook nog eens gebruik maken van de Coherence optie in WebLogic. Samen zorgen ze voor een flinke performance boost. Met Oracle AS en WebLogic kan men schalen door een cluster te configureren. Dit betekent
uitgebreide security mogelijkheden. Dit betekent niet dat WebLogic af is. De afgelopen twee jaar is WebLogic doorontwikkeld waardoor WebLogic nu ook AQ, RAC en TopLink ondersteunt. Bovendien is WebLogic uitgebreid met nieuwe onderdelen zoals Resource Adapters, OWSM en Coherence. Kortom, WebLogic is een perfecte Applicatie Server die Oracle Applicatie Server snel kan doen vergeten. Edwin Biemond is Architect bij Whitehorses en Oracle ACE op het gebied van Middleware & SOA
Performance tuning en troubleshooting
Drukbezochte OGh themabijeenkomst
Database performance tuning en troubleshooting Uit de grote opkomst voor de OGh themabijeenkomst Database performance en troubleshooting bleek duidelijk dat dit onderwerp sterk leeft onder DBA’s en altijd zorgt voor een (meer dan) volle zaal . De bijeenkomst was ruim overschreven en wordt wellicht op een later tijdstip herhaald.
Door Gerard Uiterwaal De presentatie werd deze avond verzorgd door Toine van Beckhoven, geen onbekende in de Oracle wereld van Nederland en België. In het verleden was hij voornamelijk bekend om PL/SQL. Hij heeft er bijvoorbeeld voor gezorgd dat Steven Feuerstein een aantal presentaties voor de OGH heeft gehouden. De laatste jaren heeft hij zich meer begeven op het gebied van performance tuning. De presentatie ging voornamelijk over zijn ervaringen in een omgeving met een Siebel OLTP database en een bijbehorend datawarehouse. Dit datawarehouse wordt een keer per dag bijgewerkt (ETL). De betreffende databases hebben de volgende kenmerken: • Data uit 18 Europese landen • Meer dan 600 ingelogde gebruikers • Een Terabyte data voor zowel de OLTP Als de DWH database • HP shared unix server (clustered) met 16 CPU’s toegekend aan de OLTP database en 16 CPU’s toegekend aan het datawarehouse • Buffer cache van 60 Gbyte, PGA van 2 Gbyte en een shared pool van 2 Gbyte In zijn algemeenheid traden daarin de volgende problemen op: In de OLTP-omgeving bleek een aantal queries zeer inefficiënt, terwijl andere dan snel en dan weer traag waren. De ETL queries bleken regelmatig zeer traag. In een Siebel omgeving worden de queries grotendeels gegenereerd, waarmee weinig controle over de queries voorhanden is. Ook wordt er geen informatie meegegeven over de omgeving waarin de query draait (DBMS_APPLICATION_INFO wordt niet gebruikt). En tenslotte zijn queries met joins over 20 à 30 tabellen
en zelfs meer geen uitzondering. In de DWH omgeving waren er veel trage rapporten. Daarnaast duurden veel van de ETL-workflows zeer lang. Ook bleek dat de verwachtingen van de gebruikers niet altijd realistisch waren. In de presentatie kwamen de volgende onderwerpen aan bod: • Lokaliseren van performance problemen • Monitoring tools • Tuning en troubleshooting vuistregels • De Cost-Based Optimizer • Wetenswaardigheden over indexen • Clustering, of hoe zorg ik ervoor dat de data die je wilt raadplegen of verwerken zo dicht mogelijk bij elkaar is opgeslagen om I/O te minimaliseren.
Toine van Beckhoven
Lokaliseren van performance problemen Opmerkingen van gebruikers en IT-medewerkers over performance zijn nogal eens ongestructureerd en gebaseerd op te weinig kennis van het werkelijke probleem. Ook in de ervaring van Toine in zijn projecten bleek het in beginsel lastig om de gevoelde problemen te vertalen naar problemen zoals die optreden in de database. De voor de hand liggende technische aanpak om naar de algemene gezondheid van de database te kijken middels ratio’s, system statistics en ‘Top sql’s’ gaven geen goed beeld van wat er van wat er aan de hand was. Op basis van die ratio’s en systeem statistieken deed de database het over het algemeen prima, maar toch meldden gebruikers problemen. Een aanpak die (naar voorbeeld van de Amerikaan Cary Millsap) uiteindelijk succes had, was om eerst uit te zoeken welke problemen de business had en deze te prioriteren. De eerste fase bestond uit het bepalen van wat de applicaties nu eigenlijk doen en welke functies daar-
van problemen opleverden. Hierbij is de business leidend. Vooral die belangrijkste functies, die in de ogen van de business te traag zijn moeten worden verbeterd. De informatie nodig om deze gebruikers problemen te kunnen vertalen naar de hierin gebruikte sql’s bleek in de Siebel logging te staan. Om hier slagvaardig mee te kunnen werken is er een ‘custom applicatie monitor’ gemaakt waarin de gegevens over draaiende queries per gebruikersfunctie en ‘scherm’ gegroepeerd wordt en waarop tot op detailniveau kan worden ingezoomd. Deze monitor zorgt er enerzijds voor dat er statistische performance informatie beschikbaar is per gebruikersfunctie. Anderzijds geeft deze ook aan hoeveel tijd er in zo’n gebruikersfunctie waaraan besteed word, hoeveel records er verwerkt worden en hoe vaak en waar elders een query gebruikt wordt. Alleen een gedetailleerde monitoring zoals deze kan een basis vormen om SLA´s af te spreken. En tevens vormt deze een perfecte brug tussen het databasedomein
OGh Visie
19
Performance tuning en troubleshooting
van de DBA en het applicatiedomein van de gebruikers. Een brug die essentieel is om te slaan voor een Tuning specialist, omdat anders de prioriteiten van beide groepen niet op elkaar kunnen worden afgestemd en tijd verloren gaat aan minder belangrijke (maar op het eerste oog meest trage) functies. Tuning en troubleshooting vuistregels Vooraleer aan detail werk te beginnen is het goed om wat algemene uitgangspunten te definiëren. Toine noemde hier de volgende vuistregels die hij hanteert voor een applicatie: Minimaliseer het aantal logical i/o’s (LIO’s) De achtergrond hiervan is eigenlijk heel logisch. Elke I/O die je niet hoeft te doen kost ook niets. LIO’s zijn makkelijk meetbaar en geven een redelijk betrouwbare indicatie van de schaalbaarheid van een applicatie. Structureer eerst en ga dan pas tunen. Elimineer onnodige workload en ga dan pas de overblijvende workload optimaliseren Een goed voorbeeld hiervan is het dagelijks bijwerken van het datawarehouse (ETL). Om elke dag alles opnieuw te laden betekent een gigantische workload. Hier kon veel gewonnen worden door daar waar nuttig alleen de wijzigingen door te voeren: hiermee wordt dezelfde activiteit met minder workload gerealiseerd en doorlooptijden verkort. Minimaliseer uitzonderingen Dit is niet een performance issue, maar een beheer issue. Alle uitzonderingen moeten beheerd worden. Tevens moet er gekeken worden wat de invloed van deze uitzonderingen op elkaar zijn. Na elke wijziging is het eigenlijk nodig om te kijken of de andere uitzonderingen nog wel nodig zijn. Toine benoemde het als volgt: ‘Als je voortdurend bezig bent om met hints queries sneller te maken, dan is er iets fout in de algemene zin (bijvoorbeeld in de wijze van statistieken vergaren).’ Uitzonderingen die Toine noemde zijn: • Hints in sql-statements • Gebruik van Outlines • Zetten van hidden parameters (de zogenaamde ‘_’ parameters) • Afwijkingen in het verzamelen van
20 OGh Visie
statistieken (maar Toine benadrukte dat het wel heel goed is om de flexibiliteit in te bouwen om uitzonderingen te maken, want door optimizer tekortkomingen is het soms nodig de optimizer van andere informatie te voorzien dan standaard statistieken verzamelen doet).
Een probleem opgelost met een uitzondering uit de praktijk Toine gaf aan dat een ‘simpele’ upgrade van 9i naar 10g al voor hoofdbrekens kan zorgen door (niet zo’n zichtbare) aanpassingen in de optimizer. Zo bleken na upgrade problemen op te treden met iets dat bekend staat als ‘transitive closure’. Een sql-statement van de algemene vorm:
select * from a, b where a.c1 = b.c1 and a.c1 = ‘x’
wordt in 10g door de optimizer herschreven als:
select * from a, b where a.c1 = b.c1 and a.c1 = ‘x’ and b.c1 = ‘x’
maar in 9i werd dit herschreven als:
select * from a, b where a.c1 = ‘x’ and b.c1 = ‘x’
In 10g verwijdert de optimizer de join conditie niet. Dit leverde in de betreffende Siebel OLTP applicatie af en toe hele slechte executieplannen op, vaak in specifieke constructies. Dit kon vervolgens worden opgelost door het zetten van de hidden parameter ‘_optimizer_transitive_closure = FALSE’ (wat in 10g de 9i functionaliteit simuleert). Let op: Een aantal toehoorders merkte op dat zij helemaal geen problemen hadden met de overgang van 9i naar 10g. Hidden parameters moeten alleen
worden gezet nadat expliciet is getest dat dit in deze omgeving zin heeft.
De Cost Based Optimizer In zijn algemeenheid werkt de Cost Based Optimizer goed. De kinderziektes lijken er echt wel uit te zijn. Toch heeft elke optimizer zijn beperkingen, ook in 10g nog. Dit treedt vooral op als de aannames die de optimizer doet niet overeenkomen met de werkelijkheid. Enkele van deze aannames zijn : • Uniformiteit Bij gebrek aan informatie gaat de optimizer altijd uit van een uniforme verdeling over de mogelijke / toegestane waarden. Histogrammen en user defined statistics kunnen deze beperking deels ondervangen • Join uniformity Ook bij join gaat de optimizer ervan uit dat alle waarden uniform verdeeld zijn. • Predicaat onafhankelijkheid Een standaard probleem met performance in een OLTP omgeving is dat veel gebruikte SQL-statements niet elke keer geparsed kunnen worden. Dit zou teveel performance kosten. Oracle parset daarom deze statements maar één keer met de dan geldende bind variabelen (bind variable peeking). Zolang als het statement gebruikt blijft worden blijft dit in de shared pool staan. Soms komt het echter voor dat met een bepaalde waarde van een variabele er een heel specifiek executiepad gekozen wordt dat voor bijna alle andere waarden slecht is. Een voorbeeld hiervan is een query over inwoners van een aantal steden, waarbij er in de database 2 mensen in een dorp wonen. Indien als variabele dit dorp gebruikt wordt is het beste executiepad waarschijnlijk heel anders. Als deze waarde toevallig gebruikt wordt als ‘peek variable’ bij het parsen, zal deze query traag zijn, net zolang totdat hij opnieuw geparsed wordt. Dynamic sampling (statistieken verzamelen tijdens een executie van een sql-statement en hiermee eventueel het executieplan aanpassen) kan dit gaan oplossen.
Praktijkoplossing Histogrammen en bind variabelen blijkt een slechte combinatie. Het verwijderen van histogrammen leverden een veel stabielere performance. Een bijkomend voordeel was dat het vergaren van de statistics veel minder tijd en
Performance tuning en troubleshooting
resources kost. (Teruggebracht van 13 naar 4 uur doorlooptijd). De Adaptive cursor sharing functionaliteit van Oracle 11g komt tegemoet aan dit probleem van bind variable peeking en ongunstige executieplannen. Histogrammen kunnen daarmee sneller weer overwogen worden in een OLTP omgeving met bind variabelen.
Wetenswaardigheden over indexen Index strategieën De meeste applicatie performance problemen komen voort uit onjuiste statistieken en onjuiste of onbrekende indexen. Oracle kent globaal twee hoofdvormen van indexen (B*tree en bitmap) met beide hun sterke en zwakke punten: B*tree: Snelste ingang in een tabel als alle gebruikte predikaten (vooraan) in de index voorkomen. Beste voorbeeld een index op de primary key kolommen en toegang tot de tabel via de primary key. Er kan praktisch gesproken altijd in maar één B*tree index tegelijk gebruikt worden voor de toegang tot een tabel. Bitmap: meerdere Bitmap indexen op een tabel kunnen tegelijkertijd gebruikt worden. Een groot nadeel van een bitmap index is wel dat bij updates een ‘ROWID’ range van rijen gelocked worden, dus een ruimere locking dan in het geval van B*Tree, row-level locking. Daarom wordt de Bitmap index meestal in een DWH omgeving gebruikt (alhoewel een relatief statische OLTP tabel ook een kandidaat kan zijn). Een veel gehoord misverstand is dat een bitmap index alleen bij een lage cardinaliteit gebruikt kan worden. Velden met een bitmap index kunnen wel degelijk honderden of duizenden verschillende waarden hebben. De kracht zit in het gelijktijdig gebruik van meerdere single kolom bitmap indexen. Ze zijn noodzakelijk voor star transformation optimalisatie in een DWH.
Tapio Lahdenmäki’s 3-sterren index Tapio Lahdenmäki heeft drie criteria genoemd om het nut van een index te kunnen bepalen. Voor elk criterium waar index aan voldoet geeft hij deze index één ster. De beste indexen zijn dus 3-sterren indexen, maar die zijn niet altijd te realiseren: • De te scannen index slice is zo
Een voorbeeld van zo’n 3-sterren index is de volgende query: select first_name , last_name , job_id from hr.employees where department_id = :v_dept_id and hire_date > TO_DATE (:v_hiredate, ‘dd-mm-yyyy’ and email like :v_email order by hire_date
De volgende index is dan zo’n 3-sterren index create index idx_employees_1_fat on employees (department_id, hire_date, email, last_name, first_name, job_id);
klein mogelijk • De index zorgt ervoor dat de resultaatset meteen op de goede manier is gesorteerd en verhindert een extra sorteer operatie • De index bevat alle geselecteerde kolommen uit de query. Hij noemt dit soort index een ‘fat index’. Naast alle kolommen nodig voor de where clauses bevatten deze indexen extra kolommen (het vet), namelijk de geselecteerde kolommen. Hierdoor hoeft alleen de index bekeken te worden. Het duurste deel van indexgebruik, namelijk erop volgende single block Table access, is dan niet meer nodig In OGH Visie Voorjaar 2008 (http://www. ogh.nl/downloads/OGH_VISIE_VOORJAAR_2008.pdf) staat een volledige artikel van Toine over Tapio Tapio Lahdenmäki ‘s 3-sterren indexen. 1. Alle informatie uit de where-clause zit op de juiste wijze in de index (equality predicaat kolommen eerst, daarna range predicaat kolommen) 2. De index is gesorteerd op hire_date binnen department_id en vermijdt een dure sorteeroperatie 3. De geselecteerde velden (last_name, first_name, job_id) zitten ook in de index en table access is niet nodig
Index valkuilen In een B*Tree index worden entries met kolommen met alleen NULL values niet opgenomen. Voor een query die wel reke-
ning moet houden met NULL values kan zo’n index dan niet gebruikt worden, met als een mogelijk gevolg een full table scan op een potentieel grote tabel. Een oplossing is om aan de index een fixed value toe te voegen: create index x on y (kol1, 0); In plaats van de fixed value kan natuurlijk ook een not null kolom worden toegevoegd.
OLTP praktijkgevallen In de Siebel database was de top sql-query een select op S_LST_OF_VAL (code tabel). Deze werd ruim 200.000 keer per dag uitgevoerd. Dit is een relatief statische tabel, zodat het toevoegen van indexen of het vergroten ervan weinig tot geen nadelige gevolgen heeft. Door de voor deze query gebruikte index ‘FAT te maken’, dat wil zeggen, alle kolommen (14 in totaal) uit de select-clause toe te voegen, kon table access worden voorkomen en werd deze query twee keer zo snel. Dit loste weliswaar niet een direct knelpunt op maar gaf wel lucht aan de rest van de queries. In een tweede query werd gezocht naar de eerste rijen van een tabel met 14 miljoen rijen op een bepaalde manier gesorteerd. Een query zonder predicaten. Hier vermeed een index op de sortkolom(men) de sortering. Het resultaat was dat de query vele honderden malen sneller was.
DWH praktijk gevallen In het DWH hadden waren voorna OGh Visie
21
Performance tuning en troubleshooting
melijk B*Tree indexen aanwezig en alleen bitmap indexen op de kolommen met een lage kardinaliteit. Dit ontnam de optimizer de mogelijkheid om star transformation toe te passen. Oplossing: • Zet een bitmap index op elke dimension ‘foreign’ key van de fact tabel • Zet een bitmap index op elke ‘flag’ kolom van de fact tabel • Gebruik alleen single column bitmap indexen • Gebruik B*Tree indexen alleen nog maar voor ‘unique constraints’ en de ‘primary key constraint’ in de dimensie tabellen en fact tabel Clustering Onder clustering verstaat Toine het er voor zorgen, dat de benodigde data dicht bij elkaar staat en zo met zo min mogelijk I/O’s gelezen kan worden. De effecten hiervan zijn: • Het minimaliseren van logische I/O’s • Het effectiever maken van belangrijke indexen • Kortom een lagere workload bij een gelijke hoeveelheid activiteiten Clustering heeft altijd te maken met de fysieke plaats van data. Alhowel dit er logisch gezien niet toe doet, heeft het wel degelijk invloed op de snelheid van bepaalde queries. Ontwikkelaars hebben hier per definitie geen invloed op (in SQL geef je alleen aan wat je wilt doen, niet hoe, of waar). Dit is dus typisch een DBA activiteit (eventueel samen met de systeem beheerder). Een positieve consequentie hiervan is dat er in principe ook geen aanpassingen in de applicatie nodig zijn. Technieken binnen Oracle die je voor clustering kunt gebruiken zijn: • Partitioning • Rac application partitioning • Sorted hash clusters • Clusters • Indexen • Index organized tables • Rac services • Data clustering (In de presentatie slides te downloaden van de OGH site staat een volledig uitgewerkt voorbeeld van gebruik van DBMS_ REDEFINITION om volledig online een gebruikte tabel toe sorteren) • Oplossen migrated rows
22 OGh Visie
Referenties De blogs van Jonathan Lewis, Tanel Põder, Cary Millsap, Tom Kyte, Richard Foote en Harald van Breederode horen tot de beste referenties op het gebied van performance tuning. En als laatste een selectie van de boeken die Toine kan aanbevelen en die zijn blik op tuning en Oracle systemen het meest hebben beïnvloed:
• • • •
Cost-Based Oracle Fundamentals (Jonathan Lewis) Troubleshooting Oracle Performance by (Christian Antognini) Oracle Performance by (Gary Millsap) Relational Database Index Design and the Optimizers (Tapio Lahdenmäki en Mike Leach).
Gerard Uiterwaal is werkzaam bij Motiv IT Masters
Advertentie
Vitalizing your organisation with knowledge
PeopleSoft-experts Oracle-experts
www.sennac.com
T 00 31 (0)10 477 76 95
Oracle Locator & Oracle Spatial 11g
Oracle Locator and Oracle Spatial 11g Best Practices Door Han Wammes, Business Development Manager Oracle Spatial bij Oracle Nederland INTRODUCTION This technical white paper describes best practices for Oracle Locator and Oracle Spatial with SDO_ GEOMETRY, the Oracle Database native data type for storing vector data. Oracle Spatial extends the core location features included in every Oracle database with Oracle Locator. Therefore, this document refers to Oracle Locator when describing best practices that apply to both Oracle Locator and Oracle Spatial. It refers to Oracle Spatial when practices are specific to Oracle Spatial. This paper highlights some best practices and tips to help design and develop applications that use Oracle spatial technology. Many of the recommendations in this paper are not specific to Oracle Locator, allowing customers to capitalize on existing Oracle knowledge within their enterprise.
Part 2 Spatial index creation The following parameters are recommended when creating spatial indexes. • WORK_TABLESPACE - During spatial index creation, the process creates intermediate tables that get dropped when the index is complete. The intermediate tables can take up to 2 times the size of the final index. If WORK_TABLESPACE is not specified, the intermediate tables are created in the same table space as the final index, causing fragmentation, and possible performance degradation. You can use SDO_TUNE.ESTIMATE_
• •
RTREE_INDEX_SIZE, and multiply the result by 2 to provide guidance on sizing the work table space. The work table space can be re-used to create other spatial indexes. LAYER_GTYPE – This parameter is needed especially when working with point-only layers. If a pointonly layer stores its points in the SDO_ORDINATE_ARRAY, you can still specify LAYER_GTYPE=POINT on spatial index creation. This can help query performance when performing spatial analysis. SDO_NON_LEAF_TBL – This parameter is useful for very large spatial indexes (not necessary for smaller spatial indexes). This generates two spatial index tables instead of one. The smaller spatial index table is the non-leaf table, which is traversed most often during spatial analysis. It can be beneficial to pin the non-leaf table into the buffer pool, since it is accessed most often. See the example below.
Partitioned local spatial indexes The following approach is recommended to use for parallel creation of local partitioned spatial indexes on partitioned tables. With this approach, if any ALTER INDEX commands fail, you do not have to rebuild any local partitioned indexes that have already successfully completed. • Create the LOCAL spatial index with the UNUSABLE keyword. This runs very quickly and only creates metadata associated with the index:
CREATE INDEX sp_idx ON my_ table (location) INDEXTYPE IS mdsys.spatial_index PARAMETERS (‘table space=tb_name work_tablespace=work_tb_ name’) LOCAL UNUSABLE;
-- Create the index CREATE INDEX geod_counties_sidx ON geod_counties(geom) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS (‘sdo_non_leaf_tbl=TRUE’); -- Find the non leaf index table name SELECT sdo_nl_index_table FROM user_sdo_index_metadata WHERE sdo_index_name=’GEOD_COUNTIES_SIDX’; ---------MDNT_A930$ -- Pin the table in memory ALTER TABLE MDNT_A930$ STORAGE(BUFFER_POOL KEEP);
Dit is het tweede en laatste deel van een serie over Oracle Locator en Oracle Spatial Best Practices. Omdat we op termijn deze serie wellicht beschikbaar willen maken voor een internationale doelgroep, is de tekst in het Engels gesteld. Deel 1 is verschenen in het vorige nummer van OGh Visie, Voorjaar 2010.
OGh Visie
23
Oracle Locator & Oracle Spatial 11g
•
Build individual scripts. Hypothetically, if you have 100 partitions and 10 processors, build 10 scripts, each with 10 ALTER INDEX REBUILD statements… but do not use the PARALLEL parameter. For example:
specific parameters’) • SDO_NN (search_column, window, ‘operator specific parameters’) See the documentation for many additional operators. Functions include the following:
ALTER INDEX sp_idx REBUILD PARITION ip1; ALTER INDEX sp_idx REBUILD PARITION ip2; etc...
•
Run all 10 scripts at the same time. Each processor will be working on a single partition’s local index, but all the processors will still be busy working on their own set of ALTER INDEX statements.
Note: It is no longer recommended to use the PARALLEL keyword for parallel creation of spatial indexes on partitioned tables, the reason being that when creating a partitioned LOCAL spatial index, if any partitions index fails (for example, table space full or for some other reason), you must start at the beginning again (no way to continue where you left off).
Spatial Queries Oracle Locator and Oracle Spatial include a set of spatial operators and functions. Spatial operators and functions both perform spatial analysis, the difference being operators leverage spatial indexes and functions do not. Operators include the following: • SDO_FILTER (search_column, window) • SDO_RELATE (search_column, window, ‘operator specific parameters’) • SDO_ANYINTERACT (search_ colunn, window) • SDO_INSIDE (search_column, window) • SDO_WITHIN_DISTANCE (search_column, window,‘operator
• SDO_GEOM.SDO_AREA • SDO_GEOM.SDO_LENGTH • SDO_CS.TRANSFORM • SDO_LRS.PROJECT_PT See the documentation for many additional functions. Notice that all spatial operators have a similar parameter signature: • • •
The first argument of a spatial operator is always the column being searched, and must be s patially indexed. The second argument is always the query window, or area of interest. The third argument, if it exists, is a string that includes a list of parameters specific to that operator.
When you are writing SQL statements that include spatial operators, Oracle hints can help the Oracle optimizer choose a better execution plan. Oracle hints are not Oracle Locator specific, but just as they can improve execution plans for SQL statements that do not include spatial operators, they can also help execution plans for SQL statements that do. For an optimal execution plan, always specify the /*+ ordered */ hint when the query window (second argument of a spatial operator) comes from a table. For example, the following query finds all the chemical plants within 5 miles of contaminated wells with ID values 1 and 2.
SELECT /*+ ORDERED */ b.chemical_plant_name FROM well_table a, chemical_plants b WHERE sdo_within_distance (b.geom, a.geom, ‘distance=5 unit=mile’) = ‘TRUE’ AND a.id in (1,2);
24 OGh Visie
In the example, well locations (well IDs 1 and 2) passed into the second argument of the operator come from the well_table. This is a classic example where the /*+ ordered */ hint should be specified. When you specify the ordered hint, list the tables in the FROM clause in driving table order. The table that feeds the second argument of the spatial operator should be listed in the FROM clause before the table that contains the search column. In this example, well_table is listed before chemical_plants in the FROM clause. Spatial operators narrow the result candidates by excluding rows from the table associated with the first argument of the operator (the search column). When the results of a query are narrowed by a spatial operator, and when other indexed columns from the same table that feeds argument 1 of the spatial operator appear in the WHERE clause, it may be helpful to use a no_index hint. This is especially true if those other indexed columns are not very selective. For example, assume the chemical plant query was modified to return all the chemical plants “that process chromium”, within 5 miles of contaminated wells with ID values 1 and 2. Assume that the chemical_ plants table has a column called processes_chromium, with possible values of ‘T’ or ‘F’ (true or false). Even if the processes_chromium column has a bitmap index on it, it probably would not be very selective index to use in the query. Providing a no_index hint on processes_chromium index can help the Oracle optimizer avoid a merge of the selective spatial index and the non-selective, non-spatial index.
SELECT /*+ ORDERED NO_INDEX (b processes_ chromium_index_name) */ b.chemical_plant_name FROM well_table a, chemical_plants b WHERE sdo_within_distance (b.geom, a.geom, ‘distance=5 unit=mile’) = ‘TRUE’ AND a.id in (1,2) AND processes_chromium = ‘T’;
Oracle Locator & Oracle Spatial 11g
Oracle recommends cost based optimization, and gathering statistics on tables and indexes. This can be accomplished with the following procedures: • DBMS_STATS.GATHER_TABLE_ STATISTICS • DBMS_STATS.GATHER_SCHEMA_ STATISTICS The table that contains the SDO_GEOMETRY data type can benefit by gathering statistics on it, but it is not necessary to gather statistics on the spatial index table implicitly created by the CREATE INDEX command.
Application considerations If visualization is a key component of your application, this section may be very relevant. When the display is zoomed out very far, it is not good prac-
tice to turn on very detailed layers. For example, if the display is zoomed out to show the entire United States, turning on detailed streets does not add value to the display. Detailed streets at that zoom level would appear as a solid blob on the screen. It is much more realistic to turn on detailed streets when the display is zoomed in to a one kilometer area east to west. The following is another example. Assume that you have a layer with very detailed polygon regions (about 3000 vertices in each polygon). When you are zoomed out very far, it does not make sense to display these very detailed polygons. The detail of the polygons is lost because the many coordinates in these polygons are being forced to render onto just a few pixels. A more realistic scenario would be to use zoom control
to only turn on the detailed polygons when you are reasonably zoomed in. Another realistic approach is to create a generalized layer (generalized version of the detailed polygons). The generalized layer is displayed when you are zoomed out very far, and the detailed layer is displayed when you are zoomed closer in. Zoom control and the use of generalized layers are very well known concepts for display applications. Correct usage of zoom control and generalized layers will provide much better performance. Unnecessary fetches of detailed geometries from the server can be avoided, especially since most of the coordinates for each of these detailed geometries would render on just a few pixels.
Oracle Spatial dag op donderdag 25 november in Utrecht
Spatial and IT aligned Op donderdag 25 november a.s. organiseren Oracle Nederland en de Oracle Gebruikersclub Holland (OGh) het evenement Spatial and IT aligned. Deze Oracle Spatial dag staat in het teken van ontwikkelingen in Oracle Spatial en toepassingen van geo-informatie waarbij integratie met IT architectuur van cruciaal belang is. Naast een update van Oracle Spatial ontwikkelingen zoals 3D en naadloze integratie met Oracle Business Inteligence, wordt aandacht gegeven aan praktijk-
cases. Hierbij komen organisaties uit zowel het geo-werkveld als uit bedrijfstakken die net de meerwaarde van Spatial ontdekt hebben met interessante nieuwe visies. Ook is er aandacht voor de cultuurverandering die noodzakelijk is voor de integratie van geo in de IT-architectuur. Er wordt op dit moment hard gewerkt aan de definitieve samenstelling van het programma. Sprekers zullen onder andere komen vanuit Rijkswaterstaat, Productmanagement van Oracle Spatial en TU
Delft (Oracle Spatial Centre of Excellence).
Aanmelden en meer informatie De Oracle Spatial dag wordt gehouden in het Oude Tolhuys, Weg naar Rhijnauwen 13-15 in Utrecht. Meer informatie en de laatste stand van zaken m.b.t. het programma voor de het evenement Spatial and IT aligned is te vinden op www.ogh.nl. Ook de aanmelding vindt plaats via de OGh website. OGh Visie
25
Verslag DBA-dag
Thema OGh DBA-dag dit jaar ‘Oracle 11g in de praktijk’
Oracle positioneert Exadata Database Machine als ‘ideaal databaseplatform’ De tweede DBA-dag die de OGh op 14 september heeft gehouden droeg ditmaal als thema ‘Oracle 11g in de praktijk’. Net als de succesvolle eerste editie vorig jaar kende dit OGh miniseminar een hoge opkomst. Ruim honderd OGh-leden waren naar de sfeervolle locatie het Oude Tolhuys in Utrecht getogen om het interessante en afwisselende programma bij te wonen. Het is misschien nog iets te vroeg om al van een traditie te spreken, maar gezien de grote belangstelling en positieve beoordeling van beide zal de OGh DBA-dag ook komend jaar zeker weer een vervolg krijgen. Het programma van de DBA-dag vermeldde twee plenaire sessies, gevolgd door negen parallelle sessies parallelsessies die waren opgesplitst in drie tracks, met als thema’s Administration, Performance & Tuning en Integration. Een uitgebreid verslag van een succesvolle dag, met dank aan de deelnemers die als verslaggever een bijdrage hebben geleverd.
Oracle Exadata V2 Database Machine Na een welkomstwoord van OGhvoorzitter Robin Buitenhuis kwam in de eerste plenaire eerste plenaire sessie de Oracle Exadata V2 Database Machine uitvoerig aan bod. Oracle afficheert de Exadata V2 Database Machine als “ideaal databaseplatform en beste machine voor datawarehousing, OLTP en databaseconsolidatie”. De unieke architectuur maakt de Exadata, alweer volgens Oracle, tot de snelste en voordeligste databaseoplossing die beschikbaar is. In zijn presentatie tijdens de OGh DBA-dag droeg Robert Pastijn van Oracle de bewijzen aan voor deze superlatieve kwalificatie van de nieuwste spruit uit het Oracle/Sun-huwelijk.
Ook commercieel aantrekkelijk Enkele dagen na de DBA-dag bleek na de bekendmaking van de Oracle jaarcijfers - het gebroken boekjaar van Oracle eindigt op 31 mei – dat er inmiddels voor 1,5 miljard dollar aan orders voor Exadata V2 databasemachines in de pijplijn zit. Een duidelijk teken dat de Exadata kennelijk ook commercieel een aantrekkelijk product is. Oracle-CEO Larry Ellison benadrukte dan ook tijdens de afgelopen Open World dat “Oracle’s hardwarebusiness kan verdubbelen door de combinatie van Sun hardware en Oracle software.”
26 OGh Visie
De Exadata hardwarearchitectuur is opgebouwd uit een database grid van 8 servers met in totaal 64 Intel cores, een storage grid met 14 storage servers, 112 cores in storage en schijfcapaciteit van 100 TB SAS disk of 336 TB SATA disk, 5 TB aan PCI Flash geheugen, data mirrored over de storage servers en InfiniBand netwerktechnologie met redundant 40 Gb/s switches. De Exadata machines zijn field upgradable, van een quarter rack machine tot aan 8 gekoppelde full racks met volledige bandbreedte en redundantie. Alle databasemachines zijn identiek aan de config die wordt gebruikt door Oracle Engineering en draaien bestaande OLTP en Datawarehousing applicaties.
5 TB aan flashgeheugen De belangrijkste technologieën die in de Exadata machines zijn toegepast om de beoogde snelheid en kostenvoordeel te behalen zijn: Exadata Storage Grid -voor het draaien van data-intensieve applicaties - Hybrid Columnar Compression waarmee data wordt georganiseerd en gecomprimeerd per kolom en Smart Flash Cache, die zorgt voor extreme OLTP performance. De Exadata heeft 5TB aan flashgeheugen, dat zorgt voor vijf maal hogere I/O per seconde dan 1.000 disks in een Enterprise Storage Array, aldus Oracle. Exadata levert daarmee “de snelheid van flash tegen de kosten van disk”. De Exadata levert daarmee een query throughput van 50 GB/sec aan uncompressed data, met compressed data kan een throughput van zelfs honderden GB/s worden bereikt. Robert liet met een aantal voorbeelden en vergelijkende cijfers zien dat Exadata Flash Datawarehousing beduidend sneller en meer schaalbaar is in vergelijking met storage arrays. Exadata is ook de beste machine voor
database- en storage consolidatie, stelde hij, met name vanwege de buitengewoon hoge performance bij complexe workloads die een mix vormen van OLTP en datawarehousing. Resource Manager biedt de mogelijkheid te prioriteren naar dynamische attributen – workload, job, user – waardoor de performance wordt beschermd tegen dalingen bij mixed workload in OLTP TPS toepassingen. Oracle biedt verder uitgebreide failure protection voorzieningen, zoals redundant hardware, real-time active replica en Active Data Guard.
Migratie Onder het motto ‘Migratie is heel simpel’ ging Robert vervolgens uitvoerig in op de migratieaspecten van zowel Oracle- als niet-Oracle systemen naar een Exadata machine. Met als doelstelling een standaard Oracle 11gR2 database draaiend op
Robert Pastijn van Oracle Nederland
Verslag DBA-dag
64bit Linux en op ASM gebaseerde storage. Belangrijk daarbij is dat alle DBA’s up-to-date (11gR2) kennis hebben en dat alle best practices voor 11gR2 valid zijn voor DBM. Voor migratie van een niet-Oracle bronsysteem naar Exadata adviseerde hij eerst de default opties voor migratie naar Oracle te raadplegen op OTN en daar ook te kijken naar Oracle partners, waarvan een aantal sterk gespecialiseerd in migratietrajecten. Bij Oracle naar Oracle migraties is het bron over het algemeen geen 11gR2 database. De applicatie moet daarom gevalideerd worden voor 11g Release 2 en gecertificeerd voor het gebruik van ASM en de database moet geüpgrade worden. Ook zal het bronsysteem in de meeste gevallen niet op het Linux OS draaien, maar op Big Endian (Risc, Itanium). Belangrijk aandachtspunt is ook dat de databases van het bronsysteem niet gebouwd zijn met de nieuwste features en opties (Block size, Result Cache, Active Data Guard, Real Application Clusters etc.)
Twee migratieopties Een goede voorbereiding van de migratie is cruciaal, stelde Robert, die de aanwezigen ook een aantal tips meegaf. Upgrade je testdatabase naar 11gR2, test je applicatie unit totdat je tevreden bent en beschouw Oracle VM als je vriend wanneer je geen testomgeving hebt, geen RAC-enabled testomgeving en er geen sprake is eenvoudig te herhalen stappen. Ook is het zaak om verder te denken dan de applicatie. Hoe staat het met de backup & recovery, hoe wordt de database geladen met informatie na de migratie (batchjobs, rapportagetools). Een goede capaciteitsplanning, waarbij ook de capaciteit van de huidige omgeving duidelijk in beeld wordt gebracht, is eveneens een belangrijk aandachtspunt bij migratie. Er zijn twee migratieopties: een fysieke migratie, waarbij volledige table spaces en data files worden verplaatst zonder dat naar de onderliggende data wordt gekeken, en een logical migratie waarbij de data uit de database wordt gehaald, naar files gedumpt en gesynchroniseerd met Oracle Streams/Golden Gate. Logical migratie - indien mogelijk – is de eenvoudigste manier om te migreren. Een fysieke migratie is lastiger qua setup maar geeft wel meer flexibiliteit. De
Ordina, hoofdsponsor van deze tweede OGh DBA-dag, was met een stand aanwezig in het atrium van het Oude Tolhuys. tijd die een migratie in beslag neemt, is vooral afhankelijk van het netwerk waarover de data wordt verplaatst. Het advies van Robert is om de oude omgeving te voorzien van InfiniBand met een snelheid tussen de 1,5 en 2,5/s GB per link (5 TB per uur).
Exadata blijkt in eerste instantie de naam van de Oracle storage in de Database Machine te zijn, en Database Machine de naam van het geheel. Oracle heeft echter recent de naamgeving van de database aangepast naar ‘Oracle Exadata Database Machine’.
Geen rocket science
Frits vertelde daarna over zijn praktijkervaringen met de installatie van de databasemachine. Doordat de Exadata al helemaal geïnstalleerd is, kan het verplaatsen van de zwaargewicht – maar liefst 600 kilo - databasemachine naar de serverruimte de nodige moeilijkheden opleveren. Drempels, zachte vloerbedekking, liften, deze kunnen allemaal tot problemen leiden tijdens het transport naar de computerruimte. De databasemachine is voor de applicatie een normale 11gR2 database. Veel technieken die moderne databases gebruiken maken deel uit van Exadata, zoals ASM, RAC, Parallel Query, partitionering. Sommige Exadata-specifieke functies werken helemaal automatisch en hoeven niet door een DBA ingesteld te worden (Smart Scans, Storage Indexen), voor andere is instelling vereist.
De downtime is afhankelijk van tal van factoren, met als algemene stelregel dat hoe lager de downtime, des te beter de voorbereiding moet zijn. ”Neem de tijd om te beslissen welke benadering je kiest, bekijk alle opties zorgvuldig, kies wat het beste geschikt voor jouw omgeving en implementeer zoveel mogelijk van de aanbevolen opties.” Migratie naar het Exadata V2 databaseplatform is bepaald geen ‘rocket science’, concludeerde Robert Pastijn dan ook. Hij sloot zijn betoog af met een overzicht van een aantal praktische aspecten van Exadata, van beheer, back-up en testen, de bestelprocedure (‘Oracle sales is happy to assist you!’) en levering en installatie tot het eerste gebruik, in productie nemen, het dagelijks gebruik en performance en tuning.
Ervaringen als klant/gebruiker Aansluitend op de presentatie van Robert Pastijn schetste Frits Hoogland van VX Company zijn ervaringen als gebruiker/klant en technisch beheerder van een Oracle Exadata database machine. Hij ging allereerst in op de naamgeving:
Als laatste meldde Frits dat zijn bedrijf VX Company Proof Of Concept partner is van Oracle, waarmee het voor geïnteresseerde bedrijven mogelijk is geworden om de Exadata in Nederland te testen. Testen was daarvoor al mogelijk, maar dan bij Oracle in Engeland. OGh Visie
27
Verslag DBA-dag
Right Availability voor Provincie Zeeland met Active Data Guard 11g De tweede plenaire sessie Right Availability voor Provincie Zeeland met Active Data Guard 11g werd verzorgd door Frank Dorst van Whitehorses. Om de beschikbaarheid van het Oracle platform te vergroten heeft de Provincie Zeeland gekozen voor een oplossing met Active Data Guard 11g. Frank ging in op de afwegingen die de provincie heeft gemaakt om deze oplossing te kiezen behandelde uitgebreid de mogelijkheden van Data Guard en Active Data Guard. Daarnaast werden de implementatie en de implementatiekeuzes van de Provincie Zeeland toegelicht en het bereikte resultaat en de toekomstplannen van de Provincie Zeeland besproken. Oracle Active Data Guard wordt de standaard voor nieuwe omgevingen en zal worden uitgerold naar alle Oracle databases.
PARALLEL TRACKS Oracle ASM Cluster File System (ACFS) Rob den Braber van GRID-IT ging in zijn presentatie in op Automatic Storage Management (ASM) dat sinds de Oracle 10g release is toegevoegd als storage systeem voor Oracle databases. Sinds 11g R2 is het ook mogelijk om ASM te gebruiken als ‘normaal’ (clustered) filesysteem. Voorheen was het alleen mogelijk om ASM te gebruiken als storage systeem voor databasefiles. In de presentatie kwamen onder meer de nieuwe features van ASM, de infrastructuur van ASM, Oracle ACFS en ASMCMD-verbeteringen aan bod en werd een korte demo van ACFS gegeven.
Performance Management Grid Control in een Oracle SOA landschap In deze presentatie beschreef Yuri van Buren van Logica op beeldende wijze de ervaringen die hij heeft opgedaan tijdens een performance management opdracht voor de website www.werk.nl van het UWV. De omgeving maakte gebruik van 12-instances op een 2-node 11.1 RAC omgeving, de OEM Grid Control versie was 10.2.0.5. Tijdens het project paste Yuri technieken
28 OGh Visie
toe zoals de Buffer Breakdown Methodologie en Forecasting Oracle Performance. Hij heeft tijdens dit project zijn performance data voornamelijk uit Grid Control gehaald en liet tijdens de presentatie dan ook diverse bruikbare schermen uit Grid Control zien.
Real Application Testing Verslag Fred van Deelen, Ordina
In zijn presentatie legde Patrick Munne van Transfer Solutions uit wat Real Application Testing (RAT) inhoudt en waarvoor het kan worden gebruikt. De duidelijke demonstratie van de tool met behulp van filmpjes gaf een extra dimensie aan de presentatie. Voordeel van deze vorm van presenteren is dat de spreker vooraf precies weet wat er op het beeldscherm te zien zal zijn en niet gehinderd wordt door plotseling slecht performende databases of haperende verbindingen. Wachttijden worden voorkomen doordat langdurende operaties niet worden opgenomen. Real Application Testing bestaat feitelijk uit twee producten, Database Replay en SQL Performance Analyzer. Met de eerste tool wordt een regressietest uitgevoerd waarbij niet alleen kan worden bewezen dat de resultaten vóór en na een databasewijziging hetzelfde zijn, maar er kan ook een uitspraak worden gedaan over de performanceverschillen na een wijziging. In een demo werd een capture uitgevoerd van sql-statements op een Oracle 9.2.0.6 database en vervolgens werd een replay uitgevoerd op dezelfde database, na upgrade naar 11.2.0.1. Hoewel Database Replay heel goed vanuit Enterprise Ma-
nager is te bedienen, werd in de demo gewerkt vanaf de SQL-prompt, hetgeen een goed inzicht gaf in de eenvoud waarmee de tool is te bedienen. Voor een demonstratie van SQL Performance Analyzer gebruikte Patrick wèl OEM. Hij simuleerde het aanmaken van een SQL tuning set op een productiedatabase, om deze tweemaal uit te voeren op een testdatabase om zo het gevolg op de performance van het aanmaken van extra indexen in een database te kunnen analyseren. In een rapport konden de beide uitvoeringen met elkaar worden vergeleken, zowel qua doorlooptijd als de gebruikte executieplans. Een geslaagde presentatie, waarin werd getoond wat de toegevoegde waarde is van Real Application Testing.
Patching met OEM Provisioning Pack
Verslag Pierre van der Ven, CIBER Ron van der Post, werkzaam bij CIBER Nederland, hield een presentatie over Patching met OEM Provisioning Pack. Na de introductie van Ron stelde hij vragen aan de toehoorders om zo een beeld te krijgen van de toehoorders. Het zal niemand verbazen dat slechts enkelen altijd de laatste patchsets en/of CPU-patches installeren. Vervolgens werd er verder gegaan met een uitleg over deployment procedures, hiermee definieer je per stap hoe je via OEM patches kunt installeren. Deze stappen worden vervolgens via een job uitgevoerd. Voordat je daadwerkelijk kunt gaan patchen, moet je nog bepaalde zaken controleren. Denk hierbij aan de
Verslag DBA-dag
software library, de update-opatch-job, refresh van de MOS-job (My Oracle Support) en het maken van een eigen deployment procedure. Ron ging hierna verder in op de daadwerkelijk patch procedure. Stap-voor-stap werd uitgelegd wat er op de achtergrond gebeurt, waarbij ook diverse aandachtspunten werden toegelicht. Ook werd uitgelegd waar de patch procedure je juist niet mee kan helpen, hierbij moet vooral aan grotere zaken zoals een upgrade worden gedacht. Voorts werd getoond hoe je zelf de deployment procedure verder aan kunt passen, denk hierbij bijvoorbeeld aan het toevoegen van extra controles (voor en na het uitvoeren van de patch). Na een overzicht van de voor- en nadelen werd de presentatie afgesloten met een zeer uitgebreide demo en een levendige Q&A sessie.
Performance, Tuning & Storage Erik Swinkels van AXIS into ICT ging in zijn presentatie in op het onderwerp storage in relatie tot performance & tuning. Storage heeft een grote invloed op de performance van de database. Desondanks is het voor veel DBA’s onbekend terrein. De DBA heeft regelmatig weinig in te brengen wanneer het om storage gaat en krijgt wat de storage afdeling denkt dat goed is. In deze sessie gaf Erik de DBA wat munitie richting de storage-organisatie. Wat is een harddisk eigenlijk, en wat voor prestaties kun je er van verwachten? Hoe zit dat precies met RAID, SSD’s en Flash? En wat voor effecten hebben moderne SAN/ NAS omgevingen op de prestaties van mijn database? Wat kan ik met al deze kennis doen om mijn Oracle omgeving zo ideaal mogelijk in te richten en welke opties zijn hiervoor binnen Oracle 11g beschikbaar? Onderwerpen die daarbij aan bod kwamen waren onder meer compressie, partitioning, cache, RAID en ASM.
dbfs/ secure files Ronald Rood van CIBER ging in zijn presentatie in op de mogelijkheden en onmogelijkheden van dbfs. Waar zitten de problemen, uitdagingen en kansen? Met voorbeelden liet hij zien wat de documentatie ons probeert te vertellen. De installatie en configuratie ontbraken niet in het verhaal, evenals de bugs die Ronald is tegengekomen werden bekeken
en waar mogelijk opgelost of omzeild. Ook zaken als de befaamde compressie en deduplicatie kwamen aan de orde. Een uitgebreid artikel van Ronald Rood over dit onderwerp is te vinden op de website van de OGh.
Oracle BI
Verslag Pierre van der Ven, CIBER Nasierkhan Jahangier, werkzaam bij Rabobank, begon zijn presentatie met het beschrijven van wat Oracle BI nu eigenlijk is. Hierbij werd ingegaan op de front-end maar uiteraard ook op de back-end. Een opvallende mededeling was dat onderzoek heeft aangetoond dat je met Oracle BI binnen hooguit een paar maanden iets werkbaars in handen kunt hebben. Met traditionele tools zijn daar vaak enkele kwartalen tot soms zelfs jaren voor nodig. Voorts werd getoond hoe Oracle BI binnen een organisatie past, waarna de sessie meer de diepte in ging. Een interessante feature is ‘Cache Seeding’, het is vergelijkbaar met materialized views maar dan geavanceerder omdat de gegevens vooraf worden gecached. Over het algemeen valt op dat de nadruk bij de 11g-versie op performance ligt, daarnaast is de Fusion Middleware uiteraard ook ter sprake gekomen. Na een overzicht van de belangrijkste bestanden en directories werd verder ingegaan op beheer via de Administration Console en de Fusion Middleware Control (die laatste komt neer op de BI-versie van Enterprise Manager). Met de Enterprise Manager kan de keten vanaf hardware tot aan de Oracle WebLogic server worden beheerd. Na kort stil te hebben gestaan bij de security, kwam clustering ter sprake. Vanaf 11g is het mogelijk om horizontaal te clusteren. Na diverse vragen en de tip “misbruik je BI-server niet als databaseserver” werd deze interessante sessie afgesloten.
Identity Management In Identity- en Access Management projecten wordt vaak gekeken naar wat technisch mogelijk is zonder rekening te houden met wat vanuit de organisatie verstandig, wenselijk en haalbaar is. Andersom is er binnen de organisatie vaak weinig aandacht voor Identity- en Access Management. Zonder een goede samenhang tussen organisatie en IT zal Identity en Access Management nooit succesvol worden ingevoerd.
Bert Dondertman en David Kalff van FuseLogic gingen tijdens hun presentatie in op een aanpak die daarbij kan helpen: Meer Business met Identity Management (MBI). De aanpak helpt om snel, met concrete aanbevelingen en een stappenplan, tot de juiste oplossingen voor uw organisatie te komen. Niet alleen voor het aspect technologie, maar in samenhang met andere belangrijke factoren als organisatie, cultuur, verantwoordelijkheden, toezichthouders en delivery capaciteit. Na een toelichting op de MBI aanpak, werd in het tweede deel van de presentatie een voorbeeld uit de praktijk getoond. In de case is Identity management, met SSO, voor een klantenportaal succesvol gerealiseerd door inzet van Oracle IDM componenten.. Het betreft een van de grotere Oracle IAM implementaties met meer dan 4 miljoen gebruikers en meer dan 40.000 authenticaties per dag, waarbij veel eisen werden gesteld aan de performance. De toegepaste Oracle componenten: Oracle Internet Directory (OID), Oracle Access Manager (OAM), Oracle Identity Manager (OIM), Oracle J2EE Webservice framework (AS10g), Oracle 10g Databases.
HTTP Server Security De Oracle Applicatie Server en Oracle Fusion Middleware zijn langzamerhand tot de werkzaamheden van de Oracle DBA gaan behoren. De meeste DBA’s hebben weinig ervaring en kennis van HTTP servers/Apache. Toch dienen zij deze te installeren en te configureren. Frits Hoogland van VX Company vertelde in zijn presentatie hoe het onderdeel (HTTP servers/ apache) van de applicatieserver, de HTTP server werkt. De HTTP server van Fusion Middleware raakt TCP/IP & firewalling en richt zich op risico’s. Hoe zijn deze risico’s te identificeren? Hoe te hardenen (het reduceren of modificeren van functionaliteit om het gevaar van aanvallen te verminderen)? En hoe kunnen risico’s verder verminderd worden met de mod_security? Tot slot liet hij enkele tools zien om risico’s te kunnen identificeren op verschillende levels. De OGh DBA-dag werd mede mogelijk gemaakt door Ordina en Planboard. De presentaties van dit OGh miniseminar zijn te downloaden van de OGh website: www.ogh.nl OGh Visie
29
Ervaringen met Oracle BI 11g R1
Oracle BI 11g R1 belicht in OGh themabijeenkomst
Eerste ervaringen met nieuwe release Oracle BI Op 15 september sprak Daan Bakboord, Oracle BI Consultant bij Scamander Solutions, op een OGh themabijeenkomst bij Oracle in De Meern over zijn eerste ervaringen met de nieuwe release van de Oracle BI Suite. Oracle BI 11g R1 werd op 7 juli door Oracle gelanceerd en is sinds begin augustus beschikbaar. Na een goede maand ‘stoeien’ met de nieuwe release maakt Daan Bakboord de eerste balans op.
Door Philip Brand Als ‘nitwit’ op het Oracle BI vlak besluit ik samen met drie collega’s de bijeenkomst bij te wonen, gewoon om eens te kijken wat het is en hoe men er over denkt. Als Oracle ontwikkelaar, met name aan het werk binnen de eBusiness suite, beperkt mijn kennis van Oracle BI zich tot het gebruik van Oracle Discoverer, een in mijn ogen overzichtelijk product. Maar ja, inmiddels is Discoverer enigszins achterhaald en wordt steeds minder gebruikt. Bij Oracle hebben ze niet stilgezeten en in de grote overname race is uiteindelijk het BI product van Siebel de de facto standaard geworden voor Business Intelligence. De bron van dit product ligt in nQuire, dat eind jaren 90 op de markt kwam. In 2001 werd dit Siebel Analytics, om begin 2006 omgedoopt te worden tot Oracle BI EE.
Eerste grote release Nu in 2010 dus de eerste grote release van dit product, genaamd Oracle BI 11g R1. De eerste vraag die Daan behandelde in zijn presentatie is waarom het zo lang heeft moeten duren voordat deze release beschikbaar is gekomen. De Oracle BI Suite maakt nu volledig deel uit van Oracle Fusion Middleware, en die integratie heeft natuurlijk de nodige voeten in aarde gehad - de WebLogic Application Server, integratie met Oracle’s Enterprise Manager die een eigen BI component heeft. Waar je in de BI EE versie nog users registreerde in de applicatie zelf, gaat dit nu via de Identity Manager op de WebLogic Server, Diagnostics, Tuning etc., via Enterprise Manager. Maar ook binnen de BI Suite zelf is veel veranderd. Daan noemde: • de sterk verbeterde user interface,
30 OGh Visie
• • • • •
met interactieve dashboards, zeer veel mogelijkheden voor grafieken en andere animaties. geïntegreerde location intelligence die het veel eenvoudiger maakt om geografische data te presenteren in de vorm van kaarten. de integratie met de Enterprise manager biedt grote voordelen op het gebied van schaalbaarheid, security, configuratie en optimalisatie van queries. Het Action Intelligence framework, die het mogelijk maakt om ‘acties’ te definiëren, zodat je bijvoorbeeld op basis van specifieke situaties in je BI omgeving acties kunt initiëren in het bedrijfsproces, of omgekeerd. De nieuwe Template Desiginer in BI Publisher, die de mogelijkheid biedt om de meest complexe rapportages en lay-outs te ontwerpen. Scorecards en Strategy Maps bieden mogelijkheden KPI’s te definiëren en te visualiseren.
De reacties in de markt zijn positief. Kreten als ‘A brilliant child has grown up’, ‘Oracle BI 11g industry’s most complete’ BI solution’ doen de ronde. De verwachtingen zijn dan ook hoog. Zijn deze gerechtvaardigd?
Kanttekeningen Daan is positief, maar plaatste ook enkele kanttekeningen, in die zin dat er voor hem nog een hoop te ontdekken en te leren valt. Niet alles is er eenvoudiger op geworden. Mij bekruipt dan het gevoel dat ik had toen ik voor eerst als redelijke ervaren Microsoft Office gebruiker met Office 2007 geconfronteerd werd. Natuurlijk , het ziet er mooi uit, maar hoe vind ik alle opties die ik gewend was te gebruiken weer terug? Wanneer iemand
met zeer veel ervaring in de voorgaande release aangeeft dat er met de introductie van een nieuwe release voor hem nog een hoop te leren en uit te zoeken valt, dan is dat natuurlijk niet per definitie negatief, maar het geeft wel te denken. Daan heeft inmiddels zes installaties uitgevoerd op verschillende platforms, waarvan de eerste vijf succesvol waren, en de zesde nog niet. Hij adviseert in ieder geval goed de installatiehandleidingen te bestuderen. De requirements voor installatie op Linux of 32-bits Window platform zijn : • Disk Space: 20GB of meer • Available Memory: 4GB of meer • Temp Space: 950MB of meer • Swap Space: 3GB of meer • CPU: dual-core Pentium, 1,5GHz of hoger Op zich niet zo spectaculair, maar voor een goede performance heb je eigenlijk wel meer power nodig. Met andere woorden, even bij een klant een demo geven op je laptop is niet meer zo vanzelfsprekend.
Nieuws onder de zon In een real-time demo liet Daan eerst de nieuwe administration tool zien. Met name de mogelijkheid om naast data uit relationele databases ook bronnen als Oracle OLAP en Oracle Essbase te bevragen bieden veel nieuwe mogelijkheden. Verder valt in de administration tool op dat je de user-administratie niet meer tegenkomt omdat dat nu via WebLogic gebeurt. Aan de voorkant is er veel meer nieuws onder de zon. Vanaf de homepage doen we een korte rondgang langs een aantal nieuwe opties. Het performance management, de scorecards, de mapviewer, het action intelligence framework.
Ervaringen met Oracle BI 11g R1
Daan wijst op de vele standaard demo’s die via Oracle te downloaden zijn. Positief om te melden is ook dat er een migratietool beschikbaar is die het mogelijk maakt 10g BI-applicaties om te zetten naar 11g. Behoudens enkele layouttechnische beperkingen die achteraf nagelopen moeten worden, is het resultaat toch heel behoorlijk. Wat is nu de eind conclusie? We lezen even het commentaar dat Daan zelf de volgende dag schreef op zijn blog: In een sessie van een kleine 2 uur heb ik mijn eerste ervaringen op het gebied van de nieuwe Oracle BI R1 release gedeeld met de aanwezigen. Het is géén marketingshow geworden, maar een eerlijke kijk van iemand die aan de slag gaat met een product, dat in een volledig nieuw
jasje is gegoten. Uiteraard bekijk ik alles wel door een rode bril. Aan de ene kant ben ik erg enthousiast over de vernieuwde en extra mogelijkheden van Oracle BI 11g. Tegelijkertijd kun je je ook afvragen of er een business case is voor alle nieuwe functionaliteiten. De tijd zal het leren. Als toehoorder heb ik een behoorlijke indruk gekregen van de mogelijkheden van het nieuwe BI product van Oracle. De grote vraag voor mij nu is of het in de praktijk ook makkelijk toepasbaar en bruikbaar is, zonder ooit een echte BI specialist te willen worden. Bij het maken van toepassingen voor klanten is er altijd een aanzienlijk deel van het op te leveren product, dat je zou
willen invullen met zo’n BI product: rapportage, bepaalde informatieschermen etc. Kan ik voor dat soort zaken straks gemakkelijk zo’n BI tool inzetten, en is het goed integreerbaar met de rest? En rechtvaardigt de prijs die Oracle voor het product vraagt, de functionaliteit die ik ermee realiseer voor de klant? Dat zijn voor mij een beetje de kernvragen die overblijven. De mogelijkheden zijn er, daar ben ik van overtuigd, maar of dat ook gaat lukken zonder zelf de rest van mijn leven BI-specialist te worden? Om met de woorden van Daan te spreken: de tijd zal het leren ….. Philip Brand is Senior Technical Consultant Oracle eBusiness Suite bij Quobell B.V.
OGh Visie word mede mogelijk gemaakt door
OGh Visie
31
ONS TEAM VAN ORACLE SOA INTEGRATIE SPECIALISTEN ZOEKT EXTRA BEMANNING! Conspect ICT diensten... de experts in Oracle & Java technology: • Oracle Fusion Middleware • Oracle SOA Suite • Oracle Service Bus • Oracle Forms • Oracle Portal • Oracle ADF • Oracle Application Server • Oracle Spatial • Oracle WEB Center • Oracle databases • APEX
CONSPECT
ICT diensten
‘Wisdom never fails’ Transistorstraat 71 j, 1322 CK Almere • (036) 538 72 92 •
[email protected] • www.conspect.nl