La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Scoprirete che su Office non si può solo contare ma anche sviluppare.

Presentazioni simili


Presentazione sul tema: "1 Scoprirete che su Office non si può solo contare ma anche sviluppare."— Transcript della presentazione:

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


Scaricare ppt "1 Scoprirete che su Office non si può solo contare ma anche sviluppare."

Presentazioni simili


Annunci Google