CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
TERMENI importanti pentru acest document |
|
Jedním z přirozených a velmi obvyklých způsobů, jakým BizTalk Server komunikuje s aplikacemi je prostřednictvím Aplikačních integračních komponent (Application Integration Component - AIC).
To znamená, že ke každé aplikaci, se kterou se nedokážeme „bavit“ jiným způsobem je nutné takovou komponentu vytvořit. Někdy sice není tvorba AIC komponent nezbytná a aplikace komunikuje s okolím i jinak (např. prostřednictvím webových služeb), přesto se komponenty vytvářejí, protože je to výhodné z jiných důvodů (kvůli výkonu, pohodlí apod.). Tento přístup také umožňuje třetím stranám tvořit adaptéry ke svým nebo známým aplikacím jako SAP, Navision, Siebel, PeopleSoft, Oracle apod.).
Příkladem takového adaptéru využívajícího AIC komponentu je Microsoft BizTalk Adapter for SAP, o kterém pojednává samostatná část této publikace.
Adaptérů je ale celá řada, několik softwarových producentů vytvořilo adaptéry nebo tzv. akcelerátory pro BizTalk Server prakticky ke všem známým aplikacím, technologiím (EDI, OCI, ) a mnoha vertikálním normám (pro zdravotnictví, finanční, elektrotechnický, chemický průmysl a další).
Považujeme tedy za vhodné ukázat, jak se taková komponenta vytváří a především jak ji potom BizTalk používá.
Aplikační integrační komponenta není nic jiného než moderní COM+ objekt (v .NET technologiích nazýváného Enterprise Component) vytvořený prostředky .NET Frameworku (v našem případě to přirozeně bude Visual Studio). Pokud AIC komponenta implementuje interface IBTSAppIntegration s jedinou metodou ProcessMessage, může ji BizTalk využít jako místo doručení (destination) při volbě mechanizmu transportu (Primary Transport) během konfigurace portů (viz. Konfigurace BizTalk Serveru dále v této části).
Tvorbu můžeme popsat následovně
Vytvoření projektu
Spustíme Visual Studio .NET a zvolíme File | New | Project | Visual C# Projects | Class Library. Pro naši komponentu jsme zvolili název ERP_AIC a podle ní nazveme celý projekt.
Přidání referencí k projektu
V Solution Exploreru vybereme projekt a v kontextovém menu zvolíme Add Reference . Ve standardních komponentách .NET Frameworku vybereme System.EnterpriseServices a po stisku tlačítka Browse přidáme knihovnu (assembly) BTSComponentsLib.dll (při defalutové instalaci BizTalk Server 2002 Toolkit for Microsoft .NET ji najdete na cestě C:Program FilesMicrosoft BizTalk ServerNET ToolkitPrimary Interop Assemblies):
Protože AIC komponenta bude využívat služeb ERP_Service, musíme přidat i referenci na projekt ERP_Service nebo na soubor ERP_Service.dll.
Modifikace AssemblyInfo.cs
Každá enterprise komponenta musí mít digitálně podepsanou svoji assembly a musí mít svůj jednoznačný identifikátor (více o tomto tématu se dočtete v .NET Framework SDK v MSDN Library nebo k nápovědě k Visual Studiu .NET.
Informace o digitálním podpisu a Guid získává v překladač C# ze souboru AssemblyInfo.cs, který je součástí projektu.
Přidáme na začátek k jeho deklaracím řádek
using System.EnterpriseServices;
a změníme poslední řádky souboru tak, aby se podobaly těm, které jsme použili my:
[assembly: AssemblyKeyFile(@'sgKey.snk')]
[assembly: AssemblyKeyName('')]
[assembly: ApplicationName('ERP AIC komponenta')]
[assembly: ApplicationID('27DE0709-FE9A-4f6e-ACC9-2FF5FA727A44')]
[assembly: Description('AIC komponenta, obsahujici leccos')]
Na prvním řádku je nutné zadat cestu k souboru, ve kterém jsou uloženy kryptografické klíče (klíče generujeme programem s názvem sn.exe, který je součástí .NET Frameworku).
Druhý řádek je beze změny a tři poslední řádky (které jsme přidali) nepotřebují vysvětlení. Jednoznačný identifikátor si v .NET Studiu lehce vygenerujeme po spuštění programu GuidGen.exe volbou Tools | Create Guid.
Vytvoření třídy ErpReceivePO
K projektu přidáme class ErpReceivePO a jeho zdrojový kód upravíme:
using System;
using System.Xml;
using System.EnterpriseServices;
using System.Runtime.InteropServices;
using System.IO;
using Microsoft.BizTalk.BTSComponentsLib;
using ERP_Service;
namespace ERP_AIC
string IBTSAppIntegration.ProcessMessage(string strDocument)
}
Ze zdrojového textu je patrný i význam deklarovaných objektů.
Atribut třídy [Guid] je dobré zadat, pokud chceme naše řešení konigurovat skriptem[1], nebo pokud chceme provádět deployment pomocí SEED Wizard.
Třída ErpReceivePO má jako rodiče třídu ServicedComponent a implementuje interface IBTSAppIntegration. Jediná metoda (ProcessMessage) tohoto interface prozatím mnoho nedělá, pouze dokument, který jí BizTalk předá prostřednictvím parametru strDocument, předává dál.
Změníme tedy tělo metody tak, aby zpracovalo objednávku:
string IBTSAppIntegration.ProcessMessage(string strDocument)
catch
// založení objednávky
ERP_Service.POManagement.CreatePO(sZak,sDod,gPO);
// čtení jednotlivých položek (elementů) XML objednávky
XmlNodeList xml= xDoc.SelectNodes('Objednavka/Polozka');
SingleProduct sp=new SingleProduct();
for (int i=0;i<xml.Count;i++)
}
catch (Exception e)
return strDocument;
Nastavíme ještě ve vlastnostech projektu, že výsledný kód se má registrovat pro COM interoperabilitu a jsme hotovi:
Při takovém nastavení se po přeložení komponenta automaticky zaregistruje v systému.
Prvním předpokladem použití AIC komponent je jejich správná registrace. Pokud nepoužíváte Visual Studio .NET a projekt jste dosud nepřeložili, je nutné komponentu zaregistrovat ručně. Provedeme to například příkazem[2]:
regsvcs <ERP_Aplikace>ERP_AICbinDebugERP_AIC.dll
nebo pomocí programu ERP_Scenarios (viz. níže).
Nyní máme dvě možnosti:
Půjdeme cestou 2 (chcete-li, zkuste si modifikaci Scénáře 1 sami).
Tvorbu messaging objektů jsme již podrobně probrali v minulé kapitole, takže nyní budeme struční a vyjmenujeme pouze názvy a parametry objektů (tak, jak jsme je použili my v aplikaci ERP_Scenarios)
Vytvoření portu
Port nazveme erp_PO_k_AIC, bude směřovat k aplikaci ERPApp. Port bude jako Primary Transport používat objekt ERP_AIC ErpReceivePO:
Ostatní parametry erp_PO_k_AIC necháme defaultové.
Vytvoření kanálu
Kanál půjde od organizace ERP Klient a nazveme ho stejně jako port :erp_PO_k_AIC. Jako vstupní a výstupní formát dokumentu zvolíme jako v předchozím scénáři definici erp_Objednavka.
Vytvoření Receive Function
Vytvoříme novou File Receive Function s názvem například JinyPrijem_PO. Receive function bude nastavena tak, aby odebírala soubory typu *.xml z adresáře <ERP_Apliace>DropPOtoAIC a posílala je do kanálu erp_PO_k_AIC.
Zkopírujeme soubor s objednávkou do adresáře <ERP_Aplikace>DropPOtoAIC. Tam se činnosti ujme receive function JinyPrijem_PO, která pošle objednávku do kanálu erp_PO_k_AIC, a ten ji dopraví k portu erp_PO_k_AIC. Ten ji pošle prostřednictvím AIC komponetny přímo centrální ERP Aplikaci. Na výsledek se můžete podívat buď v Enterprise Manageru SQL Serveru 2000 (databáze ERP_Data, tabulka Objednavky), nebo pomocí programu ERP_Admin.
Po spuštění programu ERP_Scenarios je možné provést registraci komponenty a konfiguraci BizTalk Serveru stiskem dvou tlačítek. Z ovládacího panelu můžeme také vzorovou objedenávku (<ERP Aplikace>Sample.xml) zkopírovat do adresáře, kde na ni čeká receive function JinyPrijem_PO, takže objednávka se zakrátko dostane mezi nové objednávky ERP Aplikace.
Pomocí panelu ERP_Scenarios je možné testovat Scénář č.2 i dávkově. Parametry dávky se nastavují z ovládacího panelu. Nápovědu k jednotlivým akcím získáte stisknutím příslušného tlačítka se symbolem otazník: „?“[4]
Viz. soubor MessagingToAIC.vbs, který najdete na cestě <ERP_Aplikace>/ERP_Scenarios/ Scripts, pomoc kterého v tomto scénáři skriptem konfigurujeme BizTalk Messaging.
Program regsvcs.exe je umístěn v adresáři C:WINDOWSMicrosoft.NETFramework v1.0.3705 (pokud máte adresář Windows nebo WINNT na disku c:). Bez problémů ho můžete spouštět z Visual Studia Command Prompt
Mohli bychom sice použít stávající vytvořené objekty (Receive function Prijem_PO, ) ze Scénáře č. 1 a pouze je modifikovat, ale rozhodli jsme se koncipovat jednotlivé scénáře tak, aby byly pokud možno na sobě nezávislé, takže objekty, které by spolu mohly kolidovat vytvoříme znovu.
Nápověda je ve formě dokumentu ve formátu Microsoft Word. Pokud MS Word nemáte instalovaný, bude se spouštět Microsft Write, který dokument překonvertuje do svého formátu. Dokumenty (především obrázky) však ztratí na kvalitě.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 793
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved