1 / 87

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

Scoprirete che su Office non si può solo contare ma anche sviluppare. Information Bridge Framework. Luca Regnicoli MCSD.NET MCSE+I MCDBA MCT luka@devleap.it. Agenda. Information Bridge Overview Architettura Web services Solution Metadata User Interface Region Search

sine
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Information Bridge Framework Luca Regnicoli MCSD.NET MCSE+I MCDBA MCT luka@devleap.it

  3. Agenda • Information Bridge Overview • Architettura • Web services • Solution Metadata • User Interface Region • Search • Smart tags e attached schema documents • Hyperlinks • Deployment

  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. 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. Overview

  7. Il problema Outlook Maria, Controlla il codice di assistenza SR27090 della Contoso. Gran capo • 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 Copia & Incolla Trova il cliente

  8. Information Bridge Framework: Mission Enable information workers to discover, engage, and act on enterprise business objects from within Office CRM ERP

  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. Audience • IBF è per • Utenti che utilizzano e-mail e documenti all’interno 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 all’interno di singole applicazioni • Utenti SAP che inseriscono ordini quotidianamente • Sviluppatori per hobby o advanced-user

  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 un’entità • 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. Architettura

  13. Punti chiave dell’architettura • 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 l’evoluzione della soluzione • Riutilizzare lo stesso codice su diverse applicazioni Office

  14. Demo

  15. Architettura

  16. Con Information Bridge InfoPath Attached SchemaDocuments Smart Tags Information Bridge Client Run-time Codice per UI complesse Connessioni dichiarativeverso i servizi UI dichiarativa del task pane Managed, Connected Solution Schema Visual Studio .NET / VSTO / SmartTag Information Bridge Declarative Solution Tools Web services sviluppati seguendo le Guidelines di IBF Data Sources, Apps

  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 all’amministratore 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 • L’engine CAS intercetta i metadati della soluzione • Interpreta il contesto Office e presenta • Azioni disponibili • Risultato di azioni

  18. Architettura

  19. Flusso 3 Recupera le informazioni dal servizio addetto Context&Action Service 4 Interpreta i dati di instanza 1 Utente seleziona“Show Details” 7 Naviga all’interno del servizio Interpreta Markup documento con markup<ERP:OrderID=4711> </ERP:Order> Task Pane Task Pane Recupera l’instanza di info Line of BusinessService 8 Naviga attraverso i servizi Interpretae Visualizza 10 Chiama il servizio da eseguire Naviga Esegue azioni 5 Presenta i dati nel Task Pane 6 Utente naviga(nel Task Pane) 2 Interpreta il contextutilizzando i metadati 9 Information Bridge Framework Utente seleziona un’azione 9 Metadata Office Application ApplicazioneOffice 7 10 3 4 5 6 8 2 Interpreta il contextutilizzando i metadati Data Feed

  20. Metadati Namespace Entity View Reference Action Web Service Operation Operation Get (Reference) Put (Reference, Update Schema) Act (Reference,Act Schema)

  21. Metadati • Entity • Business object astratti • Cliente, Ordine, Prodotto • Views • Modi diversi di “guardare” un’entità • 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. Metadati HTML Windows form Actions Namespace Namespace Entity Entity Entity Entity Ref 3 Ref 1 Ref 4 View 1 View 2 Relationship View 3 Ref 2 Action 1 Action 2 Action 3 ServiceOp 1 ServiceOp 1 ServiceOp 1 UI Op 1 UI Op 1 UI Op 1 Web Services .net Assembly

  23. 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 UI - Smart Tag

  24. Dati possono essere collegati a UI in diversi modi: Office task pane Floating task pane Dialog box / menù Windows Forms In-line all’interno del documento Gli eventi sono scatenati da Information Bridge Information Bridge cattura gli eventi mentre l’utente si muove attraverso i nodi XML Information Bridge riconosce il contenuto XML corrispondente al contenuto dei metadati UI – Attached Schema Document

  25. End to End Model 1 Esporre applicazioni enterprise come Web services IBF-compliant 4 Inserire smart tags in documenti Data Source CustomApplication SAP Metadata 3 Deploy Office Professional 2003 con Information Bridge Client 2 Creare Solution Schema • Relazioni cross-services • Collegamenti a elementi UI • Autorizzazioni • Azioni 5 Click su smart tags Web Service Web Service Web Service

  26. DevTools: Overview MS Word Task Pane Label Label Option1 Option1 Child Child Child Child MSCRM Custom Metadata Designer SAP Web Service Web Service Web Service Context & Action Service Metadata UI Design .NET Developer XSL or Windows Forms Metadata Designer Developer/ Business Analyst Authentication Manager Web Services Development .NET Web Services Developer

  27. DevTools: Metadata Designer 1 MD importa file xml provenienti da web services IBF-compliant Crea progetti e scope Crea action = SUM (operation, transforms) Associa operation a group Operation custom verso controlli Windows Forms 2 Sviluppatore Crea relationships tra views 3 Pubblicazione verso Metadata Service Metadata Service Metadata • 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. Deployment MetaData Service Web Server SQL 2000 Server Distribution Server AuthorizationManager Client • 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 • Requisiti del server: • Microsoft Windows Server 2003 • IIS 6.0 • Authorization Manager • SQL Server 2000 SP3a • .NET Framework 1.1 + SP1

  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. 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. Caffè!!! 

  32. Web Services

  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. Entity • La “cosa” a cui vogliamo accedere • Business object astratti • Cliente, Ordine, Fattura • Punti di partenza • Forniscono un contesto • L’utente dovrà fare “qualcosa” con un’entità • Può non avere nessuna rappresentazione a livello database

  35. View • Rappresentazione fisica di un’entità • Un modo di “guardare” un’entità • 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. Operation • Operation == Funzione in un linguaggio object-oriented • 10 tipi diversi di operation • Trasformazione di contenuti da uno schema all’altro • Visualizzazione di elementi di UI • Costruzione di menù • Chiamate a assembly .NET custom • Chiamate a metodo esposto da un Web Service

  37. Schema • Uno schema XSD definisce una struttura dati • Metadati di IBF utilizzano schema come dati di input o output

  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. Stop! Aiuto non mi ricordo niente!! • Entity • Cliente • View • ClienteDettaglio <ClienteDettaglio xmlns=“urn-SampleSolution-Data”> <Nome>Luca</Nome> <Cognome>Regnicoli</Cognome> <Email>luka@devleap.it</Email> </ClienteDettaglio>

  40. Stop! Aiuto non mi ricordo niente!! • Reference • <ClienteId Nome=“Luca” xmlns=“..” /> • 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. 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. Demo

  43. Solution Metadata… dai che sono quasi finiti 

  44. Schema completo dei metadati Metadata Scope Groups Relationship Entity ViewLocator View Reference Schema Action Get() Operation Operation Web Service Operation Put() Operation Act() Operation Ports Transformations

  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. 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. 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 un’altra View

  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. Transformation • Oggetti utilizzati da IBF per convertire uno schema in un’altro • Divise in tre categorie • XSLT • XPath • Regular Expression

  50. Group • Meccanismo di classificazione per applicare permission a operazioni sui metadati • Utilizzati da Authorization Manager • Role-based security

More Related