IBM Rational Software Development Conference 2008 - Jazz.net

Post on 01-Mar-2022

2 views 0 download

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…