ibm rational software development conference 2008 - jazz.net

20
SDP21 IBM Rational Software Development Conference IBM Rational Software Development Conference 2008 © Copyright 2008 IBM Corporation. All rights reserved. ® Scott Rich Distinguished Engineer, Jazz Architect IBM Rational Introduction to the Jazz Technology Platform: Architecture Overview and Extensibility

Upload: others

Post on 01-Mar-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 2: IBM Rational Software Development Conference 2008 - Jazz.net

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…

Page 3: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 4: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 5: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 6: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 7: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 8: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 9: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 10: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 11: IBM Rational Software Development Conference 2008 - Jazz.net

IBM Rational Software Development Conference 2008

SDP21 11© Copyright 2008 IBM Corporation. All rights reserved.

Simple Jazz Team Server Administration

Page 12: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 13: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 14: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 15: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 16: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 17: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 18: IBM Rational Software Development Conference 2008 - Jazz.net

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

�…

Page 19: IBM Rational Software Development Conference 2008 - Jazz.net

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

Page 20: IBM Rational Software Development Conference 2008 - Jazz.net

SDP21

IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference

2008

© Copyright 2008 IBM Corporation. All rights reserved.

®

Questions?

Thank you…