TechNet Integration TechNet Integration WorkshopWorkshop
Pier Luigi CrocePier Luigi CroceSenior Technology SpecialistSenior Technology Specialist
Adapters e Web ServiceAdapters e Web Service
Pier Luigi CroceSenior Technology SpecialistDivisione EnterpriseMicrosoft Italia
E-mail: [email protected]
Microsoft BizTalk Accelerators and Adapters
AgendaAgenda
Microsoft AcceleratorsMicrosoft Accelerators Microsoft AdaptersMicrosoft Adapters Adapters di terze partiAdapters di terze parti Realizzare un AdapterRealizzare un Adapter
Che cosa è un Accelerator?Che cosa è un Accelerator?
È un insieme di tecnologie che È un insieme di tecnologie che forniscono il supporto completo ad una forniscono il supporto completo ad una data problematica Applicativadata problematica Applicativa
È solitamete composto da:È solitamete composto da: AdapterAdapter Parser e SerializerParser e Serializer SchemaSchema Tool e runtime per la trasformazione dei Tool e runtime per la trasformazione dei
MessaggiMessaggi Dati di TestDati di Test DocumentazioneDocumentazione Esempi per lo sviluppoEsempi per lo sviluppo
AcceleratorsAccelerators BizTalk Accelerator for HIPAABizTalk Accelerator for HIPAA
Health Insurance Portability and Health Insurance Portability and Accountability Act of 1996Accountability Act of 1996
BizTalk Accelerator for SuppliersBizTalk Accelerator for Suppliers Market Place: parte di Market Place: parte di Microsoft Solution for Microsoft Solution for
Supplier EnablementSupplier Enablement BizTalk Accelerator for RosettaNetBizTalk Accelerator for RosettaNet
Completo supporto per RosettaNet Completo supporto per RosettaNet Implementation FrameworkImplementation Framework (Rosetta - (Rosetta - RNIF RNIF 1.1 e 2.0), Standard Petrol-Chimici (Elemica - 1.1 e 2.0), Standard Petrol-Chimici (Elemica - CIDX e PIDX)CIDX e PIDX)
BizTalk Accelerator for Financial BizTalk Accelerator for Financial Services (Q1 2003)Services (Q1 2003)
Accelerator for Financial ServicesAccelerator for Financial Services
Formato dei messaggi SWIFT e Formato dei messaggi SWIFT e ISITCISITC Più di 90 SchemaPiù di 90 Schema 32 Classi di messaggi in 4 Categorie di 32 Classi di messaggi in 4 Categorie di
BusinessBusiness
Adapter per la SWIFTNetAdapter per la SWIFTNet Gestisce la transizione dai messaggi ISO Gestisce la transizione dai messaggi ISO
7775 a quelli ISO 150227775 a quelli ISO 15022 Cat 1 - Customer Transfers and Payments [subset]Cat 1 - Customer Transfers and Payments [subset] Cat 3 - Treasury Markets: Foreign Exchange, Money Cat 3 - Treasury Markets: Foreign Exchange, Money
Market, and Derivatives [subset]Market, and Derivatives [subset] Cat 5 - Securities [subset]Cat 5 - Securities [subset] Cat 9 - Cash Management and Customer Status [subset]Cat 9 - Cash Management and Customer Status [subset]
Microsoft AdaptersMicrosoft Adapters
Che cosa è un Adapter?Che cosa è un Adapter?
Rappresenta l’Rappresenta l’ultimo miglioultimo miglio da o verso da o verso una certa Applicazione o Tecnologiauna certa Applicazione o Tecnologia
Un Adapter ha due funzionalità:Un Adapter ha due funzionalità:
Inviare un documento a BizTalkInviare un documento a BizTalk Implementata solitamente con un ServizioImplementata solitamente con un Servizio
Inviare un documento da BizTalk verso Inviare un documento da BizTalk verso l’esterno.l’esterno. Implementata tramite una componente: Implementata tramite una componente:
Application Integration Component (AIC)Application Integration Component (AIC)
AdaptersAdapters
BizTalk Adapter for SAPBizTalk Adapter for SAP Integrazione con ambiente SAP.Integrazione con ambiente SAP.
BizTalk Adapter for MQSeriesBizTalk Adapter for MQSeries Estende la versatilità delle soluzioni di Estende la versatilità delle soluzioni di
messaging. messaging.
BizTalk Adapter for SQL ServerBizTalk Adapter for SQL Server Permette lettura e scrittura di Microsoft SQL Permette lettura e scrittura di Microsoft SQL
Server 2000 attraverso il Messaging di Server 2000 attraverso il Messaging di BizTalk.BizTalk.
BizTalk Adapter for Web ServicesBizTalk Adapter for Web Services Permette l’esposizione di Applicazioni Permette l’esposizione di Applicazioni
BizTalk come XML Web Services.BizTalk come XML Web Services.
BizTalk Adapter For MQSeriesBizTalk Adapter For MQSeries
Realizza l’interfaccia da MQSeries verso Realizza l’interfaccia da MQSeries verso BizTalk Server e viceversaBizTalk Server e viceversa
È composto da:È composto da: Un servizio che gestisce il traffico da Un servizio che gestisce il traffico da
MQSeries verso BizTalk ServerMQSeries verso BizTalk Server Un AIC che gestisce il traffico da BizTalk Un AIC che gestisce il traffico da BizTalk
Server verso MQSeriesServer verso MQSeries Prerequisiti:Prerequisiti:
Microsoft BizTalk Server Enterprise EditionMicrosoft BizTalk Server Enterprise Edition IBM MQSeries Server per Microsoft Windows IBM MQSeries Server per Microsoft Windows
NT and Windows 2000 versione 5.1 (with NT and Windows 2000 versione 5.1 (with Support Pac MC75 e CSD U200134 o Support Pac MC75 e CSD U200134 o successivi) o 5.2. successivi) o 5.2.
BizTalk Adapter For MQSeriesBizTalk Adapter For MQSeries
Architettura dell’adapter: Servizio e AICArchitettura dell’adapter: Servizio e AIC
BizTalk Adapter for SQL ServerBizTalk Adapter for SQL Server
Realizza l’interfaccia da SQL Server 2000 Realizza l’interfaccia da SQL Server 2000 verso BizTalk Server e viceversaverso BizTalk Server e viceversa
È composto da:È composto da: Un job di ricezione che dato uno statement Un job di ricezione che dato uno statement
SQL, su un certo intervallo temporale o su SQL, su un certo intervallo temporale o su chiamata COM, sia in grado di rendere un chiamata COM, sia in grado di rendere un result set convertito dall’adapter in uno o più result set convertito dall’adapter in uno o più messaggi BizTalk.messaggi BizTalk.
Un AIC in grado di ricevere un documento Un AIC in grado di ricevere un documento XML dal Messaging di BizTalk ed eseguire XML dal Messaging di BizTalk ed eseguire una stored procedure o creare ed eseguire una stored procedure o creare ed eseguire un XML updategram per inserire, modificare un XML updategram per inserire, modificare o cancellare record nelle tabelle di SQL o cancellare record nelle tabelle di SQL Server.Server.
BizTalk Adapter for SQL ServerBizTalk Adapter for SQL Server
Updategram: INSERTUpdategram: INSERT
<<ROOTROOT>> <<block01block01>>
<<beforebefore/>/><<afterafter>> <<table nametable name="="CurrencyExcRatesCurrencyExcRates">">
<<column01 namecolumn01 name="="CurrencyIDCurrencyID"" valuevalue="="JPYJPY"/>"/><<column02 namecolumn02 name="="ValidFromValidFrom""
valuevalue="="01/01/200301/01/2003"/>"/><<column03 namecolumn03 name="="QuotationQuotation"" valuevalue="="0.641180.64118"/>"/><<column04 namecolumn04 name="="DescriptionDescription"" valuevalue="="YenYen"/>"/>
</</tabletable>></</afterafter>>
</</block01block01>></</ROOTROOT>>
BizTalk Adapter for SQL ServerBizTalk Adapter for SQL Server
Architettura dell’adapter: Servizio e AICArchitettura dell’adapter: Servizio e AIC
Scenario della DemoScenario della Demo
Da file XML a Tabella di SQL Server tramite AICDa file XML a Tabella di SQL Server tramite AIC
PortaCanale
Schema di Ingresso
WebDAV Repository
Schema di updategram
Trasformazione (XSLT)
SQL Server 2000
SQL Server
Adapter A
IC
File XML
File R
ecei
ve
Functio
n
BizTalk Adapter for SQL ServerBizTalk Adapter for SQL Server
BizTalk Adapter for Web ServicesBizTalk Adapter for Web Services
Implementa una chiamata sincrona Implementa una chiamata sincrona tramite componenti separate per tramite componenti separate per trasmissione e ricezione.trasmissione e ricezione.
Data la sincronicità si ha che:Data la sincronicità si ha che: Porta con trasporto in loopbackPorta con trasporto in loopback AIC che ritorna un documentoAIC che ritorna un documento
Per consumare un Web Service da Per consumare un Web Service da BizTalk non occorre utilizzare l’adapterBizTalk non occorre utilizzare l’adapter
BizTalk Adapter for Web ServicesBizTalk Adapter for Web Services
Scenario Standalone sincrono Scenario Standalone sincrono (loopback)(loopback)
BizTalk Adapter for Web ServicesBizTalk Adapter for Web Services
Scenario End-to-End sincrono Scenario End-to-End sincrono (AIC con ritorno)(AIC con ritorno)
Adapters di terze partiAdapters di terze parti
Adapters di terze partiAdapters di terze parti
Ne esistono più di 300 suddivisi in due Ne esistono più di 300 suddivisi in due gruppi:gruppi: Application Adapter, abilitano l’integrazione Application Adapter, abilitano l’integrazione
con le più diffuse applicazioni:con le più diffuse applicazioni: Ariba, BroadVision, Commerce One, Great Plains, Ariba, BroadVision, Commerce One, Great Plains,
J.D. Edwards, Navision, Oracle Financials, J.D. Edwards, Navision, Oracle Financials, Peoplesoft, SAP, Siebel Peoplesoft, SAP, Siebel
Technology Adapter, abilitano l’integrazione Technology Adapter, abilitano l’integrazione con varie tecnologiecon varie tecnologie CICS / IMS, CORBA, DB2, DEC VTXXX, DL/1, EDI, CICS / IMS, CORBA, DB2, DEC VTXXX, DL/1, EDI,
EDIFACT, Informix, J2EE, Jasmine, JDBC, Oracle EDIFACT, Informix, J2EE, Jasmine, JDBC, Oracle
Adapters di terze partiAdapters di terze parti Alcuni fornitori di adapters:Alcuni fornitori di adapters:
ActionalActional SOAPSwitchSOAPSwitch
AttunityAttunity HostHost
Covast, EdifecsCovast, Edifecs EDIEDI
iWay, Taviz, HpiWay, Taviz, Hp General PourposeGeneral Pourpose
ItemFieldItemField Content MasterContent Master
Pixel, FarabiPixel, Farabi
http://www.microsoft.com/biztalk/evaluation/adapters/adapterslist.asp
Realizzare un AdapterRealizzare un Adapter
Realizzare un AdapterRealizzare un Adapter
Un Adapter è composto da due Un Adapter è composto da due componenti applicative:componenti applicative:
La componente per inviare un La componente per inviare un documento a BizTalkdocumento a BizTalk
La componente per inviare il La componente per inviare il documento da BizTalk verso l’esterno.documento da BizTalk verso l’esterno. AIC = Application Integration Component AIC = Application Integration Component
Sottomettere un Documento a BizTalkSottomettere un Documento a BizTalk
Esiste una componente Esiste una componente BizTalk.InterchangeBizTalk.Interchange che ha due metodi che ha due metodi::
SubmitSubmit Sottomette un documento a BizTalk per un Sottomette un documento a BizTalk per un
processamento processamento asincronoasincrono. BizTalk mette il . BizTalk mette il doc nella Work Queue in attesa di essere doc nella Work Queue in attesa di essere lavorato.lavorato.
SubmitSyncSubmitSync Sottomette un documento a BizTalk per un Sottomette un documento a BizTalk per un
processamento processamento sincronosincrono. Una risposta . Una risposta opzionale è tornata al chiamante.opzionale è tornata al chiamante.
Application Integration ComponentsApplication Integration Components
Ci sono due modi di implementare un AIC Ci sono due modi di implementare un AIC (Application Integration Component):(Application Integration Component): Basic Integration Components (BICs o Basic Integration Components (BICs o
Lightweight AICs)Lightweight AICs) NON ConfigurabiliNON Configurabili
Pipeline Integration Components (PICs o Pipeline Integration Components (PICs o Pipeline AICs)Pipeline AICs) ConfigurabiliConfigurabili
Esistono appositi Project Setting per Esistono appositi Project Setting per componenti Visual Basic 6.0componenti Visual Basic 6.0 Unattended ExecutionUnattended Execution Retain in Memory Retain in Memory
Basic Integration ComponentsBasic Integration Components
Lightweight AICsLightweight AICs Si deve implementareSi deve implementare IBTSAppIntegrationIBTSAppIntegration
Function ProcessMessage( Document As _ Function ProcessMessage( Document As _ String) As StringString) As String IN:IN: DocumentoDocumento OUT:OUT: Documento di ritornoDocumento di ritorno
BizTalk Server cerca l’interfaccia BizTalk Server cerca l’interfaccia IBTSAppIntegrationIBTSAppIntegration
Se non la trova, cerca un Se non la trova, cerca un Pipeline AICPipeline AIC
Pipeline Integration ComponentsPipeline Integration Components
Pipeline AICsPipeline AICs Si deve implementareSi deve implementare IPipelineComponent IPipelineComponent ee
IPipelineComponentAdminIPipelineComponentAdmin
Function Execute( DispOrder As Object, _ Function Execute( DispOrder As Object, _ DispContext As Object, Flags As Long ) As LongDispContext As Object, Flags As Long ) As Long DispOrder: oggetto che implementa DispOrder: oggetto che implementa IDictionaryIDictionary IDictionary fornisce accesso ad IN e OUTIDictionary fornisce accesso ad IN e OUT
GetConfigDataGetConfigData e e SetConfigDataSetConfigData abilitano la abilitano la configurazione della componenteconfigurazione della componente
La GUI è data da due pagine ASP La GUI è data da due pagine ASP
Scenario della DemoScenario della Demo
WS verso AIC Custom che chiama WS EsternoWS verso AIC Custom che chiama WS Esterno
AICPorta
SQL Server 2000
Azienda Esterna
Web Service Products
Canale
http
WSWSAdapterAdapter
WSWSAdapterAdapter
SchemaIngresso
Trasformazione(XSLT)
Schemauscita
Validazioni eTrasformazioni
ApplicazioniClient e Server
http
BizTalk Adapter for Web ServicesBizTalk Adapter for Web Services
RisorseRisorse
Microsoft BizTalk ServerMicrosoft BizTalk Server http://www.microsoft.com/biztalkhttp://www.microsoft.com/biztalk
Microsoft MsdnMicrosoft Msdn http://www.microsoft.com/italy/msdn/http://www.microsoft.com/italy/msdn/
Microsoft TechNetMicrosoft TechNet http://www.microsoft.com/http://www.microsoft.com/italy/technetitaly/technet
Domande?Domande?
TechNet Integration TechNet Integration WorkshopWorkshop
Pier Luigi CrocePier Luigi CroceSenior Technology SpecialistSenior Technology Specialist