Antwerp City Platform as a Service

advertisement
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
Download