Technieken

Bij de ontwikkeling van software maken we bij Covadis gebruik van veel verschillende technieken, werkwijzen, tools enzovoort. Hieronder aantal van deze technieken.

.NET

.NET is een door Microsoft ontwikkeld applicatieframework. Dit framework bestaat uit een groot aantal klassen die de ontwikkelaar kan gebruiken bij het ontwikkelen van applicaties. Programmeertalen die binnen het .NET-platform gebruikt kunnen worden zijn onder andere ASP.NET, C# en VB.NET. Covadis maakt vooral gebruik van C#.

ASP.NET core

ASP.NET Core is een door Microsoft ontwikkeld open-source web framework. Het is de volgende generatie van ASP.NET.

.NET core

.NET core is een vernieuwde, open source versie van .NET. Dit framework is naast Windows ook geschikt voor Linux en OS X.

Azure

Azure, voluit Microsoft Azure Platform, is een cloud computing-platform van Microsoft. Dankzij Azure zijn meerdere internetdiensten beschikbaar binnen de omgeving van het eigen bedrijf. Azure zorgt voor berekeningen met betrekking tot opslag op internet en/of cloudapplicaties. Dankzij Azure wordt data heel eenvoudig opgeslagen en staan applicaties overzichtelijk en toegankelijk met elkaar in verbinding.

Microservices

Bij Microservices bestaat een applicatie uit meerdere kleine onderdelen die samen een geheel vormen. Deze kleine delen noemen we microservices. Hierdoor is deze variant van developing heel flexibel en dus gemakkelijker te onderhouden of aan te passen.

Code review

Bij code review wordt de opgeleverde code van de ene ontwikkelaar door een andere ontwikkelaar gecontroleerd. Bij deze controle wordt alleen de code beoordeeld, niet de functionaliteit van de software. Naast het opsporen van fouten verbeteren bij een code review de programmeervaardigheden van de reviewende ontwikkelaar. Daarnaast zorgt een code review voor consistentie en draagt het bij aan de kwaliteit van een project.

PHP

PHP staat voor Hypertext Preprocessor. Het is een server-side scriptingtaal die wordt gebruikt om op de webserver dynamische webpagina's te creëren. PHP maakt zowel objectgeoriënteerd als procedureel programmeren mogelijk.

JavaScript

JavaScript wordt vooral gebruikt als scripttaal, om interactiviteit toe te voegen aan webapplicaties. In het verleden werd JavaScript als client-side taal gebruikt, tegenwoordig kan het ook als server-side scripttaal gebruikt worden.

Unittesten

Een unittest is een methode om afzonderlijke stukken broncode te testen. Bij unittesten wordt voor iedere 'unit' één of meerdere testen ontwikkeld worden. Deze testen worden door ontwikkelaars geschreven en worden automatisch uitgevoerd.

Webservices

Een webservice is een interface van een applicatie die toegankelijk is via standaard webprotocollen en waarbij meestal gecommuniceerd wordt middels XML. Middels een webservice worden delen van functionaliteit beschikbaar gesteld voor derden.

XML

XML staat voor Extensible Markup Language. Het is een standaard formaat om gegevens op een gestructureerde manier op te slaan en te versturen in de vorm van platte tekst.

Webapplicaties

Als een programma op een webserver draait en via de browser kan worden gebruikt, is het een webapplicatie. Deze applicaties zijn overal te gebruiken en kunnen eenvoudig uitgebreid worden.

HTML

HTML staat voor Hypertext Markup Language. Dit is een gestandaardiseerd systeem om tekst files te taggen met als doelstelling om een font-, kleur-, hyperlink- of grafisch effect te hebben op een webpagina.

SQL

SQL betekent Structured Query Language. SQL is een gestandaardiseerde programmeertaal die gebruikt wordt bij het managen van relationele databases door zowel administrators als developers.

Soap

SOAP staat voor Simple Object Access Protocol. Dit communicatie protocol wordt gebruikt voor gestructureerde uitwisseling van informatie bij de implementatie van web services. SOAP gebruikt een XML Information Set en steunt op applicatielaagprotocollen voor de transmissie van berichten. Meestal is dit HTTP of SMTP.

API

API staat voor Application programming interface. Dit is een set definitions, protocols en tools voor het maken applicatie software. Kortweg wil dit zeggen dat een API er voor zorgt dat een computerprogramma kan communiceren met een andere computerprogramma of onderdeel.

Azure Service bus

De Azure Service bus koppelt verschillende systemen aan elkaar in hetzelfde cloud platform. Door de eenvoudigere uitwisseling van data is het een stuk gemakkelijker om te communiceren en samen te werken.

