Architecture
Open, collaborative, extensible by design.
Jazz is built on architectural principles that represent a key departure from approaches taken in the past. Together, these approaches will allow teams to "surf the collaborative Web" to seamlessly access teams, processes and artifacts.
Here are some key ideas:
- Jazz separates the implementation of tools from the definition of and access to the data. Data semantics do not rely on "secret knowledge" embedded in product code.
- Jazz federates data across independent databases using Internet protocols. Jazz does not assume that all the data is in a single database.
- Jazz can access and integrate data where it resides - Jazz does not need to import and export data between tools or repositories
- Jazz assumes an open, flexible, distributed data model. Jazz does not assume that there is a single data model that is centrally managed, nor that each tool needs to understand the entire data model in order to participate.
- Jazz allows tools to be implemented in any Internet-aware programming language or platform. Jazz does not impose an implementation framework tied to a particular language or technology platform
- Jazz supports multiple client technologies. While web user interfaces are the choice for many Jazz tools, Jazz also supports Eclipse-based clients and Microsoft Visual Studio-based clients, and other client platforms could easily be implemented based on demand
Open Services for Lifecycle Collaboration
Open Services for Lifecycle Collaboration (OSLC) is an industry initiative to enable interoperability of tools and resources across vendors. Today, customers use tools from multiple vendors to capture and manage data across the software lifecycle. This data is typically accessed by using the tool that created it or by accessing a database used for storage by the tool. The lack of common protocols across resources makes it difficult to manage an end-to-end software delivery process. More information on the OSLC initiative, including an initial set of descriptions of resources and protocols, can be found at open-services.net.
Jazz Integration Architecture
Building upon OSLC, the Jazz Integration Architecture (JIA) enables a higher level of integration than can be achieved with OSLC alone. The architecture has two principal facets:
- The JIA defines a set of services, called Jazz Foundation Services, which tools can use to implement generic cross-tool capabilities, including user and project administration, security, collaboration, query, and other common capabilities. These services enable tools to implement their own services so that they will mesh well with other tools. Ideally, a tool would avail itself of the full gamut of Jazz Foundation Services; in practice, an existing tool may choose to adopt these services selectively.
- Tools expose their domain-specific services with a language-neutral, RESTful interface so arbitrary clients can access them. The OSLC provides a place for these service specifications to be jointly developed, shared and evolved in a vendor-neutral environment.
The architecture is described in greater detail in the Jazz Integration Architecture Overview.
Jazz Implementation
At the center of the Jazz Integration Architecture is the Jazz Team Server (JTS). The JTS implements the Jazz Foundation Services described by the JIA, which enable groups of tools to work together. These services include user and project administration, security, collaboration, query, and other generic cross-tool capabilities. When installed, tools are associated and work in conjunction with a particular JTS. A Jazz Team Server may consist of one or more physical servers that act together as a single logical server.
To facilitate the implementation of products that adhere to the JIA, Jazz toolkits are provided. These include language-specific libraries for accessing various Jazz Foundation Services and domain-specific services, and for building Eclipse, web, and command line clients. Jazz frameworks are considered to be productivity aids, rather than essentials; most degrees of JIA integration are achievable in any programming language capable of processing HTTP and XML. This means that Jazz frameworks could be developed by anyone, anywhere.
The Jazz Foundation refers to the implementations of the Jazz Team Server including the Jazz Foundation Services developed and maintained at Jazz.net. Also included are a set of specific Jazz frameworks that aid in the construction of Jazz products with various degrees of JIA integration.



IBM supports the Open Services for Lifecycle Collaboration initiative.


