Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Stoneworks Software Corp. Presents Ambassador for DOORS What is Ambassador? The Ambassador is a proprietary service-oriented architecture (SOA) created by Stoneworks Software Corporation that facilitates the communication and data sharing between an IBM Rational DOORS® Server and any software product. What is a Web Service? • Defined by the W3C as "a software system designed to support interoperable machine-to-machine interaction over a network“ • They expose API of the operations offered by the service written in the Web Services Description Language (WSDL) • User Interfaces are provided by Implementation Our Service • Service API written in pure JAVA – Platform Independent • Can run as a Web Service or as a stand alone RMI Server. Ambassador SOA Framework DOORS Server DOORS DOORS Client Client Cache Envoy Service Ambassador Service for DOORS WSDL Delegate Service Client JAVA, C++, VB, Perl, etc Envoy Service DOORS Server DOORS DOORS Client Client Cache Envoy Service Ambassador Service for DOORS WSDL Delegate Service Client JAVA, C++, VB, Perl, etc Envoy Service • Manages DOORS Clients – Starts N DOORS Clients – Monitors QOS of DOORS Clients – Stops DOORS Clients • Handles request from the Ambassador Service for DOORS by creating DXL Scripts Dynamically and submitting the script to DOORS and waiting for DOORS to complete – The script generates XML • Transforms the XML response from DOORS into JAVA Objects that are returned to the Ambassador Dynamic DXL Script string dUn = "foo"; string outputPath = "C:\\Temp\\DOORSThread\\5094~-1417675888\\"; string outputFileName = "C:\\Temp\\DOORSThread\\5094~-1417675888\\out.xml"; string curUid = "00000000"; #include <stoneworks/RMLink/seeds/listContentByUid.inc> inc_listContentByUid(); DOORS XML <?xml version="1.0" encoding="ISO-8859-1"?> <rs id="00000000"> <el name='Project' id='00000001'> <attributes> <at name="Name"><![CDATA[New Car]]></at> <at name="FullName"><![CDATA[/New Car]]></at> <at name="Id"><![CDATA[00000001]]></at> <at name="ParentId"><![CDATA[00000000]]></at> <at name="Type"><![CDATA[Project]]></at> <at name="Path"><![CDATA[/]]></at> <at name="Description"><![CDATA[Initial Assessment of Requirements for a New Passenger Car]]></at> <at name="Url"><![CDATA[doors://doorsServer:36677/?version=1,prodID=0,dbid=4713b90735de1ad9,container=00000001]]></at> <at name="Description"><![CDATA[Initial Assessment of Requirements for a New Passenger Car]]></at> </attributes> </el> <el name='Project' id='00000002'> <attributes> <at name="Name"><![CDATA[Test System]]></at> <at name="FullName"><![CDATA[/Test System]]></at> <at name="Id"><![CDATA[00000002]]></at> <at name="ParentId"><![CDATA[00000000]]></at> <at name="Type"><![CDATA[Project]]></at> <at name="Path"><![CDATA[/]]></at> <at name="Description"><![CDATA[Testing of Avionics Systems]]></at> <at name="Url"><![CDATA[doors://doorsServer:36677/?version=1,prodID=0,dbid=4713b90735de1ad9,container=00000002]]></at> <at name="Description"><![CDATA[Testing of Avionics Systems]]></at> </attributes> </el> …. DOORS XML Cont. 'Folder' id='00000003'> <el name= <attributes> <at name="Name"><![CDATA[Test]]></at> <at name="FullName"><![CDATA[/Test]]></at> <at name="Id"><![CDATA[00000003]]></at> <at name="ParentId"><![CDATA[00000000]]></at> <at name="Type"><![CDATA[Folder]]></at> <at name="Path"><![CDATA[/]]></at> <at name="Description"><![CDATA[]]></at> <at name="Url"><![CDATA[doors://doorsServer:36677/?version=1,prodID=0,dbid=4713b90735de1ad9,container=00000003]]></at> <at name="Description"><![CDATA[]]></at> </attributes> </el> </rs> XML to JAVA Mapping default=com.cse.rmlink.doors.common.objects.DOORSObjectBean folder=com.cse.rmlink.doors.common.objects.DOORSFolderBean project=com.cse.rmlink.doors.common.objects.DOORSProjectBean formal=com.cse.rmlink.doors.common.objects.DOORSModuleBean baseline=com.cse.rmlink.doors.common.objects.DOORSBaselineBean object=com.cse.rmlink.doors.common.objects.DOORSRequirementBean cp=com.cse.rmlink.doors.common.objects.DOORSChangeProposalBean view=com.cse.rmlink.doors.common.objects.DOORSViewBean column=com.cse.rmlink.doors.common.objects.DOORSColumnBean history=com.cse.rmlink.doors.common.objects.DOORSHistoryBean Ambassador Service for DOORS DOORS Server DOORS DOORS Client Client Cache Envoy Service Ambassador Service for DOORS WSDL Delegate Service Client JAVA, C++, VB, Perl, etc Ambassador Service for DOORS • Manages – – – – – Sessions (License Consumption) Envoy Connections Cache File Transfers Load Balancing • Cache – Converts RTF from DOORS • Into Apache FOP XML • From FOP to HTML • From FOP to PDF – Converts Pictures from DOORS • Into JPG format API Delegate Service DOORS Server DOORS DOORS Client Client Cache Envoy Service Ambassador Service for DOORS WSDL Delegate Service Client JAVA, C++, VB, Perl, etc Delegate • Any programming language that supports Web Service Development – JAVA, C++, Visual Basic, Perl, etc. • Therefore most any existing 3rd party thin or thick application can leverage DOORS data and add value to their respective product WSDL and Stubs • The Ambassador service exposes a public WSDL that informs implementers of the available API and related Objects • This WSDL can be used to generate language specific Objects (Stubs) that facilitate communication with the remote service Simple JAVA Delegate Code RMLinkQueueServerIfc server = getRMLinkQueueServer(); String sessionId = server.login("Zm9vOmZvbw=="); // Base64 Encoded DOORSFolderBean root = server.getRootFolder(sessionId); DOORSResultSet set = server.listContents(sessionId, root); for (int i = 0; i < set.getSet().length; i++) { System.out.println(set.getSet()[i].getFullName()); } server.logout(sessionId); Simple JAVA Delegate Output /New Car /Test System /Test Questions? Contact Stoneworks Software for more information today! Our Partners Stoneworks Software Corp. Headquarters 7404 Executive Place Suite 102 Lanham MD USA 20706 Stoneworks Software Corp. O: 443.423.1246 F: 443.423.1246 Toll Free 1.877.761.1246 General Information Email [email protected] Website http://www.sws-corp.com