ibm rational software development conference 2008 - jazz.net
TRANSCRIPT
SDP21
IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference
2008
© Copyright 2008 IBM Corporation. All rights reserved.
®
Scott RichDistinguished Engineer, Jazz Architect
IBM Rational
Introduction to the Jazz Technology Platform: Architecture Overview and Extensibility
IBM Rational Software Development Conference 2008
SDP21 2© Copyright 2008 IBM Corporation. All rights reserved.
Agenda and Objectives
� Disclaimer: this is an introduction to some deep technical topics, not an introductory talk…
� We will cover:
�Jazz Objectives
�Jazz Platform Architecture
�Jazz Platform Extensibility
�We’re not done yet…
IBM Rational Software Development Conference 2008
SDP21 3© Copyright 2008 IBM Corporation. All rights reserved.
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
IBM Rational Software Development Conference 2008
SDP21 4© Copyright 2008 IBM Corporation. All rights reserved.
Think differently
�Current approaches for building tools don’t go far enough
"We can't solve problems by using the same kind
of thinking we used when we created them."
A. Einstein
IBM Rational Software Development Conference 2008
SDP21 5© Copyright 2008 IBM Corporation. All rights reserved.
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
IBM Rational Software Development Conference 2008
SDP21 6© Copyright 2008 IBM Corporation. All rights reserved.
Items and relationshipsEvent history,
Item history trends
Jazz RepositoryDefectsRequirementsUse-cases, …..
….,BuildsSource code,
Test-casesTest results
Storage
Event Notification Search
Project and Team Structure Query
ProcessEnactment
Securityand Access
EclipseClient Platform
WebClient Platform
Visual StudioClient Platform
Jazz Team Server
Jazz Architecture
IBM Rational Software Development Conference 2008
SDP21 7© Copyright 2008 IBM Corporation. All rights reserved.
Extending the Jazz Platform – Understanding jazz.war
/jazz/*
App Server
Jazz.war
Eq
uin
ox B
ridg
e S
erv
let
Equinox Framework
TeamServices
TeamWeb
WorkItemServices
PlanningServices
WorkItemWeb
Planning Web
SCM Services
/jazz/service/*
/jazz/web/*
../IWorkItemService
../IFileSystemService
../IPlanRestService
../WorkItemView.js
../PlanView.js
Jazz Server Provisioner
IBM Rational Software Development Conference 2008
SDP21 8© Copyright 2008 IBM Corporation. All rights reserved.
Jazz Server Kernel
� Team Repository Services
�Provides the basics for
querying, fetching, and
updating repository data
�Provides a platform for extensible
AJAX Web UIs
�Provides support for change
events and feed rendering
�Provides access to and manages
component services
�Provides the notions of 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
IBM Rational Software Development Conference 2008
SDP21 9© Copyright 2008 IBM Corporation. All rights reserved.
Extending the platform - Service programming model
� It’s stateless services all the way down…
� Services are contributed by bundles
� Statelessness is key to scalability
� All state is in the DB, all client interactions are atomic
� Clusterable and restartable
� No session state (clients are stateful)
S
IBM Rational Software Development Conference 2008
SDP21 10© Copyright 2008 IBM Corporation. All rights reserved.
Extending the Jazz Platform – repository data model…three 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 to support full-text search
� A snapshot framework for extracting summary data for reporting
Data warehouse DB
Operational DB
Item store(private)
Index data(queriable)
Data Warehouse
(public)
indexer extractor
S
IBM Rational Software Development Conference 2008
SDP21 11© Copyright 2008 IBM Corporation. All rights reserved.
Simple Jazz Team Server Administration
IBM Rational Software Development Conference 2008
SDP21 12© Copyright 2008 IBM Corporation. All rights reserved.
Authentication and Permissions
RepoDB
Corporate Directory
server
JazzTeam server
LDAPimport
Ap
p S
erv
er A
uth
en
ticatio
n
Process Permissions- team-managed
- role-based- dynamic
Repository Permissions:(Managed by IT)-Admin-Writer-Reader
IBM Rational Software Development Conference 2008
SDP21 13© Copyright 2008 IBM Corporation. All rights reserved.
Process basics
� Teams work on projects
� Each project follows a process
� Work inside the scope of a team follows the team’s process
� Team members play roles defined by the process
� Process manifests itself through artifacts types, operations manipulating the
artifacts, and artifact change events
Learn more at SDP27:
Wednesday, 11:15
IBM Rational Software Development Conference 2008
SDP21 14© Copyright 2008 IBM Corporation. All rights reserved.
Finding the Right Process 1 Jazz Project area defines process
2 Jazz team area does not customize the process
3 Process team area customizes the process
IBM Rational Software Development Conference 2008
SDP21 15© Copyright 2008 IBM Corporation. All rights reserved.
Process Execution Flow
Client Server
Component Process Component Process
PreconditionsPermissions
PreconditionsPermissions
HandleRequest
Follow-ups
Follow-ups
HandleRequest
Server Request
Request Response + Process Reports
Client Request
Process Hints Enforced Process Rules
IBM Rational Software Development Conference 2008
SDP21 16© Copyright 2008 IBM Corporation. All rights reserved.
What we learned
� Jazz Platform 0.6 provides a fully general server-side programming model
� Wire protocol is implementation, clients program to Java client libraries
� Resources modelled; serialized between client and server
� Clients communicate using RPC style interface
� Currently exploring providing a simpler programming model
� Provide an on-ramp to ease extensibility
� Characteristics of experiment
� Wire protocol is API, accessible to clients of all kinds
– Resource representations explicitly specified
� Clients communicate using RESTful interface
� More declarative building blocks
IBM Rational Software Development Conference 2008
SDP21 17© Copyright 2008 IBM Corporation. All rights reserved.
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 “structured indexes”, independent
� Standard analysis, query, reporting
HTTP GET/PUT/POST/DELETE
Index
IBM Rational Software Development Conference 2008
SDP21 18© Copyright 2008 IBM Corporation. All rights reserved.
Summary: Ongoing Architectural Innovation
� The Jazz Platform is the plumbing inside every Rational Team Concert
� The Jazz Core team continues to innovate on the Platform, improving
�Capability
�Scalability
�Configurability
�Connectivity
�…
IBM Rational Software Development Conference 2008
SDP21 19© Copyright 2008 IBM Corporation. All rights reserved.
Other pointers
� Platform Technical Overview on jazz.net
� Jazz Live Tuesday night, 6pm – meet the team
� Additional sessions with architecture content:
�CRMA38 - Architecture and Customization of the IBM Rational Team Concert Connectors
�SDP27 – Process Enactment
�SDP29 - Building Jazz with Jazz
�SDP30 - Best Practices from Internal Deployment
SDP21
IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference
2008
© Copyright 2008 IBM Corporation. All rights reserved.
®
Questions?
Thank you…