Jag har spenderat någon vecka med att sätta mig in i GraphQL och Jobtech taxonomi-API. Tanken är att jag skall fixa så att Sök-A jobbar med Jobtech taxonomi.
Nu har jag tittat en del på vad det finns för vertyg/ramverk för GraphQL och Java (Sök-A är en Java–applikation). Jag har hittat en handful verktyg som kan generera Entity-klasser, stubbar, mm. Gemensamt för de vertyg jag hittat är att de utgår från ett GraphQL-schema och de typer som definieras i detta.
I Jobtech taxonomi-API uppfattar jag det dock som att det är de de olika “ConceptType” värdena som lagts upp, som utgör det underlag som skall bilda Java entity-klasser. Det medför följande “problem”.
Existerande kodgenereringsvertyg kan inte användas på ett ändamålsenligt sätt. De utgår från schema-typer.
Svårt att avgöra vilka attribut respektive ConceptType använder
Har jag missuppfattat något? Är det någon som har löst dessa svårigheter på ett bra sätt.
De användare jag har pratat med har skrivit egna “handjagade” graphql frågor och hämtat ut den data de är intresserade av ur svaret. Så jag tror tyvärr ni får börja så i nuläget också.
Men vad behöver ni de “typspecifika” attributen till i SÖK-A?
Vill ni visa upp dem för användarna eller är det för kommunikation till andra system?
De enda typer som har extra attribut som jag tror ni är intresserade av, om jag får gissa lite, ssyk-level-4 som har attributet ssyk_code_2012 och unemployment-type som har attributet unemployment_type_code.
Min rekommendation är dock att ni inte använder ssyk_code_2012 i kommunikationen till andra system för då kommer ni få problem när SSYK standarden uppdateras eftersom koderna återanvänds och byter innebörd mellan versioner.
Men vi uppskattar att du tar upp frågan för vi är alltid intresserad av feedback på api:et och hur vi kan förbättra det. Vad du skulle du föredra som Java-utvecklare?
Ett typat graphql api eller om du får tillgång till ett java-bibliotek som innehåller hela taxonomin, där all data ingår och egna klasser som har rätt attribut beroendes på typ?
Vi kommer ut med en ny version av Taxonomin en gång i månaden ungefär så om du föredrog java-bibliotekslösningen skulle du vara okej med att bygga om ditt projekt och deploya om det en gång i månaden?
Jag är bara en typisk lat programmerare som fått ett uppdrag och börjar det hela med att labba lite med Taxonomi-APIet, samtidigt som jag försöker förstå hur tänket är bakom det hela. Gillar scheman då de avslöjar mycket om hur saker är beskaffade.
Upplever att Taxanomin är lite svår ur teknisk synvinkel, då schemat inte säger något värdefullt och respektive “ConceptType” inte avslöjar vilka attribut de omfattar.
Tycker också det kan vara knepigt att ställa “semantiskt korrekta” frågor. Dvs, svårt att veta huruvida min fråga är semantiskt korrekt eller ej. Vore bra om det publicerades en katalog av begrepp och hur dess “semantiskt korrekta” fråga ser ut. Bara för att man råkar få fram frågesvar som ser “bra ut” betyder det inte nödvändigtvis att man frågat på ett sätt som är korrekt. Framför allt bör väl alla användare (/ system / applikationer) av ett koncept fråga på samma sätt.
Om jag vore strikt “applikationsbehovsdriven” så är det kanske enklare att angripa och förstå det hela.