The Innovative Integration Suite
Välkommen till Utbildning Inobiz Tech Education Basic – Vad är Inobiz för något? - Inobiz Inobiz är ett svenskt programvaruföretag som utvecklar markandens mest innovativa och flexibla integrationsverktyg och programvaror. Inobiz produkter är utvecklade för att integrera applikationer och system i heterogena miljöer. The Innovative Integration Suite
The Innovative Integration Suite Utbildningens innehåll och agenda för dag 1: 10:00 – 12:00 Developments System : Uppgift 1 – Lära känna DS Uppgift 2 - Definiera en flatfilsstruktur Uppgift 3 - Recordgroup och loop LUNCH 13:00 – 13:20 PartnerWebben 13:20 – 17:00 Developments System : Uppgift 4 - Manipulera information under mappningen Uppgift 5 - Definiera en XML-struktur Uppgift 6 – Anroppa COMObject från EDIC Uppgift 7 – Debugbreak Uppgift 8 - EDIFACT- PAYMUL The Innovative Integration Suite
Inobiz integrationsplattform Dag 1: Inobiz Development System; Dag 2: Inobiz Integration Server; Inobiz Development System är ett grafiskt verktyg för att bygga upp datastrukturer samt beskriva hur de ska konverteras till andra filformat och meddelandeformat. I ett och samma fönster gör man mappningar, ser resultatet och testar att det fungerar. Härifrån för man över det testade resultatet till … Inobiz Integration Server är driftsmiljö för att ta emot, konvertera och sända data i både batch- och realtidsmiljö The Innovative Integration Suite
Inobiz Development System X.12 SAP iDOC Cargo imp ...more Semicolon files Fixed fields User defined format Styles UN/EDIFACT ODETTE User defined Flat file EDIFACT Web Services SOAP ebXML Rosetta.net ...more MS SQL Server ORACLE IBM DB2 ...more W3C Schema MS Schema User defined ODBC I Inobiz Development system gör man konverteringarna eller mappningarna. Man väljer vilka filformat/meddelandeformat man vill konvertera och klickar på knappen för de formaten för att börja konvertera dessa valda format. EDIFACT Inobiz har fördefinierat alla utgåvor av Edifact-meddelanden som FN gett ut, liksom alla utgåvor av ODETTE-standarden. XML Inobiz stödjer XML standarder, även Schema SQL Inobiz Development System erbjuder mappning/konvertering till alla SQL databaser. Detta görs grafiskt! Flatfil Inobiz flatfilsstruktur stödjer alla transaktionsfilformat för affärssystem. Inobiz har gjort specialanpassning för ett antal kända strukturerade flatfiler som tex. SAP och X12 (USA:s motsvarighet till EDIFACT) XML SQL The Innovative Integration Suite
Inobiz Development System; filer Kompilera och spara projektet .eds – Project filen .pgm – Källkod .cep – Compiled EDI-C program (Print) The Innovative Integration Suite
Uppgift 2 – record och field OH OrderXOXOX 20080401 20080403 (Print) The Innovative Integration Suite
Uppgift 1 – Definiera en flatfilsstruktur Man bygger en flatfilsstruktur genom att definera ”records”och ”fields” Mappa m h a drag´n drop Provkör mappning med en verklig testfil eller en autogenererad testfil Titta på debug-loggen (Print) The Innovative Integration Suite
Uppgift 3, recordgroup och loop HAvsA MottB Order11111 20080401 20080403 OR1 Art1 Article 1 RD Order 1 - Article 1 OR2 Art2 Article 2 OR3 Art3 Article 3 OR4 Art4 Article 4 RD Order 1 - Article 4 OR5 Art5 Article 5 RD Order 1 - Article 5 HAvsA MottB Order11111 20080401 20080403 L o o p (Print) The Innovative Integration Suite
Uppgift 2 – Grupper och loopar i flatfilstrukturer Import/Export Skapa ”Record group” för att gruppera flera Records Skapa loopar genom att mappa repetetiva segment mot repetetiva ”records” Provkör mappning med en verklig testfil eller en autogenererad testfil Denna kommer vi köra imorn i IIS 4.5 (Print) The Innovative Integration Suite
Uppgift 4, Globala variabler (Print) The Innovative Integration Suite
Uppgift 4, EDI-C Functions (Print) The Innovative Integration Suite
Uppgift 4 – Field properties Alt + T Alt + S (Print) The Innovative Integration Suite
Uppgift 4 – Grupper och loopar i flatfilstrukturer Tips: trim , hjälpfiler (Print) The Innovative Integration Suite
Uppgift 4, Definiera en XML-struktur (Print) The Innovative Integration Suite
The Innovative Integration Suite Demo. summering Alla versioner av EDIFACT meddelanden finns med installationen av Inobiz Development System Man bygger en flatfilsstruktur genom att definera ”records”, ”record groups” och ”fields” Mappa m h a drag´n drop Skapa loopar genom att mappa repetetiva segment mot repetetiva ”records” Provkör mappning med en verklig testfil eller en autogenererad testfil The Innovative Integration Suite
The Innovative Integration Suite Demo. summering Använd EDI-C i Inobiz Development System Macro-instruktionerna <source> och <target> EDI-C källkod automatgenereras Autogenererad dokumentation Analysverkyg (Analyze source/target) Debug funktionalitet m h a program-trace Kompilerings- och körfel Project settings dialogen The Innovative Integration Suite
The Innovative Integration Suite Demo. summering Import/exproport av trädstrukturer Skriv egna EDI-C funktioner Funktionerna ibzLoadDataStructure() ... Override Den inbyggda EDI-C Editorn The Innovative Integration Suite
Uppgift 2 – Flatfil till EDIFACT Virtuella records och fält Tilldela konstanter till EDIFACT element Macroinstruktionen <iftarget> Deklarera variabler Olika radioknapparna Dimension fältet The Innovative Integration Suite
The Innovative Integration Suite Mappa till SQL Välj en ”ODBC data source” Skapa ”Table operations” Skapa ”Table operation groups” Tilldela konstanter till kolumner Den inbyggda SQLSTATE variabeln Den inbyggda ”SQL query” verktyget (Print) Set conditions for executing a table operation or group The Innovative Integration Suite
The Innovative Integration Suite XML mappningar Mapping XML Create the structure by importing a Schema, DTD or a XML document Export to Schema and DTD XML virtual groups The xmlqual() function (Print) Set conditions for executing a table operation or group The Innovative Integration Suite
Inobiz Development System Skapa egna EDI-C funktioner Möjlighet till att skapa funktionsbibliotek genom att använda #include Den autogenererade EDI-C programets struktur Funktionen ibzLoadDataStructure() Funktion ibzConvert() Funktion ibzSaveDataStructure() Möjlighet till att ”override” en EDI-C funktion Exportera och importera strukturer i Inobiz Development System (Print) Set conditions for executing a table operation or group The Innovative Integration Suite
The Innovative Integration Suite EDI-C EDI-C Compiler – cedic.exe EDI-C Interpreter – edics.exe Kompilera ett ett EDI-C program C:\SomeDir>cedic.exe program.pgm Kör EDI-C programmet C:\SomeDir>edics.exe program.cep (Print) The Innovative Integration Suite
The Innovative Integration Suite Vad är Web Services? Koncept för integration Består av befintliga standarder XML SOAP HTTP WSDL Schema UDDI (Ali) Web Services är ett koncept som består av ett antal befintliga standarder. Dom drivande företagen för utvecklingen av Web Services har ftån början varit IBM, microsoft och 10-tal andra företag. Numera är det organisationen W3C som ansvarar för standarden. Huvudmålet är att tillgängliggöra information på ett företag både internt på ett företag och externt, med en standardiserad metod. Konceptet bygger från början på korta och enkla fråga/svarsmeddelanden. Låt oss säga att en skobutik skulle vilja fråga sin skoleverantör, hur många skor i storelek 42 som finns tillgänglig hos leverantörens lager. Och Leverantören skulle svara med ett kort svar. XML - meddelandet I web services konceptet har man bestämt att frågan ska formuleras i XML format och det är den som tar emot frågan som bestämmer hur frågan ska formuleras i XML, skoleverantören i detta exempel. SOAP – Bädda in meddelandet i en SOAP-skal Man har också bestämmt att XML-frågan ska bäddas in i ett SOAP skal. SOAP är en XML standard som används för att bädda in andra XML dokument i. SOAP Strukturen är så att man har en såkallad SOAP-header och en SOAP-body. I SOAP headern kan det framgå vem avsändaren av frågan är, datum, meddelandets funktion och en del annan generell information. Man kan dra parallell till EDIFACT meddelandens UNB segment, där informatio om avsändaren, mottagaren och en del annat anges. I SOAP-bodyn bäddar man in hela XML-meddelandet. HTTP – Meddelandeöverföringen, kommunikationsprotokollet Än så länge har man också bestämt att kommunikationsprotokollet för meddelandeöverföringen ska vara HTTP. WSDL - Beskrivningen av hela flödet I skoleverantörsexeplet skulle man kunna tänka sig att skoleverantören har definerat andra frågor som deras kunder kan ställa till dom. Låt oss säga att man kan ställa frågan: Vad är aktuella priset för denna skotyp. Varje fråga/svar är en Web Service i Web Services-tjänst som ett företag tillhandahåller. Eftersom varje Web Services kan innehålla ett antal frågor och svar finns det behov att beskiva detta på ett standardiserat sätt. All information för att kunna utnyttja en Web Services beskriver man i ett WSDL dokument. WSDL sår för Web Services Descriptive Language och är formaterad i XML. I skoleverantörens WSDL dokument ska det framgå vilka frågor som man kan ställas till leverantören samt hur svaret till frågorna ser ut. WSDL dokumentet är delat i fråga/svar sektioner. Varje fråga/svar kallar man för en Web Service. I WSDL dokumentet ska det också framgå hur kommunikationen ska gå till, vilken port osv. Schema – standardiserat sätt att beskriva strukturen på ett XML meddelande Ambitionen är att i WSDL dokumentet ska det finnas all information som behövs för börja uttnyttja en Web Service-tjänst. Det betyder också att den som ska skicka frågor till en företags Web Services-tjänst måste veta precis hur frågan ska formteras i XML, samt veta hur svaret som Web Services-tjänsten skickar tillbaka ser ut för att sedan kunna hantera det. Sedan en tid sedan finns en standard för att beskriva hur XML strukturer ser ut, Schema. I WSDL dokumentet ska det alltså finnas en Schema som beskriver hur frågan ska formuleras samt en Schema som beskriver hur svaret ser ut. Från WSDL dokumentet kan man alltså utläsa, vilka frågor som man kan skicka till en Web Services-tjänst, dom svar man kan förvänta sig, en exakt beskrivning på hur dessa frågor/svar ska se ut, information om hur meddelandeöverföringen ska gå till osv. UDDI - katalogtjänst Idéen med UDDI för Web Services är densamma som gulasidorn är för att kunna hitta företag, samt telefonnummer och address till dessa. Man skulle kunna tänka sig en global UDDI-tjänst där man skulle kunna söka på alla skoleverantörer som har Web Services. I sökresultatet skulle det kunna finnas en länk till företagets WSDL dokument, och därmed skulle man kunna sätta upp och ställa Web Services frågor till denne enligt företagets WSDL beskrivning. Än så länge pågår diskutioner om hur UDDI tjänsten ska se, vem ska tillhandahålla tjänsten osv, liggen fortfarande under bearbetning. The Innovative Integration Suite
Inobiz stöd för Web Services Inobiz Development System XML SOAP Schema WSDL Inobiz Integration Server HTTP (Ali) Var kommer passar dessa akronymer i Inobiz produkter? I Inobiz Development System finns redan idag stöd för XML Schema i XML mappningarna. Man skulle alltså kunna importera in båge SOAP strukturen och XML-frågan eller svarsstrukturen mha en Schema. Och i Inobiz Integration Server finns det stöd för HTTP, och imed version 2.2 finns det även mycket sofistikerad stöd för synkron HTTP. Kurt Svensson kommer senare berätta hur Inobiz produkter kommer att ha ännu mer användarvänlig stöd för Web Services. The Innovative Integration Suite
Frågor! The Innovative Integration Suite
Inobiz Development System Web Services SOAP ebXML Rosetta.net ...more X.12 SAP iDOC Cargo imp ...more Semicolon files Fixed fields User defined format Styles W3C Schema MS Schema User defined MS SQL Server ORACLE IBM DB2 ...more UN/EDIFACT ODETTE User defined XML Flat file ODBC SQL EDIFACT Inobiz Development System EDI-C (Ali) Se på bildspelet. Pilarna som repressenterar inkommande fråga och utgående svar visar HTTP kommunikationen. Dom gröna kubarna är input, conversion och output definitioner. Den sträckade kuben repressenterar dom lämpliga kommunikationsmetoderna för kunna i realtid kommunicera med det bakomliggande systemet. COM EDI-API XML-API SQL-API EBCDIC/ASCII Call functions Flat file - API Log functions String functions File system functions Date and time functions The Innovative Integration Suite
The Innovative Integration Suite Inobiz marknad Inobiz marknad består av företag som har behov av integration av system och applikatione; internt eller externt Det är främst tre tillämpningsområden som Inobiz server kan användas till och de är applikationer och system inom ett företag (EAI) - de blå klossarma i figuren applikationer och system mellan företag (B2Bi) - de röda klossarna i figuren applikationer och system mellan företaget och dess marknadsplats på Internet - den gula globen i figuren EAI - integration av applikation internt på ett företag B2B – integration med externa parter via XML eller EDIFACT Webintegration – integration mellan websystem och företaget The Innovative Integration Suite
Inobiz Development System Analysverktyg Testmiljö Dokumentation Debug Editor Macro Analysera infil och resultatsfil Testkör med autogenererad testfil eller extern test-fil Autogenererad dokumentation över ditt projekt i fyra utföranden Olika metoder för att felsöka i projektet Integrerad editor med färgkodning Genvägar för att åstadkomma mer avanserad programmering (Ali) Se på bildspelet. Pilarna som repressenterar inkommande fråga och utgående svar visar HTTP kommunikationen. Dom gröna kubarna är input, conversion och output definitioner. Den sträckade kuben repressenterar dom lämpliga kommunikationsmetoderna för kunna i realtid kommunicera med det bakomliggande systemet. The Innovative Integration Suite
Inobiz Development System; grunder Kompilera och spara projektet .eds – Project filen .pgm – Källkod .cep – Compiled EDI-C program Simple mapping/extended mapping Deklarera globala variabler Variable name fältet Cut/paste Hur det autogenererade EDI-C programet är strukturerat Sekvensen av EDI-C programmet är baserad på en av strukturerna i EDI-C (Print) The Innovative Integration Suite
Uppgift 1 – Definiera en flatfilsstruktur Använd funktionen ediqual för att hitta rätt EDIFACT segment Skapa ”Record group” för att gruppera flera Records Tilldela konstanter, <target> = ”Hej”; (Print) The Innovative Integration Suite