• No results found

Hur används och fungerar BizTalk?

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.  

 

 

4 Utvärdering/resultat 

Related documents