Collaborative Systems Development using IBM Rational tools

上周做了主题为Collaborative Systems Development using IBM Rational tools的培训给同事,以下记录下training上的要点,主要还是introdcution level的东西。

1. Introduction to C/ALM

C/ALM = Collaborative Application Lifecycle Management

C/ALM is a discipline as well as a product category
C/ALM doesn’t support specific life-cycle activities; rather, it keeps them in sync.
At the heart of C/ALM lies a coordinated set of handoffs between team members.
People, process, information, and tools that drive the life cycle
Collaborative ALM coordinates the software development activities across requirements, development, build and test.
Software development is neither the individual nor the process, but the collaboration of the team

For more information, visit:
http://www.redbooks.ibm.com/redbooks/pdfs/sg247622.pdf

2. What is Jazz

Jazz is a vision, an architecture, a community, and a growing set of interrelated tools that bring teams together in productive collaboration across the project and application lifecycle.
A scalable, extensible team-collaboration platform that integrates tasks across the software lifecycle. The platform also provides useful building blocks and frameworks that facilitate the development of new products and tools.
The C/ALM integrations (RQM, RTC, RRC) build upon the Jazz Foundation, which provides a common approach or security, artifact linking, dashboards, and user interface frameworks.

3. Jazz vision

Jazz is an IBM initiative to help make software delivery teams more effective, transform software delivery making it more collaborative, productive and transparent.
Jazz products embody an innovative approach to integration based on open, flexible services and Internet architecture. Unlike the monolithic, closed products of the past, Jazz is an open platform designed to support any industry participant who wants to improve the software lifecycle and break down walls between tools.
The Jazz Integration Architecture(JIA) defines a common set of Jazz Foundation Services(JFS) that can be leveraged by any Jazz tool, and explains the rules of the road for accessing and utilizing Jazz services. It also incorporates specifications defined by the Open Services for Lifecycle Collaboration(OSLC) project, an independent, multi-vendor effort to define a set of protocols for sharing information across multiple tools and vendors.

4. Jazz feature

Jazz provides the means to connect your data and tools. It is truly extensible, scalable and open.
To make it open and extensible, Jazz is inspired by Internet Architecture based on OSLC – Open Services for Lifecycle Collaboration
Open Services for Lifecycle Collaboration (also known as OSLC or Open Services) is a community effort to help software delivery teams by making it easier to use lifecycle tools in combination. The OSLC community is creating open, public descriptions of resources and interfaces for sharing the things that software delivery teams rely on.

By agreeing on common specifications for lifecycle resources and the services to access them, we can eliminate traditional barriers between tools and open the door to new forms of collaboration.

5. Jazz foundation

The Jazz Integration Architecture(JIA)
The Jazz Integration Architecture(JIA) enables diverse tools to be used together providing an integrated experience to their users. JIA is a set of inter-connected technologies and specifications, not another monolithic platform. JIA consists of a reference architecture, API specifications, a set of common services and tool building blocks. It enables the building and quick integration of new tools.
At the center of JIA is the Jazz Team Server (JTS). The JTS provides foundational services – Jazz Foundation Services (JFS) – that 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.

Powering much of JIA are standard RESTful APIs and standard resource definitions which enable participating tools to easily share data. JIA also includes reusable building blocks that speed the development of new project and the adoption of existing tools. Finally, it includes specifications that enable better integration of, and navigation between, the user interfaces of the various tools.

RESTful web services

In order to make its data and services available to the widest possible range of clients, a tool exposes its data and services through a resource-oriented Web service. The intent of the Web service is to provide a stable long-term programmatic web-based API for directly accessing the facilities and data offered by the tool. These web services use an arrangement of URIs, HTTP methods, and standard representation languages such as XML and JSON, that work like the rest of the Web. The protocol is stateless; client state is carried in the client; server state is explicitly reflected in the resources.

A REST API provides three key things: stable URLs for the tool data resources; documented representations for those data resources; and a protocol and operations for manipulating those data resources based on standard HTTP methods. Providing URLs for the tool data resources enables these resources to be linked from anywhere. In effect, the data resources become “hyper-data,” just like hypertext enables fully connected, flexible content such as text or images.

6. Jazz Portfolio

The Jazz portfolio consists of a common platform and a set of tools that enable all of the members of the extended development team to collaborate more easily.
Now Jazz offerings are:

Rational Team Concert (RTC)
A collaborative work environment for developers, architects and project managers with work item, source control, build management, and iteration planning support. It supports any process and includes agile planning templates for Scrum and the Eclipse Way.

Rational Quality Manager (RQM)
A web-based test management environment for decision makers and quality professionals. It provides a customizable solution for test planning, workflow control, tracking and reporting capable of quantifying the impact of project decisions on business objectives.

Rational Requirements Composer (RRC)
A requirements definition solution that includes visual, easy-to-use elicitation and definition capabilities. Requirements Composer enables the capture and refinement of business needs into unambiguous requirements that drive improved quality, speed, and alignment.

For more information, visit jazz.net