Skip to content

Commit 4232e91

Browse files
committed
Polishing figures
1 parent 56c37fc commit 4232e91

File tree

8 files changed

+4990
-6
lines changed

8 files changed

+4990
-6
lines changed

jsondiscoverer.web/WebContent/app/partials/documentation.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ <h2>Content</h2>
66
<li><a href="" ng-click="scrollTo('doc-problem')">Problem</a></li>
77
<li><a href="" ng-click="scrollTo('doc-simple')">Simple Discoverer</a></li>
88
<li><a href="" ng-click="scrollTo('doc-advanced')">Advanced Discoverer</a></li>
9-
<li><a href="" ng-click="scrollTo('doc-composer')">Composer</a></li>
9+
<li><a href="" ng-click="scrollTo('doc-composer')">API Composer</a></li>
1010
<li><a href="" ng-click="scrollTo('doc-backend')">The Backend</a></li>
1111
</div>
1212

@@ -43,7 +43,7 @@ <h2 id="doc-problem">The problem</h2>
4343
<ul>
4444
<li><strong><a href="#/simple">Simple discovery</a></strong>, which discovers the schema (and data models) from a JSON document.
4545
<li><strong><a href="#/advanced">Advanced discovery</a></strong>, which discovers the schema (and data models) from a set of JSON-based services. First, the schema of each JSON-based service is discovered (by using the simple discoverer), then the resulting schemas are composed to obtain a general one.
46-
<li><strong><a href="#/composer">Composer</a></strong>, which takes a set of API schemas, looks for composition links (i.e., common concepts or attributes) and generates a composition graph. The result is used to assist developers to compose APIs. The tool currently incoporates a sequence diagram generator to visualize API compositions.
46+
<li><strong><a href="#/composer">API Composer</a></strong>, which takes a set of API schemas, looks for composition links (i.e., common concepts or attributes) and generates a composition graph. The result is used to assist developers to compose APIs. The tool currently incoporates a sequence diagram generator to visualize API compositions.
4747
</li>
4848
</ul>
4949
</div>
@@ -127,9 +127,9 @@ <h2 id="doc-advanced">The Advanced Discoverer</h2>
127127
</div>
128128

129129
<div class="row">
130-
<h2 id="doc-composer">The Composer</h2>
130+
<h2 id="doc-composer">The API Composer</h2>
131131
<div class="col-md-12">
132-
<p>The composer approach applies a discovery process which first analyzes the schema behind each involved API (using the simple and advanced discoverers) and then takes the discovered schemas to obtain composition links. The discovered information is used to render a graph to assist developers to compose APIs. For instance, sequence diagrams are curretnly generated to visualize API compositions. </p>
132+
<p>The API composer applies a discovery process which first analyzes the schema behind each involved API (using the simple and advanced discoverers) and then takes the discovered schemas to obtain composition links. The discovered information is used to render a graph to assist developers to compose APIs. For instance, sequence diagrams are curretnly generated to visualize API compositions. </p>
133133
<p>Composition links among APIs are discovered by means of matching concepts among their schemas and analyzing whether they are part of the input parameters of API services. We have currently defined the following rules:</p>
134134
</div>
135135
</div>
@@ -176,7 +176,7 @@ <h2 id="doc-composer">The Composer</h2>
176176
<h2 id="doc-backend">The Backend</h2>
177177
<div class="col-md-12">
178178
<p>The tool provides a Java-based backend, which implements the functionalities commented before The main classes included in the backend are shown in the figure below. The backend defines a set of classes to represent JSON documents (see <code>AbstractJsonSource</code> hierarchy) returned by JSON-based Web services. They are called JSON sources and range from single JSON documents (i.e., <code>SingleJsonSource</code>) to a set of them (i.e., <code>JsonSourceSet</code>). JSON sources can also define the input of the service (i.e., <code>withInput</code>) if it is given as a JSON document. The parsing and management of JSON data is performed by using the <a href="https://github.com/google/gson">GSON library</a>. </p>
179-
<p>The main functionalities provided by the tool are implemented in their corresponding classes. The simple discoverer is implemented by the classes <code>JsonSimpleDiscoverer</code> and <code>JsonInjector</code>, which provide the discovery of the schema and the data model, respectively. The advanced discoverer is implemented by the classes <code>JsonAdvancedDiscoverer</code>. Finally, the composer discovery is implemented by the class <code>JsonComposer</code>. Other classes not included in the Figure for the sake of simplicity are in charge of managing the coverage information, the management of models (i.e., loading and saving) and the sequence diagram generator. Our solution leverages on the modeling technology to represent the API schemas and the data models. In particular, the tool uses the <a href="https://eclipse.org/modeling/emf/">Eclipse Modeling Framework (EMF)</a></code>.
179+
<p>The main functionalities provided by the tool are implemented in their corresponding classes. The simple discoverer is implemented by the classes <code>JsonSimpleDiscoverer</code> and <code>JsonInjector</code>, which provide the discovery of the schema and the data model, respectively. The advanced discoverer is implemented by the classes <code>JsonAdvancedDiscoverer</code>. Finally, the API composer is implemented by the class <code>JsonComposer</code>. Other classes not included in the Figure for the sake of simplicity are in charge of managing the coverage information, the management of models (i.e., loading and saving) and the sequence diagram generator. Our solution leverages on the modeling technology to represent the API schemas and the data models. In particular, the tool uses the <a href="https://eclipse.org/modeling/emf/">Eclipse Modeling Framework (EMF)</a></code>.
180180
<p>The backend is made web-accessible by means of a set of servlets giving access to the classes implementing the core functionalities. The resulting web API allows using the developed service on any website. The first use of this web API is this webpage itself. </p>
181181
<p class="text-center">
182182
<img style="margin-bottom: 20px; padding:10px;" class="img-thumbnail" src="images/doc-architecture.png" alt="Architecture of the tool"/>
-11.8 KB
Loading

0 commit comments

Comments
 (0)