Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be...
-
Upload
gavin-woods -
Category
Documents
-
view
214 -
download
1
Transcript of Goals Consensus on “What is Jazz Foundation?” –What’s in it? –Who is it? –How will it be...
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.
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
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
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
• Implements OSGI runtime
• Implemented in Java
• Extensibility based on the OSGI model
Jazz Server
OSGI service
OSGI service
OSGI serviceOSGI service
OSGI runtime
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?)
Dev
TestReq
Integrated
Divided by Function
Outsourced
Dev
Dev
Req
Req
Test
Test
Organizational Models
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
– 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• …
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?
– 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.
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? ???
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?
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.
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.
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