Het Real-time Architect Management Systeem (RAMS) is een krachtig Customer Relationship Management (CRM) systeem voor architecten, interieurbouwers en ingenieurs die gebruikmaken van 3D-tekensoftware. Het systeem beschikt naast traditionele CRM-functionaliteiten, zoals klanten, projecten en facturatie, ook over een set krachtige, omvangrijke functionaliteiten. Zo maakt RAMS het bijvoorbeeld mogelijk om activiteiten in 3D-tekensoftware zoals Sketchup, Vectorworks en 3DS MAX, in real-time te observeren. Hierdoor ontstaat onder andere de mogelijkheid tot het live bekijken van de kosten van een tekening.
Niet alleen het live bekijken van prijzen speelt een grote rol in RAMS. Ook beschikt het systeem over de functionaliteit tot het versturen van de berekende tekening naar een centrale webapplicatie, inclusief 3D-model. De verstuurde tekening wordt op de server verwerkt en gekoppeld aan een project, klant en componentenbibliotheek. Nadat de tekening is verwerkt, kan er eenvoudig online worden bekeken welke componenten er in de tekening voorkomen, wat de prijzen, maten een aantallen zijn van de componenten en kan de tekening online in 3D worden bekeken.
Ook kunnen tekeningen opnieuw worden berekend met aangepaste winstmarges. Winstmarges kunnen ingesteld worden op alle componenten in een bibliotheek, op een component zelf en op een component binnen een project. Componentbibliotheken worden onderliggend, asynchroon gesynchroniseerd tussen alle tekenaars binnen het bedrijf. Uiteraard beschikt de webomgeving ook over de inzage tot componenten binnen bestaande bibliotheken.
Wij hebben een aantal specifieke acties gekoppeld aan de standaard CRM-functionaliteiten. Zo is het bijvoorbeeld mogelijk om offertes en facturen automatisch te generen, inclusief preview-weergave, omschrijving en prijs van componenten die binnen een tekening voorkomen.
Al met al beschikt het systeem over een set krachtige functionaliteiten.
Het systeem bestaat uit drie applicaties: een centrale webomgeving, een desktopapplicatie en een krachtige serverapplicatie. Ook beschikt elk 3D-tekenprogramma over een eigen extensie die communiceert met de desktopapplicatie. De desktopapplicatie speelt op zijn beurt de gegevens veilig door aan de serverapplicatie. Deze verwerkt de informatie met behulp encryptie in een database. Uit deze database haalt de webapplicatie zijn gegevens en schotelt deze geformatteerd voor.
De web applicatie is geschreven in het Symfony 2 framework om zo maximale performance uit het systeem te halen. De hoeveelheid informatie die verwerkt word en de algoritmes die inschattingen en suggesties moeten doen vergen veel rekenkracht. Het is dus essentieel om gebruik te maken van een krachtig framework.
De desktopapplicatie ontvangt van de verschillende extensies die binnen 3D-programma’s geïntegreerd zijn informatie over het tekenprogramma en de tekening. Deze informatie word uitgespit en netjes getoond aan de tekenaar. De tekenaar kan componenten beheren en bibliotheken aanpassen. De desktopapplicatie verwerkt onderliggend synchronisatie-activiteiten binnen bibliotheken en speelt op aanvraag informatie over tekeningen door aan de server-applicatie. Door de complexiteit van de applicatie hebben wij ervoor gekozen om deze te ontwikkelen in de programmeer taal C# in combinatie met Windows Presentation Foundation (WPF). Wij gebruiken een cross platform compiler om de applicatie ook aan te bieden aan iOS-gebruikers.
Het laatste onderdeel van RAMS is de serverapplicatie. De serverapplicatie is de applicatie die ervoor zorgt dat de informatie die lokaal verzameld is, verwerkt wordt op de server zodat de informatie op de webapplicatie beschikbaar is. Ook verwerkt de applicatie synchronisatietaken uit tussen bibliotheken, houdt hij bij wie er momenteel aan het tekenen zijn en serveert hij resultaten van krachtige berekeningen.
Ook voor de serverapplicatie is snelheid en veiligheid essentieel voor een gebruiksvriendelijke ervaring. Hierdoor hebben wij ervoor gekozen om de applicatie in de programmeertalen C en C++ te schrijven om snelheden te optimaliseren.