Welcome to MSDN Blogs Sign in | Join | Help

Syndication

1. I miei riferimenti

2. Blog References - Italy Dev

3. Blog References - Italy Infra

4. Blog References - Friends

9. Aggiungi il blog a:

Introduzione alle novità di SQL Server 2008

La quantità di informazioni digitali gestita dalle aziende cresce con velocità impressionante ormai da molti anni e diventa sempre più determinante per il loro business.

In uno scenario di trasformazione così forte, oltre a performance, e scalabilità della piattaforma, diventano sempre più importanti requisiti come sicurezza e alta disponibilità, supporto alla archiviazione di dati eterogenei e facilità di accesso ai dati da dispositivi ed applicazioni diverse, per tutti gli utenti.

SQL Server™ 2008 indirizza questi requisiti sviluppando la infrastruttura introdotta con SQL Server 2005 ed integrandola con nuove funzionalità in tutti questi ambiti.

Il Progetto Katmai (il nome in codice di SQL Server 2008) sta portando alla luce svariati anni di investimento in ricerca e sviluppo mirati a sviluppare la piattaforma dati in 3 grandi aree:

  • Supporto per applicazioni mission-critical.
  • Il contenimento dei costi di gestione e sviluppo delle infrastrutture dati.
  • Supporto all’accesso immediato alle informazioni per tutti i possibili utenti.

In questo post analizzeremo brevemente le principali innovazioni nelle 3 aree.

Supporto per applicazioni Mission-critical

Consideriamo, in quest’area tutte le funzioni a supporto di caratteristiche di sicurezza, affidabilità e scalabilità delle applicazioni.

SQL Server 2008 estende le provate caratteristiche di sicurezza di SQL Server 2005 con alcune novità importanti:

  • Transparent Data Encryption: SQL Server 2008 permette di abilitare la cifratura dei dati a livello di file dati, transaction log e back up.
    Applicando l’encryption vengono cifrati anche i dati nel temp db proteggendo di fatto il sistema da problemi per furto di dati. La cifratura non altera lo schema dei dati ed avviene pertanto in modo trasparente per le applicazioni.
    Transparent Data Encryption può essere attivata come illustrato in figura, con SQL Management Studio, o mediante gli statement CREATE DATABASE ENCRYPTION KEY e ALTER DATABASE databasename SET ENCRYPTION ON.

    1. Trasparent Data Encryption
  • External Key Management: Le chiavi di cifratura possono ora essere gestite da SQL Server o da sistemi software o hardware esterni. Questo permette di indirizzare requisiti di aziende che hanno investito in sistemi avanzati per la gestione di chiavi di sicurezza.
  • Enhanced Auditing: SQL Server 2008 introduce un sistema per l’auditing dei dati, basato sul Transaction Log, che permette di monitorare qualunque accesso e modifica ai dati o lo schema del database.
    L’Audit può essere specificato in modo granulare e filtrato, per uno o più databases. Questo permette di ridurre l’impatto e la dimensione delle informazioni di audit generate e semplifica la amministrazione della configurazione. 

Anche sul fronte dell’affidabilità SQL Server 2008 migliora le caratteristiche di SQL Server 2005 su alcuni aspetti chiave:

  • Enhanced Database Mirroring: SQL Server 2008 introduce le seguenti funzioni sul mirroring:
    1. Outgoing log stream compression. È ora possibile abilitare la compressione dei dati scambiati per il mirroring dei 2 nodi.
    2. Automatic page repair. SQL Server 2008 supporta la correzione automatica dei dati di pagina in caso di corruzione (segnalata da errori 823 e 824), mediante uno speciale protocollo di conversazione tra i server in mirror.
    3. Nuovi performance counters e managed views. SQL Server 2008 introduce performance counter specifici per permettere un controllo del tempo speso nelle varie parti del database.
      SQL Server 2008 include inoltre nuove Management Views Dinamiche ed estensioni a quelle esistenti per esporre informazioni sul mirroring delle sessioni.
  • Hot Add CPU SQL Server permette l’aggiunta di CPU a caldo (oltre che di memoria), senza richiedere fermo della applicazione.

SQL Server 2008 introduce inoltre un insieme di caratteristiche per migliorare scalabilità e predicibilità di performance per ogni profilo di carico:

  • Performance data collection: un nuovo componente, il “data collector”, permette di raccogliere informazioni sul funzionamento del sistema in un repository centralizzato, il “management data warehouse”.
    Il data collector supporta tuning dinamico, è estensibile ed è uno strumento importante, a disposizione dell’amministratore, per troubleshooting e performance tuning.
    La figura di seguito mostra il Data Collector nella sua configurazione di default ed il report predefinito con i dati di disk usage per i database del mio computer.

    3. Performance Data Collection
  • Resource Governor: SQL Server 2008 introduce il Resource Governor, un nuovo sistema per controllare le risorse allocate (es CPU, memory etc) per le attività in esecuzione sul sistema. Resource Governor permette di impostare limiti e priorità per la allocazione delle risorse in condizioni critiche di utilizzo. Questo consente un comportamento del sistema predicibile, in caso di elevato carico di elaborazione o elevato livello di concorrenza.
    La figura di seguito mostra la configurazione di un resource pool di nome AdminPool con CPU limitata al 15% in condizioni critiche di utilizzo.

    4. Resource Governor

    La figura di seguito mostra la esecuzione di un task associato all’adminPool; in condizioni normali per il sistema il task può allocare valori di CPU anche più elevati rispetto alla soglia assegnata, solo in corrispondenza di un picco di CPU per la macchina, la CPU utilizzata dall’AdminPool viene limitata secondo la comfigurazione (il 15%).

    4. Resource Governor b
  • Extended Events: SQL Server Extended Events è una infrastruttura di eventi che supporta capturing, filtering, ed azioni in corrispondenza di eventi generati nel processo server. Questo permette la analisi di problemi a runtime e di interagire con il server mediante informazioni di contesto come il TSQL call stack o Query Plan handles. Gli eventi possono essere collegati a sistemi di output differenti come Event Tracing for Windows (ETW) per stabilire una correlazione con eventi di sistema operativo.
  • Data & Backup compression: il nuovo supporto alla compressione dei dati permette maggiore efficienza in spazio e riduce i requisiti di storage per i sistemi. La compressione dei dati permette miglioramenti di performance significativi per operazioni IO-bound tipiche del data wharehousing.
    SQL Server introcuce anche un supporto nativo alla compressione per ridurre disk I/O, e storage durante i backup.

    5. Backup & data compression
  • Plan Freezing: SQL Server 2008 introduce la possibilità di bloccare query plans per permettere una maggiore predicibilità del comportamento delle queries in scenari limite dove i meccanismi di inferenza automatici possono produrre inefficienze.

Contenimento costi di gestione e sviluppo

SQL Server 2008 introduce miglioramenti per ridurre tempi e costi di gestione del sistema e migliorare il supporto allo sviluppo di applicazioni, per mezzo di .NET Framework e Visual Studio® Team System.

  • Amministrazione basata su Policy: SQL Server 2008 introduce il Declarative Management Framework (DMF), un nuova infrastruttura di gestione del motore di Database tramite policy dichiarative.
    Questo permette di controllare o prevenire modifiche al sistema definendo delle semplici regole sulla sua configurazione o dei suoi componenti.
    La gestione tramite policies semplifica i task di amministrazione e lo sviluppo stesso del database, grazie alla integrazione con SQL Server Management Studio, che è in grado di verificare e segnalare problemi di compliance con le policies impostate.
    Ogni policy può supportare uno o più modelli di attivazione tra:
    1. enforce” la policy è verificata in modo sincrono, al momento del cambiamento. Se la policy non è verificata, la transazione fallisce.
    2. Check on Changes” al momento del cambiamento. Se la policy non è verificata, la transazione termina correttamente, la mancanza di compliance viene segnalata.
    3. Check on Schedule” la policy è verificata all’occorrenza di controllo periodico configurabile.

La figura illustrata di seguito mostra il risultato della esecuzione delle policies associate al DB.

6. Policy Validation 

  • Deployment e configurazione semplificati: SQL Server 2008 ridefinisce la architettura per il setup e la configurazione del sistema.
    I bit installati sul computer possono ora essere separati dalla loro configuratione, che può essere gestita in modo centralizzato o parzialmente centralizzato.

