Hi,
Where can I find documents about the "out of the box" ARAS web services ? And what is the URL of the WDSL document for a standard ARAS server ?
I'm making some tries on using the ARAS web services and I want to adapt to ARAS the windchill/catia RIALTO macro :
http://www.plmlab.fr/index.php?page=rialto
If you have already done such a work with ARAS and any CAD system, your help will be very welcome.
Regards,
--
Pascal Morenton
pascal.morenton@ecp.fr
The best documentation to start is in the Just Ask Innovator help installed with Aras Innovator.
From the main menu, select Help --> Just Ask Innovator and them look under Innovator Administration\Web Services in the Contents of the help.
-Bill
Bill,
Many thanks for your quick answer. I found the web services help you mentioned.
But do standard ("out of the box") web services already exist for each new ARAS server ? Or do I create all the web services I'll need for my application ?
I successfully made the test with the example which is given in the section 11.3 of the programmer's guide. This example uses the "ApplyItem" web service which was already created. Do another web services exist ? Can I discover them with a WSDL document ?
Pascal
Pascal,
Essentially all of Aras Innovator is exposed at ./server/InnovatorServer.aspx but there is no WSDL. This is a standard interface, that you can use with the Innovator that you downloaded. But because there is only one object ("Item") exposed, it did not make sense to create a WSDL for this interface. However this one Item is an abstract for all of the business objects inside Innovator, so this is really a powerful concept.
You have 2 choices, create a WSDL following the instructions for any specific business objects you want to interface with. This WSDL can be used in any IDE to simply build a nice integration.... or spend an extra day or two learning the Aras AML tag set and how to send a SOAP message to InnovatorServer.aspx, and then all of Aras Innovator is open to you.
I have some sample projects on the Community site that show how to send SOAP messages from JS or a Windows App. THere is also a PHP example available.
Peter
Peter,
Ok, I get it !
Thanks for your help.
I assume that the "Arras Innovator Programmer's Guide" is the best document to discover the ARAS AML tag set. Isn't it ?
Yes, the Programmer's Guide is the best place to start. This has a rather in good technical explination how AML is constructed.
You may also want to attend one of our API classes. http://www.aras.com/university/
I made some tests which worked fine.
Now, next step for me is discovering the main data model for my need which is related to CAD data management. The administration section of innovator can help me to find the main ItemTypes and RelashionTypes I have to use. But a view of your conceptual data model (that you called IOM ?) would be also very helpful ! Even if the data model is not purely object oriented (as mentionned in the guide), a UML class diagram - for example - could represent the main "classes" (ItemTypes) and relationshipsTypes as Part, Part BOM, Document etc. If anyone can help me to identify the main types I have to use, he'll be very welcome !
Hello Pascal,
if you are only interested in accessing/customizing the parts of the Innovator solution responsible for product and CAD data management, the following simplified UML class diagram extracted from the innovator document (Just Ask Innovatro/Product engineering/Part) might help you:
As you can see above, a product consists of a set of models, each of which has a link to the part at the top of the BOM for this model. The class Part represents both a simple part and an assembly. The BOM is defined as a relation between parts (Part BOM). Further, a Part has a list of documents, which have associated files. Your native CAD files will therefore be loaded inside the Innovator server as a file-object and you can used the containing document -object to link them to a part in a BOM. The abstract class ItemType is the root for every classes in the diagram and defines some common attributes.
From another point of view, if you are interested in having deeper insight into the concepts used in Innovator, you should keep in mind that everything in Innovator is an Item, which in turn is an Instance of an Itemtype. So, i tried for a couple of months to define a metamodel for the modeling constructs used in Innovator. The following UML class diagram summarizes it:
The most impportant metaclasses are: ItemType and RelationshipType. An ItemType can be conceptually though of as been an abstract type, since each concrete ItemType has its implementation_type attribute set to either Single, Federated or Poly Item. A RelationshipType manages links to the related and the relating ItemType (the source of the relation) of the relationship as well as a link to an additional ItemType (the relationship ItemType), which can be used to store additional information on the RelationshipType. Conceptually a RelationshipType can be mapped to an association class in UML.
You will find in the programmer guide additional information as well as samples on how to access an ItemType and navigate through its structure. I hope, the diagrams above addressed your needs and will help you getting start with your application. For additional questions, feel free to ask.
Dear Fabrice (Am I right ? Is it your first name ?)
Many thanks for giving these informations and your UML diagrams which are very useful. I'm very glad of that and I'll examine in details your meta-model diagram.
On my side, I propose below an UML class diagram which maybe completes yours :
Am I right ? I guess that the next step will be : taking account of the versions of the items in this diagram.
Now, I have to discover how I can create "File" items and "Part File" relationship and upload the file content into the vault with using web serivces and AML. In fact, I want to complete that structure that were generated from a CATIA V5 cad model :
Can you help me or tell me where I can find informations on these topics ?
you are right. Fabrice is my first name :D. Thank you too for the more specific diagram. You guess it right, relationshiptype in Innovator are the same as association class in UML.
For creating, and loading files into an Innovator server, the following methods of an Item representing a file should help you:
checkout() --> Checkout a file to a directory
attachPhysicalFile() --> Load a file into a specified Vault inside an Innovator Server.
May be the first hurdle for you will be understanding how to access and navigate an Item programmatically. For that, try to read the programmer guide. If you already master it, having a reference to a document you want to add a file to, use the Innovator.newItem("File","add") method to create an file Item, then set its filename and actual_filename properties properly, then use the attachPhysicalFile method to load your native CAD-File in a specific vault. I think it should work.
Additionally, i found surfing the internet a document about an intregation of Aras Innovator and CATIA. Here is the link to the file:
http://www.aras.com/Partners/xPLM/xPLM%20Innovator-Catia-EN-2008-11-26_A4.pdf
Fabrice
Hi Fabrice,
Thanks for these informations and for the link to the xPLM connector which looks great.
For my previous question, keep in mind that I want only to use web services and a set of AML tags not the specific API I think you mentioned.
With web services and a set of AML tags, I already succeed in uploading a CAD model from CATIA V5 to the ARAS vault. It's very simple and I do appreciate this simplicity and the NASH interface to test some AML sets !
Now, I want to download the CAD model from the ARAS vault to the CATIA V5 session, still with web services and a set of AML tags. I have already the file ID. I guess I have to ask the server for an URL where I can download the file and launch a get HTTP request within this URL. But I found nothing in the documentation to do that.
4532.arashelp.docx
Hi Bill,
I am not able to find the Web-Services help at the following location :
Help --> Just Ask Innovator and them look under Innovator Administration\Web Services in the Contents of the help.
I have attached the screen shot of the contents visible in help from my instance of Aras.
Even you can create new web services, within a ARAS innovator "out of the box", only one web service is available : "ApplyItem". Using this web service allows sending a set of <AML> tags via a SOAP message . That way you can *** almost *** invoke all the methods of the API.
You'll find an example in VBa (for CATIA but don't care of that) there :
http://www.plmlab.fr/uploads/RIALTO/aras_ws.txt
It works fine and you can test your own <AML> sets with the NASH interface which is really a fancy and very usefull tool to discover <AML>.
But some methods seem to be not available thru the "Apply Item" web service. For example, the "checkout" method for a "File" Item can't be invoked via the web service. And it's a disaster for me because I want to create a file vault system thru ws :-).
As I'm a new comer in ARAS world, maybe I'm wrong. I hope so !
Regards
Hi Pascal -
When dealing with file checkin/checkout, it's important to understand that there can be multiple vault servers associated with a single Aras Innovator server. File requests should be sent directly to the vault server, which does the file operation then forwards the AML request to the application server. The normal client uses a .NET control to read/write to the client file system and send requests to the vault server. You could try re-using that control or form the multipart requests manually. Let me know which route you'd like to try and I'll see if I can dig up an example for you.
Regards -
Rob
Hi Rob,
Many thanks for these informations.
I want to download a file already created in a vault and I want to do that using a web service (ws).
To create the File and its document, the following <AML> tags set is sent with the "applyItem" ws
<Item type='Document' action='add'> <item_number>myNumber</item_number> <name>myName</name> <description>myDescription</description> <Relationships> <Item type='Document File' action='add'> <related_id> <Item type='File' action='add'> <actual_filename>completePathToTheFile</actual_filename> <filename>cadFile</filename> <Relationships> <Item type='Located' action='add'> <related_id> <Item type='vault' action='get'></Item> </related_id> </Item>" </Relationships> </Item> </related_id> </Item> </Relationships> </Item>
This set works fine : the document and the file items are created and my local file is uploaded to the vault.
My need now is to be able to download the file with a ws. But the "checkout" method can't be used in a <AML> tags set. For example, the following set doesn't work :
<AML><Item type="File" action="checkout"><id>54E3C58A9B4A439EA33AA920F1B76CAA</id></Item></AML>
I'm probably wrong because downloading a file from a vault is a basic service for a PDM system. Such a web service must be present in ARAS innovator !
Anyway, your help will be very welcome.