Download Ambassador Service For DOORS - Stoneworks Software Corporation

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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
Related documents