Visual Studio 2008 e SQL server 2008 segneranno una svolta per lo sviluppo in ambiente .Net in quanto introducono una serie di tecnologie specificatamente rivolte ad offrire una maggiore semplicità e flessibilità nell’accesso ai dati.

  • ADO.NET Entity Framework: I modelli di sviluppo emergenti tendono a separare il modello a oggetti utilizzato dalla applicazione (definito in gerarchie di object entities) dal modello relazionale del database (definito in termini di entità e relazioni). Questa separazione porta una maggiore flessibilità della applicazione ed indipendenza dalla base dati.
    ADO.NET Entity Framework introduce una infrastruttura a supporto di questo modello che permette agli sviluppatori di programmare su dati relazionali in termini di object entities.
    Programmare a questo livello di astrazione migliora radicalmente la produttività e permette agli sviluppatori di trarre il massimo beneficio dal modello Entità relazioni della base dati.
  • Language Integrated Query (LINQ): LINQ è uno strumento di interrogazione dei dati estremamente flessibile, integrato nei linguaggi .Net come C# or Visual Basic.NET.
    Le queries LINQ si applicano a dataset (LINQ to DataSets), oggetti di ADO.NET Entity Framework (LINQ to Entities), ADO.NET (LINQ to SQL) e custom LINQ providers. SQL Server 2008 include un provider LINQ to SQL che permette di usare LINQ direttamente su tabelle e colonne SQL Server 2008.

    7. Linq
  • CLR integration and ADO.NET object services: Lo strato ADO.NET object services fornisce servizi di gestione dello stato, change tracking, identity resolution, caricamento e navigazione di relazioni, propagazione di modifiche a oggetti verso il database, e creazione di queries per Entity SQL che sono alla base dello stesso ADO.Net Entity Framework.
    SQL Server 2008 offre un supporto ottimizzato a questo tipo di funzionalità.

  • Service Broker Scalability: SQL Server 2008 introduce il concetto di conversation priority sulle comunicazioni asincrone del service broker.
    Il nuovo Diagnostic tool permette di analizzare la configurazione del broker per individuare inconsistenze nella configurazione della topologia (es. missing routes) o la sicurezza.

  • Transact-SQL Improvements: SQL Server 2008 Transact-SQL beneficia di vari miglioramenti significativi:
    1. Table Value Parameters (TVP): TVP forniscono un modo semplice ed efficiente per defimire un table types e permettono alle applicazioni di passare parametri a tabella alle stored procedures.
    2. Object Dependencies: SQL Server 2008 permette la interrogazione di Object Dependencies in modo completo ed affidabile tramite le nuove catalog views e le dynamic management functions. Le dipendenze sono sempre aggiornate sia per oggetti inclusi nello schema corrente o per oggetti esterni.
    3. DATE/TIME Data Types: SQL Server 2008 introduce nuovi tipi di dati per la gestione di date e ore:
      • DATE – realizza un tipo data (senza ora)
      • TIME – realizza un tipo ora (senza data)
      • DATETIME2 - realizza un un tipo date/time maggiore range e precisione del vecchio tipo DATETIME type (eq. SQL Standard TIMESTAMP)
      • DATETIMEOFFSET – come DATETIME2, con timezone (eq. SQL Standard TIMESTAMP WITH TIMEZONE)

Esistono tipologie di dati ‘tradizionalmente’ difficili da gestire con database systems di tipo relazionale. Alcuni esempi includono documenti ed immagini, dati di tipo ‘sparso’, dati gerarchici, o altri tipi di dati, con particolari algoritmi di gestione, come i dati di posizionamento geografico.

SQL Server 2008 introduce novità particolarmente rilevanti per il supporto a questo tipo di scenari, in cui vedremo alcuni esempi di utilizzo della architettura di integrazione con il CLR, introdotta con la versione 2005.

Lo stesso modello di estensibilità può essere utilizzato per supportare altri tipi di dati, in modo perfettamente analogo.

  • HIERARCHY ID: SQL Server 2008 introduce il tipo di dato HierarchyId per memorizzare I nodi di un albero gerarchico. HierarchyId è implementato come un CLR user-defined type (UDT) che espone alcuni metodi built-in particolarmente efficienti per creare e gestire gerarchie di nodi.
  • FILESTREAM Data: SQL Server 2008 introduce il tipo FILESTREAM per gestire large binary data come documenti ed immagini.
    Il tipo filestream, permette lo storage di dati binari, tradizionalmente gestiti dal database, utilizzando NTFS streaming API.
    NTFS streaming API permettono di gestire operazioni sui files in modo efficiente e performante senza perdere i servizi del database come la sicurezza ed il backup. Il tipo filestream supera i limiti di storage dei campi blob (8GB per SQLServer 2008).
  • Sparse columns: Il supporto alle sparse columns permette di gestire in modo trasparente ed efficiente colonne di tipo sparso.
    Applicando l’attributo SPARSE ad una colonna il database gestirà la colonna come campo “calcolato” a partire da un campo XML, lo Sparse Columns Set. Tale colonna può comunque essere gestita in modo tradizionale per lettura e scrittura.
    La colonna può essere resa persistente, applicando un indice su di essa. Pertanto, il database designer non è più costretto vincolare lo schema del database per gestire dati di tipo sparso, fin dalle fasi iniziali del progetto.
    Le sparse columns permettono di superare il limite di 1024 colonne per tabella.
  • Integrated Full-Text Search: il Full-Text Search rende trasparente la transizione tra Search e dati relazionali; abilitando l’utilizzo di indici full-text è possible realizzare ricerche efficientissime su colonne testuali con grandi volumi di dati.
  • Large user-defined types: SQL Server 2008 elimina il limite di 8kbyte per I tipi di dati user defined (UDT).
  • Geographical Information: SQL Server 2008 introduce un support complete a dati di tipo spaziale, per gestire informazioni di location tramite i tipi di dati GEOGRAPHY e GEOMETRY. I dati di tipo GEOGRAPHY rappresentano informazioni di tipo “planare” conformi allo standard come Open Geospatial Consortium (OGC). I dati di tipo GEOMETRY permettono di gestire coordinate geodetiche (latitudine e longitudine) secondo standard come il WGS84 diffuso in soluzioni GPS.
    I tipi di dati includono una serie di funzioni interessanti applicabili al calcolo di coordinate e supportano una speciale indicizzazione per ottimizzame il calcolo.
  • Supporto a sistemi disconnessi: SQL Server 2008 realizza un supporto alla sincronizzazione consistente tra applicazioni, data stores e data types, alla base dello sviluppo di applicazioni per dispositivi mobili, connessi solo occasionalmente.
    In particolare, Visual Studio 2008 e SQL server 2008 permettono di realizzare applicazioni disconnesse con i nuovi sincronization services di ADO.NET e l’offline designer di Visual Studio.

SQL Server include un supporto avanzato per il change-tracking che permette agli sviluppatori di realizzare applicazioni basate su cache, notifiche o sincronizzazione con una infrastruttura robusta e di minimo impatto.

Accesso immediato alle informazioni

SQL Server si è sempre distinto come una piattaforma di riferimento per la Business Intelligence (BI).
Questo scenario continua ad essere una area chiave di investimento per il mercato e anche per SQL Server.
SQL Server introduce alcune migliorie significative nel motore di integrazione dei dati per il data warehousing:

  • Change data capture: SQL 2008 introduce varie tecnologie per intercettazione delle operazioni sul database. Change data capture permette di catturare I cambiamenti ai dati di una o più tabelle all’interno di change tables.
    Change data capture è asincrono e basato sul transaction log ed ha pertanto una efficienza elevata e basso impatto sul funzionamento OLTP.
  • Resource Governor: Tramite il resource governor a cui abbiamo già accennato è possibile impostare limiti e priorità di allocazione per le varie attività sul database.
    In questo modo è possibile contenere l’impatto di un picco di carico o concorrenza su una parte della applicazione e le performance del sistema sono globalmente più consistenti e predicibili.
  • Data & Backup compression:La data compression di SQL Server 2008 permette una maggiore efficienza in spazio e performance riducendo il volume di operazioni di I/O.
    Benefici analoghi sono ottenibili per mantenere backups online mediante la nuova funzione di backup compression nativa.
  • Partitioned table parallelism: SQL Server 2008 migliora la gestione del partitioning introdotto in SQL Server 2005 migliorando le performance su grosse tabelle partizionate.
  • Star join query optimizations:SQL Server 2008 introduce nuove ottimizzazioni su Star join queries utilizzate nei data warehouse.
  • MERGE SQL statement: Il nuovo MERGE SQL statement permetterà di gestire in modo semplice ed efficient scenari di aggiornamento del data wharehouse. un singolo merge statement può ora riassumere logiche complesse di confronto tra dati, update, insert e delete.
  • GROUPING SETS: GROUPING SETS sono una estensione ISO della clausola GROUP BY che permette di definire raggruppamenti differenti in una stessa query. I GROUPING SETS producono in modo più efficiente, un result set equivalente ad una UNION ALL delle righe raggruppate secondo I diversi criteri.
  • Scalable Integration Services: SQL Server 2008 introduce un nuovo disegno della architettura di esecuzione delle pipeline SSIS che migliora radicalmente la scalabilità con processori multipli.
    Un nuovo meccanismo di Persistent lookup permette maggiore efficienza nelle estrazioni e trasformazioni di ETL operations.

SQL Server 2008 estende radicalmente le funzioni di reporting con il preciso obiettivo di permettere che ogni utente possa realizzare e/o fruire dei report più rilevanti per se in modo semplice e sicuro.

  • Enterprise reporting engine: Una infrastruttura semplificata di deployment e configurazione permette ad ogni utente di creare e condividere reports di ogni dimensione e complessità.
  • Report Designer: Il nuovo Report Designer permette di creare report dettagliati, per indirizzare tutte le necessità di reporting. Lo strumento è semplice da usare ed i reports possono avere strutture ed aspetti grafici anche complessi.
    L’ambiente è utilizzabile da business users anche per modificare report esistenti indipendentemente da dove essi siano stati creati.

    8. Reporting Services
  • Powerful visualization: SQL Server 2008 introduce nuovi componenti di visualizzazione fruibili all’interno di reports. Nuovi tools come maps, gauges, e charts rendono I reports più accessibili e comprensibili.

    9. Reporting Services b
  • Microsoft Office rendering: SQL Server 2008 introduce la nuova funzione di Microsoft Office rendering che permette agli utenti di accedere ai report direttamente da Word ed Excel.
    Il rendering per Excel è stato molti migliorato per supportare funzioni come nested regions, sub-regions e merged cells.
  • Microsoft SharePoint® integration: SQL Server 2008 Reporting Services è ora pienamente integrato con Microsoft Office SharePoint Server 2007 and Microsoft SharePoint Services. Gli utenti possono ora accedere facilmente ai reports direttamente dai loro business portals.

