26
Goals Consensus on “What is Jazz Foundation?” What’s in it? Who is it? How will it be organized and managed? How do we ensure it’s the platform Rational needs? High level Foundation roadmap through 2010 Top ~5 Foundation issues identified and owners assigned Ready to start communicating about Foundation, organizing, and detailed planning

Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Embed Size (px)

Citation preview

Page 1: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Goals

• Consensus on “What is Jazz Foundation?”– What’s in it?– Who is it?– How will it be organized and managed?– How do we ensure it’s the platform Rational needs?– High level Foundation roadmap through 2010

• Top ~5 Foundation issues identified and owners assigned

• Ready to start communicating about Foundation, organizing, and detailed planning

Page 2: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Agenda

• 30 min - Context setting – Catching up on ALM thinking – Erich– Integration architecture(s) - Martin

• 2 hr - What is Jazz Foundation?

• 2 hr – Roadmap/gaps/priorities

• 2 hr – Top 5 issues

Page 3: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

What is the Jazz Foundation?

Page 4: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Definition• From the Jazz Glossary: "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 Jazz products with various degrees of JIA integration. The Jazz Foundation is an implementation of the JIA."

– This definition isn’t really sufficient, the Jazz Foundation has a client aspect as well.

– Jazz Foundation = Jazz Team Server 1.0 + Jazz Team Client + Jazz Integration Frameworks

• The Jazz Foundation represents the continuation of the work done in the Jazz Platform 0.6 release, with an increased focus on REST interfaces and enabling integration of Jazz tools. The Foundation will continue to provide the building blocks for the existing Jazz components. The Java interfaces in the Jazz Platform 0.6 will continue be enhanced and used by native components. In addition, the Foundation will provide new REST interfaces to enable the construction of new loosely coupled tools and the integration of new or existing tools.

Page 5: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jav

a

Jav

a

Jav

a

Jav

a

Jav

a

Jav

a

Today’s RTC Server

REST API

Work Items

REST API

storage

REST API

admin process REST API

query

Web UI

SCMBuild

Platform

Applications

•Fuzzy distinction between platform and apps

•Mix of REST and Java interfaces, tight Java component bindings

Jav

a

Page 6: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

REST API

REST API

REST APIJa

va

Jav

a

Jav

a

Jav

a

Jav

a

Jav

a

Cleaned-up Jazz Team Server

REST API

Work Items

REST API

storage

REST API

admin process REST API

query

Web UI

SCMBuild

Platform

Applications

•Clear distinction between platform and apps

•REST interfaces for everything, internal Java interfaces

•New REST services like discovery, new components like Requirements

Jav

a

REST API

discover

REST API

Reqs

Page 7: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Team Server

• A Jazz Team Server provides implementations of the core services outlined in the JIA

• A Jazz Team Server follows the JIA recommendations

• A Jazz Team Server is a logical server construct: a configuration of a distributed set of physical Jazz servers

Page 8: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Foundation Services• Discovery Service - for discovering the Jazz Team Server's various services and specific capabilities,

• Administration Services - for dealing with users, projects, security, and licenses.

• Process Services - including checking operation permissions and licenses, and determining process-specified preconditions and follow-up actions.

• Storage Services - use to store their data, instead of having to create and manage their own database. (The JRS Storage Service is a precursor to this service.)

• Query Services - extract each tool's data into searchable indexes, to consolidate those indexes across all tools deployed to a Jazz Team Server, and to provide centralize Query Services for searching across the consolidated index with queries expressed in a suitable query language.

• Presentation Services – Presentation Services enable a client tool to request a user interface URL for any resource URL hosted by a JTS instance

• Data Warehousing Services - … take a snapshot their data periodically and export the information to the corporate data warehouse via Data Warehousing Services

• Collaboration Services The Jazz Team Server provides other core services supporting collaboration, including services for sending email and SMS, maintaining subscriptions, etc.

Page 9: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Physical Jazz Server

