MuleSoft Anypoint MQ -integraatio
Integroimme asiakkaan tukipyyntöjärjestelmiä MuleSoftin työkalujen avulla.
Varsinainen kehitystyö suoritettiin MuleSoft-integraatioiden rakentamiseen tarkoitetulla Anypoint Studio -kehitysalustalla. Lähdekoodien versionhallintaan käytettiin Git-järjestelmää.
Integraatiot asennettiin MuleSoft-ympäristöön Jenkins-ohjelmistoa käyttäen joko asiakkaan omille palvelimille tai pilvipalveluun. Jenkins on avoimen lähdekoodin käännösautomaation palvelinohjelmisto. Työvaiheet kirjattiin tehtävienhallintaohjelmisto Jiraan.
Tukipyyntöjärjestelmät tarjosivat REST-rajapintoja, jotka kommunikoivat keskenään HTTP-pyyntöjen välityksillä. Tiedot järjestelmien välillä liikkuivat JSON-muodossa. HTTP-pyyntöjen autentikointiin käytettiin OAuth 2.0 -protokollaa.
CloudHub-pilvipalveluun asennetut integraatiot vastaanottivat sanomia, jotka toimitettiin Anypoint MQ -palvelun sanomajonojen kautta asiakkaan palvelimille asennetuille integraatioille. Anypoint MQ mahdollistaa hajautetun ja asynkronisen tiedonsiirron.
On premise -ympäristössä ajossa oleva sovellus käsitteli ja tarkisti saapuneen pyynnön oikeellisuuden, suoritti vaadittavat sanomamuunnokset sekä toimitti HTTP-pyynnön edelleen. Sanomamuunnokset tehtiin DataWeave-ohjelmointikielellä.
Integraatiologiikan toteuttamisessa käytettiin monipuolisesti Anypoint Studion tarjoamia komponentteja. Kaikki integraation monitoroinnin kannalta tärkeät tiedot kirjoitettiin sovelluksen lokitiedostoon.
Virheenhallinta toteutettiin myös Anypoint MQ -palvelua hyödyntäen. Sanomat, jotka eivät päätyneet haluttuihin järjestelmiin, lähetettiin erilliseen Anypoint MQ -sanomajonoon. Tässä jonossa olevat sanomat käsiteltiin ja lähetettiin tarpeen vaatiessa uudelleen.
Yksikkötestaukseen käytettiin MuleSoft-alustan MUnit-kehystä. MUnit-kehyksellä varmistetaan koodin eheyden säilyminen. Kehitystyön aikana integraatioita testattiin erillisessä kehitys- tai testiympäristössä. Kun integraatioiden todettiin toimivan halutun mukaisesti, suoritettiin vielä asiakkaan hyväksyntätestaus ennen käyttöönottoa.
Integraatioiden käyttöönoton jälkeen toimintaa seurattiin CloudHub-alustan ja asiakkaan palvelimien lokeista. Integraatio dokumentoitiin Confluenceen.