Jazz_Foundation_kick..

Download Report

Transcript Jazz_Foundation_kick..

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
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
What is the Jazz Foundation?
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.
Today’s RTC Server
REST API
Applications
Java
Work Items
SCM
Java
Java
Build
REST API
process
Java
Java
admin
REST API
Java
storage
Java
query
REST API
Web UI
•Fuzzy distinction between platform and apps
•Mix of REST and Java interfaces, tight Java component bindings
Platform
Cleaned-up Jazz Team Server
REST API
REST API
REST API
REST API
REST API
query
REST API
storage
Java
discover
REST API
Java
REST API
process
Java
Java
admin
Applications
Java
Work Items
SCM
Java
Java
Build
Reqs
REST API
Platform
Web UI
•Clear distinction between platform and apps
•REST interfaces for everything, internal Java interfaces
•New REST services like discovery, new components like Requirements
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
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.
Physical Jazz Server
Jazz Server
OSGI service
OSGI service
OSGI service
OSGI service
OSGI runtime
• Implements OSGI runtime
• Implemented in Java
• Extensibility based on the OSGI model
Jazz Team Server Core Services
• Implemented in Java as OSGI extensions
to a physical Jazz Server
OR
• Integrated external service
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
– …
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?)
Organizational Models
Integrated
Dev
Req
Test
Divided by Function
Dev
Req
Test
Outsourced
Dev
Req
Test
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
Foundation Organization
•
Jazz Foundation
–
–
–
–
–
•
RTC
–
–
–
–
–
•
•
•
•
•
•
•
PMC (Scott, Kai, John W, …)
Product Manager - Kartik
Dev Manager
Jazz Foundation Project at jazz.net
Foundation builds and download
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
…
Foundation Governance
• How do we manage the evolution of the
Foundation to support Architecture and
Adopters?
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
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?
Foundation Gaps (cont’d)
• Platform evolution
– Scalability
• Secure proxy caching, clustering, partitioning
• Clustered and federated sever admin
– Security
• Read permissions
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
Jazz Foundation FAQ
•
How does this relate to the existing Jazz Team Server?
–
•
How does this relate to the Jazz REST Services incubator?
–
•
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 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 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.
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.
Jazz Foundation FAQ
• What components are included in the
Jazz Team Server? (incomplete)
Component
Owner
Notes
Storage
Ritchie Schacher
Evolution of Repository, JRSderived
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?
???
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
Team Central?
Andre Weinand?
Feeds client?
Andre Weinand?
Realtime collab?
Common Search/query?
Shared client code for JIA
servers
Jazz Foundation FAQ
•
What new components will be added to support the Jazz Integration
Architecture?
•
Who are the "Jazz Foundation Team"?
–
•
How do I get a copy of the Jazz Foundation? How should products
build on it?
–
•
The team consists of more than the people reporting to Jazz Foundation Development,
components are also contributed by other Jazz teams
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.
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?
–
•
What are the plans for enhancing the existing Jazz Platform
components post-1.0?
–
•
The REST APIs should be your first stop, they should provide sufficient API for
building most new applications.
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.
Jazz Scalability End-Goal(Many Projects,
1000’s of Users)
WAS
Dispatcher
Project B
Project A
RTC/RQM/RRC
WAS
WAS
WAS
Project C
Doors
cache
cache
Project D
Corp.
LDAP
Project E
cache
RTC Express
Business
Analysts
Offshore
Project F
JAZZDB