SQL Server migliora alcuni aspetti importanti del motore di analisi multidimensionale, uno dei suoi, tradizionali, maggiori punti di forza:

  • Design to scale: SQL Server 2008 supporta capacità di analisi più vaste con componenti ed aggregazioni più complesse.
    I nuovi tool di progettazione dei cubi semplificano lo sviluppo di infrastrutture di analisi ottimizzate. Per esempio, Il Dimension Designer permette di vedere ed editare attributi e relazioni. I Best Practice Design Alerts avvisano il progettista della compatiblità con best practices nella progettazione dello schema dei dati. Una maggiore flessibilità nelle strutture di datamining permette la creazione di puù modelli su dati filtrati.
  • Block computations: Block computations introduce un miglioramento sensibile per le performance del processing dei dati, permettendo agli utenti di aumentare la profondità delle gerarchie e la complessità delle computazioni.
  • Write-back to MOLAP: SQL Server 2008 fornisce un supporto MOLAP write-back avanzato che elimina, di fatto, la necessità di utilizzare ROLAP partitions. Questo permette di utilizzare write back senza sacrificare le performance di analisi.
  • Resource Monitor: Un nuovo Resource Monitor in SQL Server 2008 fornisce una visualizzazione efficace dell’utilizzo delle resource. L’amministratore del database può controllare facilmente il carico di analisi, identificare le queries attive, il tempo di esecuzione e gli utenti che le hanno lanciate. Questo permette di fatto una migliore ottimizzazione dell’utilizzo del server.
  • Predictive Analysis: Un algoritmo avanzato estende le capacità di forecast. la possibilità di interrogazione delle strutture di data mining abilita reports che possono anche includere attributi dall’esterno del mining model. Nuove funzioni di cross-validation realizzano i confronti con i dati per ottenere risultati più affidabili.

Conclusione

SQL Server 2008 introduce miglioramenti significativi in aree chiave per la gestione dei dati e si propone come una piattaforma di riferimento, per sicurezza, robustezza, scalabilità, produttività e flessibilità di analisi.

Questo articolo fornisce solo una sintesi delle caratteristiche e benefici che introduce; per maggiori informazioni fate riferimento ai riferimenti di seguito

Informazioni generali sul prodotto: http://www.microsoft.com/sql/prodinfo/futureversion/default.mspx

Informazioni per sviluppo di applicazioni: http://msdn2.microsoft.com/sqlserver

Informazioni per la amministrazione del sistema: http://technet.microsoft.com/sqlserver

Posted Sunday, January 20, 2008 5:08 PM by Dario Airoldi | 3 Comments

Vetrina dell'Innovazione per le applicazioni Certified for Vista

Certified Windows Vista

Dalla scorsa settimana, nel Developer Center di Windows Vista , è online la Vetrina dell'Innovazione per le applicazioni Certified for Vista.

La iniziativa evidenzia alcune soluzioni che hanno ottenuto il logo "Certified for Vista" in italia, lo scorso anno.

La vetrina dell'innovazione vuole essere un ringraziamento per le società che si sono impegnate (con grande entusiasmo!) per ottenere il logo ed... un motivo in più, per farlo, per chi non ci ha ancora pensato!:)

Chi ottenesse il logo e può richiedere via mail la pubblicazione della propria soluzione, come indicato nella vetrina stessa.

Informazioni su come ottenere il logo "Certified for Vista" si possono trovare in:

Di particolare interesse, segnalo:

I requisiti esatti richiesti per ottenere il logo sono descritti:

Gli articoli del mio blog inglese:

Raccolgono alcune note, tratte dalle esperienze di certificazione delle applicazioni nella vetrina.

Posted Monday, October 15, 2007 10:51 AM by Dario Airoldi | 0 Comments

Office Platform: tutte le versioni di Office sono uguali? - Part 3

Le Innovazioni di MOSS 2007

Abstract

Questo è il terzo post di una serie che si propone di analizzare le caratteristiche innovative di Office Sytem 2007.

Abbiamo visto, nella parti 1 e 2, che Office System si propone come uno strumento integrato di collaborazione collettiva ed una piattaforma distribuita su cui sviluppare applicazioni di business.

A questo scopo, la evoluzione della tradizionale suite di produttività individuale, è stata integrata con Microsoft Office System Server 2007 (MOSS 2007), una piattaforma applicativa con funzioni di collaboration, content e document management, basata su Windows Sharepoint Services di Windows Server 2003.

 

Nella parte 1 abbiamo analizzato le innovazioni della parte client della nuova piattaforma.

Nella parte 2 abbiamo accennato agli aspetti innovativi della parte server, legati alla evoluzione di Windows Sharepoint Services v3.

Ora capiremo insieme come, dalla parte server, MOSS 2007 contribuise a rendere office una piattaforma integrata per sviluppare applicazioni di business.

Office Server come piattaforma per applicazioni di business

Possiamo immaginare che, sopra WSSv3, MOSS 2007 realizzi funzioni in 6 grandi categorie, secondo lo schema in figura.

 

MOSS realizza le sue funzioni mediante alcuni servizi di base detti Shared Services che possono essere configurati a livello della farm e condivisi tra differenti MOSS portal sites e WSS sites.

Gli shared services includono User profiles, Audiences, Personal sites, Usage Reporting, Search, Excel® Services e Business Data Catalog e sono configurati ed amministrati in uno o più Shared Services Providers (SSP), come illustrato in figura.

 

All'interno di una MOSS 2007 farm, ogni Web Application è associata ad uno Shared Services Provider (SSP) che definisce la configurazione degli shared services utilizzati da tutti i portal sites e le site collections ospitati da essa.

User profiles ed Audiences

Il servizio User Profiles è la base per le funzioni di MOSS come audience targeting ed i personal sites.

All'interno del mySite gli User Profiles sono utilizzati in molti componenti come le webparts Details, collegues, membership ed Organization Hierarchy.

Alcune parti del profilo utente sono modificabili dall'itente stesso.

 

Le informazioni del profilo utente possono essere utilizzate per definire delle audiences da utilizzare per il targeting dei contenuti mediante le audiences.

La infrastruttura di Audience targeting può essere utilizzata per nascondere comandi e link agli utenti che non sono autorizzati ad utilizzarli.

MOSS mantiene I profili utente in un database Microsoft SQL Server. È possible importare e sincronizzare informazioni di profilazione da fonti dati esterne come Active Directory o alter LDAP based identity management systems.

Le API di sharepoint permettono di accedere e modificare le informazioni dei profili utente mediante l'oggetto UserProfileManager.

Servizio Search

Il servizio Search permette la ricerca integrata di contenuti WSSv3 e contenuti esterni come file shares, Microsoft Exchange Server folders, standard Web sites e dati di business, acceduti tramite il Business Data Catalog.

Per default il servizio search di uno Shared Services Provider è configurato per indicizzare user profiles, contenuti e documenti di tutti i siti WSSv3 ad esso associati.

Per ogni SSP, l'amministratore può creare e configurare additional content sources per indicizzare fonti dati esterne (es. file system shares, public web sites etc).

La figura illustrata di seguito mostra come creare una content source verso il database relazionale, collegato al sito tramite il business data catalog:

In questo modo è possibile fare si che il risultato di una ricerca sul portale includa anche link alle entità di business che risiedono nel database di una applicazione.

La figura illustrata di seguito mostra una topologia tipica per MOSS che prevede un load balanced front end e back end servers dedicati a servizi e data storage.

Per il search MOSS permette di specificare server diversi per la esecuzione di Indexing e search service.

La user interface per il servizio Search può essere creata mediante il site collection template Search center oppure con i search box e le search result pages.

 

Il search engine di MOSS 2007 può essere acceduto e personalizzato tramite una apposita API.

Inoltre, è possibile accedere al motore di search da remoto tramite i Web services built-in di MOSS.

Servizio Business Data Catalog (BDC)

Il servizio Business Data Catalog (BDC) permette di connettere al portale i dati di business nei database delle applicazioni o tramite web services.

Questo consente di integrare le informazioni di business con i contenuti e ne permette l'utilizzo nelle attività di collaboration, content management, business intelligence, search etc.

Il Business Data Catalog gestisce i metadati che descrivono le applicazioni collegate e le entità importate da esse.

Le applicazioni possono essere accedute tramite ADO.NET o Soap Web Services.

La figura di seguito mostra una la BDC application per connettere un sito al database Adventureworks.

 

 

I metadati possono descrivere anche relazioni tra le entities come spesso succede in basi di dati di tipo relazionale ed un insieme di azioni che possono essere utilizzate per visualizzare la entità.

La immagine di seguito mostra la entity reseller della BDC Application Northwind con le sue relazioni

 

 

La figura di seguito mostra il risultato di una search con vari matches sono ottenuti dalla entity reseller della BDC Application AdventureWorks.

Varie Business Web Parts possono essere utilizzate per mostrare BDC Data nelle pagine di un sito ed è anche possibile aggiungere colonne a liste e document libraries basate su entities definite in una BDC application.

Servizio Excel Services

Il servizio Excel Services include una versione server side del motore di calcolo Excel ed un motore di rendering che permette di mostrare worksheets nel browser, come HTML.

