ALM iStack – Application Lifecycle Management
using Linked Data
Application Lifecycle Management
Background and Motivation
Open Service Lifecycle Collaboration
ALM iStack
ALM iStack Bugzilla Adapter
o Proof-Of-Concept for real work ALM integration use case
o Improvements to OSLC ontology (OSLC+)
o Linked Data Platform Middleware
oLDP server
oLDP client
oIdentity Management Service
o Linked Data Platform Adapter for Bugziila
Nandana Mihindulukasooriya
Ontology Engineering Group, Universidad Politécnica de Madrid, Spain
nmihindu@fi.upm.es
Future Work
To investigate and find solutions for challenging requirements of application integration using Linked Data. Most of these requirements need improvements to
Liked Data Platform protocol speciation or some profile specifications built on top of that and the project is planning to contribute to advance the protocol.
ALM iStack project is funded by the Center for Open Middleware (COM) at Universidad Politécnica de Madrid (UPM).
Client
UI
ALM API
LDP client
BL API
Middleware
LDP server
Identity
management
Storage
BugZilla Adapter
Model transformer
Tool gateway
Adapter API
TestLink Adapter
Model transformer
Tool gateway
Adapter API
 RDF
 HTTP Headers
 URL Query
 XML/JSON
 HTTP Headers
 URL Query?
CM
QM
AM
Document
Management
Subversion,
MediaWiki
Quality Control
Crucible, Checkstyle,
PMD, Findbugs,
Clover, Sonar
Reporting &
Communication
MediaWiki, Maven2
site, Atlassian suite
comments support
Project & Tasks
Management
Redmine
Bug Tracking
& Change
Management
Bugzilla
Software
Configuration
Management
Subversion, FishEye
Development
Environment
Eclipse Galileo, SOAPUI,
XML editors...
Continuous
Integration &
Delivery
Maven2, Bamboo
Shared Software
Repository
Artifactory
Testing
Testlink, SOAPUI,
JMeter, JUnit
Software development process involves a
set of activities including project planning,
requirement gathering, design and
architecture, software development, testing
and quality assurance, deployment, support.
All theses activities have to be integrated for
managing, coordinating and governing of the
operations in a more effective manner.
A specification that defines a REST API to
read and write Linked Data for the
purposes of enterprise application
integration. The Linked Data Platform
describes the use of a REST API for
accessing, updating, creating and deleting
resources from servers.
Linked Data Platform
GOAL
To develop an open source Application Lifecycle Management
platform that automates and supports the whole software development
lifecycle by integrating the best existing open source tools using
Linked Data.
Challenges
Product
oslc_asset:Asset
Version
foaf:Person
DefectStatus
Defect
hasVersion
isVersionOf min 1
oslc_cm:status min 1
dc:contributor min 1
dc:creator min 1
Revision
dc:title min 1
dc:description
dc:title min 1
oslc_asset:version min 1
hasRevisionNumber
hasFixNumber
xsd:string
xsd:string
New
WorksForMe
InProgress
Closed
ClientDefect
relatedIncident min 1
oslc_cm:ChangeRequest
Incident
DefectPriority
hasPriority min 1
Blocker
Critical
Major
Normal
Minor
Trivial
oslc:discussedBy
oslc:Comment
oslc:Discussion
oslc:discussionAbout
oslc:comment
oslc:partOfDiscussion min 1
oslc:inReplyTo
dc:creator min 1
dc:description min1
xsd:string
dc:created min1
xsd:dateTime
oslc_asset:relatedChangeRequest
oslc_asset:relatedAsset min 1
oslc_cm:relatedChangeRequest
DefectImpact
hasImpact
High
Medium
Low
Attachment hasAttachment
attachedTo min 1
dc:creator
dc:title min1
xsd:base64Binary
hasContentmin1
Defect
ClientDefect
Incident
o Security
o Transactions
o Reliable Messaging
o Discovery and affordance
o RDF Data validation
o Data quality and consistency
o Performance
Integrating software development tools using Linked Data is a
promising approach. There are few challenging requirements to be
fulfilled before approach can be adopted by the industry.
ALM iStack Ontology
ALM iStack outcomes
A set of specifications that enable
integration of software development and
more broadly Application Lifecycle
Management by defining a set of common
vocabularies for different software
engineering domains.

