<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gaea Global Technologies &#187; Oracle Primavera</title>
	<atom:link href="http://www.gaeaglobal.com/archives/category/blog/oracle-applications/oracle-primavera/feed" rel="self" type="application/rss+xml" />
	<link>http://www.gaeaglobal.com</link>
	<description>THE ORACLE PRIMAVERA AND VALUE CHAIN EXPERTS</description>
	<lastBuildDate>Wed, 26 May 2010 02:52:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Primavera Web Services &#8211; lessons learned</title>
		<link>http://www.gaeaglobal.com/archives/649</link>
		<comments>http://www.gaeaglobal.com/archives/649#comments</comments>
		<pubDate>Tue, 22 Sep 2009 13:40:10 +0000</pubDate>
		<dc:creator>sury</dc:creator>
				<category><![CDATA[Oracle Primavera]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[primavera]]></category>
		<category><![CDATA[webservices]]></category>

		<guid isPermaLink="false">http://www.gaeaglobal.com/?p=649</guid>
		<description><![CDATA[We have used Primavera 6.0 + API&#8217;s and webservices extensively to integrate Primavera with multiple systems. Some of the key learnings in developing integrations are captured in the blog. 
As with any integration, the key is design, design , design. The Primavera programming team has done a tremendous job of documenting the API&#8217;s and the [...]]]></description>
			<content:encoded><![CDATA[<p>We have used Primavera 6.0 + API&#8217;s and webservices extensively to integrate Primavera with multiple systems. Some of the key learnings in developing integrations are captured in the blog. </p>
<p>As with any integration, the key is design, design , design. The Primavera programming team has done a tremendous job of documenting the API&#8217;s and the Webservices (WSDL&#8217;s). Personally if there is some more documentation on the XSD, it will be great but overall there is a wealth of information that can be read through and coded against. </p>
<p>Designing a Webservices integration forces you to think of the network and the amount of data sent over the wire in every call. The goal of any good webservice client is to minimize chatter and a good design will force the integration to do that effectively. </p>
<p><span id="more-649"></span><br />
The big leap in designing integration applications on the P6 webservice stack for exchange of project data is to use the ImportService and ExportService provided by Primavera. </p>
<p>The first part of this series will detail on using the ImportService. The figure below shows a typical flow on how to use the import service.<br/><br/>  </p>
<p><img src="http://www.gaeaglobal.com/wp-content/uploads/2009/09/ProgrammingApproachForImportService.png" alt="Using Primavera Project Import Service" /><br />
<br/><br/></p>
<p>On the face of it the import service simply expects an XML file, set a few options and import the project.  The key assumption is for the import service to work properly, the XML file that you construct has to have referential integrity within itself in terms of specifying relationships between objects that are part of the XML. There are multiple ways to create an XML file and to discuss all the approaches is way beyond the scope of this article. </p>
<p>The easiest way to generate an XML that the import service will understand is to create it using the classes that have been generated using the Primavera schema and supplied as part of the P6 webservices deployment.  As long as you are familiar with the relationships between these classes, it is quite trivial to create a tree of objects from these classes and use a &#8216;marshaller&#8217; to output an XML. </p>
<p>The Project ImportService has two interesting options on how to import classes of objects. Primavera has two classes of objects &#8211;  Global Business Objects and Project Business Objects. Global Business Objects are objects that are shared across projects (e.g. Resources, Roles, Admin Categories etc.). Project Business Objects are specific to the project that you are importing.   </p>
<p>The import service has two methods &#8211; one for creating a project and one for updating a project. </p>
<p>In Primavera, every project needs an Enterprise Project Structure Node. You can either store the default (where all your imported projects should go to) in your application or  ask the user to specify an EPS node of their choice. The internal Id of this EPS object is needed to create a project in Primavera. </p>
<p>If you are planning to update an existing project, you need the existing &#8216;object id&#8217; of the project that you are going to update. </p>
<p>Happy Importing! </p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share this article :</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow" id="del.icio.us" target="_blank" href="javascript:window.location='http%3A%2F%2Fdelicious.com%2Fpost%3Furl%3Dhttp%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649%26amp%3Btitle%3DPrimavera%2520Web%2520Services%2520-%2520lessons%2520learned%2520%26amp%3Bnotes%3DWe%2520have%2520used%2520Primavera%25206.0%2520%252B%2520API%2527s%2520and%2520webservices%2520extensively%2520to%2520integrate%2520Primavera%2520with%2520multiple%2520systems.%2520Some%2520of%2520the%2520key%2520learnings%2520in%2520developing%2520integrations%2520are%2520captured%2520in%2520the%2520blog.%2520%250D%250A%250D%250AAs%2520with%2520any%2520integration%252C%2520the%2520key%2520is%2520design%252C%2520design%2520%252C%2520desig';" title="del.icio.us"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="digg" target="_blank" href="javascript:window.location='http%3A%2F%2Fdigg.com%2Fsubmit%3Fphase%3D2%26amp%3Burl%3Dhttp%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649%26amp%3Btitle%3DPrimavera%2520Web%2520Services%2520-%2520lessons%2520learned%2520%26amp%3Bbodytext%3DWe%2520have%2520used%2520Primavera%25206.0%2520%252B%2520API%2527s%2520and%2520webservices%2520extensively%2520to%2520integrate%2520Primavera%2520with%2520multiple%2520systems.%2520Some%2520of%2520the%2520key%2520learnings%2520in%2520developing%2520integrations%2520are%2520captured%2520in%2520the%2520blog.%2520%250D%250A%250D%250AAs%2520with%2520any%2520integration%252C%2520the%2520key%2520is%2520design%252C%2520design%2520%252C%2520desig';" title="Digg"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="facebook" target="_blank" href="javascript:window.location='http%3A%2F%2Fwww.facebook.com%2Fshare.php%3Fu%3Dhttp%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649%26amp%3Bt%3DPrimavera%2520Web%2520Services%2520-%2520lessons%2520learned%2520';" title="Facebook"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="google" target="_blank" href="javascript:window.location='http%3A%2F%2Fwww.google.com%2Fbookmarks%2Fmark%3Fop%3Dedit%26amp%3Bbkmk%3Dhttp%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649%26amp%3Btitle%3DPrimavera%2520Web%2520Services%2520-%2520lessons%2520learned%2520%26amp%3Bannotation%3DWe%2520have%2520used%2520Primavera%25206.0%2520%252B%2520API%2527s%2520and%2520webservices%2520extensively%2520to%2520integrate%2520Primavera%2520with%2520multiple%2520systems.%2520Some%2520of%2520the%2520key%2520learnings%2520in%2520developing%2520integrations%2520are%2520captured%2520in%2520the%2520blog.%2520%250D%250A%250D%250AAs%2520with%2520any%2520integration%252C%2520the%2520key%2520is%2520design%252C%2520design%2520%252C%2520desig';" title="Google Bookmarks"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="myspace" target="_blank" href="javascript:window.location='http%3A%2F%2Fwww.myspace.com%2FModules%2FPostTo%2FPages%2F%3Fu%3Dhttp%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649%26amp%3Bt%3DPrimavera%2520Web%2520Services%2520-%2520lessons%2520learned%2520';" title="MySpace"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="pdf" target="_blank" href="javascript:window.location='http%3A%2F%2Fwww.printfriendly.com%2Fprint%3Furl%3Dhttp%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649%26amp%3Bpartner%3Dsociable';" title="Turn this article into a PDF!"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/pdf.png" title="Turn this article into a PDF!" alt="Turn this article into a PDF!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="print" target="_blank" href="javascript:window.location='http%3A%2F%2Fwww.printfriendly.com%2Fprint%3Furl%3Dhttp%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649%26amp%3Bpartner%3Dsociable';" title="Print this article!"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print this article!" alt="Print this article!" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="stumbleupon" target="_blank" href="javascript:window.location='http%3A%2F%2Fwww.stumbleupon.com%2Fsubmit%3Furl%3Dhttp%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649%26amp%3Btitle%3DPrimavera%2520Web%2520Services%2520-%2520lessons%2520learned%2520';" title="StumbleUpon"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow" id="twitter" target="_blank" href="javascript:window.location='http%3A%2F%2Ftwitter.com%2Fhome%3Fstatus%3DPrimavera%2520Web%2520Services%2520-%2520lessons%2520learned%2520%2520-%2520http%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649';" title="Twitter"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow" id="technorati" target="_blank" href="javascript:window.location='http%3A%2F%2Ftechnorati.com%2Ffaves%3Fadd%3Dhttp%253A%252F%252Fwww.gaeaglobal.com%252Farchives%252F649';" title="Technorati"><img src="http://www.gaeaglobal.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gaeaglobal.com/archives/649/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
