JOSIF Main Page | JOSIF Rel 1.1.2 | JOSIF Rel 1.1.2 Release Notes
The official JOSIF Rel 1.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.2 focuses on 3 major topics:
- Extension of the Common Model needed for PM and Inventory
- Bug fixes on top of JOSIF Release 1.1.1
- New features for the generation of the Reference Implementation (RI) and Compliance Test Kit (CTK).
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. This release 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.
- JVT Spec generator: generates java interfaces against the model.
- SOAP Implementation generator:
- EJB Implementation generator: Generates a basic JPA persistence layer (data access objects) and implementation classes for the model along with basic junit tests of each generated DAO EJB.
This release also includes generators which generate Java code for a prototype RI and CTK using the same model as the specification.
This release 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.
- New version of Eclipse and Tigerstripe. This release is based on Eclipse Helios SR2 and on Tigerstripe 0.7.0.20120629, corresponding to Iteration 53 of Tigerstripe. Please use the Workbench Installer to install the supported version of Eclipse and Tigerstripe.
- The Common Model has been extended to support the needs of PM and Inventory. All the content below is directly available to developers through the Common Model module (org.tmforum.tip.fmk.common_1.1.jar). The Common Model now includes:
- The SID Base Types ABE (org,tmforum.tip.cbe.base)
- The Management Job ABE (org,tmforum.tip.cbe.job)
- The Scheduling Definition ABE (org,tmforum.tip.cbe.time.sched)
- The Network Resource Basic ABE (org,tmforum.tip.resource.res.nrb)
The Scheduling Definition package provides all the needed datatypes for interfaces that need scheduling support.
The Management Job ABE provides the Management Job support for interfaces that need to handle bulk file transfer. However, the support of the tipDataTransfer stereotype is not done in this release. Support for the needed directives and events should be added by hand in each interface. This will be added in JOSIF V1.2.
- Uri and url have been added as primitive datatypes in the TIP Profile.
This release includes generators which generate Java code for a prototype RI and CTK using the same model as the specification. This has been used successfully to generate a basic RI and CTK for testing the simple profile of the RAM interface. The generated code only needed to be supplemented with a few hand written classes in order to provide a simple RI and CTK for testing.
- In this release, the generated RI/CTK code supports the following features:
- Support for iterator functionality
- Support of enums needed for PM and MPAC
- Update of notifications for support of Performance Crossing Threshold alarms
Documentation for the RI is provided on the RI Guidebook page. Documentation for the CTK is provided on the CTK Guidebook page.
- The known problem have been fixed:
- Handling of association import when transforming a class in datatype: (mantis bug#512). When transforming a class in datatype, the associations targeting this class are correctly removed, but are not transformed in attributes in the originating classes. This is now correctly generated.
- SID Import tool has been enhanced. See Model Transformation Rules page in the General Patterns section. The enhancements are:
- Better support for transforming classes into datatypes. It includes handling of associations and removal of tipClass stereotypes.
Known Problems
There is no known problem in this release.
Release Definition
This section describes the contents of the TIP Workbench.
The TIP Workbench Installer sets up the TIP Workbench that includes:
- Eclipse Helios SR2 for JavaEE developer (updated from JOSIF Rel. 1.1.2)
- Tigerstripe Workbench v0.7.0.20120629 (updated from JOSIF Rel. 1.1.2)
- SID Model Import, Rel. 1.1.2
- TIP Model Validator, Rel. 1.1.2
- TIP Profile Rel. 1.1.2
- JOSIF generators, Rel. 1.1.2: SOAP generator, Documentation generator, JVT Spec generator, SOAP Implementation generator, EJB Implementation generator
- Third party utilities useful for interface development:
- Subsclipse plug-in
- AnyEdit tools (http://andrei.gmxhome.de/anyedit/)
- Hex Editor (http://ehep.sourceforge.net/)
- APT Editor (http://ehep.sourceforge.net/)
- Velocity Web Editor plug-in (http://velocitywebedit.sourceforge.net/)
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.2/
This directory contains 2 files:
- TIP_Workbench_Installer-1.1.2-20120928-standard.jar: this is the installer
- replace_notice.jar: this is a small utility to replace notices in a specification zip file. See TIP_Notice_ReplaceKit for details.
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.2 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/