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

IBM Rational Software Development Conference 2008 - Jazz.net

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

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…