Skip to main content
1-Visitor
May 22, 2013
Question

Traceability between PTC Integrity and Enterprise Architect

  • May 22, 2013
  • 3 replies
  • 13819 views

Hi,

we want to create a connection between Integrity Items from PTC and packages/ elements from Enterprise Architect. Both tools have IDs with which they can be identified clearly. In the forum I read that there are several possibilities to get data out of PTC Integrity such as using command line scripting, running reports, using gateways, web services, API or trigger scripts.

My question is, which of these possibilities would you suggest when you want to connect one integrity item with one or more Enterprise Architect package/s or element/ s. Is there a way using a standard feature of PTC Integrity which helps the developer to get that task done with less changes in Integrity or do you suggest a self-made program which writes in each tool the specific ID/s from the opponent's tool to help the user for example to find the suitable UML diagram in the Enterprise Architect for an already open requirement integrity item of PTC Integrity faster?

Thanking you in anticipation.

Regards

Dan

    3 replies

    16-Pearl
    May 23, 2013

    Hi Dan,

    there is a server based "tool" called "IIP" (Integrity Integration Platform) sold by PTC that seems to fit your needs.

    Basically it's a web server (tomcat) that plays the "man in the middle" role by utilizing the Integrity and Enterprise Architect web services to syncronize/link Items between different tools.

    There are several "adapters" available that implement the connection to 3rd Party tools like Enterprse Architect or DOORS.

    As far as I know all you need to add in your Integrity Setup is a "External ID" field.

    The mapping is done on the IIP server.

    For deeper info you should call you local PTC support team.

    HTH Matthias

    1-Visitor
    May 27, 2013

    Hi Matthias,

    thx for your answer. Your idea of using the web services sounds great, the only problem is, that our Enterprise Architect is not using a server but a client solution and you said, that both parts communicate via web service, which means a server is inevitable on both sides (or was this conclusion wrong). Furthermore I searched the web for further requirements of IIP and found only the marketing pages of PTC & not helpful pages, but as long as the EA is realized by a client solution, that should be secondary.

    That means, the remaining way is using the API of PTC Integrity in combination with command line orders to add information to the desired integrity item/s (is that way makeable or am I reaching a dead end, when I try to add information to two or more integrity items by a cli command). For the first version it would be great if the automated information add from EA to Integrity works, the second one should realize the same thing but from the other direction.

    Which further manuals (in addition to the integrations builder guide and the cli reference for workflows documents for the cli commands) would you suggest for solving that task?

    Regards

    Dan

    16-Pearl
    May 27, 2013

    Hi Dan,

    I'd recommend the Integrity java API (due to personal experience).

    During the years I did several tools that exchange data from a 3rd Party SW like MS-Project, Word or Excel in VBA and the CLI underneath, which was sometimes a real pain.

    The CLI is often tricky when it comes to formatting/special characters and other things.

    You should ask yourself whether you want create a kind of Plugin in EA (if that is possible), a Plugin in Integrity Client (which is possible) or a separate application that utilizes the EA datamodel and the Integrity API or Webservices.

    The editing of several Items "at once" is possible in Integrity anyway, all you need are the correct MKS IDs.

    Regarding the manuals you've named all the stars. Now all might need to start is some deeper understanding of the interity setup. Your Integrity Admin might help in that.

    HTH

    Good Luck

    Matthias

    1-Visitor
    September 11, 2013

    Hi,

    the current state of the solution is the following one:

    - C# in Visual Studio has the correct reference to the webservice of Integrity

    and the suitable namespace is also defined.

    - A user dialogue, which asks for the credentials (username & password), is

    also realized and gives back an error, if something is not correctly typed in.

    - If a field type is used in the code, which doesn't exist in Integrity, an

    error message is returned. An error message is also returned, when a not

    existing or wrong item ID is used in the code. (This conclude, that the

    connection to the Integrity webservice probably works, otherwise the

    programm wouldn't be able to know, whether the ID or field type is wrong or not.)

    The problem at the moment is the following one:

    - The input object for getItemsByIDs gets the correct data, but the output object

    getItemsByIDsResponse returns only the Integrity ID and nothing else more.

    First part of code:

    getItemsByIDs gibi = new getItemsByIDs();

    GetItemsByIDsType gibit = new GetItemsByIDsType();

    gibit.ItemId= new string[] {"2219"};

    gibit.Username = client.ClientCredentials.UserName.UserName;

    gibit.Password = client.ClientCredentials.UserName.Password;

    string[] field = new string[] { "Text" };

    gibit.InputField = field;

    gibit.Name = "Test";

    gibi.arg0 = gibit;

    Second part of code embraced in a try catch block to get error messages in case of

    false entries back (here should more information return than only the Integrity ID):

    getItemsByIDsResponse gibResponse = client.getItemsByIDs(gibi);

    Regards

    Dan

    PS: An idea to improve the forum: Don't make the text box size a little smaller, each time

    someone answers, because after enough answers refering to the previous poster the place to

    write gets scarce.

    1-Visitor
    October 19, 2015

    I was able to integrate EA with Integrity. It works vey much like the integration with Mathworks Simulink. It requires a surrogate model in Integrity. It allows you to create links from EA to the surrogate and from your Integrity models to the surrogate. Thus a bridge "model document" is used. This requires some modification to the server configuration. PTC has the knowledge to make this happen easily for users - like they did for Simulink - however I think the purchase of their new modeling tool from Atego has meant their support of this effort has waned... This is unfortunate for customers that don't want to purchase new tools for modeling.

    17-Peridot
    August 23, 2015

    Hi All,

    if someone really wants to build the integration by hand, what about the following google search results?

    1. Java Add-Ins Programmieren für den Enterprise Architect ...

    2. Enterprise Architect Datenmodell (EA API) « Enterprise ...

    3. SDK for Enterprise Architect

    The first two links are in German, but I think the concept is well described. (Otherwise take the third and search for "Java")

    EA offers a Java API, why not using it?

    And one more question to understand the topic correctly: in your scenario, which is the primary and leading application for all requirements? Is this EA or PTC Integrity?

    Regards, Volker