managing alm with jasforge oslc solution · 2017-12-06 · tools carried in jasforge version...
TRANSCRIPT
Managing your Agile ALM Process with
JasForge OSLC Forge and Lyo SDK
DJAAFAR Karim
CO of Jasmine Conseil
http://www.jasmineconseil.com
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
Background and Introduction
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)
Agile ALM at a glance
ALM, what is ?
“ALM describes the coordination of development lifecycle disciplines, including the management of requirements, changes, configurations, integrations, releases, and tests…”
Application Lifecycle
Management
ALM bridges the development disciplines and
phases of requirements definition, design, code,
test, and run.
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.
ALM in Agile Project
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
Managing your own build process Choosing the right tool in your Agile Process
How to Integrate is own
Tool ?
how can we integrate those tools efficiently
across different vendor products to provide
services for the customer ?
The constraints
Traditional Tool Integration…
Closed APIs
Vendor Lock in
Tight Coupling
Dependences on internal structures
Versions incompatibilities
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
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)
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>
JasForge: The Agile Dashboard in your ALM process
A single repository for all the ALM
Tools
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
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
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
OSLC JasForge Implementation
How to register a Tool using OSLC mecanisms in
JasForge Solution
Project
Task
JIRA Issue
OSLC
Atlassian JIRA
Registration
JasForge Studio: the customized
installer Pack
JasForge Studio Installer Pack
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 :
Project Management
All the project created using JasForge are
managed inside Nexus repository Manager :
Project are managed using
Maven Archetypes
Complete Integration of Maven
Tasks
Users Management All the team members are managed using an
LDAP directory using dedicated role (Administrator,
Project Manager, Developer, Deployer):
Quality Management with Sonar
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
The JasForge Team
Thank You
Please Visit the Official Web Site
http://www.jasforge.com
For further information contact us :