OsloMet bruker idag Camunda som et BPMS for å se sammenhengen mellom system- og menneskelige rutiner. I denne bloggposten tar vi for oss et eksempel på en slik prosess som vi kaller for 'Timelærerprosessen'.

Screenshot-2018-4-22-Camunda-Cockpit-Timel-rer-Definition-View

Registrering

Ved registrering av en timelærer må en hente inn personalia fra den som skal ansettes som timelærer. Til det formålet har vi laget et enkelt registreringsskjema i Angular js som sender registrerte data i JSON format til Camunda som mottar de via en enkel webservice som er satt opp i Jersey.

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public Response createArbeidsavtale(@Valid Arbeidsavtale arbeidsavtale) {
        Map<String, Object> variables = new HashMap<>();
        ObjectValue arbeidsavtaleValue = Variables.objectValue(arbeidsavtale).serializationDataFormat(Variables.SerializationDataFormats.JSON).create();
        variables.put(CamundaConstants.ARBEIDSAVTALE, arbeidsavtaleValue);

    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("partTimeLecturer", variables);
        LOG.info("Created new arbeidsavtale with process id '{}'", processInstance.getId());

        return Response
                .ok()
                .build();
    }

Public360

Det neste steget i prosessen er at det blir opprettet en sak i saksbehandlingsverktøyet public360 som en HR ansatt ved den nyansattes fakultet etterfyller med mer informasjon.

SIF
For integrasjon mot Public 360 brukes SIF rammeverket som er utviklet og driftet av Tieto. SIF støtter SOAP som kommunikasjonsprotokoll og til det formålet har vi utviklet en java service med hjelp av Apache CFX. Denne transformerer alle funksjoner i wsdl filene som brukes i forbindelse med SOAP til java klasser og metoder.
Det opprettes et tilhørende dokument til saken i Public360 som blir endel av arbeidsavtalen som opprettes.

Kontonr
Etter at HR har etterfylt så blir det sendt ut en melding til den som skal ansettes som timelærer via digipost, der skal vedkommende etterfylle med kontonummer og kontrollere at personalia er korrekt.

DIFI signeringstjeneste

Etter at alt er kontrollert og kontonummer er registrert skal det signeres. Den nyansatte blir bedt om å signere ved å trykke på signeringsknappen på nettskjemaet.

Digipost api
Vi bruker digipost sitt java klientbibliotek for selve signeringen. Camunda sjekker om signeringen er utført og legger inn den signerte arbeidsavtalen i public360 med samme saksnr som den opprettede arbeidsavtalen.