Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRico Damiano Modificato 11 anni fa
1
1 Scoprirete che su Office non si può solo contare ma anche sviluppare
2
2 Information Bridge Framework Luca Regnicoli MCSD.NET MCSE+I MCDBA MCT luka@devleap.it
3
3 Agenda Information Bridge Overview Architettura Web services Solution Metadata User Interface Region Search Smart tags e attached schema documents Hyperlinks Deployment
4
4 Agenda Prima parte: alla scoperta di IBF! – Introduzione a Information Bridge Framework – Demo user-side – Architettura e componenti fondamentali – Livello intro Seconda parte: alla conquista di IBF! – Sviluppiamo una soluzione completa – Demo dev-side – Livello advanced
5
5 Cosa diamo per scontato Conoscenza del.NET Framework – Interfaccia, Ereditarietà – Code Access Security Conoscenza architetture n-tier – Data Layer, Business Layer, UI Layer Conoscenza di XML – Document, Schema XSD, Trasformazioni XSL Conoscenza di Web Services – WSDL, Web Method,.ASMX Conoscenza di Windows Forms – Custom User Control
6
6 Overview
7
7 E-mail e documenti si riferiscono a business entity – Clienti, Ordini, Prodotti Non è semplice ottenere dettagli o drill-down Accesso manuale a diverse applicazioni per ottenere info Trova Ordini Outlook Maria, Controlla il codice di assistenza SR27090 della Contoso. Gran capo Copia & Incolla Trova il cliente Il problema
8
8 Information Bridge Framework: Mission Enable information workers to discover, engage, and act on enterprise business objects from within Office ERP CRM
9
9 La soluzione Information Bridge Framework permette di lavorare con entità di business eterogenee da applicazioni Office – Word 2003 – Excel 2003 – Outlook 2003 (se Word è e-mail editor) – InfoPath 2003 (da v.1.5) – Internet Explorer 6.0 (da v.1.5)
10
10 Audience IBF è per – Utenti che utilizzano e-mail e documenti allinterno di processi aziendali – Utenti che necessitano di dati forniti da fonti diverse – Utenti che possono/devono utilizzare diverse applicazioni aziendali – Sviluppatori professionisti IBF NON è per – Utenti che eseguono processi aziendali strutturati allinterno di singole applicazioni Utenti SAP che inseriscono ordini quotidianamente – Sviluppatori per hobby o advanced-user
11
11 I Pilastri: Metadati IBF è basato su metadati – e non sul codice Utilizza metadati XML per – Esporre business object (entità) – Mettere in relazione entità attraverso sistemi diversi – Definire le azioni che un utente può eseguire su unentità – Accedere e agire in modo contestuale su entità tramite smart tag e attached schema document – Collegare proprietà o campi di BO a elementi di UI – Gestire la security e authorization Sfrutta il supporto per XML di Office 2003
12
12 Architettura
13
13 Punti chiave dellarchitettura Separare i developer della soluzione Office dai developer di Web Services Ridurre il codice tramite definizioni dichiarative – Azioni, operazioni e trasformazioni Fornire un modo per gestire modifiche e levoluzione della soluzione Riutilizzare lo stesso codice su diverse applicazioni Office
14
14 Demo
15
15 Architettura
16
16 Con Information Bridge InfoPath Attached Schema Documents Smart Tags Visual Studio.NET / VSTO / SmartTag Information Bridge Declarative Solution Tools Codice per UI complesse Data Sources, Apps Web services sviluppati seguendo le Guidelines di IBF Managed, Connected Solution Schema UI dichiarativa del task pane Connessioni dichiarative verso i servizi Information Bridge Client Run-time
17
17 Princìpi Web service sviluppati seguendo le linee guida di IBF – Espongono specifici metadati necessari al runtime di IBF Declarative solution schema – Il CAS (Context and Action Service) Metadata service consente allamministratore di unire vari metadati provenienti da diversi servizi e aggiungere altri informazioni quali Relazioni fra Web Service Collegamenti a elementi di UI (menu, controlli di Windows Forms, XSL) Azioni che coinvolgono operazioni su vari Web Service Autorizzazioni Client-side add-in per Office – Lengine CAS intercetta i metadati della soluzione – Interpreta il contesto Office e presenta Azioni disponibili Risultato di azioni
18
18 Architettura
19
19 Office Application Context & Action Service Task Pane Flusso Data Feed Utente seleziona Show Details 1 Naviga attraverso i servizi 8 10 Chiama il servizio da eseguire documento con markup Utente naviga (nel Task Pane) 6 6 Utente seleziona unazione 9 9 Presenta i dati nel Task Pane 5 5 Interpreta e Visualizza Interpreta i dati di instanza 4 4 Information Bridge Framework Line of Business Service Recupera linstanza di info Recupera le informazioni dal servizio addetto 3 3 Naviga allinterno del servizio 7 Naviga 7 8 Esegue azioni 10 Metadata Interpreta il context utilizzando i metadati 2 Interpreta Markup Applicazione Office Task Pane Interpreta il context utilizzando i metadati 2
20
20 Metadati Reference Entity View Action Operation Web Service Operation Namespace Act (Reference, Act Schema) Put (Reference, Update Schema) Get (Reference)
21
21 Metadati Entity – Business object astratti Cliente, Ordine, Prodotto Views – Modi diversi di guardare unentità – Ognuna ha uno schema fisso Actions – Cose che un utente può fare Visualizzare un ordine, Cancellare una richiesta Operations – Chiamata a Web Service o assembly
22
22 Metadati View 2Relationship Service Op 1 UI Op 1 Service Op 1 UI Op 1 Service Op 1 UI Op 1 Web Services.net Assembly HTML Windows form Actions Ref 3 Ref 1 Ref 2 Action 1Action 3Action 2 View 1 Entity Namespace Ref 4 View 3 Entity Namespace
23
23 UI - Smart Tag Smart tags vengono creati: Recognizer di smart tag Inserendo i tag manualmente dal task pane Documenti auto-generati Copia & incolla Information Bridge registra un action handler per smart tag standard e generico
24
24 UI – Attached Schema Document Dati possono essere collegati a UI in diversi modi: Office task pane Floating task pane Dialog box / menù Windows Forms In-line allinterno del documento Gli eventi sono scatenati da Information Bridge Information Bridge cattura gli eventi mentre lutente si muove attraverso i nodi XML Information Bridge riconosce il contenuto XML corrispondente al contenuto dei metadati
25
25 End to End Model Esporre applicazioni enterprise come Web services IBF- compliant 1 Data Source Custom Application SAP Creare Solution Schema Relazioni cross-services Collegamenti a elementi UI Autorizzazioni Azioni 2 Deploy Office Professional 2003 con Information Bridge Client 3 Inserire smart tags in documenti 4 Click su smart tags 5 Metadata Web Service
26
26 DevTools: Overview UI Design Metadata Designer Web Services Development MS WordTask Pane Option1 Child Label.NET Developer XSL or Windows Forms Authentication Manager Context & Action Service Metadata Developer/ Business Analyst Metadata Designer SAP Custom MSCRM.NET Web Services Developer Web Service
27
27 Crea progetti e scope Crea action = SUM (operation, transforms) Associa operation a group Crea relationships tra views Metadata Service Sviluppatore Metadata MD importa file xml provenienti da web services IBF-compliant 1 2 Pubblicazione verso Metadata Service 3 Operation custom verso controlli Windows Forms DevTools: Metadata Designer Add-in per Visual Studio.NET Importa metadati da Web services sviluppati secondo le linee guida di IBF Progettare e creare tutti i metadati necessari per una soluzione Pubblica i metadati verso un Metadata Service Wizards per creare nuovi elementi
28
28 Deployment MetaData Service Authorization Manager SQL 2000 ServerWeb Server Client framework può essere distribuito tramite SMS, Group policy di AD o setup eseguito dall utente Requisiti del client :.NET Framework 1.1 SP1 Office System 2003 Professional Windows 2000 o XP Professional Client Requisiti del server: Microsoft Windows Server 2003 IIS 6.0 Authorization Manager SQL Server 2000 SP3a.NET Framework 1.1 + SP1 Distribution Server
29
29 Information Bridge: In sintesi Integrazione fra il mondo Office e sistemi eterogenei di back-end Definizione dichiarativa dei componenti di una soluzione – Le relazioni fra oggetti sono definite nei metadati di una soluzione e non nel codice – Lo sviluppatore non è sempre necessario (solo UI e WS) Performance – I metadati possono essere cachati sul client Semplicità di deployment – I client installano automaticamente le soluzioni nuove o quelle modificate Scambio asincrono (5 thread di default) di metadati fra client e MDS
30
30 Information Bridge: In sintesi Riutilizzo di componenti UI o Web Services – Riciclabili in diverse applicazioni Office – Sopravvivono al cambio di stagione Es: nuova tecnologia di accesso ai dati Scambio di dati xml e non di classi binarie fra i layer Connessione diretta fra Office e Web Service – Nessuna perdita di prestazioni causata da hop extra Invocazione dinamica di Web Service – Installazione senza codice o proxy client-side Dati aggiornati – I dati sono sempre attuali – Action operano direttamente sui Web Services
31
31 Caffè!!!
32
32 Web Services
33
33 Progettare i Web Services IBF digerisce qualsiasi Web Service WS-I Compliant Ma se seguiamo le linee guide ci semplifichiamo la vita Progettare i WS pensando ai metadati di IBF – Entity – View – Operation – Reference
34
34 Entity La cosa a cui vogliamo accedere – Business object astratti Cliente, Ordine, Fattura Punti di partenza Forniscono un contesto – Lutente dovrà fare qualcosa con unentità Può non avere nessuna rappresentazione a livello database
35
35 View Rappresentazione fisica di unentità – Un modo di guardare unentità ClienteDettaglio Clienti Ogni entità – Avrà una default View – può avere N Views Una View può essere una singola instanza o una lista Una View ha un singolo schema associato
36
36 Operation Operation == Funzione in un linguaggio object-oriented 10 tipi diversi di operation – Trasformazione di contenuti da uno schema allaltro – Visualizzazione di elementi di UI – Costruzione di menù – Chiamate a assembly.NET custom – Chiamate a metodo esposto da un Web Service
37
37 Schema Uno schema XSD definisce una struttura dati Metadati di IBF utilizzano schema come dati di input o output
38
38 Reference Una reference è un identificatore univoco per recuperare il contenuto di una view Definito con uno schema WS utilizzano reference come identificatore per operazioni di Get o Update Item References – Identificano una singola instanza List Refences – Identificano una lista di istanze
39
39 Stop! Aiuto non mi ricordo niente!! Entity – Cliente View – ClienteDettaglio Luca Regnicoli luka@devleap.it
40
40 Stop! Aiuto non mi ricordo niente!! Reference – Operation – GetClienteDettaglio(ClientId) As Cliente – Nota importantisssssima: Le reference sono classi complesse A IBF piacciono molto Possiamo utilizzare string, Int32 ma ci complichiamo la vita con IBF
41
41 Linee guida Esporre metadati aggiungendo attributi.NET a classi e proprietà – Serializzazione XML Strutturare i metodi coinvolgendo reference – GetClienteDettaglio(ClienteId) Progettare i metodi pensando ai metadati di IBF e in particolare alle View
42
42 Demo
43
43 Solution Metadata… dai che sono quasi finiti
44
44 Schema completo dei metadati Metadata Scope Metadata Scope Entity View Reference Operation Schema Relationship Web Service Operation Web Service Operation Action Get() Operation Get() Operation Put() Operation Put() Operation Act() Operation Act() Operation ViewLocator Ports Transformations Groups
45
45 Metadata scope Categoria top-level – Contiene gli altri metadati (Entity, View, Schema) Partizionare metadati in raggruppamenti logici I progetti possono essere organizzati in sezioni corrispondenti a specifiche applicazioni line-of- business – CRM (Clienti) – HR (Dipendenti) – ERP(Ordini) – SR (Service Request)
46
46 View Locator Ogni View specifica uno schema – View data schema Una soluzione IBF può includere diversi modi per ottenere lo stesso View schema – ClienteDettaglio -> GetClienteById(R1) – ClienteDettaglio -> GetClienteByEmail(R2) View locator permettono di trasformare uno reference schema in input nel View schema – Trasformazioni XSL – Operation (Chiamata a Web Service)
47
47 Relationship Descrivono la relazione fra due View – Clienti e Ordini Forniscono funzionalità di navigazione fra due View Una relazione è una trasformazione che accetta il contenuto di una View e la converte in una reference verso unaltra View
48
48 Port Descrivono la location e i dettagli di accesso di una fonte dati – URL verso un Web Services (file.asmx) – Modello di autenticazione del servizio – Path o strong-name di un assembly.NET Divise in tre categorie – SOAP – Assembly.NET – File Trasformazioni XSL
49
49 Transformation Oggetti utilizzati da IBF per convertire uno schema in unaltro Divise in tre categorie – XSLT – XPath – Regular Expression
50
50 Group Meccanismo di classificazione per applicare permission a operazioni sui metadati Utilizzati da Authorization Manager – Role-based security
51
51 Demo
52
52 User Interface Region
53
53 Region - Il building blocks fondamentale del task pane Una regione ospita solitamente un controllo Windows Forms Regions
54
54 Per visualizzare una Region occorre definire una Action Coppia/e di Transformation e Operation Action!
55
55 Action Pipeline
56
56 Utente fornisce un contesto di reference come input Esempio: un cliente con clienteNome=Contoso Recupero dei dati tramite una chiamata SOAP Utilizzo del View Locator per chiamata SOAP GetCliente Input ClienteNome, restituisce un oggetto Cliente con,, ecc. Trasforma i dati restituiti nello schema di input necessario allOperation ShowRegion Visualizza i dati risultanti in una regione Accetta input per loperazione Imposta le informazioni in proprietà degli user user control (txtNome.Text, ecc.) Unazione classica: visualizzare una Region Action 1 SOAP Operation 2 Operation: ShowRegion 3 2 1 3
57
57 Operations Operation di tipo SOAP – Già visti nella demo sui WS Custom Operations – Agire sul documento o – Visualizzare elementi UI Esempi di Custom Operations ShowRegion (custom Windows Forms control) ShowHTML (XHTML statico) ShowDialog (WinForms control in una dialog)
58
58 UI Operations - ShowRegion ShowRegion visualizza un controllo di WinForm Classico controllo + implementazione IRegion Lassembly deve avere i diritti.NET di Full Trust
59
59 IRegion – Contiene una proprietà che viene impostata al cambiamento dei dati IMediator – Broker tra la regione e il framework IVisualStyles – Fornisce accesso ai temi di Office IApplicationService – Fornisce accesso alloggetto application IDocumentService – Fornisce accesso alloggetto document Altre interface utili
60
60 Titolo con menù Controllo Reference List Reference Descrizione espansa Menù Paginazione
61
61 Demo
62
62 Search
63
63 Search Entry Point Main Menu Tool Bar (optional) Right Click Search Tab
64
64 Information Bridge fornisce 3 controlli Controllo Pick a Search – Elenco di ricerche disponibili – Sensibile al contesto attuale Search Criteria – Ognuna è una Search Action – Search criteria mappato a View Locator – UI personalizzabile Result List Region – Region Reference List Search UI
65
65 Demo
66
66 Smart Tag e Attached schema documents
67
67 Smart Tags
68
68 Recognizer e Action Handler Smart Tag – Un frammento di XML incorporato allinterno di un documento Excel, Word o email di Outlook Classe Recognizer (ISmartTagRecognizer2) – Identifica le keyword o regular expression – Inserisce gli smart tag nel documento Sottolinea il termine con una linea tratteggiata Classe Action Handler (ISmartTagAction2) – Gestisce i menù di smart tag e i suoi comandi
69
69 Smart Tag e Information Bridge Normalmente dovremmo creare una serie di assembly e registrarli sul client – Non è un semplice copia/incolla IBF installa un generico recognizer e un generico action handler Possiamo specificare quanti recognizer/action handler vogliamo allinterno dei metadati Lassembly dello smart tag viene chiamato da IBF al posto di Office IBF trasferisce tutte le chiamate Office dirette al generico recognizer/handler verso il recognizer/handler configurato nei metadati
70
70 Attached Schema Document
71
71 Come funziona? Utente entra nel nodo XML Information Bridge gestisce levento XML Il nodo viene impacchettato e spedito al Information Bridge Engine come reference Normale elaborazione di IBF – ViewLocator / Views – Esecuzione delle operation sulla default action – Presentazione della UI (se definita) ShowRegion / ShowHTML / ShowDialog
72
72 Demo
73
73 Hyperlinks
74
74 Hyperlinks
75
75 Hyperlinks in Information Bridge URL Moniker con una specifica sintassi che puntano a una reference di metadati ibf:v1/Microsoft.Solutions.SampleSolution.SR/ServiceRequest/ServiceRequestDetails/ Xsd.TicketNumber%20(urn-SampleSolution- Data)/ref?root=TicketNumber&xmlns=urn- SampleSolution-Data&Id=SR178787 Clicca qui
76
76 Hyperlinks Supporto ai link disabilitato di default – Abilitare EnableProtocolHandler nel Information Bridge Settings Manager (Adm Tools) Funzionalità di insert/copy link disabilitata di default – Abilitare Enable Insert and Copy for Hyperlinks o Hyperlinks and Smart Tags
77
77 Se hyperlinks sono abilitati...
78
78 Demo
79
79 Deployment
80
80 Tutti i servizi risiedono su ununica macchina I servizi sono ospitati su uno o più server separati SQL Server 2000 MDS Read / Write Web Service Authorization Manager Configurazione del server MDS MDS Read / Write Web Service Authorization Manager SQL 2000 ServerWeb Server
81
81 Configurazione del server MDS – Non supportata Web services e database sono ospitati su macchine diverse Tutti i servizi sono su server separati
82
82 Deploy del server Eseguire Microsoft.InformationBridge.Service.MSI Impostare le porte per i servizi di read e write – default 8081 per Read e 8082 per Write La path del file roles.xml è memorizzata nel database – Se aggiungiamo altri server, linstallazione determinerà e userà automaticamente tale location
83
83 Configurare il server IIS Settings – Servizio di Read default sulla 8081 – Servizio di Write default sulla 8082 – Application pool creato durante linstallazione Consiglio di security – Non configurare la porta di Write su un server di produzione – Migrazione del database tramite SQL Server (backup/restore, detach/attach, dts…) Ambiente multi-server – Creare una share per roles.xml – Aggiungere le permission alla share per ogni server di front-end
84
84 Deploy del client Eseguire Microsoft InformationBridge.Client.MSI – UI mode – Silent mode (package SMS) Abilitare gli smart tag Abilitare Word come e-mail editor di Outlook – HTML come default e-mail format Configurare adeguatamente il tempo di aggiornamento della cache dei metadati Ospitare gli assembly degli user control (Region) in una location centralizzata
85
85 Configurare il client Group Policy Override del file di configurazione locale
86
86 Security HTTPS consigliato per la comunicazione fra MDS e i client HTTPS consigliato per la comunicazione SOAP – WSE 2.0 Adapter nel Resource Kit di IBF 1.5 Encryption della cache locale per utente Utilizzare Auth Manager e Groups/Roles in Active Directory per dare accesso ai metadati Non utilizzare dati sensibili allinterno di smart tag – Disabilitare Tools/Options/Save/Embed Smart Tags Firmare gli assembly con strong-name – Policy centralizzata basata su strong-name (no URL!) Implementare funzionalità di single sign-on per non costringere lutente a digitare 2948 password
87
87 Scoprirete che su Office non si può solo contare ma anche sviluppare
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.