In questo modo, gli utenti possono continuare a costruire i fogli di sintesi e di analisi dei dati mediante Excel e pubblicarli nelle document libraries di MOSS perchè questi siano accessibili, in modo centralizzato, anche da utenti che non dispongono di Excel sul client.

Gli utenti che dispongono di Excel potranno accedere ai dati di analisi centralizzati sia tramite il browser che mediante la loro client application.

L'uso di Excel services non è limitato al browser, le API di Excel Services permettono di caricare un workbook sul server, inserire i dati di input, eseguire i calcoli ed accedere ai risultati.

 

Il Report Center site template di MOSS 2007 contiene una document library di nome Reports Library che permette di gestire Excel Workbooks e SQL Reporting services repots.

Il Report Center di MOSS 2007 offre anche 2 interessanti funzionalità come i key performance indicators (KPIs), ed i Filtering Criteria.

I Kpi sono una sharepoint list che definisce le colonne KPI Value, KPI Goal Threshold, KPI Warning Threshold.

KPI Value può essere legata ad una cella di un foglio Excel, un dato in una lista Sharepoint, un KPI di SQLServer analysis services.

Nella default view, queste informazioni sono visualizzate come illustrato in figura, mediante le colonne Goal, Value e Status.

Dove Status rappresenta graficamente il superamento, da parte di KPI Value, di una delle soglie.

La figura illustrata di seguito mostra una sample dashboard nel report cencer che include KPIs e fogli excel visualizzati lato server.

In questo caso, le Excel Web Access Webparts sono configurate per visualizzare degli specifici named objects all'interno del workbook ad esse associato.

 

Le Excel Web Access Webparts sono di tipo connectable e possono ricevere da altre web parts il valore di un named item da utilizzarsi come filtro.

Nell'esempio illustrato in figura è possibile vedere la webpart "Total Count by Organization" che riceve un valore di filtro dalla webpart "Account Representative".

 

Servizio Usage Reporting

Office sharepoint Usage reporting include Advanced Usage analysis e search query logging.

Quando Advanced Usage analysis è abilitato, un task schedulato processa gli usage logs del sito e fornisce ad ogni content owner dei reports sull'utilizzo del proprio sito. I reports di utilizzo sono accessibili nei site settings di ogni sito.

Abilitando Search query logging tutte le query al search engine saranno loggate nel database dello shared services provider e potranno essere accedute dal sito di amministrazione dello shared services provider.

I query reports includono, per default, parametri come le queries ed i siti più acceduti, il numero di queries su base giornaliera e mensile.

Di seguito vi mostro il query report di un sito... non molto acceduto!:)

 

Analogamente il search report mostra parametri interessanti come le Top Destination Pages, le Most Cliecked Best Bets, Queries With Zero Results, le Queries With Zero Best Bets etc.

Form Libraries ed Infopath Forms Services

Oltre agli shared services che abbiamo visto, tra le funzioni che MOSS 2007 aggiunge a WSSv3, è interessante menzionare le Form Libraries e gli Infopath Forms Services.

Già con la versione 2003 microsoft ha introdotto infopath come strumento per gestire file XML mediante appositi template che ne descrivono la rappresentazione grafica e la interazione con l'utente.

La immagine di seguito mostra una forms library con un elenco di moduli Infopath

La immagine di seguito mostra il file XML che definisce il report e la form infopath che lo gestisce:

MOSS 2007 introduce un motore di rendering i template infopath che permette di compilare le forms di una form library dall'interno del browser.

La figura illustrata di seguito mostra lo status report di Dario Airoldi, visualizzato all'interno del browser.

Oltre che Internet Explorer, il motore di rendering di Form Services supporta Firefox, Safari, e Netscape.

I Forms Services non fanno parte degli Shared Services e la loro configurazione non è associata ad uno Shared Services Provider ma è globale per tutta la farm.

Enterprise Content Management e Single Sign On

MOSS 2007 include molte funzioni di Content Management a supporto di privacy e sicurezza dei dati che sono requisiti sempre più diffusi per dei sistemi Enterprise di storage dei dati.

All'interno dello scope di una lista o una document library è possibile attivare la feature "Information Policy". MOSS 2007 fornisce alcune policy di esempio per realizzare content expiration, auditing, e generazione automatica di bar code labels per associare documenti fisici alle versioni elettroniche mantenute nella document library.

Le API di MOSS permettono di creare custom policies per applicare azioni specifiche nelle varie fasi di gestione di un documento (es. validazione di firma digitale o ).

Il site template Records Repository permette di creare site collections per archiviazione di documenti ed informazioni ufficiali sulle attività della azienda.

La immagine illustrata di seguito mostra la configurazione delle policies associate da una document library nel record repository del sito di esempio con content expiration impostata a 7 anni.

Il servizio di Single Sign On permette di mappare le credenziali degli utenti connessi al portale MOSS con credenziali per l'accesso a sistemi esterni, associate allo stesso utente.

Il servizio di Single Sign On, integrato con il Busines Data Catalog, Excel Services e Forms Services, permette che utente collegato al portale possa accedere contemporaneamente ai contenuti e ad informazioni provenienti da sistemi esterni (es. SAP, web services o altri DBs).

Conclusioni

La piattaforma Office Client, la infrastruttura di collaboration, content e document management Windows Sharepoint Services v3 ed i servizi Enterprise di MOSS 2007 offrono un insieme di funzioni integrate per costruire applicazioni di business.

La piattaforma server è fortemente integrabile con le applicazioni client e permette di gestire contenuti strutturati e documenti in modo flessibile e scalabile. Il Business Data Catalog permette di collegare i dati di business a MOSS 2007 ed integrarli così nelle sue funzioni.

MOSS 2007 realizza funzioni in sei aree principali Collaboration, Web Content management (portale), Enterprise Content management, Search, Process Management, Business Intelligence utilizzando Windows Sharepoint Services v3 come piattaforma di base ed alcuni servizi importanti detti Shared Services.

In tutti gli ambiti di competenza, MOSS 2007 offre un insieme molto interessante di funzioni predefinite nella forma di portal sites, e componenti vari (es. templates, features, webparts) che sono componibili e personalizzabili per creare anche soluzioni completamente custom.

Riferimenti

Ti interessa approfondire questi ed altri aspetti delle novità introdotte da MOSS 2007?

Ecco alcuni spunti per approfondimento:

Download

Articoli

Web Sites:

Virtual Labs

Blogs:

Posted Tuesday, August 21, 2007 12:12 PM by Dario Airoldi | 3 Comments


Attachment(s): 20070821 Office Platform - tutte le versioni sono uguali - part 3.docx

Office Platform: tutte le versioni di Office sono uguali? - Part 2

Innovazioni di Windows Sharepoint Services v3

Introduzione

Questo post è il secondo di 3 articoli che si propongono di analizzare le caratteristiche innovative di Office Sytem 2007.

Abbiamo visto, nella parte 1, che office system si propone come uno strumento integrato di collaborazione collettiva ed una piattaforma distribuita su cui sviluppare applicazioni di business.

A questo scopo, la evoluzione della tradizionale suite di produttività individuale, è stata integrata con Microsoft Office System Server 2007 (MOSS 2007), una piattaforma applicativa con funzioni di collaboration, content e document management, basata su Windows Sharepoint Services di Windows Server 2003.

Nella parte 1 abbiamo analizzato le innovazioni della parte client della nuova piattaforma. Nei restanti articoli capiremo insieme come, dalla parte server, Windows Sharepoint Services e MOSS 2007 contribuiscono a rendere office una piattaforma integrata per sviluppare applicazioni di business.

In questa sezione analizzeremo alcuni tra gli aspetti innovativi di Windows Sharepoint Services v3 più interessanti.

Innovazioni dalla parte server

La piattaforma Microsoft Office System Server (MOSS) 2007 è una piattaforma applicativa costruita su Windows Sharepoint Services (WSS) v3 di Windows 2003.

MOSS 2007 sostituisce il vecchio Sharepoint Portal Server V2 ed, oltre a migliorarne le capacità di gestione di contenuti e documenti introduce una serie funzionalità per gestire informazioni di business, processi, reporting e business intelligence.

Da WSSv3, MOSS eredita le seguenti caratteristiche:

  • è uno storage scalabile di documenti ed informazioni di business.
  • È basato su ASP.Net ed è personalizzabile in modo molto flessibile.
  • Offre un insieme di funzioni di collaboration "out of the box" estremamente interessanti .

Scalabilità

In architetture web tradizionali, applicazioni differenti sono generalmente eseguite tramite application domain dedicati e su basi di dati separate. Questo approccio permette di ottenere al massimo ordini di grandezza di qualche migliaio di applicazioni per computer.

WSSv3 realizza il concetto di applicazione web mediante le Site Collections.

All'interno di WSSv3, tutte le site collections di un portale possono essere eseguite dallo stesso application domain (o un insieme limitato di appdomains) e sono basate su un solo database di contenuti (o un insieme limitato di database di contenuti).

Questo tipo di architetture si dice multitenant (una installazione supporta molte applicazioni eseguite negli stessi processi) a schema condiviso (tutte le istanze della applicazione sono ospitate da un insieme limitato di database con un unico schema).

La sua architettura di tipo Multitenant, a schema condiviso, permette a sharepoint di gestire decine di migliaia (10.000s) di site collections in ogni database di contenuti ed una scalabilità pressochè illimitata per numero di siti all'interno di una farm. Anche i vecchi limiti di WSSv2, sulla quantità di contenuti ospitabili oer singola site collection, document library e lista di contenuti, sono stati completamente rimossi.

