HeaderSIS.jpg

IS480 Team wiki: 2011T2 The A-Team

From IS480
Jump to navigation Jump to search

Template:Editprotected

Hello everyone, the site is still under maintenance! Please check back for the latest update!

The Stakeholders

Client

3-oracle.gif

The Team

Name Role Responsibility
Goh Shi Long Project Manager
  • In charge of project schedule and assign task to team members
  • To mediate any conflicts between team members
  • Keep track of bug and time metrics
  • Schedule and coordinate meetings
  • Communicate and manage clients
  • Anticipate possible risk and come out with ways to mitigate them
Myo Myint Aung Technical Lead
  • Ensure team members are adopting proper coding standards
  • Give advice to PM on the estimated time needed for each task assigned
  • Ensure team members have the proper environment
  • In charge of designing the system architecture
  • Supervise training and ensure that everyone has the necessary skills to develop the widgets
Cheng ZhengHong Usability Analyst & Co-Tester
  • Design user interface of widget
  • In charge of widget usability
  • Assist Lead tester
  • Write minutes
Chew Leong Heng System Analyst & Database Specialist
  • Backend system workflow modelling
  • Assist Technical Lead with integration
  • Design database
  • Front end widgets designing
Ting Wen Jun Lead Tester and Assistant Project Manager
  • Design test case scenario
  • Assist project manager
  • Update metrics
  • In charge of UAT
  • Update wiki page

Project Overview

Description

The team is to develop three different lightweight prototype widgets for customers in the Media and Entertainment (M&E) industry. Oracle will incorporate these prototype widgets into a backend system that models the business workflow within the industry. These widgets will work together to provide customers with a user-friendly interface for accessing and manipulating tasking information, helping them to make precise business decisions.

Motivation

There are various emerging trend that are gaining great interest in the M&E industry. The promises of using Service Oriented Architecture (SOA) and Business Process Modeling (BPM) technologies to form composite applications to provide flexibility and openness to systems have caught the attention of many CTOs. By introducing non-intrusive widgets with simple user interfaces that extract information from the backend system running on the BPM technology, it allows users to easily obtain and control “live” information. This timely information enables user to be on top of the development during productions.

Concept Diagram

ConceptDiagram.jpg

Goals

[To be updated]

Deliverables

Business Process Application

The industry has many business processes that exist within the back end system. Oracle BPM suite will be used to model and simulate the actual industry. The widget will be triggered by the workflow in the BPM. The widget, together with BPM will help the oracle to showcase to potential clients through different communication protocol how they can provide a new, non-intrusive channel for interaction with the backend systems.

Widgets

1. Transcode Widget

Summary

Widgets are Java Plug-in using JavaFX libraries. Transcoding is a digital data conversion of one encoding to another and the function of a transcode widget is to view the status of the transcoding process to a transcode farm. User is able to pause, stop and resubmit a transcode event and status of a transcoding job will be reflected.

The transcode widget will need to display the following information:

Value

Description

Transcode Vendor

The transcoder’s vendor

Job Name

Name of the transcoding job

Job ID

Id of the transcoding job

Profile Used

The profile name used

Production

The production of the task

Asset

Asset name related to the transcoding job

Date / Time Submitted

Date and time the transcoding job is submitted

Job Status

The current status of the transcoding job


The transcode widget will be triggered by the following events:

Events

Description

Job submitted

When a transcode job is submitted

Job successfully completed

When a transcode job is successfully completed

Job paused

When a transcode job is paused

Job fails

When a transcode job fails


The actions that can be done through the widget:

Events

Description

Job Flow Control

Pause/Stop a transcode job or resume one using the same transcode parameters.

View details

View details generated by the transcode farm or DAPS for the following events:

  1. When a transcode job is successfully completed
  2. When a transcode job fails

Setting the refresh frequency

Setting the refresh frequency for the widget information


Mock up screenshot.jpg

2. Work List Widget

Summary

The work-list widget allows users to view the outstanding tasks that have been assigned to the user. It will alert users on different events like tasks assigned, completed and status. Filtering can also be done by Project, Month or Department and also, the assets required.

The Work List Widget will need to display the following information:

  • Outstanding tasks for an artist, including what assets are needed for each task. Can be filtered by Project, Month or Department
  • “Work Forecast” – Projection of an artist’s workload 3,5 or 7 days into the future
  • “Work History” – Listing of completed tasks. Can be filtered by Project, Month or Department


The worklist widget will be triggered by the following events:

Events

Description

Task Assigned

When a task is being assigned to a user

Task Complete

When a task is completed by a user (?)

Task Change Status

When a status of a task has changed


The actions that can be done through the widget:

Events

Description

View Tasks Details

View Task Details

Task display filters

Filter outstanding tasks by Project, Month or Department

Setting the refresh frequency

Setting the refresh frequency for the widget information


