Technologieën

Wendbaarheid door herbruikbaarheid, modulariteit, openheid, modelleren in plaats van programmeren, en een hoge automatiseringsgraad!

TARI2

Zonder technologie geen IT


Zonder technologie geen IT, maar die technologie moet wel wendbaar zijn om te voldoen aan de almaar veranderende en steeds complexere vraag van de Business. In de praktijk blijkt dat tachtig procent van alle IT-ontwikkeling kan worden ondersteund met een framework dat taken, activiteiten, regels, integratie en informatieobjecten ondersteunt. Met een dergelijk framework heeft u innovatieve technologie in huis die herhaalbaar inzetbaar is ten behoeve van al uw businessunits binnen de organisatie of in geval van een keten voor alle ketenonderdelen.

In een user interface handelen we Taken (T) af, die onderdeel zijn van een proces (A = automatische of handmatige Activiteit) en uitgevoerd worden in een volgorde die we als gebruiker kunnen bepalen en met ondersteuning van Regels (R = centrale business rules engine). Informatie (I) wordt beschikbaar gesteld via web-services. Dit kunnen elementaire services zijn of services die worden geleverd vanuit standaard applicaties. De overige 20% van IT ondersteuning zijn standaard componenten zoals een content management systeem, document management systeem, enterprise resource planning (ERP) enzovoort. Deze componenten zijn over het algemeen prima toegankelijk via een enterprise service bus (ESB) via standaard connectoren. Deze Integratie vormt de tweede I.

Met TARI2 kan het IT-hart van iedere organisatie geleverd worden. Het is een framework voor alle IT-oplossingen (applicaties) dat business logica operationeel en werkbaar maakt. Bestaande legacy applicaties worden alleen overgezet als de voordelen hiervan onomstotelijk zijn vastgesteld. Om het TARI2-framework productief en effectief in de eigen organisatie in te zetten moeten de componenten voldoen voldoen aan de volgende eisen: Taken worden afgehandeld met een webmobile geschikte gebruikers-interface (bruikbaar voor desktop, tablet, smartphone) die aan zeer hoge performance en gebruiksvriendelijkheid eisen voldoet. In deze gebruikersinterface zit geen business logica. Activiteiten zijn onderdeel van een casemodel (een wijze van proces-afhandeling).

De (proces)activiteiten worden samen met de gebruiker in een model gemodelleerd op basis van de open standaard CMMN (case management modeling & notation). Om het casemodel uit te kunnen voeren is een case engine nodig die het model als invoer krijgt. In de huidige markt wordt het modelleren van activiteiten nog voor 90% gedaan op basis van de BPMN-standaard (business process management & notation), waarbij we niet in staat zijn om complexe modellen zonder programmeren operationeel te krijgen. CMMN vervangt BPMN waarmee we in staat zijn om (proces-) activiteiten en handmatige activiteiten zonder programmeren operationeel te krijgen op basis van een model dat door de gebruiker wordt vastgesteld. Een ander kenmerkend verschil tussen BPMN en CMMN is de flexibiliteit van het model. BPMN is een taal om vooropgezette (starre) processen te modelleren, terwijl CMMN de focus legt op het uitvoeren van activiteiten die het einddoel ondersteunen. Een activiteit hoeft alleen uitgevoerd te worden als dit nodig is om het einddoel te bereiken. BPMN verdwijnt niet helemaal maar wordt gebruikt als onderdeel van CMMN voor bijvoorbeeld STP (straight through processing).

Regels modelleren we het liefst op basis van natuurlijke taal in een modelleeromgeving waarbij de regels zonder programmeren direct kunnen worden uitgevoerd. Regels worden als single source of rules (en daarmee single source of truth) als kern in de organisatie eenmalig opgezet en door meerdere toepassingen gebruikt. Informatie kunnen we op verschillende manieren modelleren. Een objectgeoriënteerde aanpak sluit goed aan op procesmodellering en moderne no-SQL databases. In formelere situaties zijn methoden zoals FCO-IM goede alternatieven om de informatiebehoefte en relaties tussen gegevens entiteiten in kaart te brengen.

Integreren doen we met een ESB (Enterprise Service Bus) op basis van SOAP- en RESTful-services en XML-of JSON-berichten. Integratie-processen die niet zichtbaar zijn voor de bedrijfsvoering lopen over de ESB. Zo’n ESB heeft nog legio ander technisch vernuft aan boord dat bijdraagt aan een productief en wendbaar IT-landschap, mits door goede ambachtslieden gerealiseerd. Vanzelfsprekend is het mogelijk om ook andere moderne technologieën te integreren met dit framework. Denk hierbij bijvoorbeeld aan blockchain-technologie.

Blockchain

Transparant, herleidbaar, onweerlegbaar en aantoonbaar


In situaties waar informatie transparant, herleidbaar, onweerlegbaar en aantoonbaar veilig moet worden opgeslagen kan blockchain technologie worden toegepast. Met blockchain technologie is er sprake van een decentrale database waardoor er geen afhankelijkheid meer is van een centrale instantie of server en alle partijen op hetzelfde moment over dezelfde informatie beschikken.

Smart contracts zijn zelf executerende contracten, opgeslagen op een blockchain waarin de voorwaarden van een overeenkomst tussen twee of meer partijen zijn opgenomen. Alle betrokken partijen kunnen de contractinformatie inzien en updates doorgeven. Hierdoor wordt een derde partij die controles uitvoert overbodig.

SpronQ denkt met u mee hoe u smart contracts en de blockchain technologie het best voor uw organisatie kunt laten werken. Wat zijn de mogelijkheden en kansen die deze technologie met zich meebrengt en hoe integreren wij deze oplossing in uw IT framework.

Java

Mechanische software componenten


Voor het ondersteunen van business logica gebruiken we model gedreven methoden die snel tot helderheid en resultaat leiden in de vorm van visuele modellen (CMMN) en taal modellen (DSL).
Deze methoden worden opgebouwd met technische componenten op basis van generieke programmeertalen en open source frameworks. Deze componenten zetten we ook in als ze beter passen – meestal in combinatie van – dan onze model gedreven methoden.
SpronQ maakt gebruik van JVM gebaseerde programmeertalen en frameworks met een voorkeur voor het reactieve programmeermodel. Hierbij passen technologieën als Java, Scala, Akka, Cassandra en Elasticsearch het beste bij onze filosofie. Daarnaast gebruiken we javascript, AngularJS, Polymer, React en Redux voor onze User Interfaces.
Niet alle uitdagingen zijn hetzelfde en daarom passen we ook andere technologie toe als deze beter past bij de oplossing. SQL-databases  als MySQL en PostgreSQL, tooling op basis van Go, Python en (Bash)scripting nemen we mee als mogelijkheid.