• Implements OSGI runtime

• Implemented in Java

• Extensibility based on the OSGI model

Jazz Server

OSGI service

OSGI service

OSGI serviceOSGI service

OSGI runtime

Page 10: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Team Server Core Services

• Implemented in Java as OSGI extensions to a physical Jazz Server

OR

• Integrated external service

Page 11: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Server App Containers• Provide an abstraction to the world of the Jazz Team Server

– Core services– Installed applications– …

• Impose different programming models

• Different possible kinds of server app containers– RESTlet or RESTlet-inspired, provide more context/guidance than servlet/service– JRS based– WEB UI– Container for accessing co-located services using the deprecated Java API

• OSGI extensions to a physical Jazz Server– Ruby– …

Page 12: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Supported Jazz Team Server Configurations

• All core services deployed to one single physical Jazz Server

AND

• Core services deployed to several physical Jazz Servers so that all services exist once

• (What about redundant services?)

Page 13: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Dev

TestReq

Integrated

Divided by Function

Outsourced

Dev

Dev

Req

Req

Test

Test

Organizational Models

Page 14: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Foundation Package• Physical Jazz Server• OSGI Java implementations of all core services• Several Jazz Server App containers

– RESTlet based– JRS based– WEB UI– Container for accessing co-located services using the deprecated Java API

• Jazz Server App (for the webui container) providing web ui for foundation functionality• Eclipse RCP extension providing rich UI for foundation functionality• VS extension functionally equivalent to the eclipse RCP extension

• Frameworks for building Jazz Server App containers, Jazz Server Apps for the out of the box containers, web ui, eclipse and VS extensions.

• Exemplary Jazz Server App containers• Exemplary Jazz Server Apps• Exemplary client libraries for various languages

Page 15: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Foundation Organization• Jazz Foundation

– PMC (Scott, Kai, John W, …)– Product Manager - Kartik– Dev Manager – Jazz Foundation Project at jazz.net– Foundation builds and download

• RTC– PMC (Erich, Scott, Kai, J-M, …)– Product Manager - Rolf– Dev Manager – Rational Team Concert at Jazz.net– Build on Foundation binaries

• RQM• RRC• Vega• Tara• Doors• CQ New• …

Page 16: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Foundation Governance

• How do we manage the evolution of the Foundation to support Architecture and Adopters?

Page 17: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Foundation Gaps

• Organizational/Infrastructure– Foundation build and packages– Processes:

• Foundation PMC separate from RTC?• New project at jazz.net?• How do products consume?• bugs and enhancement requests…• Fixes and patches process• Planning: Foundation plans for 1.5 and 2.0• communication, documentation and governance

Page 18: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Foundation Gaps (cont’d)

• Testing - How does the Foundation ensure sufficient testing?– Additional component unit tests– Improved automated platform coverage– Local consumers?

• Process tools• Admin Web UI• New component: content management?

Page 19: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Foundation Gaps (cont’d)

• Platform evolution– Scalability

• Secure proxy caching, clustering, partitioning• Clustered and federated sever admin

– Security• Read permissions

Page 20: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Foundation Gaps (cont’d)• Integration support

– Enhanced Storage service– Federated index/search/query

• Replacement for XQuery(SPARQL?)• Clusterable test indexing

– Process service: federated process– Federated authentication and identity

• Web UI Evolution– Frameworks for rich Web UI integration (think iWidget or OpenSocial)– Enablement of simple resource-centric Web UIs– Infrastructure for performance and scalability

• Integration enablement– REST adapter library– Exemplary client libraries– Application architecture and supporting API

Page 21: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Foundation FAQ• How does this relate to the existing Jazz Team Server?

– The existing Jazz Team Server will be enhanced with Enterprise capabilities which can be exploited by existing Jazz Components and new JIA Components. The Jazz Team Sever will expose additional REST APIs as the public interface to most server capability.

• How does this relate to the Jazz REST Services incubator?– The Jazz REST Services incubator has proven its value, and its code will be absorbed into the Jazz Team

