Forms2Future in action for SaaS provider Connexys

download Forms2Future in action for SaaS provider Connexys

of 9

  • date post

    12-May-2015
  • Category

    Technology

  • view

    983
  • download

    2

Embed Size (px)

description

This article describes the history of the NextGen project at Dutch SaaS provider Connexys (www.connexys.eu). It outlines common challenges for SaaS applications - such as customization and cross-cloud-integration - and describes how these were addressed. The article brushes upon the technology used (Oracle Database, SQL/PLSQL, Oracle ADF (ADF BC, JSF/ADF Faces, JDeveloper, JHeadstart).

Transcript of Forms2Future in action for SaaS provider Connexys

  • 1.Forms2Future presentatie op OBUG 2010: Castle in the clouds Building the Connexys SaaS application with Fusion MiddlewareTijdens de OBUG 2010 conferentie op dinsdag 23 maart jl. in conferentie centrum Papendal was 'Forms2Future' een van thema's, zowel in de presentaties als op de expositie. Dit thema betreft niet uitsluitend over Forms - het beschrijft in het algemeen een omgeving met klassieke Oracle ontwikkel- technologie en bijbehorende applicaties, werkmethodes en medewerkers in organisaties die op de toekomst willen inspelen. De toekomst voor deze organisaties omvat verschillende uitdagingen en mogelijkheden. Bijvoorbeeld nieuwe wensen van de business - en de eis om een kortere time-to-market te realiseren voor toekomstige nieuwe wensen, nieuwe gebruikersgroepen en nieuwe kanalen waarlangs applicatie-functionaliteit moet worden aangeboden. En ook een verdergaande integratie binnen de organisatie - koppelingen tussen systemen, bruggen tussen technologien - en tussen de organisatie en business partners en overheidsinstanties.De presentatie van Arne van den Ing (architect bij Connexys) en Lucas Jellema (technisch consultant bij AMIS) ging in op de reis die Connexys heeft gemaakt in het licht van een aantal van deze uitdagingen van een klassieke Oracle omgeving naar een op de toekomst voorbereide situatie. Deze reis omvat zowel technologie en applicatie als werkwijze en veel betrokken medewerkers en klanten. De Connexys- applicatie is een SaaS-applicatie (Software as a Service) die vanuit 'de cloud' door meer dan 150 organisaties wordt gebruikt. Dit stelt specifieke eisen aan de applicatie, ondermeer op het vlak van de dynamische aanpasbaarheid, het operationele beheer en de integratie (across the cloud). Het lijkt er overigens op dat veel van de voorzieningen die ten behoeve van het SaaS karakter van de applicatie zijn ontworpen eigenlijk in iedere applicatie van waarde kunnen zijn.

2. Figuur: Gepersonificeerd Dashboard voor de Connexys NextGen applicatie Dit artikel geeft een beeld van de presentatie van Arne en Lucas - achtereenvolgens van de uitgangssituatie bij Connexys, de keuzes die zijn gemaakt en de overwegingen daarbij, de belangrijkste elementen in het "NextGen project" en de specifieke voorzieningen die voor 'customization' en 'cross- cloud service ontsluiting' van SaaS applicaties ontworpen zijn.Connexys - een paar jaar geleden Aan het begin van het decennium startte Connexys met een browser gebaseerde applicatie die Werving & Selectie en HRM-processen ondersteunde voor kleinere en vooral grotere organisaties. In een paar jaar bouwt Connexys een groot marktaandeel op met ruim 100 klanten en superieure functionaliteit. Figuur: Screenshot van Connexys OldGen - de applicatie van voor 2008 3. Dan doet de wet van de remmende voorsprong zich gelden: nieuwe partijen in de markt bieden visueel rijkere, modernere applicaties en verleiden daarmee nieuwe klanten. Andere aandachtspunten voor Connexys zijn de groeiende kosten van implementaties, de inspanning voor het onderhoud van de vele klantspecifieke aanpassingen en het te beperkte vermogen snel nieuwe functionaliteit te realiseren.Het marktaandeel van Connexys groeit niet meer en het bedrijf staat voor een belangrijke keuze: de bestaande applicatie handhaven, verder uitmelken en een langzame maar zekere teruggang accepteren of de applicatie en de organisatie moderniseren en het leiderschap in de markt terugpakken en uitbouwen. Dat laatste scenario vergt actie en een substantile investering.De directie van Connexys is niet toe aan de rol van Cash Cow en op termijn een nachtkaarsscenario. Er wordt besloten tot het NextGen project dat de toekomst zal binnenhalen.Het NextGen project Het uitgangspunt voor Connexys is een deels met de Oracle Designer WebServer Generator gegeneerde PL/SQL applicatie - op basis van de Web PL/SQL Toolkit die vanuit de Oracle Database met behulp van het HTP package en de MOD_PLSQL module voor Apache HTML pagina's oplevert. De applicatie is in de loop der jaren enorm verrijkt, middels handmatige aanpassingen op de gegenereerde code. Het fundament van de applicatie wordt gevormd door een solide data model en een laag die bedrijfsregels en data integriteit afdwingt met triggers en packages. Een dozijn medewerkers werkt aan het ontwerp, de ontwikkeling en het beheer van de applicatie.Keuzecriteria voor de technologie die voor NextGen werd geselecteerd waren met name: functionaliteit - kan de stack de functionele (en vele non-functionele) eisen implementeren productiviteit - is de ontwikkeling van toekomstige functionaliteit mogelijk binnen tijd en budget time to market & flexibiliteit - biedt de stack voldoende 'agility'? Kan nieuwe functionaliteit snelingepast en bijgebouwd worden licentiekosten - de directe out-of-pocket kosten voor het inzetten van de stack haalbaarheid voor team - in hoeverre kan het bestaande team van ontwikkelaars en beheerdersmaar ook ontwerpers, testers en andere betrokkenen, de stack adopteren binnen redelijketermijn en tegen redelijke kostenDaarnaast was een uitgangspunt dat de bestaande Oracle database ook de nieuwe applicatie zou gaan bedienen - ondermeer omdat gedurende een overgangsperiode zowel OldGen als NextGen actief zouden zijn.Het selectietraject, waarin ondermeer naar Open Source Java en .Net oplossingen werd gekeken, resulteerde in een keuze voor Oracle's ADF framework. Om grotere productiviteit en een vlakkere leercurve voor het ontwikkelteam te bewerkstelligen werd JHeadstart ingezet als extra ontwikkelgereedschap. Ook werd de kracht van de database nadrukkelijk ingezet: bij gelijke geschiktheid werden operaties met behulp van SQL en PL/SQL gerealiseerd in plaats van ten alle tijde Java in te zetten. 4. Figuur: van oude architectuur naar de nieuwe NEXTGEN situatieConnexys beoogde twee belangrijke doelstellingen met het NextGen project. Allereerst de ontwikkeling van een applicatie die de leidende marktpositie zou herbevestigen en voor de toekomst zeker stellen. Direct daaraan gekoppeld en voor het bestendigen van het succes net zo belangrijk de ontwikkeling van de hele organisatie - van ontwikkelaar tot secretaresse was op een of andere manier bezig met of op zijn minst bewust van NextGen - en ook de klanten die al in een vroeg stadium werden genformeerd over het project en konden meedenken over de functionaliteit en het uiterlijk van de applicatie. Connexys zocht een externe partij aan om de reis naar de toekomst te helpen plannen en daarna achtereenvolgens als gids/reisleider, reisgenoot en uiteindelijk steunpunt te fungeren. Enthousiasme- en kennisoverdracht leidend tot zelfstandigheid van de eigen medewerkers waren de sleutel voor succes.Rijke functionaliteit De NextGen applicatie is aantrekkelijk en plezierig intutief om mee te werken. Klanten moeten vroeg in salescycli in een oppervlakkige kennismaking genteresseerd raken. En vervolgens bij nadere beschouwing en toetsing door kandidaat-eindgebruikers maar met name in het dagelijkse gebruik moet de applicatie functioneel rijk zijn, taak- en procesgericht zodat gebruikers zonder steile leercurve of veel zoeken doelgericht en productief hun werk kunnen doen. Rijke web-applicaties van verschillende leveranciers zoals SalesForce.com inspireerden het ontwerp van NextGen.De basis voor het ontwerp werd gevormd door een user interaction design - een consistente beschrijving van de meest voorkomende acties en interacties in de applicaties met antwoorden op vragen als: welke stappen zet een gebruiker, wat zijn de mogelijke keuzes op ieder punt in de applicatie, welke informatie heeft de gebruiker nodig om een actie te initiren. Dit ontwerp omvat de structuur van applicatie-pagina's en de vaste interactie-gebieden - zoals tabs voor modules (1), broodkruimelspoor voor de flow binnen een module (2), navigatie-historie voor (short-cuts naar) de recent bezochte kandidaten, vacatures en contactpersonen (3), knoppenbalk voor transactie controle (Opslaan, Opslaan & Specifieke vervolgactie en Annuleren) en navigatie door gegevensset (4) en het wellicht meest opmerkelijke onderdeel: de relevante acties (5). 5. Figuur: de vaste interactie-gebieden in het NextGen interaction ontwerpDe applicatie kent geen globaal menu zoals we dat van oudsher in veel applicaties tegenkomen. In plaats daarvan wordt in NextGen op iedere pagina in de 'Acties-box' een lijst van acties (hyperlinks) getoond die op dit moment beschikbaar zijn. Op basis van de huidige pagina, de huidige gebruiker (rechten) en het huidige record (status) wordt door de applicatie aan een PL/SQL gebaseerde workflow engine gevraagd welke operaties beschikbaar zijn. Dit dynamische lijstje vormt voor gebruikers een heel intutieve manier om snel de meest voor de hand liggende actie in het kader van een logisch samenhangende workflow (die door de klanten zelf kan worden ingericht) uit te voeren.Daarnaast wordt de look & feel - de stijl, kleursamenstelling, icoongebruik - vastgelegd in dit interaction design.Kenmerken van SaaS applicaties NextGen is een applicatie die wordt aangeboden via het SaaS model (Software as a Service). Dit model kent een aantal karakteristieken en uitdagingen waarmee bij het ontwerp en de bouw nadrukkelijk rekening moet worden gehouden.Er is sprake van een 'single instance' van een standaard applicatie die door veel gebruikers binnen meerdere (bij Connexys meer dan 150) klantorganisaties wordt gebruikt. SaaS applicaties draaien binnen een centrale en centraal beheerde infrastructuur en zijn (nagenoeg) 24/7 beschikaar, zeker bij internationaal gebruikte applicaties. De applicatie wordt aangeboden via een web browser. Het licentie- model is gebaseerd op gebruik - zowel hoeveelheid gegevens en transacties (diepte) als de gebruikte modules en afgenomen functionaliteit (breedte). Service Level Agreement leggen de gegarandeerde dienstverlening vast - zoals beschikbaarheid en reactie-snelheid van de applicatie.We bespreken twee specifieke aandac