Big Dog Solutions heeft zijn professional service applicatie (psa) Big Dog herschreven voor het .Net-platform. Na een uitvoerige afweging kreeg dit de voorkeur boven Java; 4gl-omgevingen werden al heel snel afgeserveerd.
Het bedrijf in Scherpenzeel komt voort uit HSO, een implementator van onder andere Baan-erp- en e-business-oplossingen, met zeven kantoren, verspreid over drie continenten. Deze onderneming kon geen goed werkende applicatie vinden voor het automatiseren van een projectorganisatie in de dienstverlening met internationale aspecten. Exact en Baan Finance lieten het afweten. Daarom heeft zij er in 1997 zelf maar een gemaakt: een applicatie voor projectbeheer, ‘resource management’, tijdregistratie en projectadministratie. Kortom, wat tegenwoordig professional services automation (psa) heet.
Big Dog, zoals het product heet, was geschreven voor de interne organisatie in 4gl Baan (Baan Project). In 1999 is Big Dog Solutions verzelfstandigd, kort voordat de onderzoeksgroep Aberdeen een glorieuze toekomst voor psa voorspelde. In 2000 is besloten zelfstandig met de psa-software de markt op te gaan. Maar dan moest er wel wat aan gebeuren. De applicatie, gekoppeld aan Baan IV (dus niet ‘webenabled’), was erg zwaar, gaf nog grijze schermen en was niet geschikt voor toekomstige ontwikkelingen als het gebruik van mobiele apparatuur.
Er moest een nieuwe applicatie komen, zo werd besloten.
Te afhankelijk
"We hebben ook gekeken naar de vierde generatie ontwikkelplatformen van bijvoorbeeld Progress en Oracle, maar die viel eigenlijk al vrij snel af", zegt Herbert Weustenenk, productmanager bij Big Dog Solutions.
Hij somt eerst het voordeel op van 4gl: hoge productiviteit van het ontwikkelteam, omdat de software heel veel voor de programmeurs afregelt. Om al snel tot de nadelen te komen: "Bij 4gl moet je altijd nog betalen voor de ‘runtime’ bij het gebruik door onze klanten; je bent dan vaak een stuk duurder uit. Het belangrijkste bezwaar is wel dat je jezelf afhankelijk opstelt van een leverancier. Dan moet je maar afwachten of die dezelfde ontwikkelingen als jij belangrijk vindt. De integratie met applicaties van derden is bij 4gl ook lastig, omdat het een bedrijfseigen systeem is."
Bleef over de keus tussen Java en .Net.
Binnen het bedrijf waren er Java- en .Net-adepten. De ontwikkelaars hadden zelf al enige Java-ervaring opgedaan en waren dus gewend met objectoriëntatie die je voor deze twee platformen nodig hebt. "Omscholen was geen enkel probleem", onderstreept Weustenenk.
"Bij .Net werk je in een ontwikkelomgeving van één leverancier. Op basis van onze ervaringen met Microsoft Visual Studio (voor C++) verwachtten we dat ontwikkelen in .Net sneller zou zijn dan in Java. We wilden vóór de zomer van 2002 een complete applicatie op tafel hebben. Daar staat tegenover dat Java al een bewezen technologie is en .Net nog in de kinderschoenen staat."
"Maar dat heeft ook weer een voordeel: we zijn de eerste met een .Net-applicatie op de markt. Een keuze voor .Net houdt meteen in dat je kiest voor het Microsoft-platform; de Unix-wereld laat je dan links liggen. Aangezien wij toch voor het midden- en kleinbedrijf willen ontwikkelen, was dat geen probleem."
Java en .Net ontlopen elkaar in de afweging niet veel. "Als .Net honderd punten heeft, dan heeft Java er achtennegentig. Uiteindelijk volg je je buikgevoel en dat was een voorkeur voor .Net, omdat er meer potentie in schuilt. We zetten daarmee wel de toekomst van ons bedrijf scherp: als .Net niet aanslaat, dan kunnen we de tent wel sluiten. Maar dat geldt ook voor Microsoft: als dit initiatief mislukt, dan kan Microsoft het wel schudden bij de ontwikkelaars."
Kinderziektes
Weustenenk is tevreden met de keuze. Binnen zes maanden ligt er een nieuwe applicatie. "Ik zou het zo weer doen", reageert hij.
Wel hebben de ontwikkelaars .Net-kinderziektes aangetroffen. Zo werkt de ‘multiple check out’ (mco) niet goed. Mco betekent dat ontwikkelaars tegelijkertijd aan code kunnen werken; de software moet dan heel goed versiebeheer kunnen doen. Dat liep mank. In Visual Source Safe is de ‘multiple check out’ dan ook uitgezet. "Het kost namelijk minder tijd om even op jouw collega te wachten, dan achteraf te moeten uitzoeken waarom het fout is gegaan."
En Weustenenk vindt het jammer dat er nog maar heel weinig ‘controls’ voor .Net op de markt zijn. Maar bij een grotere acceptatie van .Net (en Visual Studio) komen die vanzelf beschikbaar.
Teus Molenaar