FlowBase

In het kort:
FlowBase is een geavanceerd BPMS (Business Process Management Systeem) met uitgebreide Asset Management functionaliteit.

  • Centrale workflow engine van MediaBase en MediaPortal
  • Ondersteunt een onbeperkt aantal zelf definieerbare workflows en taken
  • Grote bibliotheek van basis operaties, waaronder FTP, Webservice, Filesystem en ODBC database in- en output, flow control, condities, support voor variabelen, XML verwerking, logging, email etc
  • Visuele Workflow Designer maakt het ontwerpen en testen van taken overzichtelijk
  • Multi-server functionaliteit met failover en load balancing
  • Integratie met praktisch ieder extern systeem middels Webservices, ODBC koppelingen, filesystem monitors etc
 

flowbase designer

Technologie: Microsoft .Net   Platform: Windows server  Jaartal: 2009


Documentatie downloaden

MediaBase was in 2007 bijna 10 jaar oud. In die 10 jaar waren er diverse belangrijke upgrades geweest voor o.a. de ondersteuning van XML, Ajax (Web 2.0), Webservices, uitbreidingen aan de API en de ontwikkel omgeving, een debugger, failover en multiserver support etc etc. Maar we zaten inmiddels wel met een pakket dat nog gebouwd was in Microsoft Visual Studio 6, terwijl de halve wereld al bezig was met de nieuwe Microsoft .Net technologie. In 2006/7 kwam versie 3 van .Net, wat in mijn ogen een fatsoenlijke versie was. Het werd dus hoog tijd voor een complete rewrite.

Het is geen kleinigheid om een pakket als MediaBase te herschrijven. Afgezien van de hoeveelheid functionaliteit en code (waarmee je diverse encyclopedie formaat boeken kunt vullen) waren er in de loop van de jaren door onszelf en door klanten diverse uitbreidingen aan het systeem ontwikkeld door middel van plugins, die bij een nieuwe versie allemaal niet meer zouden werken.
Daarnaast konden we binnen ons bedrijf alles wat je maar bedacht wel bouwen in de oude technologie, maar voor .Net zouden we heel veel opnieuw moeten leren. En zouden we in de tussentijd toch nog een flinke periode support en maatwerk met de oude technologie moeten uitvoeren. Desalniettemin was vernieuwing hard nodig; stilstand is per slot van rekening achteruitgang en was geen optie.

flowbase misWe begonnen in 2007 dus met een spoedcursus .Net, waarna we diverse sessies hadden om de wensen en eisen voor een nieuwe MediaBase te bediscussiëren. Daar kwam uit dat het van groot belang was om een systeem te hebben waarmee op eenvoudige wijze aangepaste workflows konden worden gemaakt. En met eenvoudige wijze bedoel ik 'drag & drop' van voor gedefinieerde functie blokjes, die je zelf aan elkaar kunt koppelen.
Een dergelijke werkwijze wordt ook gebruikt bij de BPMS systemen (Business Process Management System). Maar we wilden natuurlijk niet het zoveelste BPMS maken, we moesten de unieke kenmerken van MediaBase daarin integreren. En het moest uitstekend geïntegreerd zijn met een website, plus ondersteuning bieden voor multiserver, clusters, failover, webservices, debugging etc etc. Afijn, wat we bij de 'oude' MediaBase inmiddels ook al deden.

Na in eerste instantie – net als bij ieder nieuw idee tot nu toe – eerst weer gedegen onderzocht te hebben wat er al verkrijgbaar was, bleek dat ook nu onze wensen en eisen niet te vinden waren. Daarom besloot ik een eigen BPMS te bouwen op basis van onze ideeën, wensen en eisen.
Ik begon vervolgens – ook om eerst zoveel mogelijk ervaring op te doen met .Net en alle benodigde technieken – met de bouw van een aantal software libraries waarin de belangrijkste MediaBase functies waren opgenomen. Daarbij was het uitgangspunt om zoveel mogelijk gebruik te kunnen maken van de bestaande database structuur, zodat we klanten een migratiepad konden bieden.
In de twee jaar daarna ontwikkelde ik FlowBase, de nieuwe BPMS server versie. Om workflows te kunnen bouwen en debuggen programmeerde ik ook een visuele BPMS, genaamd FlowBase Designer. FlowBase had alle features van onze lijst, en door een plugin structuur kon je eenvoudig functie blokjes erbij programmeren. Uiteraard had ik al een aanzienlijke hoeveelheid blokjes gemaakt voor allerlei uiteenlopende zaken, zoals logica, condities, FTP, database toegang, rechten en natuurlijk de meest voorkomende MediaBase functies.

flowbase serversMet FlowBase kon je als zelfstandig pakket al een indrukwekkende hoeveelheid workflows maken, maar het was natuurlijk niet bedoeld als zelfstandig pakket. Dan zouden we de concurrentie aan moeten gaan met pakketten als PowerSwitch en dergelijke, en dat was niet de bedoeling.
De .Net software bibliotheken voor MediaBase en de basis van FlowBase waren gereed in 2009, waarna we het in een maatwerk project voor Aegon aan de praktijk konden toetsen. Op basis daarvan gingen we verder met de ontwikkeling.

FlowBase moest onderdeel zijn van een compleet systeem, en daarbij miste een website met een duidelijk doel. Een website die net als PrintShop een specifieke behoefte vervulde, en beter uit te leggen en te verkopen was. Dat werd MediaPortal, het laatste product in deze product sectie.