BLOG

Expert column

Multi-paradigma: Eet van twee walletjes, en profiteer van de kracht van meerdere platformen

14 juli 2016

Expert column door Frank Houweling

Nederlands beroemdste informaticus Dijkstra zei het al in 1970; zorg voor eenduidige en simpele software, de domain logic biedt namelijk al genoeg complexiteit (en daarmee de nodige frustratie) voor uw organisatie. En zoals vaak met zulke oude wijsheden, is het verminderen van complexiteit nog steeds zeer relevant. Sterker nog, met het steeds groter wordend belang van een goede ICT-voorziening, groeit ook het belang van het beheren en controleren van het softwarelandschap. Overzicht en controle zorgt voor snellere ontwikkelingscyclus, minder bugs en fouten en een hogere softwarekwaliteit.

Toch is de manier waarop organisaties hun softwarelandschap beheren aan het veranderen. Op dit moment bestaat controle houden over het softwarelandschap voor veel organisaties vooral uit het zo ver mogelijk implementeren van één platform, of zelfs het proberen te vormen van één softwareproduct wat aan alle wensen van een organisatie voldoet. Deze drang tot het vormen van één platform heeft zijn succesverhalen, maar er zijn ook organisaties waarbij dit niet lukt.

Programmeer paradigma

Elke taal en elk platform is vaak gefocust op zijn eigen types applicaties, of op een heel specifieke groep aan organisaties. Zo’n groep van technieken en platforms die de zelfde manier van programmeren ondersteunen wordt dan een ‘programmeer paradigma’ genoemd. Uit deze focus komen de sterke, maar ook de zwakke eigenschappen van een platform. Bij een volledige focus op één type applicatie, is een taal of platform direct minder geschikt voor andere type applicaties.

Door de juiste taal en het juiste platform in te zetten bij de juiste applicatie, kunnen zwakke eigenschappen worden vermeden, en sterke eigenschappen worden benadrukt. Omdat steeds meer organisaties dit inzien zijn Service Oriented Design en Microservices in opkomst. Hierin werken organisaties naar een software architectuur die bestaat uit gescheiden applicaties die allen een eigen taak uitvoeren (de services). Deze services zijn verbonden met communicatieprotocollen die tegenwoordig bij zo goed als elke platform en taal beschikbaar zijn, zoals SOAP en REST.

Dat deze services maar één individuele taak uitvoeren zorgt ervoor dat deze kleine applicaties overzichtelijk zijn en makkelijk zijn te beheren, maar het opent ook de mogelijkheid om bij elke individuele service specifieke talen en technieken te kiezen die het beste passen bij het op te lossen probleem.

Nieuwste techniek of minste complexiteit?

Natuurlijk brengt dit organisaties bij een afweging; wanneer er voor een specifieke service een techniek de beste mogelijkheden biedt die nog niet op andere plaatsen in het softwarelandschap wordt toegepast, welke optie voegt dan de minste complexiteit toe? Ga je de service in een techniek programmeren die daar niet de beste keuze voor is, met als risico dat het ontwikkelproces langer duurt. Of ontwikkel je de service in een nieuwe techniek, met een snel en dynamisch ontwikkelproces, maar wel met het risico op hogere beheerskosten in de toekomst?

Er is helaas niet één direct antwoord op dit dilemma. Wat ik wel kan zeggen, is dat u met optie één tot een bepaald niveau op zeker speelt, met talen en technieken die u kent en een relatief voorstelbaar resultaat. Maar de tweede optie brengt vernieuwing en innovativiteit in uw software landschap en biedt een grotere toevoeging voor uw organisatie in het vooruitzicht.

Combinatie PHP en .NET

Senet is een softwarehuis waarbij multi-paradigma programmeren in het bloed zit. Wij programmeren zowel in .NET technologie (C#) als in PHP. Hierbij kunnen wij gebruik maken van de krachten van beide platformen. Bij .NET is dit natuurlijk de sterke koppeling met andere Microsoft technologie, de stabiele en vaste ontwikkelomgeving en de mogelijkheden in snelheid en schaalbaarheid. Bij PHP zijn de sterke eigenschappen de kracht op het internet, een rijke verzameling van kwalitatief hoge software libraries en de snelle ontwikkelcyclus (‘Getting Stuff Done’).

Ondanks dat open source technologie zoals PHP niet vaak gecombineerd wordt met .NET technologie biedt juist deze combinatie veel kansen. Denkt u bijvoorbeeld aan een stabiele back-office gebaseerd op .NET, die zorg draagt voor stabiel draaiende proces-georiënteerde applicaties, en een moderne en adaptieve front-office webapplicatie die in een razend tempo kan worden doorontwikkeld om nieuwe wensen vanuit de markt toe te kunnen passen.

Bent u benieuwd welke kansen een multi-paradigma softwarelandschap voor uw organisatie bieden? Ik spar graag eens met u, neem zeker even contact met me op.

Interesse in een gesprek?

neem contact op met Geurt Jan van Ek

Laat uw gegevens achter

We nemen contact met u op!



Zie onze privacyverklaring.