Worklist1.jpg Worklist2.jpg Worklist3.jpg Worklist4.jpg

3. Reporting Widget

Summary

The reporting widget is for managers to have a quick snapshot overall view of the current situation happening in different productions. The widget has different views to choose from, for example, active and overdue assignments, assignment breakdown or cost by production or by department.

The Reporting Widget will need to display the following information:

  • Active Assignments For Department By Production
  • Active Assignments For Production By Department
  • Assigned Users For Production By Department
  • Assignment Breakdown For Status By Production
  • Cost By Asset For Production
  • Cost By Department For Production
  • Overdue Assignment For Department By Production
  • Overdue Assignments For Production By Department


The reporting widget will be triggered by the following events:

Events

Description

Task Assigned

New task assigned to an artist

Task Complete

When a task status changes to indicate that it’s under review

Task Change Status

When an asset or shot has been finalized

The actions that can be done through the widget:

Events

Description

Setting the refresh frequency

Setting the refresh frequency for the widget information


ReportingWidget1.png
ReportingWidget2.png
ReportingWidget3.png

Additional Requirements for the Widgets

1. Widgets Communication Protocols
The user will be able to choose which protocol he would like to use for the user to communicate to the backend systems. The widget will need to be able to communicate using the following protocol:

  • SOAP/HTTP protocol
  • REST/XML
  • REST/JSON

2. Flexible Endpoints
The widget should have a mechanism to enable to users to change the webservices endpoint to retrieve the information on the transcode, worklist and also the report widget. The administrator will be able to change/update the endpoints to these services remotely.

3. Ability to view task details in Work List Widget in a browser
Each widget displays a subset of the information about particular tasks. The user will want to view the full details of the tasks. The user will be able to click on any tasks and has the option to view in the application. That action will launch the browser and navigate to the webpage that shows the details of tasks.

Source Codes and Binaries

[To be updated]

Documentations

Use Case Description

[To be updated]

Use Case Diagram

[To be updated]

Project Management

Planned Project Milestone

Iterations

Tasks

Start Date

End Date

Weeks

Status

NA

Defining project scope/features

9/10/2011

24/10/2011

3

Completed

Finalising project proposal

1

Formulating various project tracking matrix

25/10/2011

27/11/2011

5

In Progress

Foundation/software training

2

Modelling BPM workflow

Mile Stone 1:Project Acceptance

28/11/2011

28/11/2011

3

Transcode widget

2/1/2012

13/1/2012

2

Not Started

4

Transcode widget integration into workflow

14/1/2012

19/1/2012

1

Not Started

Mile Stone 2 :User Acceptance Test 1

20/1/2012

20/1/2012

5

Improvements based on UAT 1

22/1/2012

4/2/2012

2

Not Started

6

Reporting & Work List widgets interfaces

5/2/2012

19/2/2012

2

Not Started

Mile Stone 3: Mid Term Presentation

20/2/2012

20/2/2012

7

Reporting & Work List widgets

21/2/2012

16/3/2012

4

Not Started

Integration of 2 widgets into workflow

19/3/2012

29/3/2012

2

Not Started

Mile Stone 4: User Acceptance Test 2

30/3/2012

30/3/2012

8

Improvements based on UAT 2

1/4/2012

15/4/2012

2

Not Started

Mile Stone 5:Final Presentation

16/4/2012

16/4/2012


Actual Project Milestone

[To be updated]

Metrics

[To be updated]

Bug Metric

[To be updated]

Bug Tracking

[To be updated]

Schedule Metric

[To be updated]

Risk Management

[To be updated]

Risk Analysis

[To be updated]

Risk Mitigation

[To be updated]

Technologies and Tools Involved

JavaFX 1.3.1 SDK

The 3 widgets will be coded in JavaFX.

Netbeans 6.9.1

Netbeans will be our choice of IDE.

Java JDK 1.7.0

The adoptor used to convert assignments and task from Oracle BPM to Widgets will be coded in Java.

Oracle BPM Suite 11.1.5g

The Media and Entertainment Industry workflow will be modeled using Oracle BPM suite.
Here is an example of how the workflow will look like:
CombinedBP.png PAPI
PAPI Overview PAPI is a Java client-server API that allows you to interact with processes deployed on an Oracle BPM Process Execution Engine.

PAPI is a Java API a Java API that can be invoked by any Java application written in Java 1.5. PAPI provides the following operations:

   Create, send and abort process instances
   Select process instances
   Reassign process instances
   Audit an instance
   Suspend and resume process instances
   Grab and un-grab process instances
   Run interactive and global interactive activities
   Run external tasks
   Send notifications
   Get a list of process instances
   Get a list of deployed processes
   List the activities in a deployed process
   Get the latest version of a deployed process
   Manage views and presentations
   Manage attachments


Oracle XE Universal

Oracle Database

Progress and Updates

[Still in planning stage]