Topic
  • 8 replies
  • Latest Post - ‏2013-10-31T21:21:45Z by durnek60
durnek60
durnek60
5 Posts

Pinned topic Communicating with Doors Server

‏2013-10-25T19:57:08Z |

Hi,

I have been looking for a good topic about interfacing Doors Server without any success so I start a thread. I would like to communicate with Rational Doors server version 9.5 from C#. I am using the trial version of DOORS via RDP and I would like to connect to the remote (trial) Doors server from home.

I have tried the DOORSCOMLib.DOORSClass.runStr() COM solution on the remote host where the Doors Server is installed but It does not help me.

Could you help me what tools are exists to help me in my project or any forum link / API documentation?

Thank you for your reply, 

Updated on 2013-10-25T19:59:39Z at 2013-10-25T19:59:39Z by durnek60
  • ChrisHardy68
    ChrisHardy68
    35 Posts
    ACCEPTED ANSWER

    Re: Communicating with Doors Server

    ‏2013-10-30T22:45:28Z  
    • durnek60
    • ‏2013-10-30T18:34:11Z

    Hello again,

    Thank you for your answers, you are really helpful. Thank you again.

    Let me attach a picture, that may express my problem a bit more.

    As far as I understand, the DOORs Client can be installed on a different platform, in our case a laptop. Regarding the communication in this case, I can interface the DOORs Client directly on my Laptop with runStr(SOME_DXL_STATEMENTS) and similar methods and the Client communicates with the remote DOORS Server. 

    Is my theory right? :) 

     

    Edit: On the right side, only server is running not any Client. Sry...

    Hi

    Your assessment is correct, no client needs to run on the server, just the DOORS server service.

    2 things you should be aware of:

    1: DOORS is a "thick client" architecture - the majority of the processing is done on the client not the server. This means that when ever you open a module all the data for that module is copied to the DOORS client for processing.

    2: DOORS itself is not well suited to run on a WAN. See the following website for details and notes on performance and "ping times"

    http://www-01.ibm.com/support/docview.wss?uid=swg21324458

    Hope that helps

  • ChrisHardy68
    ChrisHardy68
    35 Posts
    ACCEPTED ANSWER

    Re: Communicating with Doors Server

    ‏2013-10-31T20:59:36Z  
    • durnek60
    • ‏2013-10-31T17:34:03Z

    Thank you for your detailed answer. And before I accept it as solution I have only one question left.

    Right now, I can establish connection between server and client, but this is only the first part of the project.

    I would like to "GET" and "SET" requirements from DOORs server via DOORs Client. In SQL "GET" refers to a SELECT statement, and lets assume SET refers to UPDATE. I would like to update some cell values in a project and also get all the requirements from a project. I would like to achieve this basic functionality. I am reading DXL Reference Manual hoping find some useful info in it, but I am very new in DXL. Also I found a topic called:  Requirements Interchange Format. Is that what I have to use?

    I think it is better to ask you (more skilled dxl users) rather than spending my weekend on reading this manual. :)

    Thanks,

    Hi,

    This should be possible to do but please understand the following:

    1: DOORS runs on a proprietary database and does not use SQL

    2. A doors database is made up of Projects and Folders which can contain sub Projects and Folders and modules

    Modules are DOORS equivalent of documents

    Modules are made up of Objects. Objects contain data which may be requirements info

    Objects have attributes which contain additional data

    So in the term s you mentions - Requirements are objects in a specific module

    Cells are attributes of an Object

    So in DXl you need to find the specific module you are interested in and the select and update the specific objects.

    I would strongly recommend the looking into a DOORS DXL course

    3: Requirements Interchange Format (RIF or ReqIF) is a method of exporting info in and out of requirements management tools

    The format of the files created is in XML

    Don't know if any of this helps but should give you a basic understanding of how DOORS handles data

     

     

    Updated on 2013-10-31T21:00:40Z at 2013-10-31T21:00:40Z by ChrisHardy68
  • llandale
    llandale
    648 Posts

    Re: Communicating with Doors Server

    ‏2013-10-28T19:03:27Z  

    You want to not use the DOORS client and chat with the DOORS server directly?  MM here has proved the concept and posted a couple years ago, getting some "I'm here" response.  Besides that, I doubt anybody has ever done that and extracted actual database information for productive use.  Don't go there; the bridge is wrickety and has lots of trolls under it.

    I think perhaps you want "C#" to communicate with a local DOORS client which communicates with the server.  Generally, the "C#" would invoke DOORS and get a handle on it, then command it to run DXL scripts (snippets) and return results.   I note the "runStr()" command is for doing what I said, communicating with the DOORS client.  Even when run on the server machine housing the DOORS service, it still requires the DOORS client to be running. 

    Someone may correct me, but I'm pretty sure your program would generically invoke DOORS with a user and password, wait a bit, then get a Handle on "the" running DOORS client.

    -Louie

  • durnek60
    durnek60
    5 Posts

    Re: Communicating with Doors Server

    ‏2013-10-30T16:36:49Z  
    • llandale
    • ‏2013-10-28T19:03:27Z

    You want to not use the DOORS client and chat with the DOORS server directly?  MM here has proved the concept and posted a couple years ago, getting some "I'm here" response.  Besides that, I doubt anybody has ever done that and extracted actual database information for productive use.  Don't go there; the bridge is wrickety and has lots of trolls under it.

    I think perhaps you want "C#" to communicate with a local DOORS client which communicates with the server.  Generally, the "C#" would invoke DOORS and get a handle on it, then command it to run DXL scripts (snippets) and return results.   I note the "runStr()" command is for doing what I said, communicating with the DOORS client.  Even when run on the server machine housing the DOORS service, it still requires the DOORS client to be running. 

    Someone may correct me, but I'm pretty sure your program would generically invoke DOORS with a user and password, wait a bit, then get a Handle on "the" running DOORS client.

    -Louie

    Dear Louie,

    Thank you for your answer. After some days spent on reading forum threads I can finally understand that I can communicate with DOORs server via DOORs Client. On the IBM site there is a possibility to try DOORs by connecting to a remote pc for 4 hours. This time period is perfect for trying tools on it.

    Actually, I would like to send and receive data from DOORs remotely over WAN.

    Please correct me if I am wrong:

    In this situation I have to install my DOORs Client to the remote PC and I can interface this Client with any .NET application. And the TCP/IP communication between DOORs Client and DOORs Server done automatically?   

    Looking forward your reply. Thank you

  • llandale
    llandale
    648 Posts

    Re: Communicating with Doors Server

    ‏2013-10-30T17:55:21Z  
    • durnek60
    • ‏2013-10-30T16:36:49Z

    Dear Louie,

    Thank you for your answer. After some days spent on reading forum threads I can finally understand that I can communicate with DOORs server via DOORs Client. On the IBM site there is a possibility to try DOORs by connecting to a remote pc for 4 hours. This time period is perfect for trying tools on it.

    Actually, I would like to send and receive data from DOORs remotely over WAN.

    Please correct me if I am wrong:

    In this situation I have to install my DOORs Client to the remote PC and I can interface this Client with any .NET application. And the TCP/IP communication between DOORs Client and DOORs Server done automatically?   

    Looking forward your reply. Thank you

    I don't know anything about the internals of PC communication and so don't understand your question.  But I know the following about DOORS.

    You install the DOORS client on some computer and define it's default data to point to a particular DOORS service database.  The (home) Client interfaces with the (remote) Service.  If you can log into that computer, you can use the DOORS client, either with the GUI, Batch, or with some external program sending the DOORS client commands.  Typically the "computer" is a PC, but if it is a server then you could use Citrix or RDC to get to the client.

    the "commands" you send the client are in the form of DXL, a full "script" or perhaps snippette.  If you want back and forth communication, the DXL will need to "send" results back; typically a string.  You could also have it create some windows file or whatever.

    -Louie

  • durnek60
    durnek60
    5 Posts

    Re: Communicating with Doors Server

    ‏2013-10-30T18:34:11Z  
    • llandale
    • ‏2013-10-30T17:55:21Z

    I don't know anything about the internals of PC communication and so don't understand your question.  But I know the following about DOORS.

    You install the DOORS client on some computer and define it's default data to point to a particular DOORS service database.  The (home) Client interfaces with the (remote) Service.  If you can log into that computer, you can use the DOORS client, either with the GUI, Batch, or with some external program sending the DOORS client commands.  Typically the "computer" is a PC, but if it is a server then you could use Citrix or RDC to get to the client.

    the "commands" you send the client are in the form of DXL, a full "script" or perhaps snippette.  If you want back and forth communication, the DXL will need to "send" results back; typically a string.  You could also have it create some windows file or whatever.

    -Louie

    Hello again,

    Thank you for your answers, you are really helpful. Thank you again.

    Let me attach a picture, that may express my problem a bit more.

    As far as I understand, the DOORs Client can be installed on a different platform, in our case a laptop. Regarding the communication in this case, I can interface the DOORs Client directly on my Laptop with runStr(SOME_DXL_STATEMENTS) and similar methods and the Client communicates with the remote DOORS Server. 

    Is my theory right? :) 

     

    Edit: On the right side, only server is running not any Client. Sry...

    Attachments

    Updated on 2013-10-30T18:38:27Z at 2013-10-30T18:38:27Z by durnek60
  • ChrisHardy68
    ChrisHardy68
    35 Posts

    Re: Communicating with Doors Server

    ‏2013-10-30T22:45:28Z  
    • durnek60
    • ‏2013-10-30T18:34:11Z

    Hello again,

    Thank you for your answers, you are really helpful. Thank you again.

    Let me attach a picture, that may express my problem a bit more.

    As far as I understand, the DOORs Client can be installed on a different platform, in our case a laptop. Regarding the communication in this case, I can interface the DOORs Client directly on my Laptop with runStr(SOME_DXL_STATEMENTS) and similar methods and the Client communicates with the remote DOORS Server. 

    Is my theory right? :) 

     

    Edit: On the right side, only server is running not any Client. Sry...

    Hi

    Your assessment is correct, no client needs to run on the server, just the DOORS server service.

    2 things you should be aware of:

    1: DOORS is a "thick client" architecture - the majority of the processing is done on the client not the server. This means that when ever you open a module all the data for that module is copied to the DOORS client for processing.

    2: DOORS itself is not well suited to run on a WAN. See the following website for details and notes on performance and "ping times"

    http://www-01.ibm.com/support/docview.wss?uid=swg21324458

    Hope that helps

  • durnek60
    durnek60
    5 Posts

    Re: Communicating with Doors Server

    ‏2013-10-31T17:34:03Z  

    Hi

    Your assessment is correct, no client needs to run on the server, just the DOORS server service.

    2 things you should be aware of:

    1: DOORS is a "thick client" architecture - the majority of the processing is done on the client not the server. This means that when ever you open a module all the data for that module is copied to the DOORS client for processing.

    2: DOORS itself is not well suited to run on a WAN. See the following website for details and notes on performance and "ping times"

    http://www-01.ibm.com/support/docview.wss?uid=swg21324458

    Hope that helps

    Thank you for your detailed answer. And before I accept it as solution I have only one question left.

    Right now, I can establish connection between server and client, but this is only the first part of the project.

    I would like to "GET" and "SET" requirements from DOORs server via DOORs Client. In SQL "GET" refers to a SELECT statement, and lets assume SET refers to UPDATE. I would like to update some cell values in a project and also get all the requirements from a project. I would like to achieve this basic functionality. I am reading DXL Reference Manual hoping find some useful info in it, but I am very new in DXL. Also I found a topic called:  Requirements Interchange Format. Is that what I have to use?

    I think it is better to ask you (more skilled dxl users) rather than spending my weekend on reading this manual. :)

    Thanks,

  • ChrisHardy68
    ChrisHardy68
    35 Posts

    Re: Communicating with Doors Server

    ‏2013-10-31T20:59:36Z  
    • durnek60
    • ‏2013-10-31T17:34:03Z

    Thank you for your detailed answer. And before I accept it as solution I have only one question left.

    Right now, I can establish connection between server and client, but this is only the first part of the project.

    I would like to "GET" and "SET" requirements from DOORs server via DOORs Client. In SQL "GET" refers to a SELECT statement, and lets assume SET refers to UPDATE. I would like to update some cell values in a project and also get all the requirements from a project. I would like to achieve this basic functionality. I am reading DXL Reference Manual hoping find some useful info in it, but I am very new in DXL. Also I found a topic called:  Requirements Interchange Format. Is that what I have to use?

    I think it is better to ask you (more skilled dxl users) rather than spending my weekend on reading this manual. :)

    Thanks,

    Hi,

    This should be possible to do but please understand the following:

    1: DOORS runs on a proprietary database and does not use SQL

    2. A doors database is made up of Projects and Folders which can contain sub Projects and Folders and modules

    Modules are DOORS equivalent of documents

    Modules are made up of Objects. Objects contain data which may be requirements info

    Objects have attributes which contain additional data

    So in the term s you mentions - Requirements are objects in a specific module

    Cells are attributes of an Object

    So in DXl you need to find the specific module you are interested in and the select and update the specific objects.

    I would strongly recommend the looking into a DOORS DXL course

    3: Requirements Interchange Format (RIF or ReqIF) is a method of exporting info in and out of requirements management tools

    The format of the files created is in XML

    Don't know if any of this helps but should give you a basic understanding of how DOORS handles data

     

     

    Updated on 2013-10-31T21:00:40Z at 2013-10-31T21:00:40Z by ChrisHardy68
  • durnek60
    durnek60
    5 Posts

    Re: Communicating with Doors Server

    ‏2013-10-31T21:21:45Z  

    Hi,

    This should be possible to do but please understand the following:

    1: DOORS runs on a proprietary database and does not use SQL

    2. A doors database is made up of Projects and Folders which can contain sub Projects and Folders and modules

    Modules are DOORS equivalent of documents

    Modules are made up of Objects. Objects contain data which may be requirements info

    Objects have attributes which contain additional data

    So in the term s you mentions - Requirements are objects in a specific module

    Cells are attributes of an Object

    So in DXl you need to find the specific module you are interested in and the select and update the specific objects.

    I would strongly recommend the looking into a DOORS DXL course

    3: Requirements Interchange Format (RIF or ReqIF) is a method of exporting info in and out of requirements management tools

    The format of the files created is in XML

    Don't know if any of this helps but should give you a basic understanding of how DOORS handles data

     

     

    Thank you very much! You are great! ;)