SDK (Java): Difference between revisions

From Tygron Preview Support Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
The {{software}} offers an [[API]], which allows external application to interact with it. However, the specific options available via the API are not always intuitively relatable to specific operations when using the client application. To compensate for this, the SDK wraps a number of these operations into more human-understandable functions. In addition, it provides functionality to handle some of the complexity related to obtaining, storing, updating and using data present in the {{software}}.
Te Java SDK is a [[Software Development Kit]] written in and for Java, developed in lockstep with the {{software}} itself. It is used internally for the development of the client application, by communicating via the [[API]].


==Getting started with the SDK==
===Obtain and use===
At this time, the SDK is only available for Java, and is still in development. The recommended IDE is [https://eclipse.org/ Eclipse], although other developments environments can be used as well.
The SDK is freely available via the API of the {{software}}. For the LTS-compatible version, it can be found in the following location:


===Obtaining the SDK===
https://engine.tygron.com/api/developer/.  
The SDK is freely available from https://engine.tygron.com/api/developer/. The following projects are contained in the repository:
* '''Core''' (required). This project contains all essentials of the SDK
* ''Examples''. This project contains a number of examples for interacting with the {{software}} both with and without the SDK.
* ''Tools''. This project contains practical tools developed using the SDK and made available to the public. These also serve as practical examples.


===Setting up the SDK for use===
The contents are an Eclipse Java Project which can be imported as a dependency for other Projects. Instructions for its installation and use are included in a README file.
To use the SDK, the Core project must be a dependency of your application. The other available projects have the Core project as their dependency. For first time usage, it is recommended to test your setup by running one or more examples. To run the examples, you will need to add your Tygron credentials to the setup. For instructions on adding your credentials to the examples, see the [https://github.com/Tygron/SDK/blob/master/java/README.md Readme] of the SDK.
 
==Using the SDK==
''Please note: because the SDK is still in development along with the Tygron API, the following information is subject to rapid change.''


===Components===
===Components===
Using the SDK means using one or more of the components provided to interact with the {{software}}. The SDK can be used as a library of functionality, just as most other software libraries. The SDK offers a number of features designed to make interaction with the Tygron API easier. The following components are most important, and can contribute the most to your application.
The following components are available in the Java SDK:
 
====Items====
The Items are the representation of the various types of data in a session (such as [[Buildings]], [[Stakeholders]], or [[Functions]]. These objects also allow the data pertaining to these items to be stored, but in many cases also offer easier methods of interacting with the data. An example of this is the ability to retrieve the exact function values for the categories of a given function.
 
====MapLinks and Events====
The Data Connector can be instructed to make a request to any url within the API, by providing a string with the desired url. However, to assure that requested urls are valid, it is recommended to make requests by supplying the MapLink or Event objects.
 
====Utilities====
In addition to the essential components listed above, a number of utility classes exist as well.
 
=====Settings=====
The Settings utilities allow for easy loading and storage of credentials and application settings.
 
=====Json=====
The Json utilities allow for easy de-serialization of data sent back by the {{software}}. It can de-serialize into generic List and Map structures for generic access, or to (Lists or Maps of) specific objects or Items.


=====Data=====
{|class="table sortable overlay"
The Data utilities allow for the de-serialized data to be cleaned up easily, to make it easier to iterate through programmatically.
! Component!! Description
|-
| SettingsManager || Stores most recently used settings. Required by other components of the SDK.
|-
| ServicesManager || Facilitates authentication and communication to the {{software}}.
|-
| |Projects and Sessions || The data contained in a Project (such as [[Building]]s and [[Overlay]]s), and the live in-memory state of that Project data respectively.
|-
| SlotConnection || The connector to one specific session, facilitating interactions and a continuously updating representation of data.
|-
| EventManager || Allows for the listening of specific occurrences or events from the Session.
|-
| MapLinks and Items || The enumerating types of all the available data, as well as the actual data from a Project respectively.
|-
| JTS Topology Suite{{ref|jts}} || An included library for the definition of geo data, as well as the translations of geo data.  
|}


===Examples===
==Examples==
For specific examples on how to perform basic tasks using the SDK, please refer to the [https://github.com/Tygron/SDK/tree/master/java/examples/src/com/tygron/pub/examples Examples] project in the SDK. This project contains a number of documented examples for interacting with the API both with and without the SDK.
The SDK contains example code which can be run both to test the functionality and successful installation of the SDK, but also to provide a first script which can be copied, changed, and expanded upon to create further tools.  


==Adapting and contributing to the SDK==
Run "ExampleTest" via JUnit to get started.
The SDK is continuously in development, as is the API, which means both the Software Development Kit and the API it communicates with can change rapidly. We aim to keep the two compatible as much as possible. However, it is possible that changes temporarily break functionality of the SDK. If this occurs, please contact {{support|Tygron Support}}.


Alternatively, because we offer the source code of the SDK freely, it is also possible to make your own changes or improvements to the SDK. If you are interested in contributing to the SDK, please contact {{support|Tygron Support}}.
{{article end
|seealso=
* [[API]]
* [[SDK (Python)]]
|references=
  <references>
    {{ref|jts
      |name=JTS Topology Suite
      |author=
      |page=
      |source=
      |link=https://www.tsusiatsoftware.net/jts/main.html
      |lastvisit=09-07-2024
    }}
  </references>
}}

Latest revision as of 07:49, 9 July 2024

Te Java SDK is a Software Development Kit written in and for Java, developed in lockstep with the Tygron Platform itself. It is used internally for the development of the client application, by communicating via the API.

Obtain and use

The SDK is freely available via the API of the Tygron Platform. For the LTS-compatible version, it can be found in the following location:

https://engine.tygron.com/api/developer/.

The contents are an Eclipse Java Project which can be imported as a dependency for other Projects. Instructions for its installation and use are included in a README file.

Components

The following components are available in the Java SDK:

Component Description
SettingsManager Stores most recently used settings. Required by other components of the SDK.
ServicesManager Facilitates authentication and communication to the Tygron Platform.
Projects and Sessions The data contained in a Project (such as Buildings and Overlays), and the live in-memory state of that Project data respectively.
SlotConnection The connector to one specific session, facilitating interactions and a continuously updating representation of data.
EventManager Allows for the listening of specific occurrences or events from the Session.
MapLinks and Items The enumerating types of all the available data, as well as the actual data from a Project respectively.
JTS Topology Suite[1] An included library for the definition of geo data, as well as the translations of geo data.

Examples

The SDK contains example code which can be run both to test the functionality and successful installation of the SDK, but also to provide a first script which can be copied, changed, and expanded upon to create further tools.

Run "ExampleTest" via JUnit to get started.

See also

References

  1. JTS Topology Suite ∙ Found at: https://www.tsusiatsoftware.net/jts/main.html ∙ (last visited: 09-07-2024)