Massimiliano Bosco – Aliware – Torino – Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)
Agenda Parte 1: programmazione in ambito EPM –Alcune richieste tipiche –Soluzioni stand-alone, client-server, EPM –Architettura di Project Server 2003 –Project Data Service (PDS) –Esempio 1.1: utilizzo del PDS Parte 2: architetture di connessione –Regole generali per i connettori –Esempio 2.1: importare le risorse con file XML Parte 3: uso dei cubi OLAP e loro estensioni –Acquisizione dati da Sharepoint –Esempio 3.1: gestione rischi e problemi Parte 4: estendere il PDS con codice gestito (.NET) –Schema generale di unestensione PDS –Esempio 4.1: estensione PDS in C#
Strumenti MS Project SDK 2003 go.microsoft.com/fwlink/?linkid=21722
Regole generali per i connettori Modello da SDK: ERP Connector Solution Starter Interfacce standard (Enterprise Data Maintenance) SOAP File Drop Vantaggi EDM effettua le chiamate a PDS Mapping dei dati nel business layer Personalizzazione PDS Extensions
EDM 3 tipi di servizio –Sincronizzazione dei dati delle risorse –Sincronizzazione dei membri del team –Sincronizzazione delle liste di custom field
EDM (2) Scenario 1: accesso alle risorse –Occorre sincronizzare le risorse di Project Server 2003 con larchivio di un sistema Human Resource (HR) con frequenza giornaliera. –Ogni notte lHR scarica un file XML in una cartella ben individuata. Il file XML può contenere metadati, quali la lista dei custom field associati alla risorsa –Il servizio EDM preleva il file, applica alcune regole di livello business allXML ed effettua le chiamate PDS per aggiornare il pool di risorse enterprise (es. con ResourcesUpdate e ResourcesDeactivate)
EDM (3) Scenario 2: project team –Un sistema PSA (Professional Services Automation) gestisce un archivio di risorse in base a competenze, disponibilità, etc. –Occorre sincronizzare i dati dei team del PSA tutte le volte che il Resource Manager li modifica –Ad ogni commit il PSA effettua una chiamata SOAP a EDM inviandogli la lista aggiornata dei team –Dopo la convalida della richiesta XML, EDM effettua le chiamate a PDS per aggiungere o eliminare membri dal team di progetto
EDM (4) Scenario 3: enterprise custom fields –Un portale di gestione della conoscenza, delle competenze e di e-learning gestisce un elenco delle competenze per ciascun utente. Ogni competenza è identificata da un codice univoco. –I servizi di back end del portale scaricano in un file XML la lista delle competenze coi relativi codici –EDM raccoglie col metodo file drop il file, lo convalida e importa i nuovi codici, permettendo di associare alle risorse le loro competenze
Uso di file drop HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\MS Project \Services\Configuration\Connector\[Monitor Location] La chiave [Monitor Location] è descrittiva e viene usata ai fini del tracciamento (Es: projectsolution1, etc.) Possono esserci diverse [Monitor Location]
Metodi Resource Data Methods –ResourcesUpdate : inserisce o modifica una risorsa –ResourcesDeactivate : disattiva una risorsa senza eliminarla dal DB Project Team Methods –ProjectTeam : modifica la composizione del team Enterprise Field Update –EnterpriseFieldUpdate : sincronizza il valore dei campi personalizzati con applicazioni esterne
Esempio EDM Tester
Risposta -- can be multiple PDS requests and replies --
Uso di un client SOAP Dim oSOAPClient As SoapClient30 Dim sPDSRequest As String Dim sPDSReturnXML As String Dim sProjectServerURL As String Dim verbosity As Integer sProjectServerURL = " verbosity = 3 Set oSOAPClient = New SoapClient30 oSOAPClient.MSSoapInit sProjectServerURL & "/PDSBiz.wsdl" sPDSRequest = " sPDSReturnXML = oSOAPClient.submit(sProjectServerURL, _ "User Account", "Account Password", _ sPDSRequest, verbosity)
Uso di HTTP Post Dim oXMLHttp As XMLHTTP Dim sPDSRequest As String Dim sPDSReturnXML As String Dim sProjectServerURL as String sProjectServerURL = " Set oXMLHttp = New XMLHTTP oXMLHttp.open "POST", sProjectServerURL & _ "/logon/ADMRequest.asp", False sPDSRequest = GetRequest() sintetizza la la richiesta XML oXMLHttp.send sPDSRequest sPDSReturnXML = oXMLHttp.responseXML.xml
Riferimenti download.microsoft.com –MS Project Server 2003 Software Development Kit (SDK) Siebel solution starter mySAP connector –MS Project 2003 Resource Kit Configurazione EDM us/pjsdk/html/pdsConfiguringServiceForEDM.asp Web services MOC 2524: Sviluppo di Web Services usando Visual Studio.NET MOC 2500: Programmazione XML MOC 2349: Programmazione col framework.NET in C# MOC 2415: Programmazione col framework.NET in VB.NET