managing alm with jasforge oslc solution · 2017-12-06 · tools carried in jasforge version...

31
Managing your Agile ALM Process with JasForge OSLC Forge and Lyo SDK DJAAFAR Karim CO of Jasmine Conseil http://www.jasmineconseil.com

Upload: others

Post on 20-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Managing your Agile ALM Process with

JasForge OSLC Forge and Lyo SDK

DJAAFAR Karim

CO of Jasmine Conseil

http://www.jasmineconseil.com

Page 2: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Overview

Background and Intro

Agile ALM at a glance

ALM in Agile Project

JasForge, The Agile Dashborad in your ALM process

A Little Demo

Questions

35:00 Minutes

Page 3: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Background and Introduction

Page 4: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Who am I ?

Team Leader of Jasmine Conseil, a French

Consulting Company in Open Source Software

A JEE Evangelist working on “Agile ALM Project”

Chief Committer of JasForge Project, a

collaborative Agile Open Source project

dedicated to federate Open Source Tools in one

Dashboard Web Application

This project was first presented to EclipseConf

2010 at Ludwigsburg (Germany)

Page 5: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Agile ALM at a glance

Page 6: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

ALM, what is ?

“ALM describes the coordination of development lifecycle disciplines, including the management of requirements, changes, configurations, integrations, releases, and tests…”

Page 7: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Application Lifecycle

Management

ALM bridges the development disciplines and

phases of requirements definition, design, code,

test, and run.

Page 8: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

To resume, …

In summary, Agile ALM consists of the following

four major fundamentals: Collaboration — All team members are aware of what others

are doing

Integration — Achieving business targets requires an

enterprise infrastructure to integrate roles, teams, workflows,

and repositories into a responsive software delivery chain

Automation — The streamlining of the full lifecycle is heavily

based on end-to-end automation

Continuous improvement — You can improve only what you

can see and measure, so building and delivering software that

minimizes manual work is a requirement for easily identifying

where you are in your process.

Page 9: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

ALM in Agile Project

Page 10: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Managing efficiently your build process:

a required step in Java complex project

Today, managing and taking control of your software process is a major challenge for maintaining is capacity to be innovative and competitive

We must manage the quality of our software development en meet the requirements and delays in a predictive mode

Each Team with each role in each project use different conventions and code quality metrics and reporting are not done systematically, or not at all

We need some orchestration solution which can manage all this constraints

Page 11: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Managing your own build process Choosing the right tool in your Agile Process

Page 12: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

How to Integrate is own

Tool ?

how can we integrate those tools efficiently

across different vendor products to provide

services for the customer ?

Page 13: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

The constraints

Traditional Tool Integration…

Closed APIs

Vendor Lock in

Tight Coupling

Dependences on internal structures

Versions incompatibilities

Page 14: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Using Open Standards with The Open Services

for Lifecycle Collaboration (OSLC)

OSLC, (http://open-services.net ) is a community-driven effort,

mainly sponsored by IBM, to improve the integration of lifecycle

between tools (requirements, build Tool, defects, ...)

Core specifications V2

The OSLC program established special interest groups working

on individual ALM areas, including change management,

requirement management, and software configuration

management, providing public descriptions of interfaces for

integrating these features.

The interfaces are specified in a REST web service style.

Eclipse Lyo is the Reference Implementation for OSLC

Page 15: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

About the OSLC-CM

specifications

OSLC-CM is a specification that seeks to

standardise bugtracker (or more precisely

Change Management applications) interfaces in

order to provide features like :

Linking DATA via http and REST APIs (JAX-RS)

ServiceProvider, enabling tools to expose there

resources and allowing consumers to navigate to all

of the resources and create new ones using

Adapters

RDF based resource description (Catalog

RDF/XML)

Page 16: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Service Description and Discovery (Ex: Bugzilla OSLC connector)

<oslc:ServiceProviderCatalog rdf:about="http://localhost:8282/bugz/catalog">

<dcterms:title>OSLC-CM Adapter/Bugzilla Service Provider Catalog</dcterms:title>

<oslc:domain rdf:resource="http://open-services.net/ns/cm#" />

<oslc:serviceProvider>

<oslc:ServiceProvider

rdf:about="http://localhost:8282/bugz/provider?productId=1">

<dcterms:title>TestProduct</dcterms:title>

</oslc:ServiceProvider>

</oslc:serviceProvider>

<oslc:serviceProvider>

<oslc:ServiceProvider rdf:about="http://localhost:8282/bugz/provider?productId=3">

<dcterms:title>FakePortal</dcterms:title>

</oslc:ServiceProvider>

</oslc:serviceProvider>

</oslc:ServiceProviderCatalog>

Page 17: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

JasForge: The Agile Dashboard in your ALM process

Page 18: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

A single repository for all the ALM

Tools

Page 19: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

A PaaS Architecture JasForge thanks is pluggable Architecture provide a referential of

all the required tools used in your Agile team

JasForge is a PAAS infrastructure (Platform As A Service) for all the

registered Tools qualified to work in your Forge using a dedicated

installer

Page 20: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

JasForge, the Agile Platform

JasForge is a unique collaborative platform for service

and Agile tools

JasForge is specifically adapted for projects which

want to personalize their development process

JasForge is composed of:

A bundle of Agile Tools focused on each part of

the development process (inception tool,

collaborative tool, build tool, CI tool, Project

Management Tool, Eclipse Maven Archetype…)

JasForge support OSLC specifications using

Eclipse Lyo SDK (see demo)

JasForge Core which manage and orchestrates

the selected tools and OSLC compatible connectors

Page 21: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Tools Carried in JasForge Version Control

Subversion, Git

Build Tool

Maven with dedicated Archetypes, and dedicated plugins

Continuous Integration

Jenkins, Hudson

Repositoty Manager

Nexus (required)

Ldap Registry

Open LDAP

Bug Tracking

JIRA, Bugzilla

Agile Planning and Project Management

Green Hopper, Redmine

Wiki

Confluence

Quality Managment

Sonar, Checkstyle

Page 22: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

OSLC JasForge Implementation

How to register a Tool using OSLC mecanisms in

JasForge Solution

Project

Task

JIRA Issue

OSLC

Atlassian JIRA

Registration

Page 23: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

JasForge Studio: the customized

installer Pack

JasForge Studio Installer Pack

Page 24: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Jasforge: Agile Tool on Demand

An Agile Tools Platform on demand You can customize easily your forge using an update installer

and thanks to JasForge pluggable architecture, you chosse

what tool you need to use in your project :

Page 25: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Project Management

All the project created using JasForge are

managed inside Nexus repository Manager :

Page 26: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Project are managed using

Maven Archetypes

Page 27: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Complete Integration of Maven

Tasks

Page 28: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Users Management All the team members are managed using an

LDAP directory using dedicated role (Administrator,

Project Manager, Developer, Deployer):

Page 29: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Quality Management with Sonar

Page 30: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

Demo

Demonstration of the JasForge OSLC Adapter

for Atlassian JIRA Start the Lab Environment

Understand the Project Structure

See Lyo code implementation in JasForge

Run the JIRA Adapter in JasForge

Page 31: Managing ALM with Jasforge OSLC Solution · 2017-12-06 · Tools Carried in JasForge Version Control Subversion, Git Build Tool Maven with dedicated Archetypes, and dedicated plugins

The JasForge Team

Thank You

Please Visit the Official Web Site

http://www.jasforge.com

For further information contact us :

[email protected]