ALM iStack - Application Lifecycle Management using Linked Data

  • 1.
    ALM iStack –Application Lifecycle Management using Linked Data Application Lifecycle Management Background and Motivation Open Service Lifecycle Collaboration ALM iStack ALM iStack Bugzilla Adapter o Proof-Of-Concept for real work ALM integration use case o Improvements to OSLC ontology (OSLC+) o Linked Data Platform Middleware oLDP server oLDP client oIdentity Management Service o Linked Data Platform Adapter for Bugziila Nandana Mihindulukasooriya Ontology Engineering Group, Universidad Politécnica de Madrid, Spain nmihindu@fi.upm.es Future Work To investigate and find solutions for challenging requirements of application integration using Linked Data. Most of these requirements need improvements to Liked Data Platform protocol speciation or some profile specifications built on top of that and the project is planning to contribute to advance the protocol. ALM iStack project is funded by the Center for Open Middleware (COM) at Universidad Politécnica de Madrid (UPM). Client UI ALM API LDP client BL API Middleware LDP server Identity management Storage BugZilla Adapter Model transformer Tool gateway Adapter API TestLink Adapter Model transformer Tool gateway Adapter API  RDF  HTTP Headers  URL Query  XML/JSON  HTTP Headers  URL Query? CM QM AM Document Management Subversion, MediaWiki Quality Control Crucible, Checkstyle, PMD, Findbugs, Clover, Sonar Reporting & Communication MediaWiki, Maven2 site, Atlassian suite comments support Project & Tasks Management Redmine Bug Tracking & Change Management Bugzilla Software Configuration Management Subversion, FishEye Development Environment Eclipse Galileo, SOAPUI, XML editors... Continuous Integration & Delivery Maven2, Bamboo Shared Software Repository Artifactory Testing Testlink, SOAPUI, JMeter, JUnit Software development process involves a set of activities including project planning, requirement gathering, design and architecture, software development, testing and quality assurance, deployment, support. All theses activities have to be integrated for managing, coordinating and governing of the operations in a more effective manner. A specification that defines a REST API to read and write Linked Data for the purposes of enterprise application integration. The Linked Data Platform describes the use of a REST API for accessing, updating, creating and deleting resources from servers. Linked Data Platform GOAL To develop an open source Application Lifecycle Management platform that automates and supports the whole software development lifecycle by integrating the best existing open source tools using Linked Data. Challenges Product oslc_asset:Asset Version foaf:Person DefectStatus Defect hasVersion isVersionOf min 1 oslc_cm:status min 1 dc:contributor min 1 dc:creator min 1 Revision dc:title min 1 dc:description dc:title min 1 oslc_asset:version min 1 hasRevisionNumber hasFixNumber xsd:string xsd:string New WorksForMe InProgress Closed ClientDefect relatedIncident min 1 oslc_cm:ChangeRequest Incident DefectPriority hasPriority min 1 Blocker Critical Major Normal Minor Trivial oslc:discussedBy oslc:Comment oslc:Discussion oslc:discussionAbout oslc:comment oslc:partOfDiscussion min 1 oslc:inReplyTo dc:creator min 1 dc:description min1 xsd:string dc:created min1 xsd:dateTime oslc_asset:relatedChangeRequest oslc_asset:relatedAsset min 1 oslc_cm:relatedChangeRequest DefectImpact hasImpact High Medium Low Attachment hasAttachment attachedTo min 1 dc:creator dc:title min1 xsd:base64Binary hasContentmin1 Defect ClientDefect Incident o Security o Transactions o Reliable Messaging o Discovery and affordance o RDF Data validation o Data quality and consistency o Performance Integrating software development tools using Linked Data is a promising approach. There are few challenging requirements to be fulfilled before approach can be adopted by the industry. ALM iStack Ontology ALM iStack outcomes A set of specifications that enable integration of software development and more broadly Application Lifecycle Management by defining a set of common vocabularies for different software engineering domains.