Vari altri aspetti della architettura di MOSS 2007 sono specificatamente progettati per renderlo una piattaforma per gestire contenuti estremamente scalabile.

Personalizzazione

Poichè WSSv3 è basato su ASP.Net2 è possibile sfruttarne caratteristice come:

  • La possibilità di accedere allo stesso sito tramite meccanismi di autenticazione differenti.
  • Meccanismi di personalizzazione come le master pages, server-side controls, web parts, event handlers e workflows e anche personalizzazioni di pagine, liste e document libraries.

Con la versione 2007, i MOSS portal sites sono realizzati come WSS site collections definite tramite normali WSS site templates e definitions.

Per questo motivo è ora possibile avere più di un portal site per ogni web site (anche migliaia) e la personalizzazione delle MOSS site collections avviene tramite normali tecniche di personalizzazione di WSSv3.

Consideriamo tuttavia che, per le personalizzazioni di base, non è per nulla necessario sviluppare codice ed è sufficiente utilizzare i comandi di configurazione del sito o della site collection o degli strumenti di personalizzazione come Microsoft Office Sharepoint Designer (successore del vecchio Frontpage).

La immagine di seguito mostra le opzioni di personalizzazione ottenibili per configurazione del sito che, a livello di look and feel, permettono di modificare vari aspetti come la home page, una master page associata alle pagine del sito, il "site theme" utilizzato ed altro ancora.

 

La immagine di seguito mostra un esempio di sito VSS V3 configurato e personalizzato utilizzando gli stili predefiniti di WSS.

Di seguito illustro lo stesso sito acceduto tramite Microsoft Office Sharepoint Designer che permette di modificare tutte le pagine sia a livello interattivo che mediante l'XML editor.

Lo sviluppatore web dispone comunque di strumenti per il controllo completo delle caratteristiche del sito come site templates, features e content types e business data catalog su cui torneremo più avanti.

Funzioni Out of the Box

Le funzioni out of the box di sharepoint non si limitano alla personalizzazione grafica.

Solo per fare qualche esempio illustro di seguito, con qualche immagine, alcune funzioni molto interessanti:

  • Le document library possono essere accedute tramite il protocollo Webdav

    La figura illustrata di seguito mostra una document library acceduta dal file system explorer che utilizza il protocollo WebDav tramite il redirettore di rete.

  • I calendari WSSv3 possono essere acceduti tramite outlook

    La figura di seguito mostra un calendario WSSv3 acceduto tramite outlook. Gli appuntamenti del calendario sono replicati nello store di outlook e sono accessibili anche in modalità disconnessa. La replica è bidirezionale ossia, tramite outlook, l'utente può lavorare con il calendario in modalità disconnessa; in tal caso, le modifiche saranno propagate al sito WSSv3 al ripristino della connessione.

  • Le liste di contatti WssV3 possono essere accedute tramite outlook.

    La figura di seguito mostra una lista di contatti WSSv3 acceduta tramite Outlook. Anche in questo caso i contatti sono replicati con replica bidirezionale.

  • Le liste di contenuti possono essere accedute in modo replicato tramite Access.

    La replica è sempre bidirezionale e le relazioni tra liste di contenuti sono propagate nel database client come relazioni tra tabelle.

    La figura di seguito mostra una lista di tasks collegata ad una lista di contatti.

    Sul database client tasks e contatti sono collegati da una relazione che permette la compilazione del FullName associato al task a partire dall'elenco di contatti.

  • Le liste di tipo blog

    La figura di seguito mostra un blog WSSv3 acceduta tramite Word come blog editor. Tutte le liste pemettono la notifica dei cambiamenti tramite Feed RSS e mail.

  • Le liste di tipo wiki.

    La figura di seguito mostra un wiki MOSS 2007. Il comando edit permette agli utenti di modificare il contenuto delle pagine del wiki ed aggiungerne di nuove collegate a quelle esistenti in modo molto semplice.

Mi fermo qui, non perchè siano finite le funzioni "Out of the box" di WSSv3 e MOSS 2007, ma solo perchè vi sono altri aspetti interessanti di cui parlare che tratterò nel prossimo post, dedicato alle novità della parte Office Server.

Conclusioni

Windows sharepoint Services v3 è una base ideale per una piattaforma applicativa come MOSS 2007 per 3 aspetti essenziali:

  • È una piattaforma estremamente scalabile per ospitare siti, documenti e contenuti. I contenuti che può ospitare possono avere varie forme (es. contatti, task, calendari, documenti, pagine, blogs e Wiki, etc) e possono essere definiti dall'utente in modo strutturato.
  • WSSv3 è personalizzabile in modo flessibile sfruttando le funzioni di configurazione dei siti e Windows Sharepoint Designer, senza bisogno di scrivere del codice; tuttavia la sua architettura basata su ASP.Net, ne permette comunque una personalizzazione avanzata mediante strumenti comuni come le master pages, i server-side controls e web parts. Pagine, Liste e Document Libraries sono anche personalizzabile ed essi possono essere associati event handlers e workflows.
  • WSSv3 include una serie di funzionalità di collaboration predefinite (Out of the Box) che rende WSSv3 uno strumento interessante per un utilizzo integrato con applicazioni nella parte client di Office. Tali funzioni predefinite possono essessere sviluppate a piacere con gli strumenti di personalizzazione dei contenuti, e l'object model di WSSv3 che offre un controllo completo sulle funzioni della infrastruttura.

Vedremo, nel prossimo articolo, che a queste funzioni di collaboration MOSS 2007 affianca funzioni come il Business Data Catalog, per collegare la piattaforma server ai dati di buiness, il search integrato di contenuti e dati di business e altre funzioni di content management, business intelligence e gestione di processo.

Riferimenti

Ti interessa approfondire questi ed altri aspetti delle novità introdotte da Windows Sharepoint Services v3?

Ecco alcuni spunti per approfondimento:

Download

Articoli

Web Sites:

Virtual Labs

Blogs:

Posted Tuesday, August 21, 2007 11:25 AM by Dario Airoldi | 3 Comments


Attachment(s): 20070821 Office Platform - tutte le versioni sono uguali - part 2.docx

Office Platform: tutte le versioni di Office sono uguali? - Part 1

Innovazioni della parte client

Introduzione

Parlando di applicazioni di produttività individuale impera spesso la filosofia del "good enough".

Quante volte abbiamo sentito dire frasi come "tutte le versioni di office sono uguali" oppure "per l'uso che ne faccio, è sufficiente avere qualunque versione di Office!"?

Ma tutte le versioni di office sono veramente uguali? Ma Microsoft Office System 2007 si differenzia veramente dalle versioni precedenti?

Nei prossimi 3 articoli proverò ad analizzare i principali aspetti di innovazione che propone la versione 2007.

Chissà che questo non aiuti a sfatare un po' di questi luoghi comuni?

Microsoft Office System come piattaforma per sviluppare applicazioni di business

La strategia di microsoft per la piattaforma Office system si può forse riassumere in 2 elementi di rilievo:

  • Trasformare Office da un insieme di strumenti di produttività individuale ad uno strumento integrato di collaborazione collettiva.
  • Trasformare Office da un insieme di applicazioni rigide ed indipendenti in una piattaforma distribuita su cui sviluppare applicazioni di business.

Nei paragrafi che seguono vedremo che questo è avvenuto:

  • Migliorando la parte client per semplificarne l'utilizzo, la personalizzazione ed integrazione con sistemi esterni.
  • Costruendo una piattaforma modulare e scalabile di componenti server per la gestione di contenuti, collaboration, e business intelligence.
  • Realizzando gli strumenti per la itegrazione e sviluppo di dati ed applicazioni di business.

Overview delle Innovazioni dalla parte client

La figura illustrata di seguito propone una sintesi delle innovazioni principali introdotte dalla parte client della piattaforma Office system 2007:

Alcuni elementi, comuni a tutte le applicazioni includono: User interface, il Nuovo file format, la Ribbon, gli application pane, il modello di estensibilità tramite add-ins.

La User Interface

la user interface è più intuitiva per gli utenti poco esperti e più efficiente per gli utenti esperti. Per esempio, i comandi + comuni hanno maggiore visibilità ed i comandi di formattazione agiscono in anteprima, prima di essere selezionati.

Di seguito mostro solo due esempi di questo: le antemprime dinamiche ed i enhanced tooltips per poi focalizzarmi sulle novità per lo sviluppo di applicazioni.

Con le antemprime dinamiche le applicazioni office mostrano l'effetto di un comando prima ancora della sua selezione. Nell'esempio mostrato in figura, Word mostra in anteprima l'effetto della applicazione di un formato all'immagine prima della sua selezione, nel pannello dei formati. Questo è più intuitivo poichè gli utenti possono comprendere meglio l'effetto del comando di formattazione ed è più efficiente poichè il confronto e la scelta dei formati può avvenire molto più velocemente.

Gli enhanced tooltips sono generati da office ogni volta che l'utente sofferma il mouse su un comando.

I tooltip contengono informazioni contestuali, anche di tipo grafico, sul significato del comando e, quando è disponibile, indicano la combinazione per eseguire il comando mediante la tastiera (gli shortcut keys).

La figura di seguito mostra gli enhanced tips rispettivamente per il comando insert caption e pase special.

Nuovo file format

