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