ibm rational software development conference 2008 · pdf fileibm rational software development...

Post on 31-Jan-2018

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference

2008

© Copyright 2008 IBM Corporation. All rights reserved.

®

Introduction to the Jazz Technology Platform: Architecture Overview and Extensibility

Alfredo GutiérrezProgram Director, Technology Events, IBM Rationalfredgz@us.ibm.com

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 2

Agenda and Objectives

� We will cover:

�Jazz Objectives

�Jazz Platform Architecture

�Jazz Platform Extensibility

�Future thoughts. We’re not done yet…

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 3

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

Introduction to Jazz Architecture 4

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

Introduction to Jazz Architecture 5

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

Introduction to Jazz Architecture 6

Items and relationshipsEvent history,

Item history trends

Jazz RepositoryDefectsRequirementsUse-cases, …..

….,BuildsSource code,

Test-casesTest results

Storage

Event Notification Conversation

Project and Team Structure Search

ProcessEnactment

Securityand Access

EclipseClient Platform

(RPC)

WebClient Platform

(AJAX)

Visual StudioClient Platform

Jazz Collaboration Server

Jazz Architecture

Rational ClearQuest

Rational ClearCase

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 7

Extending the Jazz Platform – Understanding jazz.war

/jazz/*

App Server

Jazz.war

Equinox B

ridge Servlet

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

Introduction to Jazz Architecture 8

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 changeevents and feed rendering

�Provides access to and manages component services

�Process component. Provides:

� 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

You can create a process awareservices that enables itself to be governed by process.

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 9

Jazz 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

Introduction to Jazz Architecture 10

Jazz Platform – repository data model…three logical 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 text index to support full-text search

� A snapshot framework for extracting summary data for reporting

Data warehouse DB

Operational DB

Item store(private)

Index data(extracts queriableportion)

Data Warehouse(public

reporting DB)

indexer extractor

S

get

put

Highly Optimized Relational DB

Cognos BIRT …

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 11

Jazz Team Server - Self-Serve Administration

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 12

Jazz Team Server - Authentication and Permissions

RepoDB

Corporate Directory

server

JazzTeam server

LDAPimport

App S

erver Authentication

Process Permissions- team-managed

- role-based- dynamic

Repository Permissions:(Managed by your IT department)-Admin-Writer-Reader

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 13

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

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 14

Configurability through Process

� Allows team specific work products and behavior

� Allows team specific conditions under which client-side and server-side operations are allowed to proceed

� Allows team specific participants for client-side and server-side operations

� Allows team specific reactions to server-side change events

� The Jazz Platform itself is artifact and process neutral

� Its the components that explicitly introduce the specifics of process configuration

Subversion

Enabled

RationalBuild Forge

RationalClearQuest

RationalClearCase

Rational Team Concert

Enabled

Enabled

Enabled

Subversion

Enabled

RationalBuild Forge

RationalClearQuest

RationalClearCase

Rational Team Concert

Enabled

Enabled

Enabled

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 15

Example: Finding the Right Process (the Jazz Process)1 Jazz Project area defines process

2 Jazz team area does not customize the process

3 Process team area customizes the process

Myth: Developers hate process.Truth: Developers are ok with process if they defined it

and it helps them get their work done.

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 16

Process Execution Flow

Client ServerComponent 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 SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference

2008

© Copyright 2008 IBM Corporation. All rights reserved.

®

Extensibility of the Jazz Platform

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 18

The Jazz SDK and Jazz Labs

� Two evolving sources of information for Jazz extenders on Jazz.net�SDK is the primary source, the essential stories for extending the platform (wiki ‘RtcSdk’)

�Jazz Labs is more experimental (wiki ‘JazzLabs’)

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 19

Jazz Eclipse Client

Anatomy of a Jazz Component� Client library

� Services / REST*� Storage model extension

� Web extension

� Any of the three or any combination

*Representational State Transfer

Jazz Web ClientAJAX based

Jazz Wiki Component

wiki.client.jarwiki.common.jarwiki.server.jarwiki.web.jar

Jazz Team Server

S

Bundle based programming model.

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 20

Client Applications

� Jazz Client Kernel� Provides access to and manages repository connections

� Provides the basics for querying, fetching, and caching repository data

� Provides access to and manages feed subscriptions and feed data

� Provided access to and manages client libraries

� Provides the notions of projects, teams, and process

� Runs in OSGI environments such as eclipse RCP and in plain java clients

� Jazz UI Foundation� Basic UI building blocks for Jazz

� Jazz client extensions� Client libraries

� UI or UI extensionsJazz Client Kernel

Eclipse Client

Eclipse Platform

Jazz UIF

Jazz Client Extensions

Jazz Client Extensions

Java Client

Jazz Client Kernel

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 21

Plain Java Extension

� It is a normal plain Java application

� Establishes one or more connections to Jazz repositories

� Uses (and provides) client libraries

TeamPlatform.startup();

ITeamRepositoryService srv = TeamPlatform.getTeamRepositoryService();

ITeamRepository repo = srv.getTeamRepository(myRepositoryURL);

repo.login(progressMonitor);

IQueryClient qryClnt = repository.getClientLibrary(IQueryClient.class);

IQueryResult result= qryClnt.findAll(myQueryExpression);

processWorkItems(result);

Jazz Client Extensions

Java Client

Jazz Client Kernel

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 22

What are Client Libraries?

� A bundle that provides a sophisticated façade for a component’s functionality� A service running on the Jazz Team server

� Looks like you’re just invoking client side Java API

� Hides complexity of transport

� Instantiated only once per repository connection� may have state and allow for listeners

� Talks to Jazz platform and component specific services on the server� Can leverage smart, optimized communication patterns

� Manages the caching of the component’s repository data

� Can depend on and talk to other client libraries

� Interesting client side applications are possible by using the Jazz Client Kernel and existing client libraries

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 23

Other key extensibility stories for RTC 1.0

� Create a new report�Use the BIRT report editor and the RTC data warehouse schema to provide custom

reporting (sample reports provided)

� Extending the Build system�Templates driving Ant based builds provided.

�Provide a new build template, e.g. Maven support

� Create a new process template�Process component provides XML schema for templates

� Includes process-specific work item types, supporting reports, process guidance

�Templates are then used to “launch” projects using that template

�See examples in RTC

IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference

2008

© Copyright 2008 IBM Corporation. All rights reserved.

®

Looking ahead

We’re not done yet…

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 25

JRS 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

Programming modelSpecified in Open ServicesFor Lifecycle collaboration

IBM Rational Software Development Conference 2008

Introduction to Jazz Architecture 26

Summary: Ongoing Architectural Innovation

� The Jazz Platform is the plumbing inside Rational Team Concert 1.0 product

� The platform and products built on it are open to extensibility, Jazz.net wiki will be the place to go for details

� The Jazz Core team continues to innovate on the Platform, improving�Capability

�Scalability

�Configurability

�Connectivity

IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference

2008

© Copyright 2008 IBM Corporation. All rights reserved.

®

Questions?

Thank you…

top related