Il nuovo Office System utilizza il formato standard "Open XML Format".

Il nuovo formato è più compatto perchè usa compressione GZIP, è più espressivo poiché può contenere informazioni strutturate; è più robusto poiché, se si corrompe una parte del documento, non tutte le informazioni sono compromesse infine, il nuovo formato è più sicuro poichè le informazioni riservate, le revisioni e le proprietà del documento possono essere gestite in modo separato e possono essere rimosse automaticamente (document sanitization).

Il formato è un Open Standard e pertanto permette interoperabilità e può essere acceduto senza bisongo di Office.

La immagine riportata di seguito descrive la struttura di un documento Word:

Il contenuto del documento può essere acceduto semplicemente come illustrato in figura:

Le Packaging API di .Net Framework 3.0 permettono di accedere ad un file OpenXML Format, le sue cartelle ed i file XML contenuti in esso.

In questo modo è possibile ottenere alcune informazioni come le proprietà del documento, commenti, schemi e dati WordML; per esempio, la figura di seguito mostra il file core.xml nella cartella docProps che contiene i metadati del documento (le properties):

Il nuovo Open XML Object Model disponibile con l'Microsoft SDK for Open XML Formats offre un object model di più alto livello rispetto alle packaging API e permette di accedere in modo più semplice ai contenuti veri e propri di documenti e spreadsheets. La figura ripostata di seguito illustra l'Open XML Object Model.

I documenti OpenXml Format possono ospitare dati XML di tipo custom. Pertanto una applicazione all'interno di Word o Excel può accedere a fonti dati o servizi esterni e salvare nel documento stesso le informazioni di business ottenute da essi.

I dati custom possono essere visualizzati nel documento tramite data binding.

Poichè il formato è basato su XML, informazioni sensibili possono essere criptate o rimosse automaticamente.

Grazie ad la Microsoft Office Compatibility Pack, i files nel nuovo formato, possono essere utilizzati, pur con funzioni limitate, anche dalle vecchie versioni di office (Office 2000, XP e 2003).

Ribbon

Menu e toolbar della vecchia User interface sono state rimpiazzate da una nuova barra di comandi di nome ribbon.

La Ribbon è utilizzata Access 2007, Excel 2007, PowerPoint 2007, Word 2007 ed è anche utilizzata in Outlook 2007, durante l'editing di un outlook item

I comandi sulla ribbon sono distribuiti su alcuni Tab e divisi per Gruppi.

Ai comandi più importanti sono associate immagini più evidenti.

Ribbon, Tab e gruppi possono essere personalizzati in modo dichiarativo tramite piccoli file XML o Application Add-Ins.

Le soluzioni esistenti personalizzavano menù e toolbars tramite il command bars object model. Pur essendo molto flessibile il command bar object model aveva alcuni importanti limiti architetturali; In particolare, il command bar object model offre un limitato supporto al versioning e, forse più importante, non mantiene memoria della associazione tra gli add-in e le personalizzazioni da essi generate.

Per questi motivi le personalizzazioni realizzate con il modello esistente sono relegate ad un particolare Add-Ins tab, dove office mantiene un gruppo menu commands ed un gruppo custom toolbars.

Per aggiungere un tab alla ribbon è sufficiente inserire un file XML, nel documento, come illustrato in figura:

Il file XML delle personalizzazioni deve essere associato al documento modificando il file .rels come illustrato in figura:

La personalizzazione nell'esempio, aggiunge alla ribbon il tab "Hello World Tab", il gruppo "Hello World Group", ed il bottone "Hello World" come illustrato in figura:

I controlli possono essere aggiunti anche a tab e gruppi esistenti; oltre i controlli di tipo Button è possibile aggiungere EditBoxes, Menus, ComboBoxes, DropDowns, SplitButtons, ToggleButtons, Labels, CheckBoxes e Galleries Le funzioni associate ai controlli possono essere sviluppate con VBA e .Net.

L'attributo startFromScratch="true" applicato al nodo ribbon nasconde tab e gruppi built in prima di applicare le personalizzazioni e permette di realizzare una ribbon completamente custom. Immagini e label per i controlli ed elementi per galleries e comboboxes possono essere generati dinamicamente specificando nel file XML i nomi delle funzioni per ottenerli.

Application Add-Ins

Visual Studio 2005 Tools for Office (VSTO 2005) permette di sviluppare personalizzazioni Document (e Template) level ed application level per office 2003 che possono essere anche utilizzate con Office 2007. Per Office 2007, VSTO 2005 non offre un supporto specifico ma permette personalizzazioni, come quelle per la ribbon, che si realizzano per implementazione di interfacce.

La personalizzazione di Office 2007 può avvenire con Visual Studio 2005 Tools for Office Second Edition (VSTO 2005 SE, anche Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System) e con Visual Studio 2008 Tools for Office (VSTO v3), ora disponibile in versione Beta2 e che sarà rilasciato con Visual Studio 2008, il 27 febbraio 2008.

VSTOv3 introduce una nuova architettura che permette la esecuzione degli add-in in modo isolato, in AppDomain separati, con un modello di sicurezza basato su Code Access Security (CAS) che permette di specificare il tipo di operazioni ad essi permesse.

VSTO v3 permette di sviluppare graficamente document task panes, application panes, personalizzazioni della ribbon ed il loro setup che può avvenire con deployment automatico, tramite la tecnologia clickonce.

Lo schema di seguito illustra la architettura di un Add-in che accede ad informazioni di business tramite web services, memorizza dati locali al documento ed è scaricato automaricamente da un deployment server centralizzato.

Le personalizzazioni possono essere sviluppate a livello document/template ed a livello application per Office 2003 e 2007.

VSTO 2005 SE ha anticipato alcune delle funzioni della nuova architettura e, già ora, permette di sviluppare personalizzazioni application level per le principali applicazioni office 2003 e 2007 con un supporto non grafico per la personalizzazione della ribbon.

La figura di seguito mostra un document template, all'interno di Visual Studio 2008.

I placeholder all'interno del document template, sono degli host controls che specializzano il comportamento dei normali controlli delle applicazioni office per abilitare le funzioni di data binding, properties ed eventi aggiuntivi etc.

Il binding di un host control ad un campo di una DataTable avviene secondo il modello .Net con la seguente istruzione:

contentControl.DataBindings.Add("text", myDataset.myTable, "column");

I controlli di office e le loro proprietà sono comunque accessibili,da codice, tramite l'object model.

Office controls ed host controls supportano le properties LockContents e LockContentControl che ne regolano la modifica e cancellazione e supportano eventi di validazione e notifica del cambiamento.

In questo modo, i documenti di office possono essere veramente utilizzati con funzioni di data entry per le applicazioni, oltre che per semplice reporting.

Nella figura di seguito gli host controls sono legati alle colonne di una Datatable contenente l'elenco dei customers del database AdventureWorks.

L'esempio mostra anche un Document Task Pane con gli stessi dati.

Un Document Task Pane è semplice windows forms UserControl, aggiunto alla collection ActionPane.Controls del documento con la seguente istruzione:

this.ActionsPane.Controls.Add(customerPane);

Oltre i controlli di office e gli host controls, i documenti e panes di office possono ospitare Windows forms controls; Trascinamdo un Windows forms control in un documento, VSTO introduce nel documento un apposito ActiveX control dedicato ad ospitare il controllo Winform.

Per questo motivo è comunque raccomandabile limitare l'utilizzo dei controlli Winform alle funzioni che non sono realizzabili mediante controlli nativi.

La immagine di seguito mostra un controllo winform all'interno di un documento word:

Abbiamo visto che VSTOv3 offre anche un supporto grafico alla personalizzazione della ribbon.

La immagine di seguito mostra il Ribbon Visual Designer che permette di definire graficamente gruppi e comandi da includere in un Custom Tab o un Office Standard Tab.

Conclusioni

Con la versione 2007 office system ha introdotto innovazioni che nigliorano sensibilemnte la possibilità di sviluppo di applicazioni con la parte client di office:

  • Il formato OpenXML può ospitare dati di business strutturati (es. oggetti serializzati, dataset, XML) che possono essere acceduti senza bisogno istanziare le applicazioni client.
  • La Ribbon permette facilmente di inserire tab, gruppi e comandi o modificare quelli esistenti in modo dichiarativo (senza programmare).
  • Visual Studio Tools for Office ha migliorato il modello di esecuzione degli add-in ed ha reso semplice personalizzazioni a livello documento/template ed applicazione.
  • Visual Studio Tools for Office estende le capacità dei controlli di Office supportando DataBinding a dati di business ed un modello di eventi ricco.

Questo rende sempre più semplice utilizzare Office come parte delle proprie applicazioni di business, anche con funzioni di data entry oltre che per un tradizionale ruolo di reporting e visualizzazione.

Office System 2007, tuttavia, non è limitato alle sole applicazioni client ma include una parte server detta Microsoft Office System Server 2007 (MOSS 2007). MOSS 2007 è una piattaforma applicativa basata su Windows Sharepoint Services di Windows Server 2003 con funzioni di collaboration, content e document management, che si propone di integrare le applicazioni client, di produttività individuale, con le applicazioni di business vere e proprie.

Nei prossimi 2 articoli vedremo insieme le caratteristiche più interessanti di Windows Sharepoint Services e MOSS 2007.

Riferimenti

Ti interessa approfondire questi ed altri aspetti delle novità introdotte da Office System e Visual Studio Tools for office?

Ecco alcuni spunti per approfondimento:

