15
Massimiliano Bosco – Aliware – Torino – [email protected] Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Massimiliano Bosco – Aliware – Torino – [email protected] Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Embed Size (px)

Citation preview

Page 1: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Massimiliano Bosco – Aliware – Torino – [email protected]

Project 2003

SviluppareSoluzioniEPM con

Project Server(2/4)

Page 2: Massimiliano Bosco – Aliware – Torino – info@aliware.it 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 un’estensione PDS– Esempio 4.1: estensione PDS in C#

Page 3: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Strumenti

• MS Project SDK 2003

go.microsoft.com/fwlink/?linkid=21722

Page 4: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

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

Page 5: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

EDM

• 3 tipi di servizio– Sincronizzazione dei dati delle risorse– Sincronizzazione dei membri del team– Sincronizzazione delle liste di custom field

Page 6: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

EDM (2)

• Scenario 1: accesso alle risorse– Occorre sincronizzare le risorse di Project Server

2003 con l’archivio di un sistema Human Resource (HR) con frequenza giornaliera.

– Ogni notte l’HR 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 all’XML ed effettua le chiamate PDS per aggiornare il pool di risorse enterprise (es. con ResourcesUpdate e ResourcesDeactivate)

Page 7: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

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

Page 8: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

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

Page 9: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Uso di file dropHKEY_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]

Page 10: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

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

Page 11: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Esempio

<Request> <ResourcesUpdate> <Resources> <Resource> <Name>EDM Tester</Name> </Resource> </Resources> </ResourcesUpdate></Request>

Page 12: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Risposta<Reply>

<AllSucceeded></AllSucceeded> <Conversations>

<Conversation> <Request></Request> <Reply></Reply> <Summary>

<STATUS></STATUS> <HRESULT></HRESULT>

</Summary> </Conversation> <Conversation>

<Request></Request> <Reply></Reply> <Request></Request> <Reply></Reply> -- can be multiple PDS requests and replies -- <Summary>

<STATUS></STATUS> <HRESULT></HRESULT>

</Summary> </Conversation>

</Conversations></Reply>

Page 13: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Uso di un client SOAPDim oSOAPClient As SoapClient30Dim sPDSRequest As StringDim sPDSReturnXML As StringDim sProjectServerURL As StringDim verbosity As Integer

sProjectServerURL = "http://servername/projectserver"verbosity = 3

Set oSOAPClient = New SoapClient30oSOAPClient.MSSoapInit sProjectServerURL & "/PDSBiz.wsdl"

sPDSRequest = "<Request><PDSInfo/></Request>“

sPDSReturnXML = oSOAPClient.submit(sProjectServerURL, _"User Account", "Account Password", _sPDSRequest, verbosity)

Page 14: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Uso di HTTP PostDim oXMLHttp As XMLHTTPDim sPDSRequest As StringDim sPDSReturnXML As StringDim sProjectServerURL as String

sProjectServerURL = "http://myserver/projectserver"Set oXMLHttp = New XMLHTTPoXMLHttp.open "POST", sProjectServerURL & _

"/logon/ADMRequest.asp", FalsesPDSRequest = GetRequest()‘ sintetizza la

‘ la richiesta XMLoXMLHttp.send sPDSRequestsPDSReturnXML = oXMLHttp.responseXML.xml

Page 15: Massimiliano Bosco – Aliware – Torino – info@aliware.it Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)

Riferimenti• download.microsoft.com

– MS Project Server 2003 Software Development Kit (SDK)• Siebel solution starter• mySAP connector

– MS Project 2003 Resource Kit

• Configurazione EDMhttp://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/pjsdk/html/pdsConfiguringServiceForEDM.asp

• Web servicesMOC 2524: Sviluppo di Web Services usando Visual Studio.NETMOC 2500: Programmazione XMLMOC 2349: Programmazione col framework .NET in C#MOC 2415: Programmazione col framework .NET in VB.NET