BigData

Als een dataset te groot is voor standaard databasemanagementsystemen, noemen we het BigData. Voor BigData moeten passende toepassingen gemaakt worden. Deze ontwikkeling wordt alsmaar belangrijker, omdat het aantal data dat opgeslagen wordt steeds groter is.

AJAX

Asynchronous JavaScript And XML (AJAX) heeft zo goed als niets te maken met een voetbalclub of schoonmaakmiddel. Het staat voor Web development technieken waarbij meerdere technologieën gebruikt worden om synchroon gegevens op te vragen van een web server. Het is onder andere mogelijk om een pagina te laten veranderen zonder dat deze meteen ververst wordt.

Multithreading

Met Multithreading worden meerdere processen van een applicatie op hetzelfde moment uitgevoerd. Dit zorgt voor meer efficiëntie, want zonder multithreading wordt de wachttijd van alle functies bij elkaar opgeteld. Uiteraard duurt de wachttijd dan veel langer.

Continuous integration

Continuous Integration (CI) is de term die gebruikt wordt voor het meerdere malen per dag samenvoegen van alle developer werkkopieën in één gedeelde mainline. De voornaamste doelstelling hiervan is het voorkomen van integration problemen, pakkend samengevat in de term ‘Integration Hell’.

Data-driven

Bij Data-driven programming bepaalt de data het verloop van het programma en niet de logic van het programma zelf. Het is een methode waarbij de ontwikkelaar zelf de flow controleert door verschillende data sets aan het programma aan te bieden.

Domain-driven

Domain-driven design is een aanpak van software development voor complexe behoeftes bij het verbinden van de implementatie bij een model in ontwikkeling. Hierbij ligt de voornaamste focus van een project op de core domain en de domain logic. Een complex design wordt gebaseerd op het model van de domain. Daarnaast wordt een creatieve samenwerking geïnitieerd tussen technische en domain experts om een conceptueel model te maken die specifieke domain problemen adresseert.

Test-driven

Test-driven development is een software development proces die vertrouwt op de herhaling van een korte development cyclus. Behoeftes worden hele specifieke test cases. De geteste software wordt verbeterd voor nieuwe testen. Dit in tegenstelling tot ontwikkeling waarbij het toevoegen van software, die nog niet getoetst is op bepaalde eisen, is toegestaan.

Table storage

Table storage is een NoSQL-dataopslag voor grote, semi-gestructureerde gegevenssets. Hierbij kunnen petabytes aan flexibele datasets worden opgeslagen. Deze manier van opslag wordt vaak gebruikt in combinatie met cloudtoepassingen.

End-to-end test

Een end-to-end test is een test waarbij het gehele systeem of de gehele applicatie van de eerste input tot de laatste output wordt getest. Andere namen hiervoor zijn ketentest of interface test.

Integratietest

Een integratietest is een test die als doel heeft om te bepalen of de verschillende modules, systemen of applicaties onderling correct gegevens kunnen uitwisselen tijdens het doorlopen van de processen.

Blockchain

Blockchain is een lijst met verschillende archieven, genaamd blocks, die aan elkaar gelinkt zijn en beveiligd worden met cryptography. Ieder block heeft meestal een cryptografische hash van het vorige block, een timestamp en transactie data. Een blockchain is resistent tegen modificering van de data. De data in een enkel block kan niet met terugwerkende kracht aangepast worden zonder aanpassing van alle blocks. Dit verreist een samenwerking van bijna het hele netwerk. Blockchains zijn een veilige en zekere optie voor het opslaan van data.

Framework

Een Framework, letterlijk vertaald een raamwerk, biedt een standaard wijze om software te ontwikkelen en toe te passen. De manier waarop software gebruikt wordt binnen een organisatie hangt af van het Framework.

Neuraal netwerk

Een neuraal netwerk is een systeem dat gebaseerd is op het biologische neurale netwerk van het brein. Een dergelijk systeem ‘leert’ taken uit te voeren en patronen te herkennen zonder dat het op die wijze geprogrammeerd is. Een neuraal netwerk genereerd automatisch de benodigde eigenschappen op basis van het materiaal en de informatie die het verwerkt.

Code First

Code-First staat voor een aanpak waarbij de focus ligt op de domein van een applicatie en begonnen wordt met het maken van classes voor een domein entiteit. Dit in plaats van beginnen met de ontwikkeling van de database om vervolgens classes te maken die matchen met het database design.

Single source of truth