Articoli

Articoli made in italy

Web Sites:

Virtual Labs

Blogs:

Testi

Workshop Material

Altre Risorse

Posted Tuesday, August 21, 2007 9:55 AM by Dario Airoldi | 3 Comments


Attachment(s): 20070821 Office Platform - tutte le versioni sono uguali - part 1.docx

Info - Team Development with TFS Guide

Vi segnalo la disponibilità, su codeplex della nuova guida “Team Development with TFS Guide” per lo sviluppo con Visual Studio Team Foundation Server.

clip_image002[1]

La guida è divisa in 8 parti:

  • Part I, Fundamentals
  • Part II, Source Control
  • Part III, Builds
  • Part IV, Big Team Considerations
  • Part V, Project Management
  • Part VI, Process Guidance
  • Part VII, Reporting
  • Part VIII, Setting Up and Maintaining the Team Environment

Dopo una introduzione iniziale sulla architettura del prodotto, tratta in modo molto concreto le linee guida e strategie da seguire per utilizzare Team Foundation Sever nelle varie fasi del ciclo di sviluppo.

Proprio su questo tema vi segnalo anche il “Percorso formativo su Visual Studio Team System” disponibile sul nostro sito MSDN Italy.

Si tratta di una serie di webcast curata da Lorenzo Barbieri che tratta in modo chiaro ed interessante tutti i temi legati alla gestione del cliclo di sviluppo SW con Visual Studio Team System e Team Foundation Server.

Credo che questi 2 riferimenti possano costituire una ottima base per un utilizzo efficace della piattaforma Visual Studio.

buon lavoro e buon divertimento!

Posted Wednesday, July 11, 2007 10:55 AM by Dario Airoldi | 0 Comments

Info: TechEd Developers a Barcellona 5-9 Novembre

Teched Developer 2007 si terrà in Europa a Barcellona dal 5 al 9 Novembre.

Date una occhiata ai contenuti ed ai featured speakers!

Il programma di iscrizione "Super Early Bird" è attivo fino al 31/7.

 

Posted Wednesday, July 04, 2007 3:18 PM by Dario Airoldi | 1 Comments

Introduzione a Micro Framework

La vision di Micro Framework

Piccoli dispositivi elettronici controllati da microprocessori sono sempre più diffusi ma:

  • Pochi tool ne supportano lo sviluppo
  • Sono necessari forti skill per fare cose semplici
  • Lo sviluppo avviene generalmente in C/C++ o assembler, ad un livello di astrazione molto basso e difficilmente manutenibile.

Micro Framework si propone per lo sviluppo embedded come ha fatto VB6 per lo sviluppo delle vecchie applicazioni desktop:

  • MF introduce un modello di sviluppo semplice ed intuitivo.
  • MF introduce uno sviluppo applicativo ad un livello di astrazione alto, in cui lo sviluppatore gestisce i dispositivi periferici tramite oggetti, metodi ed eventi.
  • Lo sviluppo può avvenire con un ambiente di sviluppo semplice da utilizzare.

Posizionamento di Micro framework

MF è un .Net Runtime piccolo per processori embedded 32bit, economici e a basso consuno

  • Le applicazioni Micro framework hanno un Memory Footprint molto ridotto (~256K RAM)
    Per esempio, Windows CE permette di scrivere applicazioni con 300K di memoria solo sviluppando codice nativo.
  • Micro framework permette lo sviluppo su hardware particolarmente semplice
    Per esempio, non richiede nemmeno l'uso di Memory Management Unit
  • Micro framework permette lo sviluppo embedded con Visual Studio 2005
    • L'ambiente Include un emulatore completo e funzionale
    • Permette lo sviluppo con linguaggio C# e .Net framework
  • Micro framework esegue codice managed controllato e sicuro

Lo sviluppo embedded con Micro Framework avviene in modo consistente con lo sviluppo sulle le altre piattaforme applicative Microsoft.

Le piattaforme embedded di microsoft

Le piattaforme embedded di microsoft includono a questo punto:

  • .Net Micro Framework: indirizza l'hardware di fascia minima, è adatto per dispositivi wareable, piccola automazione industriale e applicazioni su oggetti di largo consumo
  • Windows CE: Indirizza lo sviluppo per elettronica di consumo più sofisticata come la telefonia cellulare, computer sofisticati per automobili etc
  • Windows XP Embedded: è la piattaforma per sviluppo embedded più potente dal punto di vista funzionale, dispone di tutte le capacità della piattaforma Windows XP e richiede hardware intel X86.

La figura riportata di seguito illustra le 3 piattaforme ed il tipo di target applicativo che permettono di indirizzare.

Le piattaforme embedded a confronto

Scendendo nel dettaglio del confronto delle piattaforme embedded possiamo notare alcuni aspetti interessanti:

  • Micro framework può eseguire applicazioni .Net con soli 300K

    Per una applicazione .Net Compact Framework Windows CE richiede almeno 10MB.

    Windows XP Embedded ha requisiti di memoria 100 volte superiori.

  • Micro framework permette l'utilizzo di hardware a bassissimo consumo di energia

    Possiamo immaginare che un dispositivo Micro Framework può funzionare con hw che non richiede ricarica o sostituzione delle batterie per molto tempo.

    Questa caratteristica lo rende adatto per l'elettronica su oggetti di largo consumo.

  • Rispetto alle altre piattaforme Micro framework ha un run time molto semplice

    Vedremo che Micro framework offre funzionalità grafiche molto interessanti ma non dispone del motore directX, di applicazioni client come il browser, o per la gestione dei dati come SQLServer Compact Edition.

    A livello di sistema, vedremo che Micro Framework implementa un multithreading di tipo cooperativo non realtime mentre windows CE permette un multithreading di tipo preemptive e supporta funzioni di tipo realtime.

La tabella illustrata di seguito mostra queste ed altri dettagli di differenziazione tra le 3 piattaforme embedded:

    

.NET Micro Framework

Windows CE

Windows XPe

Example Devices

Sensor Nodes, Aux displays, Health Monitoring, Remote Controls, Robotics

GPS Handhelds, PDAs,
Automotive, Set Top Boxes

Thin Clients, ATMs, Kiosks

Features

Connected, Small, Wearable, Graphical UI

Connected, Graphical UI, Server, Browser, RAS, DirectX

PCclass performance,
PC networking

Footprint

250-500KB managed code
Full featured

300KB+ without managed code
12MB with managed code

40MB + Depending on features

Power

Very low power

Low power

Mains power

CPU

ARM7, ARM9, No MMU

X86, MIPS, SH4, ARM,
with MMU

X86

Real-time

Not Real-time

Hard Real-time

Real-time capable through 3rd party extensions

Managed vs. Native Code

Managed via .NET Micro Framework,
native code through interop only.

Supports both,
managed code requires .NET Compact Framework

Supports both, managed code
requires .NET Framework

Un po' di storia

Micro Framework nasce nel 2001 con il nome di TinyCLR, all'interno del progetto Smart Personal Object Technology (SPOT).

La prima impementazione Micro Framework si vede nel 2004 con gli Smart Watches di MSN Direct.

Nel 2005 microsoft rilascia una implementazione Microsoft TV basata su Micro Framework insieme alle altre implementazioni, più sofisticate, basate su Windows CE.

Alla Microsoft Embedded Developer Conference (MEDC) del 2006 microsoft mostra il Sumo Robot Kit, una prima implementazione Micro Framework veramente sofisticata.

Con Windows Vista Sideshow, l'SDK 2.0 rilasciati a Febbraio 2007 e le schede per sviluppo HW proposte sul mercato da vari partner microsoft, micro framework diventa finalmente una piattaforma a disposizione di tutti.

Caratteristiche di micro framework

Ecco alcuni punti chiave che caratterizzano Micro Framework:

  • Micro Framework è un runtime Bootable: MF Può eseguire boot autonomamente sull'hardware anche se, ovviamente, può essere ospitato su sistemi operativi esistenti.
  • Micro Framework permette un modello di sviluppo Sicuro: infatti, l'accesso alle risorse avviene tramite oggetti con proprietà tipizzate, metodi ed eventi.
  • Micro Framework è una piattaforma di esecuzione sicura: micro framework utilizza assemblies firmati ed il loader degli assemblies esegue verifiche di integrità del codice binario che viene eseguito.
  • Micro Framework Estensibile A livello software ed Hardware:
    • A livello software perchè, sul runtime Micro Framework, è possibile costruire nuove classi e librerie che ne estendano le capacità
    • A livello hardware perchè, Micro Framework può interagire con dispositivi periferici, tramite un insieme di protocolli standard predefiniti su porte seriali, parallele, bluetooth etc.
  • Micro Framework è disponibile su varie architetture Hardware ma può essere portato anche su Hardware attualmente non tramite un Porting Kit reso disponibile da microsoft.

Runtime features

