Customer Case: WoningNet
WoningNet en Webservices • • • •
Woonruimtebemiddeling Shared service center Business uitdaging Architectuur visie
Woonruimtebemiddeling
Woningzoekende schrijft zich in
Woningzoekende zoekt woning uit
Corporatiemedewerker meldt woningen leeg
Corporatiemedewerker regelt bezichtiging en huurcontract
Reacties worden verzameld en op basis van selectieregels rangschikking gemaakt
WoningNet: Shared Service Center Systeem
Woonruimtebemiddeling
Nieuwbouw
DigiZine
Procesondersteuning
Woningaanbod
Sociale huur
Vrije sector huur
Koop
Jongeren eenheden
Selectiemodellen
Aanbod
Loting
Optie
Directe bemiddeling
Kanalen
Internet
e-mail
SMS
Call center
Management informatie
Verantwoording
Data analyse
Enquêtes
Rapportage
Business uitdagingen • Back-end applicatie: Oracle Designer/webforms • Website: Classic ASP • Woonruimtebemiddeling: 1 van de vele processen / applicaties van corporaties • Sterke sectorontwikkeling: Corporaties werken achterstand weg • Technologische mogelijkheden: Woningzoekende eist betere informatievoorziening
Webservice Architectuur
Fleximatch
Website Regio
Website Corporatie
Website X
Oracle webforms
Webservices Enterprise service Bus (ESB) Regio database
Systeem Y
Een goed begin… • Orienterende sessies tijdens concept fase met solution architect van AMIS. • Doelen: – Alle uiteindelijk betrokken partijen vroegtijdig “aanhaken” – Architectuur en tooling aan laten sluiten op: probleem, organisatie, skills, huidige en toekomstige wensen, …
• PoC’s om technische uitdagingen en (on)mogelijkheden vroegtijdig in te schatten • Voorbereiding begonnen juli 2009 • Implementatie begonnen oktober 2009
Gekozen oplossing • Enterprise Service Bus op basis van Oracle SOA Suite 11g (Mediator, beetje BPEL) • Intelligentie/complexiteit in database (validaties, aggregatie / verrijken van data, transacties, ..) • “Dedicated” PL/SQL API tbv web services, op basis van Collections en Object Types (dus NIET op basis van XML) • DatabaseAdapter verzorgt omzetten van en naar XML • Resultaat: weinig development effort nodig voor ESB/service laag
Service implementatie
Dedicated PL/SQL API
Mediator Database Adapter
Enterpise Service Bus
SOA Suite 11g
Existing Backoffice Data & Functionality
Project uitdagingen • Een SOA project is in veel opzichten een IT project als alle andere • Toch zijn er veel nieuwe aspecten die vaak “in de periferie” meekomen met het eerste SOA traject • Bij WoningNet waren er duidelijke verschillen op het gebied van: – Ontwikkelstraat – Design/Build/Test – Project Management
Ontwikkelstraat • • • • •
Continuous Integration (Hudson) Ant build&deployment scripts File-based development & versioning (Subversion) Release management (Subversion + Ant) MDS (Meta Data Store)
Design • Canonical Datamodel
• FO/TO (wat beschrijf je in “Word”, wat in “code”)
Build • Eerst “referentie implementatie” van één, representatieve service • Dan pas opschalen naar meer services • Eerste service kost relatief ZEER veel tijd: geeft in eerste helft van project een zorgwekkend voortgangsplaatje maar is typerend voor dit type project. • Rework door voortschrijdend inzicht blijft onvermijdelijk
Test • Grote vraag: hoe/wat/waarmee/wanneer test je, en wie test wat? • Oplossing: – “Test Suites” van SOA Suite 11g voor unit testen van ESB laag – Eigen PL/SQL test framework voor unit testen van PL/SQL laag – SOAP UI Testplannen voor keten- en performance test
• Test team “ontwikkelt code”: – Eigen ontwikkelomgeving (Subversion) – Stabiele omgeving nodig => releasematig werken
Ontwikkelaar
SoapUI Testplan Lifecycle Basis Testplan met “Happy Flow” testcase
Tester
Excel met logische testcases
Testplan Generator
Uitgekleed Testplan met Performance tests
Template Testplan
Volledig Testplan
Project management • Training – ontwikkelaars, ontwerpers, testers – XML basis training – On-the-job coaching
• Iteraties • Standup Sessies • Progress Board
WoningNet en AMIS • Project in essentie uitgevoerd door eigen IT afdeling WoningNet – – – –
Architecten Ontwikkelaars Testers Projectleider en – manager
• Ondersteuning door team vanuit AMIS – – – – –
Solution architect tijdens voorbereiding (aantal sessies) Ontwikkelaar/on-the-job coach (1FTE) Infrastructure architect (1 dag/week) Software architect (1 dag/week) Trainer voor basis XML training (éénmalig 2 dagen)
Resultaat • Bijzonder “soepel lopend” project, zeker gezien grote hoeveelheid nieuwe materie. • Zeer goede kennisborging binnen WoningNet • Oplossing die goed aansluit bij aanwezige skills • Perfect uitgangspunt voor toekomstige vernieuwingen en uitdagingen.
Succes- en faalfactoren • • • • •
Bekende materie Veel tijd in voorbereiding en cannoniek datamodel Expertise inhuren Brede basis van eigen ontwikkelaars/Architecten Gezamenlijke visie Business-ICT
• • • •
Beperkingen eigen mensen Onervarenheid testteam Onvolledige / oude licentie SOA suite (BPEL) Op verschillende momenten toch aanpassing in generieke laag
Huidige status • SOA suite in productie • Basislaag en eerste webservice in gebruik • Start bouw website begonnen • Webservices 1 juni afgerond • In Q4 overige regio’s afgerond • 6 december website Amsterdam live