260 likes | 442 Views
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
E N D
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
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.
REST API Work Items REST API admin REST API query REST API storage Today’s RTC Server Build Java SCM Java Applications Java Java process Java Java Platform Java Web UI • Fuzzy distinction between platform and apps • Mix of REST and Java interfaces, tight Java component bindings
REST API Work Items REST API admin REST API query REST API storage REST API discover Cleaned-up Jazz Team Server REST API REST API Build REST API Reqs Java SCM Java Applications Java REST API Java process Java Java Platform Java 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 • Implements OSGI runtime • Implemented in Java • Extensibility based on the OSGI model Jazz Server OSGI service OSGI service OSGI service OSGI 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?)
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 • 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)
Jazz Foundation FAQ • What components are included in the Jazz Team Client?
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.
Project A Project B Project C Project D BusinessAnalysts Project E OffshoreProject F Jazz Scalability End-Goal(Many Projects, 1000’s of Users) JAZZDB RTC/RQM/RRC WAS Dispatcher WAS WAS WAS JazzFederation Doors cache Corp.LDAP cache cache RTC Express