Lav udvidelser i Agile Platforms Integration Studio

Den primære grund til, at jeg kan lide at bruge OutSystems Agile Platform, er den visuelle redigering af logik i Service Studio. Når det er sagt, er der tidspunkter, hvor Service Studio ikke kan gøre, hvad jeg har brug for; Heldigvis kan jeg bruge Integration Studio til at oprette en udvidelse, der lader mig skrive .NET- eller Java-kode for at opfylde mine behov. Det er sjældent, at jeg har brug for at bruge Integration Studio (for nylig finder jeg mig selv kun i at bruge det til at håndtere REST-ful Web-tjenester, som er et bemærkelsesværdigt hul i Agile Platforms muligheder), men alligevel er det vigtigt at vide, hvordan at gøre det.

Hvordan man laver en enkel udvidelse

Når du starter Integration Studio og logger på din server, får du vist en tom udvidelse ( figur A ). Du kan se, at udvidelsen redigeres; her kan du indstille vigtige metadata som f.eks. udvidelsens navn, hvis det er .NET eller Java, og hvilken databasestøtte, som du skal arbejde med. Herfra kan du tilføje handlinger, enheder (importeret fra en ekstern database) og strukturer (som definerer et postlayout, men i modsætning til enheder, gemmes kun i hukommelsen, ikke permanent i en database). Figur A

Tom udvidelse
Jeg har fundet, at det er bedst at starte med at definere dine strukturer, da de bruges til input og output. Struktureditoren ( figur B ) ligner Entity-redigereren i Service Studio. Figur B

Structure editor

Hvis du vil have en struktur indeholdende en post eller en postliste som en attribut, skal du også have disse typer defineret som strukturer. Desværre, hvis du vil have en RecordList med tekst eller heltal eller lignende indbyggede typer, skal du stadig oprette en struktur med netop det ene felt som en værdi. Du kan bruge pilene til højre for at blande rækkefølgen af ​​felterne.

Nu hvor dine strukturer er lavet, lad os oprette en handlingsdefinition. Du har muligheden for at importere en handling fra eksterne kilder som .NET-samlinger. Dette er en dejlig mulighed at have, men jeg har fundet ud af, at præcis som indpakningskode til brug som en webservice, skal definitionerne af opkald til in-code brug og as-a-service typisk være en smule anderledes for at tjene behovene. På mange måder er det at skrive en god handling her meget som at skrive en webtjeneste, og handlingsdefinitionerne ligner meget, hvad et webserviceslutpoint gør med hensyn til de nødvendige parametre. Slutresultatet er, at jeg foretrækker at indpakke eksisterende .NET-kode i handlinger i stedet for direkte at importere dem som handlinger - din kilometertal kan variere. Igen ligner Action-definitionerne ( figur C ) meget som Action-definitionerne med Service Studio. Fig

Redigering af en handling
Når handlingen er defineret, kan du åbne koden i Visual Studio, så du kan udfylde emnerne på handlingen. En let irritation er, at udvidelserne oprettes som Visual Studio 2008-løsninger, så hvis du er en Visual Studio 2010-bruger, skal du opgradere den, når den åbnes. Det er en lille pris for bagudkompatibilitet. Når du åbner .cs-filen, der har samme navn som din udvidelse, vil du se dine handlinger stoppet ud, og kommentarerne fra redaktøren placeres i koden som XML-kommentarer. Bemærk: Ændringer af kommentarerne her reflekteres ikke tilbage til udvidelsen. Af interesse er output for handlingen defineret som parametre ud, fordi der kan være flere output til en handling. Dette er tilfældet, selv når handlingen er defineret som en funktion med kun en output. Du vil også bruge særlig omhu, når du itererer over en RecordList samt arbejder med dataene i dem.

Når du har skrevet din kode, gemmer du den i Visual Studio (ikke nødvendigt at afslutte, bare en gemning vil gøre), vende tilbage til Integration Studio og offentliggøre på serveren. Derfra kan du bruge Tilføj / fjern referencer (under eSpace-menuen) i Service Studio til at få handling og strukturer importeret til din applikation og klar til brug.

Ved at kombinere fleksibiliteten og rå kraften i lige .NET-kode med den hurtige udviklingsevne i Agile Platform, behøver du ikke at ofre en eksisterende investering i kode eller evnen til at gøre vanskelige ting i den Agile Platform. Selvom jeg ikke bruger Java-versionen, kan jeg forestille mig, at oplevelsen er den samme.

J.Ja

Læs mine andre TechRepublic-indlæg om Agile Platform
  • Oprettelse af et login-system til OutSystems Agile Platform
  • Generering af unikke strenge i Agile Platform
  • Min applikationslivscyklus i Agile Platform
  • Skriv en avanceret Excel-dataimport med Agile Platform

© Copyright 2021 | mobilegn.com