Dal punto di vista funzionale Micro Framework si evidenzia per:

  • Il Runtime grafico che implemeta l'object model Windows Presentation Foundation (WPF).

    Questo significa che con Micro Framework è possible comporre controlli utilizzare colori, gradienti e trasparenze, utilizzare i pannelli di gestione del layout.

    Questo significa inoltre che la programmazione delle interfacce Micro Framework avviene con lo stesso modello di programmazione utilizzato per le altre piattaforme microsoft.

  • I servizi di Runtime. Alcuni esempi interessanti includono:
    • la gestione dei Threads, che si utilizzano con le stesse, classi (Thread) e namespaces (System.Threading) utilizzate dalle altre implementazioni .Net.
    • la gestione della memoria: infatti Micro Framework implementa un algoritmo di Garbage collection appositamente progettato per minimizzare la occupazione di memoria delle applicazioni.
    • Il support della localizzazione delle applicazioni; infatti, con Micro Framework è possibile creare applicazioni con diverse localizzazioni all'interno di resource files.
  • Le Funzioni di interazione con periferiche hardware.

    Micro Framework permette di gestire dispositivi periferici tramite un insieme di protocolli standard ed utilizzati sul mercato come:

    • Managed drivers for LCDs
    • Universal Asynchronous Receiver/Transmitter (USART)
    • I2C™
    • General-purpose I/O (GPIO)
    • Pulse-Width modulation (PWM)

    La interazione con questo tipo di dispositivi avviene sempre tramite codice managed, agendo sulle classi .Net che li rappresentano ed intercettando gli eventi da esse scatenati.

    La tabella illustrata di seguito mostra alcuni esempi di device esterni, con quale protocollo e quali API Micro Framework permette di interagire con essi.

External device

Protocol to communicate

API to control

Bottoni

GPIO

Microsft.SPOT.Hardware.InterruptPort (o Port family e classi drivate in generale)

Potenziometri/Attuatori

GPIO
(PWM non e' disponibile al momento)

Microsft.SPOT.Hardware.InterruptPort (o Port family e classi drivate in generale)

Accelerometri

SPI o I2C
(tipicamente)

Microsft.SPOT.Hardware.SPI e Microsft.SPOT.Hardware.I2CDevice

Outputs booleani
(backlight, vibrator)

GPIO

Microsoft.SPOT.hardware.Backlight o Microsoft.SPT.Hardware.OutputPort

Monochrome LCD

SPI o I2C o driver nativo
(tipicamente)

Microsft.SPOT.Hardware.SPI e Microsft.SPOT.Hardware.I2Cdevice.  LCD (display) API (LCD_BitBlt e LCD_BitBltEx)

OEM-specific (heart rate monitor, air pressure sensor, touch screen)

SPI o I2C o Seriale
(Tipicamente, Dipende dal device)

Microsft.SPOT.Hardware.SPI, Microsft.SPOT.Hardware.I2Cdevice e Microsft.SPOT.Hardware.SerialPort

Battery monitoring

Battery API

Microsft.SPOT.Hardware.Battery e Battery and Charger HAL API

Flash memory

  

Microsoft.SPOT.ExtendedWeakReferences
Microsoft.SPOT.Logging (solo per debug)

HAL FLASH API

Bluetooth

Seriale o SPI
(dipende dal controllore, vedi Promi-SD o BlueCore)

Microsoft.SPOT.hardware.SerialPort o Microsoft.SPOT.Hardware.SPI

802.15.4

SPI
(Tipicamente, vedi Ember or Chipcon CC2420)

Microsoft.SPOT.Hardware.SPI

EEPROM memory

Unsupported Legacy

n/a

Calibrated accurate time

Dell'apposito codice e' provvisto nel porting kit ma deve essere abilitato manualmente

  

L'esempio di codice illustrato di seguito mostra alcune istruzioni C# molto semplici per intercettare un evento proveniente da bottone (device esterno) collegato al sistema tramite il pin 12 di un bus GPIO.

Tool di sviluppo

Oltre che per le funzioni che implementa, che abbiamo visto essere molto interessanti, Micro Framework si differenzia dalle altre piattaforme per gli strumenti per lo sviluppatore.

Installando Visual Studio 2005 e l'SDK Micro Framework lo sviluppatore potrà disporre:

  • Templates di progetto per la realizzazione di applicazioni
  • Supporto Intellisense
  • Evendi di PostBuild
  • Deployment delle applicazioni ai device (seriale, usb o emulatore)
  • Debugging interattivo dall'IDE, sia verso l'emulatore che verso il dispositivo hardware

La figura illustrata di seguito mostra una applicazione Micro Framework nell'ambiente di sviluppo Visual Studio 2005 e l'emulatore di default, installato dall'SDK.

Schema architetturale

Il seguente schema illustra una architettura di massima del runtime microframewrok.

  • Lo strato di basso livello Hardware Abstraction Layer (HAL) definisce una prima astrazione dell'hardware sottostante.

    Questo permette di limitare gli sforzi necessari per portare Micro Framework verso nuove piattaforme, che consiste nel riscrivere un numero limitato di API nella HAL.

  • Il Platform Abstraction Layer (PAL) realizza su di essa alcune funzioni di runtime, necessarie per il funzionamento del sistema (timer, funzioni di accesso alla ram ed IO etc).
  • Al livello dello strato CLR sono realizzati:
    • L'Execution Engine: il vero motore di esecuzione del codice binario Micro Framework.

      Il codice MSIL di Micro Framework è eseguito con un approccio di tipo interpretato.

      Questo permette di minimizzare l'occupazione della memoria della applicazione in quanto, un approccio compilato, richiederebbe almeno di caricare in memoria 2 copie dei binari applicazione (il binario MSIL ed il codoce binario compilato)

    • Il Type System necessario per la esecuzione di applicazioni .Net.

      Per esempio, Il type system serve per gestire la istanziazione delle classi, la esecuzione dei costruttori e garbace collection ed anche per realizzare le funzioni di reflection.

    • Il Garbage collector che implementa la gestione della memoria.

      Micro Framework è stata implementata una versione completamente custom del garbage collector che, per massimizzarne l'efficienza in spazio, implementa un algoritmo di tipo Mark and sweep piuttosto che generazionale, come avviene per le altre implementazioni .Net.

Piattaforme supportate

Micro Framework è disponibile, come bootable runtime, sulle seguenti piattaforme hardware (Aprile 2007):

  • ARM7TDMI @ 27MHz (384K RAM, 1M Flash)
  • ARM7TDMI @ 50MHz (4M RAM, 2M Flash)
  • ARM920T @ 96MHz (4M RAM, 2M Flash)
  • ARM Cortex M3
  • Motorola 68K (implementazioni custom)

Come hosted runtime, Micro Framework è disponibile su piattaforme hardware come:

  • Dual ARM7TDMI @100Mhz (32M RAM, 1G Flash); con sitemi operativi NetOS/ThreadX per CONNECTME e WinCE.
  • Intel x86; con sitemi operativi Windows XP/Vista.

Il Porting di Micro Framework come bootable runtime può richiedere la riscrittura di 80-100 APIs.

Come hosted runtime, il porting si limita alla riscrittura di 20-40 APIs.

Come si sviluppa una applicazione Micro Framework?

Di seguito illustro alcuni partner che vendono sul mercato kit di sviluppo per Micro Framework.

Un kit di sviluppo come quello illustrato in figura include generalmente una scheda su cui sono montati:

  • Il processore
  • Micro Framework (es. su memoria rom o flash)
  • Alcune periferiche di base (es. un display LCD).
  • Una porta seriale o USB che permette di collegare la scheda al computer dello sviluppatore, durante la attività di sviluppo.

Per realizzare una applicazione Micro Framework sarà in generale necessario:

  1. Disporre di Visual Studio 2005 e l'SDK di Micro Framework
  2. Acquistare un kit di sviluppo come quello illustrato in figura.
  3. (Se necessario,) personalizzare l'emulatore per simulare in esso il comportamento delle periferiche del sistema che vogliamo realizzare.
  4. Sviluppare la applicazione sull'emulatore.
  5. Eseguire test finale sul kit di sviluppo.

Le figure illustrate di seguito mostrano una applicazione molto semplice che ho utilizzato per esemplificare la realizzazione un computer di bordo per una automobile.

La immagine di destra mostra una versione dell'emulatore in cui ho aggiunto alcuni tasti (i.e. periferiche GPIO) per simulare il trip computer reale.

Maggiori informazioni

Ecco alcuni riferimenti dove ottenere maggiori informazioni sull'utilizzo Micro Framework:

Allego a questo post la presentazione "Introduzione a Micro Framework" (slides e registrazione) che illustrano alcuni dettagli aggiuntivi su Micro Framework ed i punti importanti della applicazione TripComputerSample.

Posted Saturday, April 28, 2007 11:42 AM by Dario Airoldi | 2 Comments


Attachment(s): 1. Introduzione a microframework rel.pptx

Ink Analysis ed OCR con tecnologia Microsoft

L'sdk per il Tablet PC include Ink "Analysis API" che permette di fare handwriting recognition.

L'sdk include molti esempi tra cui lo "Scanned Paper Form Sample" che mostra come fare recognition da un foglio di carta compilato a mano.

Per il riconoscimento di moduli stampati può essere preferibile utilizzare una Api di OCR.

Tale funzione è realizzata da "Microsoft Office Document Imaging" che la espone tramite il "Microsoft Office Document Imaging Object Model".

Il riferimento di seguito illustra una procedura basic per eseguire l'OCR di un documento esistente: Using the Words Collection.

Posted Thursday, January 04, 2007 10:58 AM by Dario Airoldi | 0 Comments

Windows Presentation Foundation: come iniziare

Ecco un elenco di risorse utili per iniziare a sviluppare con Windows Presentation Foundation:

 

Per lo sviluppo di interfacce WPF avanzate è possibile usare i nuovi prodotti "Microsoft Expression Studio" di cui:

 

Posted Thursday, January 04, 2007 10:53 AM by Dario Airoldi | 0 Comments

Page view tracker