Server. The JRS REST services already build on top of the existing JTS server components, and provides a rich REST interface into that capability. These will become the REST interfaces into the Jazz Team Server, and will make up its primary public API.

• I can't run server-side code in the JRS server, does the Jazz Team Server let me do that?– The JTS runs code for existing Jazz components, with a tight Java binding between components and the

platform, and that capability will continue to exist. There will likely be different mechanisms for new loosely coupled components to write server extensions using the OSLC programming model.

• How does the evolution of the Jazz Team Server affect existing components like those in RTC and RQM?

– The JTS 1.0 should enable existing Jazz components to scale to support much larger Enterprise teams. The platform API which they use today will continue to exist and evolve with the usual API negotiation. Existing components will be able to leverage Jazz Frameworks to implement their REST interfaces.

• Will the Jazz Team Server 1.0 have Java and REST APIs?– The Java APIs will continue to exist, but the vast majority of them will no be labelled "API". Instead, the new

REST interfaces to the server will be the public API.

Page 22: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Foundation FAQ

• What components are included in the Jazz Team Server? (incomplete)

Component Owner Notes

Storage Ritchie Schacher Evolution of Repository, JRS-derived storage/index/query/search

Process Kai-Uwe Maetzel RESTful process, project, team and user admin

Server Admin Kristen Balhoff Includes provisioning

JIA Java frameworks James Branigan Java components for enabling JIA integration

Jazz Web Framework Bill Higgins

Jazz Common Web Components

Dejan Glozic

Jazz Records/Workflow? ???

Page 23: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Foundation FAQ

• What components are included in the Jazz Team Client?

Component Owner Notes

Repo client Ritchie Schacher Eclipse client for JTS, ItemManager

Repository connections Kai-Uwe Maetzel Login and connection mgt

Team Artifact Navigator Kai-Uwe Maetzel

Process editors Kai-Uwe Maetzel

JIA Java client frameworks

James Branigan Shared client code for JIA servers

Team Central? Andre Weinand?

Feeds client? Andre Weinand?

Realtime collab?

Common Search/query?

Page 24: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Foundation FAQ• What new components will be added to support the Jazz Integration

Architecture?

• Who are the "Jazz Foundation Team"?– The team consists of more than the people reporting to Jazz Foundation

Development, components are also contributed by other Jazz teams

• How do I get a copy of the Jazz Foundation? How should products build on it?

– The Jazz Foundation will be built independent of any products, and available in a consumable form

• If the Foundation doesn't include the RTC or RQM components, how will it get the tight producer/consumer feedback loop we've had in Jazz/RTC?

– This is a key concern, the Foundation team will get some feedback from the Process component and editors, but the Foundation may decide to implement another application such as Content Management to have a richer consumer.

Page 25: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

Jazz Foundation FAQ• I've developed my own JTS extensions based on the Java API and I've

been certified Ready for Rational Software. What do I need to do? Can I continue to use the Java API? Do I have to port my code to the new REST API?

• I'm building a new tool, what APIs should I use?– The REST APIs should be your first stop, they should provide sufficient API for

building most new applications.

• What are the plans for enhancing the existing Jazz Platform components post-1.0?

– The JTS will generally be enhanced for improved scalability, the intention is that existing components as well as new JIA components will benefit from these enhancements.

• How do I submit requirements and bug reports for the Jazz Foundation?

– Details TBD, either a new project or a reorganization of the existing work item categories will be available shortly.

Page 26: Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be organized and managed? –How do we ensure it’s the platform Rational

WASWAS

WAS

Jazz Scalability End-Goal(Many Projects, 1000’s of Users)

Project ARTC/RQM/RRC

Corp.LDAP

Project B

Project C

OffshoreProject F

Project E

Project D

JAZZDBWA

S

Disp

atcher

RTC Express

JazzFederation

JazzFederation

cache

cache

cache

BusinessAnalysts

Doors