Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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…