There are a huge number of APIs available which are documented to varying degrees. In working with a specific API there are a couple key points to understand:
java.baja
packages, and implementation specific
code is published under com.tridium
;Public APIs are classified into three categories:
Baja is a term coined from Building Automation Java Architecture. The core framework built by Tridium is designed to be published as an open standard. This standard is being developed through Sun's Java Community Process as JSR 60. This JSR is still an ongoing effort, but it is important to understand the distinction between Baja and Niagara.
Fundamentally Baja is an open specification and the Niagara Framework is an implementation of that specification. As a specification, Baja is not a set of software, but rather purely a set of documentation. The Baja specification will include:
Over time many more specifications for features will be added to Baja. But what is important to remember is that Baja is only a specification. Niagara is an implementation of that specification. Furthermore you will find a vast number of features in Niagara, that are not included under the Baja umbrella. In this respect Niagara provides a superset of the Baja features.
javax.baja
versus com.tridium
Many features found in Niagara are exposed through a set of Java APIs.
In the Java world APIs are grouped together into packages, which
are scoped using DNS domain names. Software developed through the Java
Community Process is usually scoped by packages starting with java
or javax
. The APIs developed for Baja are all grouped under
javax.baja
. These are APIs that will be part of the open
Baja specification and maybe implemented by vendors other than Tridium.
Using these APIs guarantees a measure of vendor neutrality and backward
compatibility.
Software developed by Tridium which is proprietary and outside of the
Baja specification is grouped under the com.tridium
packages. The com.tridium
packages contain code specific
to how Niagara implements the Baja APIs. The com.tridium
code may or may not be documented. Most often these packages have their
components and slots documented (doc=bajaonly), but not their low level
fields and methods. In general com.tridium
APIs should never
be used by developers, and no compatibility is guaranteed.
Note: Tridium has developed some APIs under javax.baja
even though they are not currently part of the Baja specification.
These are APIs that Tridium feels may eventually be published through
Baja, but are currently in a development stage.
Copyright © 2000-2019 Tridium Inc. All rights reserved.