Jira Plugin Development – Making sense of the Jira Technical Ecosystem

This is the first in a series of articles dealing with Jira plugin development.

Overview

Jira is a project tracker web application built by Atlassian in Java, and is used for agile software development by thousands of project teams. Jira can either be used as a hosted application (Jira OnDemand), or can be installed on a local server. Jira OnDemand is ideal for smaller companies that do not want to take on the burden of managing their own server. 

 

Requirements

The server requirements for a production system are:
[list_icon color=”blue” type=”icon_arrow”]

  • a Linux, Solaris or Microsoft Server based server
  • a suitable Java platform (JDK or JRE)
  • the Apache Tomcat application server
  • Oracle, My SQL, PostgreSQL or Microsoft SQL Server Database

[/list_icon]

Most modern browsers are supported on the client side, a minimum screen resolution of 1024 x 768 and Javascript support is required. More details on the specific version requirements can be found on the Jira website.

 

Architectural Overview

Jira is deployed as a standard Java WAR file, and is built on the following:

[list_icon color=”blue” type=”icon_arrow”]

  • WebWork, a Java web application framework (webwork1 is used)
  • Seraph, used for web authentication
  • Embedded Crowd, used for identity and user management
  • PropertySet, used to store key/value pairs
  • Active Objects, a new Object Relational Mapping layer used by plugins
  • 100s of Java classes, used to implement business logic (core and manager classes)
  • Apache Lucene, used for searching
  • JSP and Velocity, used for view templates
  • Quartz, used for job scheduling
  • OSWorkflow, a workflow API providing a very flexible workflow implementation
  • OFBiz (Apache’s Open for Business Project), open source enterprise automation software

[/list_icon]

In addition to the above, Atlassian has also introduced a Gadget Javascript Framework that can be used for the development of gadgets.

 

Plugin Development

The Atlassian Marketplace is the preferred distribution channel for custom plugins, both for free open-source or commercial add-ons. Various plugin modules are supported for functional areas such as reporting, workflows, custom fields, searching, remote access, as well as links and tabs. There are different versions of the Atlassian Jira Plugin Development Platform, each with a specific set of component versions. 

The major components in the platform for Jira Plugin Development are:

[list_icon color=”blue” type=”icon_arrow”]

  • Shared Access Layer (SAL), the API for accessing common services
  • Atlassian User Interface (AUI), set of reusable Javascript and CSS UI components
  • Atlassian Template Renderer (ATR), API for rendering textual content
  • Atlassian Event, library that allows plugins to send and consume internal messages
  • Activity Streams, API for sending and consuming activity streams
  • Gadgets, framework for developing OpenSocial gadgets
  • Universal Plugin Manager (UPM), tool for installing and managing plugins
  • Atlassian REST Plugin Module, create plugins points easily by exposing service and data entities
  • Trusted Apps, protocol for authenticating Atlassian applications
  • Application Links (AppLinks), a module that allows connection to external Atlassian applications
  • OAuth, the Atlassian implementation for accepting and sending authenticated requests
  • Plugin Framework, the framework that executes the plugins and manages available plugin modules
  • Active Objects, an ORM layer used for plugin data storage
  • SpeakEasy, an experimental extension mechanism for plugin prototyping
  • Jira Issue Collector, library for collecting user feedback from any page

[/list_icon]

Some Trivia

Jira is pronounced ‘JEEra’, based on the pronunciation of Kujira, which is Japanese for ‘whale’. Jira is used by companies such as NASA, Cisco, BMW and Facebook to manage their product development teams.

 

Jira Developer Resources

[list_icon color=”blue” type=”icon_arrow”]

[/list_icon]


BY: SOFTWARE DEVELOPER AT INFOWARE STUDIOS


Enhanced by Zemanta

Interesting Infoware Studios Bookmarks

0
  Related Posts