2.6 Microsoft BizTalk Server 2006
2.6.3 Hur används och fungerar BizTalk?
Största delen av moderna affärsprocesser är åtminstone delvis beroende av mjukvaror. En del förlitar sig på en applikation, en del förlitar sig många applikationer utspridda på diverse system. Dessa system har oftast tillverkats vid olika tidpunkter, på olika plattformar och med olika teknologier. Givet detta kräver affärsprocesserna att diverse system kan sammankopplas. Att integrera existerande applikationer, inom ett företag eller över flera
organisationer till automatiserade affärsprocesser är det fundamentala i BizTalk.
Receive Adapter
Send Adapter
MessageBox Orchestrations
Inbound Outbound
Send Pipeline
Message Path Business Rules
Engine
Incoming Message
<XML Message>
<XML Message>
<XML Message>
<XML Message>
Outgoing Message Receive
Pipeline
Subscriptions Subscriptions
Fig. 2.2 Ett meddelandes väg i BizTalk Server 2006
Ett meddelande tas emot av en Receive Adapter. Olika adaptrar erbjuder olika kommunikationsmekanismer så meddelandet kan förvärvas genom åtkomst till en Web Service, en fil eller på annat sätt. Sedan bearbetas meddelandet genom en Receive Pipeline. Den kan innehålla varierande komponenter som bland annat kan konvertera ursprungliga meddelandet till ett XML‐format, validera ett meddelandes digitala signatur. Meddelandet levereras sedan till en MessageBox som är implementerad på en SQL‐server.
Logiken som styr affärsprocessen är implementerad som en eller flera
orchesrations som består av exekverbar kod. Orchestrations byggs inte genom att skriva kod, istället är det en affärsanalytiker eller utvecklare som använder ett lämpligt verktyg för att grafisk organisera en grupp av former som beskriver villkor, loopar och andra beteenden. Orchestrations har valet att använda
Busniess Rules Engine som är ett enklare och mer lättmodifierat sätt att uttrycka en mängd komplexa regler i en affärsprocess.
Varje orchestration gör meddelandeprenumerationer, subscriptions, för att indikera vilken typ av meddelande den vill ta emot. När ett lämpligt meddelande anländer till en MessageBox, avsänds meddelandet till mål‐
orchestration som sedan utför det som affärsprocessen kräver. Resultatet av processen är ofta ett annat meddelande, producerat av orchestration, som sparas i en MessageBox. Meddelandet i sin tur bearbetas av en Send Pipeline, som konverterar från det interna BizTalk XML‐formatet till formatet som mottagarsidan kräver. Meddelandet sänds sedan ut via en Send Adapter, som använder en lämplig mekanism för att kommunicera med applikationen för meddelandets destination.
Roller för att utveckla affärsprocesser
Personer inom en affärsverksamhet utnyttjar olika typer av funktionalitet i BizTalk Server 2006. Affärsanalytiker kan definiera regler och beteenden som bygger upp affärsprocessen och dess flöde, samt vilken information som sänds till varje applikation och hur den matchas till en annan struktur. Utvecklaren implementerar en BizTalk‐applikation, vilket innebär att definiera XML‐
scheman, specificera detaljerna i matchningen till en annan struktur och konstruera nödvändiga orchestations för att implementera affärsprocessen.
Administratören konfigurerar kommunikationen mellan parter och placerar ut och startar BizTalk‐applikationen.
Sammankoppla system
För att täcka en stor del av de kommunikationsstilar som existerar måste BizTalk stödja ett mängd varierande protokoll och meddelandeformat. Alla format som BizTalk hanterar konverteras först till ett XML‐dokument eftersom BizTalk endast arbetar med detta format internt.
Skicka och ta emot meddelanden, Adaptrar
För att hantera variationen i mjukvara använder BizTalk olika adaptrar. En adapter är en implementation av en kommunikationsmekanism, med ett så kallat protokoll. En utvecklare kan sedan välja vilken typ av adapter som föredras att använda i en viss situation. Adapter Framework tillhandahåller ett standardiserat sätt för att använda och bygga egna adaptrar.
Adaptrar som ingår i BizTalk Server 2006:
‐ Web Service adapter, skickar och tar emot SOAP‐meddelanden över HTTP. Viktigt för att interagera i en tjänsteorienterad miljö (SOA).
‐ Filadapter, läser och skriver från Windows filsystem.
‐ HTTP adapter, skickar och tar emot information över HTTP.
‐ MSMQ adapter, skickar och tar emot meddelanden genom att använda Microsoft Message Queuing.
‐ MSMQT adapter, skickar och tar emot meddelanden genom BizTalk Message Queuing.
‐ WebSphere MQ Adapter, skickar och tar emot meddelanden genom IBM:s WebSphere MQ.
‐ SMTP adapter, skickar e‐postmeddelanden via SMTP.
‐ POP3 Adapter, tar emot e‐postmeddelanden via POP3.
‐ Windows sharepoint Sevices (WSS) Adapter, åtkomst och publicering av dokument lagrade i SharePoints dokumentbibliotek.
‐ SQL adapter, läser och skriver information till en SQL‐server databas.
Andra adaptrar för vanligtvis förekommande affärsmjukvaror finns att tillgå från Microsoft och deras partners.
Behandla meddelanden, Pipelines
Eftersom BizTalk arbetar med XML‐dokument internt måste den kunna
konverterar inkommande och utgående format samt autentisera sändaren av ett meddelande. Pipelines hanterar detta och är indelade i block som innehåller en eller flera .NET eller Component Object Model (COM) komponenter.
Decode Disassemble Validate Resolve
Party
MIME/SMIME Decoder
BTF Disassembler
Flat File Disassembler XML Disassembler
XML Validator
Party Resolution
Receive Pipeline
Stages
Components
Fig. 2.3 Receive Pipeline, block och standardkomponenter
Blocken och standardkomponenterna i Recieve Pipeline:
• Decode, en standardkomponent. MIME/SMIME‐dekoder, hanterar MIME‐ eller säker MIME (S/MIME) ‐format och konverterar dessa till XML. Den kan också dekryptera S/MIME‐meddelanden och verifiera dess digitala signatur.
• Disassemble, tre standardkomponenter finns tillgängliga:
o Flat File Disassembler, konverterar en strukturerad textfil till XML‐
dokument.
o XML Disassembler, tolkar och läser in inkommande meddelanden skrivna i XML.
o BTF Disassembler, accepterar inkommande meddelanden från en meddelandemekanism fördefinierad i BizTalk Framework (BTF).
• Validate, validerar ett XML‐dokument skapat av Disassemble mot ett schema eller en grupp av scheman.
• Resolve Party, försöker identifiera sändaren av ett meddelande.
Assemble Encode
(Custom components only)
BTF Assembler Flat File Assembler
XML Assembler
MIME/SMIME Encoder
Send Pipeline
Stages
Components Pre-assemble
Fig. 2.4 Send Pipeline, block och standardkomponenter
Blocken och standardkomponenterna i Send Pipeline:
• Pre‐assemble, ingen standardkomponent finns tillgänglig men egna ändamålsenliga komponenter kan infogas vid behov.
• Assemble, tre standardkomponenter finns tillgängliga:
o Flat File Assembler, konverterar ett XML‐meddelande till en positionell fil eller genom att använda ett specifikt tecken för att separera värdena i filen.
o XML Assembler, gör det möjligt att lägga till ett omslag till XML‐
meddelandet.
o BTF Assembler, paketerar meddelandet för pålitlig överföring.
• Encode, en komponent som paketerar utgående meddelanden i MIME‐
eller S/MIME‐format. Med S/MIME kan meddelandet dessutom krypteras och/eller digitalt signeras.
En utvecklare kan också implementera egendefinierade Pipelines genom att använda Pipeline Designer, ett verktyg som körs i Visual Studio 2005 och tillhandahåller ett grafiskt gränssnitt för att bygga en pipelinekomponent.
Meddelandeprenumerationer, Subsriptions
Ett meddelande som färdats genom en adapter och Receive Pipline måste veta sin fortsätta väg. Måldestinationen är oftast en orchestration men det är möjligt
att ett meddelande går direkt till en Send Pipline, i de fall BizTalk används som ett rent meddelandesystem. Måldestinationen bestäms via Subscriptions. När ett meddelande färdas genom en Receive Pipline konstrueras ett meddelande‐
sammanhang med varierande egenskaper. En orchestration eller en Send Pipline kan prenumerera (eng. subscribe) på ett meddelande, baserat på meddelandesammanhangets egenskaper.
Definera Affärsprocesser
För att definiera logiken i en affärsprocess används orchestrations och för att bygga och utvärdera grupper av affärsregler tillhandhålls Business Rules Engine.
Logiken för automatiserade affärsprocesser kan implementeras direkt i ett programmeringsspråk som C# eller Visual Basic. Men istället för att skriva kod tillhandahåller BizTalk orchetrations, där affärsprocesser skapas grafiskt. Att arbeta på detta sätt kan medföra att en affärsprocess kan skapas snabbare, bli enklare att förstå, förklara, ändra och mäta. För att utveckla orchestrations använder man sig av tre primära verktyg:
• Biztalk Editor låter utvecklare skapa XML‐scheman genom att definiera elementen i en grafisk hierarki. Existerande scheman kan också
importeras eller nås via en Web Service.
• Biztalk Mapper. Vanligtvis tas en typ av strukturerade dokument emot och en annan typ av struktur på dokumentet ska skickas. För att definiera dessa transformationer i BizTalk skapas en matchning. Detta genom att skapa grafiska relationer mellan scheman. Matchningen är implementerad i XSLT. Mer komplexa transformationer kan skapas genom användning av functoids. Dessa består av exekverbar kod som arbetar på ett eller flera element. I BizTalk finns ett antal inbyggda functoids som bland annat hanterar konverteringar, logik och beräkningar.
• Orchestartion Designer används för att skapa en grafisk beskrivning för att definiera en affärsprocess behov genom att koppla samman en serie av grafiska former på ett logiskt sätt. Formerna som används är:
o Receive shape, tar emot ett meddelande.
o Send shape, skickar ett meddelande.
o Port shape, definierar hur en meddelande skickas. Varje instans av en port är kopplad antigen en Send eller Receive Shape.
o Decide shape, representerar en ”if‐then‐else”‐sats vilket medför att en orchestration kan utföra olika arbetsuppgifter utifrån boolska villkor.
o Loop shape, används för att återupprepa en handling.
o Construct Message shape, används för att bygga ett meddelande.
o Tranformation shape, används för att transformera strukturen av en dokumenttyp till en annan genom att involvera matchning
definierad med BizTalk Mapper.
o Parallel Action shape, används för att specificera att ett flertal operationer sker parallellt istället för i en sekvens.
o Scope shape, används för att gruppera operationer till transaktioner och definiera felhantering.
o Message Assignment shape, används för att tilldela värden till variabler i en orchestration.
Web Services och orchestration
För att få åtkomst till Web Services i en orchestration används Add Web Reference i Visual Studio 2005 tillsammans med Web Service‐adaptern för att direkt involvera Web Service‐operationer. Dessutom kan Biztalk Server 2006 publicera en Web Service genom att generera en ASP.NET. På så sätt kan en Web Service exponera en eller flera orchestration‐operationer som SOAP‐
anropbara Web Services.
Busniess Rules Engine
Busniess Rules Engine används för att definiera och ändra affärsregler på ett enklare sätt. En utvecklare börjar oftast med Busniess Rule Composer för att beskriva affärsregler genom att definiera ett ordförråd för en viss regel. I Busniess Rules Engine skapas sedan affärspolicyn baserade på definierat ordförråd. Varje policy innehåller en eller flera affärsregler. En regel använder ett ord tillsammans med logiska operatorer för att definiera hur en
affärsprocess arbetar. En affärsregel kan definiera hur värden i ett mottaget XML‐dokument ska påverka värdena i ett skapat XML‐dokument som ska skickas eller hur mottagna värden ska påverka värden som skrivs till en databas eller andra definitioner.
Skötsel och övervakning
Varje applikation byggd i BizTalk Server 2006 kan behöva övervakning.
Installation av BizTalk är rättfram och kan installeras på en maskin eller genom att skapa skalbara installationer. För att sköta applikationer används BizTalk Administration console där de viktigaste delarna är:
• Deploy BizTalk applications, förpackar ihop alla delar i en lösning och sprider det på en eller flera servrar med mera.
• Configure BizTalk applications, konfigurerar hur BizTalk kommunicerar med en specifik applikation.
• Monitor BizTalk applications, övervakar driften av BizTalk‐applikationer.
Health and Activity Tracking
BizTalk‐applikationer utför en mängd operationer och dessa händelser förs in i ett register. När något fel inträffar är det möjligt att felsöka orchestrations och
applikationer med hjälp av Health and Activity Tracking (HAT) ‐komponenten som tillhandhåller information om alla applikationer som körs.
Enterprise Single Sign‐On
För att hantera säkerhetskriterier i en affärsprocess där man förlitar sig på flertalet applikationer, använder sig BizTalk Server 2006 av Enterprise Single Sign‐On. Detta betyder att man tillhandhåller ett sätt att översätta Windows användarid till användarkriterier för andra system.
Teknologier för informationsarbetare
Informationsarbetare kan mäta affärsrelaterade aspekter av en process eller arbeta med handelpartners på olika sätt. Komponenter för detta finns att tillgå och de kan indelas i två grupper:
Busniess Activty Monitoring (BAM), används för att mäta händelser och data.
Komponenten mäter olika händelser, exempelvis antal inköpsorder som har blivit godkända under en dag eller hur många beställningar man fått under en viss timme. Informationen blir tillgänglig genom en SOAP‐anropbar Web Service som kan nås genom bland annat:
• Microsoft Excel eller andra skrivbordsklienter.
• En BAM portal. Via en portal kan en informationsarbetare välja särskilda instanser av en process och sedan undersöka en specifik BAM‐vy inne i processen. Varje vy ger olika perspektiv på en grafisk skildring av en prestation.
• SQL Server Notification Services. Tillhandhåller BAM‐information som en underrättelse. Detta betyder att ett meddelande skickas när något
intressant händer. Exempelvis kan ett e‐post‐meddelande skickas för att informera en viss person när något intressant inträffar.
Business Activty Services, används under en pågående affärsprocess för att skapa nya relationer, definiera en partners roll, implementera och låta nya partners delta i affärsprocessen. Det finns två olika komponenter för detta:
• Trading Partner Mangement. Att skapa B2B‐kopplingar mellan
handelpartners är den vanligaste användningen av BizTalk Server. För att upprätta dessa kopplingar krävs många överenskommelser bland annat om kommunikationsprotokollen, format på meddelandet som kommer att utbytas och affärsprocessen som driver interaktionen.
Hantering av komplicerade relationer mellan handelpartners där många organisationer är involverade eller när aktörer ändras frekvent sker också här.
• Business Process Configuration, tillhandahåller ett sätt för
informationsarbetare att konfigurera en orchestration genom att exempelvis tilldela parametrar värden i en orchestration.
3 Metod
För att finna en användbar lösning användes en deskriptionsmetod vid analys av Avantras affärsprocesser och en komparationsmetod för att studera
befintliga integrationsverktyg. Vid valet av integrationslösning togs hänsyn till faktorer som kostnadseffektivitet, framtid, standarder, skalbarhet,
begränsningar, flexibilitet och kravmotsättningar.
För att hitta en lämplig lösning med hög validitet var vi tvungna att validera flera olika lösningar baserat på den givna kravbilden och senaste antagna teknik. Genom att jobba iterativt med Avantra kunde vi så småningom ringa in målet. Flera olika litteraturkällor pekar på samma resultat och detta innebär att litteraturens data är av hög kvalité.
Genom att studera relevant litteratur samt genom att arbeta med den teknik som kan lämpa sig att använda i Avantras existerande miljö byggdes en bred teoretisk referensram upp för att förstå de tekniska förutsättningarna. För att säkerställa att relevant litteratur används genomfördes omfattande sökningar av litteratur i ämnet och med hjälp av handledaren har lämplig litteratur valts ut.
Datainsamlingen har främst skett genom omfattande litteraturstudier men även facktidningar har bidragit med information. Internet var en självklar källa för att söka information kring standarder, olika programmeringsspråk,
utvecklingsmiljöer, hämta manualer, handledningar och så vidare genom sökmotorer, diskussionsforum, sändlistor (eng. mailing list). För att öka Internets trovärdighet valde vi att studera standardiseringsorgans webbsidor som W3C, OASIS med flera och utvecklingswebbplatser som Microsoft
Developer Network (MSDN), Apache Project, Sun Developer Network (SDN) med flera då dessa torde ha informations av hög kvalité.
Reliabiliteten bygger på att man har den teoretiska referensram som krävs. Vi har strävat efter att följa standarder som har antagits av standardiseringsorgan, därför torde reliabiliteten vara hög. Ett objektivt synsätt har anammats för att förbise vissa företags medvetna val att framhäva sina egna produkter och därmed har vi tagit en mer opartiskt roll i våra analyser. Eftersom vi har en kvalitativ ansats arbetade vi återkommande med kvaliteten.