ACPaaS Antwerp City Platform as a Service
Greet Brosens
[email protected]
9 juni 2016 Trefdag Informatie Vlaanderen
DIGIPOLIS Mission IT Service Broker for cities of Antwerp & Ghent
1988 - 1992
Harmonization of IT infrastructure & desktop software
1993
Harmonization of MANAP, server software and reference data
2004
Enterprise Architecture
2013
Identification and reuse of Generic Applications
2014
Identification and reuse of Generic Components
2015
Evolution towards reusable backend services, aka ‘ENGINES’
Since 2014...
“A-Stad” ~ “ur city”, not another website... Digital Platform, based on fundamental principles 1. Everything start with the user 2. Relevance through personlisation 3. Everything is connected 4. Digital requires transparancy 5. Less communication, more conversation 6. Always in Beta
antwerpen.be
Place your screenshot here
Four major application platforms A-STAD
MWP
A-WELZIJN
FOCUS
frontends
frontends
frontends
frontends
backends
backends
backends
backends
Hybrid Cloud
infrastructure layer
Antwerp City Platform as a Service A-STAD
MWP
A-WELZIJN
FOCUS
frontends
frontends
frontends
frontends
backends
backends
backends
backends
APi
Manager
ACPaaS backend of the backends
Hybrid Cloud
infrastructure layer
SDK
ACPaaS Concept Key ACPaaS Principles : ◇
Micro-services-oriented Plugin Architecture
◇
Startup-friendly
◇
Open Source first
Optimisation of development of the 4 major applicaiton platforms
ACPaaS
LOCAL POLICE Focus
OCWM (social welfare) A-Welzijn
EMPLOYEE PORTAL A-Stad MWP
CITIZEN PORTAL A-Stad
initial goal was to optimize the development of the 4 major platforms by maximizing the reuse of generic backend services or ‘engines’
A-STAD : BURGERPORTAAL AS-IS
Kaai
PLATFORM
Kaai A-Profiel
1.0
profile
identity & access
Search
E-DESK CONTENT
notification
0.1
A-Profiel
1.0 User Management
2.0
profile
Notificaties
1.0
SMS Communicatie
Rapportering
Personalisatie (datamodel)
notification
output generator
profile
Kluis documentenbox
Formbuilder
Webshop (+ ticketverkoop)
E-loket
digital vault
formbuilder
webshop | payment
Balie toepassing
Ticket app & Workflow
Meertaligheid (content)
Contactboek verenigingen
Afspraken
e-ID
(Zaal)zoeker & Reservering
planning
e-id
planning
Redactie
Helpcenter
Overzicht
2.0
notification
A-stad design
Meldingen
identification of common components accross platforms and applications
identity & access 2.0
digital assets 1.0
Kanalen (flex.home)
Stadsplan
Photobooth
A-kaart
profile
Nieuwsbrieven
Meertaligheid (app)
Apps from Antwerp
notification
multilanguage
api/sdk | open data
Bib
Kalender (persagenda)
Crisiscommunicatie
planning
notification
Opsinjoren
Uit export
(*) Lage Emissie
Ophaalkalender
Zone
(*)
2.0
planning
2
identification and isolation of reusable ‘engines’
Personalisatie (content)
multilanguage
Uit
OTHER
Notificaties
Assets
search E-loket
0.1 User Management
1
BACKLOG
(*)
Perswebsite
3
a broad range of web applications and web platforms to leverage engines
Aanpassingen Blinde &Slecht... accesibility
profile
notification
output generator
search
digital assets
open data
digital vault
formbuilder
webshop
planning
e-id
api/sdk
iot
multilanguage
payment
accesibility
identity & access
ACPaaS engines
MEDEWERKERSPORTAAL PM AS-IS
BACKLOG
PLATFORM
Kaai A-Profiel
1.0
profile
iam
Search
Notificaties notification
A-Profiel profile
1.0 User Management
iam
Notificaties
1.0
notification
2.0
Rapportering
Meldingen
Helpcenter
Personalisatie (datamodel) profile
Kluis documentenbox
Formbuilder
digital vault
formbuilder
Onboarding
Redactie
2.0
digital assets 1.0
E-LOKET CONTENT
0.1
A-stad design
Assets
search E-loket
0.1 User Management
Overzicht
1.0
Kanalen (flex.home)
Onboarding
E-loket
2.0
2.0
Ticket app & Workflow
Personalisatie (content)
Vacature 2.0 app
profile Nieuwsbrieven
ANDERE
Sodipa
Vacature 1.0 app
Contactboek Medewerkers
Kennisdeling app
Crisiscommunicatie
TimeApp Jobstudenten
notification
profile
iam
search
digital assets
notification digital vault
formbuilder alm
ACPAAS engines
A-WELZIJN payment
iam
notification
logging
output generator
crs search dossier
notification
payment
output generator logging
search
crs
esb
alm
ACPAAS engines
FOCUS
dossier
search
chat
profile
esri
chat
notification
search
dossier
chat
profile
multilanguage
notification
alm
ACPAAS engines
Web Content Mgt
Digital Assets
Output Generator
Dossier
powered by startups
Order
Shopping
Payment
Pricing
Digital Vault
Business engines
Data
Search
Digital Signature
IOT engines
API
Workflow
Event Handler
Loyalty
Logging
Multilang.
Login & Consent
Notification
ESB
Anti-virus
EID
Data Lake
Metadata Mgt
Open Data
Platform engines
API Marketplace
Device Mgt GIS
M-Profiel
Designer
LAB
User Mgmt
Identity & Access
ACPaaS Portal
CRS
A-Profiel Secure Key Store
SDK
Inline Analytics
Analytics
Data Abstraction Form
Community
Brandweer portaal
Focus
A-Welzijn
Onderwijs portaal
Medewerkers portaal
Bedrijven portaal
Antwerpen Bereikbaar
Visit
Gate15
Burgerportaal
ACPaaS
Data ingestion
Source Mgt
Profiling
Lab Manager Lab Container Lab Container
API/SDK Engine v1.2 Ontsluiten en verbeteren van onze werking met API’s, en voorzien van een API marketplace Applicaties en componenten binnen en rond het City Platform interageren maximaal via API’s. We wensen zoveel mogelijk van deze API’s open te stellen zodat niet alleen de Groep Antwerpen, maar ook anderen gebruik kunnen maken van componenten en data in het City Platform. De API engine zorgt ervoor dat API’s kunnen worden ontsloten en beheerd, en voorziet in een marketplace voor intern en extern gebruik van de API’s. Toelaten dat we evolueren naar een (micro)service oriented architectuur met interne en externe API marketplace API publisher https://api-pub.antwerpen.be/
API store https://api-store.antwerpen.be/
API Gateway
Digital Assets engine v1.0 Rest API voor de ontsluiting van digitale bestanden gebaseerd op MediaMosa Via de API kunnen bestanden opgeslagen worden, transcoding gedaan worden, stills gemaakt, resizing gedaan en zo voort. Daarnaast wordt de metadata uit de bestanden gehaald en beschikbaar gemaakt via de API. Vooraf dient eerst een project te worden aangemaakt, aan dit project wordt diskspace toegewezen. Bestanden kunnen gestructureerde en ordelijke behandeld worden via API calls. client
API manager
Digital Assets
Notification engine v1.0 Rest API voor het versturen van notificaties Laat toe om gepersonaliseerde notificaties te versturen rekening houdend met de wensen van de gebruiker. Die wensen worden bijgehouden als ‘notificatievoorkeuren’. Een ‘notificatie’ is een kort bericht, dat dient om de gebruiker (burger/medewerker/bedrijf/bezoeker) te verwittigen dat er voor hem interessante informatie beschikbaar is i.v.m. activiteiten en dienstverlening. Gepersonaliseerde notificaties van elk gewenst type voor elk type gebruiker
Client
API manager
Notif. engine
Notif. preferences
Mail SMS in app notificaties ...
Multilanguage engine v 1.0 Rest API en bijhorende website voor beheer van vertalingen. Een gebruiker registreert een project, goedgekeurd door een admin. Hij kiest de talen voor het project en deelt het op (files en labels). Hij kan vertalers uitnodigen om mee te werken aan zijn project via mail, de vertalingen worden toegevoegd aan de labels. De informatie wordt gestructureerd opgeslagen en JSON-formaat. Deze kunnen worden geïmporteerd en geëxporteerd. Vertalingen voor web projecten kunnen makkelijk up-to-date gehouden worden en verschillende mensen kunnen samenwerken. website
API manager Project en API key
Multilanguage
REST api JSON Mails
Website
Dossier engine v1.0 Rest API waarlangs dossiers en nodes kunnen aangemaakt worden Door middel van de API’s van de applicatie kan een dossier gemodeleerd worden. Via de API’s kunnen instanties van dossier-entiteiten worden gemaakt, relaties worden gelegd tussen de entiteiten en metadata kan worden toegevoegd. Bedrijfsprocessen kunnen geautomatiseerd worden. Worden transparanter geïmplementeerd Client
API manager
Dossier engine
Workflow engine v1.0 Rest API waarin BPMN getekende processen executable worden gemaakt Een gebruiker tekent zijn proces (in BPMN), de XML wordt ingebracht als een procesdefinitie in de engine. Vanaf dat moment is het beschikbaar en kunnen instanties van het proces geïnitieerd worden. De engine implementeerd typische constructs zoals gateways, gebruikerstaken, script taken, service taken, timers, errors, … Er is ook monitoring van de processen mogelijk via de API. Bedrijfsprocessen kunnen geautomatiseerd worden. Worden transparanter geïmplementeerd BPMN
Modeler
API manager
Workflow engine
Output Generator engine v2.0 Rest API om documenten te genereren op basis van gestructureerde input data en sjabloon Een gebruiker of developer definieert een sjabloon. Data wordt als xml of json aangeleverd met het gewenste sjabloon. Het gegenereerde document wordt afgeleverd in het gekozen formaat (Word of PDF) of naar de printer gestuurd. OUTPUT KANALEN
Uniforme manier voor genereren van allerlei soorten documenten
PDF
DOC
4
XML
Client
API manager
Output Dispatcher
json
1
INPUT KANAAL vb. output(doc,users) 1
create output
Output Generator SJABLONEN
...
gebruikersinfo
2 API Manager Service Bus
USER PROFIEL
3
LOG
2
Functional Architecture for IOT
ANTWERP STARTUP CITY The ecosystem: 1. promotion and support of starters 2. incubation, acceleration 3. growth, internationalization 4. buy from startups
BUYING FROM STARTUPS PITCH MOMENT
SIMPLIFIED OFFER
announcement
request for quotation
contract negotiation kick-off
…
bafo
…
85k€
❏ Financial compensation for a useable ‘shippable product’. ❏ IPR is to be negotiated ❏ Contribution of innovation of startups
show interest
candidate
enroll through antwerpen.digipolis.be
select
award
set candidacy
‘pitch’ followed by selection
2 weeks
2 weeks
‘offer’ followed by award
ACPaaS AS A CITY LAB buying from startups via ‘rock & roll’ procedures
PREPARATION ❏
business analysis (2 weeks)
❏
translate requirements into expectations to allow innovation
❏
7-page lean RfQ
ANNOUNCEMENT ❏
antwerpen.digipolis.be
SET CANDIDACY
❏
brief startups
❏
prepare pitch
❏
schedule slot
PITCH MOMENT [next slide]
ACPaaS PITCH buying from startups via ‘rock & roll’ procedures Seeking the answer to one simple question :
❝ why do you believe you are best fit for the job? ☑skills and experience ☑solution concept OUTCOME : selection of 3 to 5 candidates for the RfQ
ACPaaS AS A CITY LAB buying from startups via ‘rock & roll’ procedures
PREPARATION ANNOUNCEMENT SET CANDIDACY PITCH MOMENT REQUEST FOR QUOTATION ❏
publish RfQ
❏
prepare offer
❏
interact with startups
❏
schedule slot
OFFER [next slide] CONTRACTING
ACPaaS OFFER buying from startups via ‘rock & roll’ procedures
‘Simplified’ Offer is a slidedeck max. 2 hours
❏ Up to 2 hours to present the offer ❏ 4 evaluation criteria : ① pricing model & commercialization, ② solution design & principles, ③ sprint plan with monthly releases, ④ technology & innovation ❏ First Shippable Product included? ❏ BAFO : mainly to review pricing
Internal & external hackathons Create your own awesome citizen apps, using open data and services from the City of Antwerp Join & follow us to see what’s next...
Meetups: meetup.com/DigAnt-Cafe ACPaaS: antwerpen.digipolis.be Open data: opendata.antwerpen.be Apps from Antwerp: AppsFromAntwerp.be
Follow us! Twitter: @dgplsantwerpen LinkedIn: linkedin.com/company/digipolis Facebook: facebook.com/digipolis
Digipolis powered by start-ups
Join our community!
555 ENROLLMENTS
216 STARTUPS
265 PITCHES
173 OFFERS
32 CONTRACTS