Single source of truth (SSOT) staat voor een concept dat gebruikt kan worden door een organisatie als onderdeel van de informatie architectuur om er zo zeker van te zijn dat iedereen dezelfde data gebruikt. Als er een SSOT geïmplementeerd is, werken werknemers met dezelfde data en het risico van het gebruik of het communiceren van verouderde dan wel foutieve informatie is minimaal. SSOT wordt ook wel Single version of the truth of Golden record genoemd.

Data-aggregatie

Data-aggregatie is de naam die gegeven wordt aan het samenstellen van informatie uit databases. Op basis hiervan kunnen gecombineerde datasets voorbereid worden voor data processing.

Algoritmen

Een algoritme is een reeks instructies die wordt uitgevoerd. Algoritmen kunnen instructies bevatten die zich herhalen (iteratie) of die beslissingen (logica of vergelijkingen) vereisen om het algoritme te voltooien. Algoritmen staan in beginsel los van computerprogramma's, al worden voor de uitvoering van algoritmen vaak computers gebruikt.

Entity Framework

Entity Framework is een open-source ORM framework voor .NET applicaties ondersteund door Microsoft. Met dit framework kunnen ontwikkelaars data georiënteerde applicaties ontwikkelen met minder code in vergelijking met traditionele applicaties.

MySQL

MySQL maakt gebruik van SQL (Structured Query Language). Dit is een open source relationele databasemanagementsysteem. MySQL is de basis van een groot aantal internettoepassingen

SQL Server

Een SQL Server is een relationeel database management systeem die een groot aantal transactieverwerkingen, analytische toepassingen en mogelijkheden in bedrijfsinformatie ondersteunt.

GeoServer

GeoServer is een open-source server waarmee gebruikers geospatial data kunnen delen, verwerken en bewerken. GeoServer is geschreven in Java. Het is een handige methode om bestaande data te verbinden met virtual globes en web-based maps als Google Earth, Google Maps en openLayers.

PostgreSQL

PostgreSQL, veelal afgekort tot Postgres, is een object-relationeel database management systeem. Deze software is gratis en open source. Gebruikers zijn vrij om Postgres te gebruiken, aan te passen en te verspreiden. Postgres is erg stabiel en heeft minimaal onderhoud nodig. Hierdoor zijn de kosten relatief laag in vergelijking met andere database management systemen.

 

Oracle

Oracle Database is een databasemanagementsysteem (RDBMS) van Oracle. Het wordt veelal gewoon Oracle genoemd. Oracle is de populairste optie ter wereld als het gaat om online transaction processing (OLTP), data warehousing (DW) en mixed database workloads.

Umbraco

Umbraco is een open-source Content Management Systeem (CMS) voor het bewerken en beheren van dynamische webpagina's. Het is gebaseerd op Microsoft .NET technologie. Het systeem kan in principe gebruik maken van verschillende databases. Umbraco beschikt over een aantal standaard modules die ook met maatwerk te verrijken zijn. Umbraco beschikt over een zeer groot, wereldwijd netwerk van ontwikkelaars en gebruikers.

Resharper

Resharper is een aanvulling op Microsoft Visual Studio die automatisch de code van een ontwikkelaar beoordeelt. De tool vindt verschillende foutsoorten en draagt oplossingen en verbeteringen aan. Dit resulteert in betere, schonere en veiligere code.

SonarQube

SonarQube is een opensource platform om de kwaliteit van de code te beoordelen. Het is een hulpmiddel voor de ontwikkelaars om goede kwaliteit code op te leveren. SonarQube ondersteunt de meeste programmeertalen waar Covadis mee werkt, zoals C#, PHP en JavaScript.

Azure Fabric

Azure Service Fabric is een platform dat gemaakt is om de ontwikkeling, deployment en management van schaalbare en customizabele applicaties van het Microsoft Azure Platform te faciliteren.

 

Google API’s;

Google API’s is een set van door Google ontwikkelde applicatie-ontwikkeling interfaces. Het zorgt ervoor dat de communicatie en integratie van Google Services met andere services goed verloopt. Denk dan aan Search, Gmail, Translate en Maps.

Stylecop

StyleCop heeft niets te maken met de modepolitie. Het is een open source static code analyse tool van Microsoft. StyleCop checkt C# codes zodat deze voldoen aan de aanbevolen coding stijl en verschillende .NET Framework Design Guidelines van Microsoft. StyleCop analyseert dus de broncode.

Identity Server 4

Identity Server 4 is een versie van IdentityServer, een populaire OpenID Connect and OAuth Framework voor .NET. Identity Server 4 is geüpdatet voor ASP.NET Core en .NET Core. Identity Server 4 is dus een heel bruikbaar hulpmiddel voor .NET ontwikkelaars.