JOSIF Rel 1.1 Release Notes

JOSIF Main Page | JOSIF Rel 1.1 | JOSIF Rel 1.1 Release Notes

The official JOSIF Rel 1.1 release notes can be found here:

Overview

Joint Open Source Interface Framework (JOSIF) is an open source interface infrastructure that includes the definition of interface patterns and associated tooling. Starting with an information model, JOSIF automatically generates both XML and Java based interface specifications, and supporting documentation.
It is a major component of the TM Forum Interface Development Tooling (IDT).
This is a Model Driven Engineering (MDE) approach that helps to reduce cycle time, increase quality and maintain consistency between the model and the specification. It is based on the Tigerstripe tool, an eclipse incubation project. It uses stereotypes as model decorations to drive the tooling.

JOSIF Release 1.1 focuses on the generation of the specification aspect of an interface. Generation of the Reference Implementation (RI) and Compliance Test Kit (CTK) is only partial in this version and will be enhanced in future versions.
The JOSIF Guidebook provides the documentation for modeling and building interfaces, as well as the documentation of the patterns used in JOSIF.

JOSIF is using the SID model as the data model for interface definition. The SID model relevant to the interface is imported to Tigerstripe where the operational model is added to build the system view of the interface. JOSIF Rel. 1.1 provides the following Tigerstripe generators:

  • TIP_Doc_Generator: builds the Information Agreement (IA) document from the model and user-supplied files.
  • TIP_Soap_Generator: builds the SOAP (WSDL/XSD) interface specifications from the model.

JOSIF Rel. 1.1 also includes a generator to produce a Java interface which is used for the associated RI, but is not officially part of the interface specifications in this release. JOSIF Rel. 1.1 also includes draft generators for building the skeleton of the RI.

JOSIF Rel. 1.1 includes also a number of interface patterns used to provide consistent generation of interfaces. Those patterns are described in the General Patterns section of the JOSIF Guidebook:

  • Entity Identifier
  • Notifications
  • Exceptions and common exceptions
  • Iterator
  • Optional/mandatory
  • Extensibility
  • Common Operations
  • Filtering

Changes in this release

This section describes the major changes in this release.

  • TIP Workbench Installer: the TIP Workbench can now be installed using the TIP Workbench Installer as described in section Release Definition.
  • New version of Eclipse and Tigerstripe: JOSIF Release 1.1 is based on Eclipse Helios and Tigerstripe v0.6.
  • Common Operations: support for common operations: get, set, create and delete has been added. Please refer to the Common Operations page of the JOSIF Guidebook.
  • Filtering: filtering is supported in common operations (get and set) as a choice of template or query filter. Filter is also defined in both SID 9.5. and JOSIF Rel 1.1 as a primitive datatype useable in attributes or parameters . In this case, the filter defined is a query filter. Please refer to the Filtering section of the JOSIF Guidebook.
  • EntityIdentifier change: the structure of the EntityIdentifier has changed in JOSIF Rel 1.1. The EntityBase added in all entities has also been augmented to include alias names. Please refer to the sections Entity Identifier pattern and Entity Identifier definition of the JOSIF Guidebook.
  • Change in stereotypes:
    • The tipAttribute stereotype has 2 new attributes: settableAtCreation and usedForNotificationFiltering.
    • The tipPackage has one new attribute SIDPackage. This new attribute will only be filled if SID 9.5 is used along with the Model Import Tool.
    • New stereotypes for common operations have been added: tipEntityCreate, tipEntityDelete, tipEntityGet, tipEntityGetMultiple, tipEntitySet, tipEntitySetMultiple. Please refer to the TIP Profile page of the JOSIF Guidebook.
  • New common exceptions: 2 new common exceptions have been added: AtomicTransactionFailure and FilterNotSupported. These new common exceptions are used for common operations and can be used as needed. Please refer to the Common Exceptions section of the JOSIF Guidebook.
  • Model Import: a new SID Import tool has been built to simplify importing the SID model in Tigerstripe for both model and dependencies project. Please refer to the section Importing Information Model of the JOSIF Guidebook and to the TIP_SID_Import].
  • Model Validator: a new Model Validator tool has been developed. It validates that the rules needed for interface specification are met. Please refer to the section Validating the Model of the JOSIF Guidebook and to the Model Validator page.

Known Problems

There are 3 known problems in this release:

  • SetThingsAtomic: (mantis bug#505). When setting the isAtomic attribute on the tipEntitySetMultiple, the setThingsAtomic is not generated. This will be fixed in JOSIF Rel 1.2.
  • GetThingIds: (mantis bug#506). When using the tipEntityGetMultiple, the getType attribute allows defining whether getThings or getThingIds or both are generated. However, the attribute selector limited to the value identifier can be used with the getThings to simulate the getThingIds. getThingIds will be retired in JOSIF Rel 1.2
  • Iterator response (mantis bug#507): for parameters returned using iterators, request messages inherit from iterator:CommonRequest but response messages do not inherit from iterator:CommonResponse. This will be fixed in JOSIF Rel 1.2.

Release Definition

This section describes the contents of the TIP Workbench.

The TIP Workbench Installer sets up the TIP Workbench that includes:

Under the eclipse folder created by the TIP Workbench Installer, a josif folder is created containing license file, notice file and these release notes.

The TIP Workbench Installer is available on the Sourceforge project release page: http://sourceforge.net/projects/openoss/files/JOSIF/TIP_Workbench_Installer/1.1.0/

This directory contains 2 files:

  • TIP_Workbench_Installer.jar: this is the installer
  • Eclipsets.zip: the contents of the eclipse directory defined by the installer for manual installation.
    If using the installer, it is not needed to download the eclipsets.zip file.

JOSIF uses a maven build environment to automate the generation of the interfaces, from the generation of the documentation up to the packaging of the interface. The maven build environment will download the generators and common model libraries needed for interface generation.

If participating in an existing interface project, please use the TIP Workbench Installer to install your whole environment.

When starting a new interface, please use the 1.1.0 of the JOSIF Project Creator to automatically generate archetype maven projects for JOSIF implementors. It can now be found on the Sourceforge project release page: http://sourceforge.net/projects/openoss/files/