+ All Categories
Home > Documents > 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

Date post: 12-Apr-2018
Category:
Upload: pgamerob
View: 214 times
Download: 0 times
Share this document with a friend

of 27

Transcript
  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    1/27

    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 GutirrezProgram Director, Technology Events, IBM Rational

    [email protected]

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    2/27

    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. Were not done yet

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    3/27

    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

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    4/27

    IBM Rational Software Development Conference 2008

    Introduction to Jazz Architecture 4

    Think differently

    Current approaches for building tools dont gofar enough

    "We can't solve problems by using the same kind

    of thinking we used when we created them."

    A. Einstein

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    5/27

    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

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    6/27

    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 andTeam Structure Search

    ProcessEnactment

    Securityand Access

    EclipseClient Platform

    (RPC)

    WebClient Platform

    (AJAX)

    Visual StudioClient Platform

    Jazz Collaboration Server

    Jazz Architecture

    RationalClearQuest

    RationalClearCase

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    7/27

    IBM Rational Software Development Conference 2008

    Introduction to Jazz Architecture 7

    Extending the Jazz Platform Understanding jazz.war

    /jazz/*

    App Server

    Jazz.war

    EquinoxBridgeS

    ervlet

    Equinox Framework

    TeamServices

    TeamWeb

    WorkItemServices

    PlanningServices

    WorkItem

    Web

    PlanningWeb

    SCM

    Services

    /jazz/service/*

    /jazz/web/*

    ../IWorkItemService

    ../IFileSystemService

    ../IPlanRestService

    ../WorkItemView.js

    ../PlanView.js

    Jazz Server Provisioner

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    8/27

    IBM Rational Software Development Conference 2008

    Introduction to Jazz Architecture 8

    Jazz Server Kernel

    Team Repository Services

    Provides the basics for

    querying, fetching, andupdating repository data

    Provides a platform for extensibleAJAX Web UIs

    Provides support for changeevents and feed rendering

    Provides access to and managescomponent 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 tobe governed by process.

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    9/27

    IBM Rational Software Development Conference 2008

    Introduction to Jazz Architecture 9

    Jazz Platform - Service programming model

    Its stateless services all the way down

    Services are contributed by bundles

    Statelessness is key to scalability

    All state is in the DB, all client interactionsare atomic

    Clusterable and restartable

    No session state (clients are stateful)

    S

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    10/27

    IBM Rational Software Development Conference 2008

    Introduction to Jazz Architecture 10

    Jazz Platform repository data modelthree 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 summarydata for reporting

    Data warehouse DB

    Operational DB

    Item store(private)

    Index data

    (extractsqueriable

    portion)

    Data Warehouse(public

    reportingDB)

    indexer extractor

    S

    get

    put

    Highly Optimized Relational DB

    Cognos BIRT

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    11/27

    IBM Rational Software Development Conference 2008

    Introduction to Jazz Architecture 11

    Jazz Team Server - Self-Serve Administration

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    12/27

    IBM Rational Software Development Conference 2008

    Introduction to Jazz Architecture 12

    Jazz Team Server - Authentication and Permissions

    Repo

    DB

    CorporateDirectory

    server

    JazzTeam server

    LDAPimport

    App

    Serve

    rAuthentica

    tion

    Process Permissions- team-managed

    - role-based- dynamic

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

    -Reader

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    13/27

    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 teams process

    Team members play roles defined by the process

    Process manifests itself through artifacts types, operations manipulating the

    artifacts, and artifact change events

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    14/27

    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 ConcertEnabled

    Enabled

    Enabled

    Subversion

    Enabled

    RationalBuild Forge

    RationalClearQuest

    RationalClearCase

    Rational

    Team ConcertEnabled

    Enabled

    Enabled

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    15/27

    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 itand it helps them get their work done.

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    16/27

    IBM Rational Software Development Conference 2008

    Introduction to Jazz Architecture 16

    Process Execution FlowClient Server

    Component Process Component Process

    PreconditionsPermissions

    PreconditionsPermissions

    HandleRequest

    Follow-upsFollow-ups

    HandleRequest

    Server Request

    Request Response + Process Reports

    Client Request

    Process Hints Enforced Process Rules

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    17/27

    IBM Rational SoftwareDevelopment ConferenceIBM Rational SoftwareDevelopment Conference

    2008

    Copyright 2008 IBM Corporation. All rights reserved.

    Extensibility of the Jazz Platform

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    18/27

    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)

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    19/27

    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.jar

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

    Jazz Team Server

    S

    Bundle based programming model.

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    20/27

    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

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    21/27

    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();

    ITeamRepositoryServicesrv =TeamPlatform.getTeamRepositoryService();

    ITeamRepositoryrepo =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

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    22/27

    IBM Rational Software Development Conference 2008

    Introduction to Jazz Architecture 22

    What are Client Libraries?

    A bundle that provides a sophisticated faade for a components functionality

    A service running on the Jazz Team server

    Looks like youre 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 components repository data

    Can depend on and talk to other client libraries

    Interesting client side applications are possible by using the Jazz Client Kernel andexisting client libraries

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    23/27

    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

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    24/27

    IBM Rational SoftwareDevelopment Conference

    IBM Rational SoftwareDevelopment Conference

    2008

    Copyright 2008 IBM Corporation. All rights reserved.

    Looking ahead

    Were not done yet

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    25/27

    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 structuredindexes, independent

    Standard analysis, query, reporting

    HTTP GET/PUT/POST/DELETE

    Index

    Programming model

    Specified in Open ServicesFor Lifecycle collaboration

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    26/27

    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 bethe place to go for details

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

    Capability

    Scalability

    Configurability

    Connectivity

  • 7/21/2019 1 Introduction to the Jazz Technology Platform Architecture Overview and Extensibility

    27/27

    IBM Rational SoftwareDevelopment Conference

    IBM Rational SoftwareDevelopment Conference

    2008

    Copyright 2008 IBM Corporation. All rights reserved.

    Questions?

    Thank you


Recommended