of 27
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
1/27
IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference
2008
Copyright 2008 IBM Corporation. All rights reserved.
Introduction to the Jazz Technology Platform:
Architecture Overview and Extensibility
Alfredo GutirrezProgram Director, Technology Events, IBM Rational
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
2/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 2
Agenda and Objectives
We will cover:
Jazz Objectives
Jazz Platform Architecture
Jazz Platform Extensibility
Future thoughts. Were not done yet
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
3/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 3
Objectives/Architecture Requirements
No boundaries between people
Data and tasks from one tool are seamlessly visible in others
Creative Collaboration across geography and organization
Tools live the process
Capability is strong but unobtrusive
Support wide range of configurations
Need modular, composable solution
Stay flexible
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
4/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 4
Think differently
Current approaches for building tools dont gofar enough
"We can't solve problems by using the same kind
of thinking we used when we created them."
A. Einstein
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
5/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 5
Think differently
Desktop/Database Integration Global Integration
Function First Team First
Manual Process Aware & Transparent
Pre-determined Tool Function Dynamically Extensible
Proprietary infrastructure Internet Standards
Rigid Process Creative Collaboration
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
6/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 6
Items and relationshipsEvent history,
Item history trends
Jazz RepositoryDefectsRequirementsUse-cases, ..
.,BuildsSource code,
Test-casesTest results
Storage
Event Notification Conversation
Project andTeam Structure Search
ProcessEnactment
Securityand Access
EclipseClient Platform
(RPC)
WebClient Platform
(AJAX)
Visual StudioClient Platform
Jazz Collaboration Server
Jazz Architecture
RationalClearQuest
RationalClearCase
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
7/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 7
Extending the Jazz Platform Understanding jazz.war
/jazz/*
App Server
Jazz.war
EquinoxBridgeS
ervlet
Equinox Framework
TeamServices
TeamWeb
WorkItemServices
PlanningServices
WorkItem
Web
PlanningWeb
SCM
Services
/jazz/service/*
/jazz/web/*
../IWorkItemService
../IFileSystemService
../IPlanRestService
../WorkItemView.js
../PlanView.js
Jazz Server Provisioner
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
8/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 8
Jazz Server Kernel
Team Repository Services
Provides the basics for
querying, fetching, andupdating repository data
Provides a platform for extensibleAJAX Web UIs
Provides support for changeevents and feed rendering
Provides access to and managescomponent services
Process component. Provides:
projects, teams,
and process.
Runs in an OSGI environment
Eclipse Equinox
Jazz Server Kernel
Jazz Server ExtensionsWeb UI
Container (Jetty, Tomcat, WAS)
Jazz Team Server
You can create a process awareservices that enables itself tobe governed by process.
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
9/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 9
Jazz Platform - Service programming model
Its stateless services all the way down
Services are contributed by bundles
Statelessness is key to scalability
All state is in the DB, all client interactionsare atomic
Clusterable and restartable
No session state (clients are stateful)
S
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
10/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 10
Jazz Platform repository data modelthree logical DBs in one
An open-ended item store
Stores structured items as XML
Stores arbitrary content as BLOBs
A declarative indexing story to support query
Lucene text index to support full-text search
A snapshot framework for extracting summarydata for reporting
Data warehouse DB
Operational DB
Item store(private)
Index data
(extractsqueriable
portion)
Data Warehouse(public
reportingDB)
indexer extractor
S
get
put
Highly Optimized Relational DB
Cognos BIRT
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
11/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 11
Jazz Team Server - Self-Serve Administration
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
12/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 12
Jazz Team Server - Authentication and Permissions
Repo
DB
CorporateDirectory
server
JazzTeam server
LDAPimport
App
Serve
rAuthentica
tion
Process Permissions- team-managed
- role-based- dynamic
Repository Permissions:(Managed by your IT department)-Admin-Writer
-Reader
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
13/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 13
Process basics
Teams work on projects
Each project follows a process
Work inside the scope of a team follows the teams process
Team members play roles defined by the process
Process manifests itself through artifacts types, operations manipulating the
artifacts, and artifact change events
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
14/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 14
Configurability through Process
Allows team specific work products and behavior
Allows team specific conditions under which client-side and server-side
operations are allowed to proceed
Allows team specific participants for client-side and server-side operations
Allows team specific reactions to server-side change events
The Jazz Platform itself is artifact and process neutral
Its the components that explicitly introduce the specifics of process configuration
Subversion
Enabled
RationalBuild Forge
RationalClearQuest
RationalClearCase
Rational
Team ConcertEnabled
Enabled
Enabled
Subversion
Enabled
RationalBuild Forge
RationalClearQuest
RationalClearCase
Rational
Team ConcertEnabled
Enabled
Enabled
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
15/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 15
Example: Finding the Right Process (the Jazz Process)1 Jazz Project area defines process
2 Jazz team area does not customize the process
3 Process team area customizes the process
Myth: Developers hate process.
Truth: Developers are ok with process if they defined itand it helps them get their work done.
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
16/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 16
Process Execution FlowClient Server
Component Process Component Process
PreconditionsPermissions
PreconditionsPermissions
HandleRequest
Follow-upsFollow-ups
HandleRequest
Server Request
Request Response + Process Reports
Client Request
Process Hints Enforced Process Rules
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
17/27
IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference
2008
Copyright 2008 IBM Corporation. All rights reserved.
Extensibility of the Jazz Platform
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
18/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 18
The Jazz SDK and Jazz Labs
Two evolving sources of information for Jazz extenders on Jazz.net
SDK is the primary source, the essential stories for extending the platform (wiki RtcSdk)Jazz Labs is more experimental (wiki JazzLabs)
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
19/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 19
Jazz Eclipse Client
Anatomy of a Jazz Component Client library
Services / REST*
Storage model extension
Web extension
Any of the three or any combination
*Representational State Transfer
Jazz Web ClientAJAX based
Jazz Wiki Component
wiki.client.jar
wiki.common.jarwiki.server.jarwiki.web.jar
Jazz Team Server
S
Bundle based programming model.
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
20/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 20
Client Applications
Jazz Client Kernel
Provides access to and manages repository connections
Provides the basics for querying, fetching, and caching repository data
Provides access to and manages feed subscriptions and feed data
Provided access to and manages client libraries
Provides the notions of projects, teams, and process
Runs in OSGI environments such as eclipse RCP and in plain java clients
Jazz UI Foundation
Basic UI building blocks for Jazz
Jazz client extensions
Client libraries
UI or UI extensionsJazz Client Kernel
Eclipse Client
Eclipse Platform
Jazz UIF
Jazz Client Extensions
Jazz Client Extensions
Java Client
Jazz Client Kernel
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
21/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 21
Plain Java Extension
It is a normal plain Java application
Establishes one or more connections to Jazz repositories
Uses (and provides) client libraries
TeamPlatform.startup();
ITeamRepositoryServicesrv =TeamPlatform.getTeamRepositoryService();
ITeamRepositoryrepo =srv.getTeamRepository(myRepositoryURL);
repo.login(progressMonitor);
IQueryClient qryClnt =repository.getClientLibrary(IQueryClient.class);
IQueryResult result= qryClnt.findAll(myQueryExpression);
processWorkItems(result);
Jazz Client Extensions
Java Client
Jazz Client Kernel
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
22/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 22
What are Client Libraries?
A bundle that provides a sophisticated faade for a components functionality
A service running on the Jazz Team server
Looks like youre just invoking client side Java API
Hides complexity of transport
Instantiated only once per repository connection
may have state and allow for listeners
Talks to Jazz platform and component specific services on the server
Can leverage smart, optimized communication patterns
Manages the caching of the components repository data
Can depend on and talk to other client libraries
Interesting client side applications are possible by using the Jazz Client Kernel andexisting client libraries
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
23/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 23
Other key extensibility stories for RTC 1.0
Create a new report
Use the BIRT report editor and the RTC data warehouse schema to provide custom
reporting (sample reports provided)
Extending the Build system
Templates driving Ant based builds provided.
Provide a new build template, e.g. Maven support
Create a new process template
Process component provides XML schema for templates
Includes process-specific work item types, supporting reports, process guidance
Templates are then used to launch projects using that template
See examples in RTC
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
24/27
IBM Rational SoftwareDevelopment Conference
IBM Rational SoftwareDevelopment Conference
2008
Copyright 2008 IBM Corporation. All rights reserved.
Looking ahead
Were not done yet
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
25/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 25
JRS Experiment: Implement tools like an internet application
Build on Jazz experiences in Web UI
Data specified independently of tools
All data are resources with URLs
Ubiquitous access
Tools access data through HTTP/APP
Multiple tools same data
Data integration without forcing same
tool for multiple roles References are embedded URLs
Cross technology/location
Resources have representations
XML encouraged, not required
Search and query through structuredindexes, independent
Standard analysis, query, reporting
HTTP GET/PUT/POST/DELETE
Index
Programming model
Specified in Open ServicesFor Lifecycle collaboration
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
26/27
IBM Rational Software Development Conference 2008
Introduction to Jazz Architecture 26
Summary: Ongoing Architectural Innovation
The Jazz Platform is the plumbing inside Rational Team Concert 1.0 product
The platform and products built on it are open to extensibility, Jazz.net wiki will bethe place to go for details
The Jazz Core team continues to innovate on the Platform, improving
Capability
Scalability
Configurability
Connectivity
7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility
27/27
IBM Rational SoftwareDevelopment Conference
IBM Rational SoftwareDevelopment Conference
2008
Copyright 2008 IBM Corporation. All rights reserved.
Questions?
Thank you