Difference between revisions of "IS480 Team wiki: 2011T2 The A-Team"
Mamyo.2008 (talk | contribs) |
|||
(37 intermediate revisions by 2 users not shown) | |||
Line 90: | Line 90: | ||
{| class="wikitable" style="text-align:left; background:AliceBlue" | {| class="wikitable" style="text-align:left; background:AliceBlue" | ||
|- | |- | ||
− | |The team is to develop three different lightweight widgets for the | + | |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 === | === Motivation === | ||
{| class="wikitable" style="text-align:left; background:AliceBlue" | {| class="wikitable" style="text-align:left; background:AliceBlue" | ||
|- | |- | ||
− | |There are various emerging trend that are gaining great interest in the | + | |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 === | ||
+ | [[Image:ConceptDiagram.jpg]] | ||
+ | |||
=== Goals === | === Goals === | ||
[To be updated] | [To be updated] | ||
Line 104: | Line 109: | ||
{| class="wikitable" style="text-align:left; background:AliceBlue" | {| class="wikitable" style="text-align:left; background:AliceBlue" | ||
|- | |- | ||
− | |The industry has many business processes that exist within the system. BPM | + | |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==== | ====Widgets==== | ||
− | |||
=====1. Transcode Widget===== | =====1. Transcode Widget===== | ||
+ | <b>Summary</b> | ||
{| class="wikitable" style="text-align:left; background:AliceBlue" | {| class="wikitable" style="text-align:left; background:AliceBlue" | ||
|- | |- | ||
− | | | + | |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. |
|} | |} | ||
Line 275: | Line 280: | ||
</table> | </table> | ||
<br /> | <br /> | ||
+ | |||
+ | [[Image:mock up screenshot.jpg]] | ||
+ | |||
=====2. Work List Widget===== | =====2. Work List Widget===== | ||
+ | <b>Summary</b> | ||
{| class="wikitable" style="text-align:left; background:AliceBlue" | {| class="wikitable" style="text-align:left; background:AliceBlue" | ||
|- | |- | ||
− | |The | + | |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: | The Work List Widget will need to display the following information: | ||
Line 365: | Line 374: | ||
</table> | </table> | ||
<br /> | <br /> | ||
+ | [[Image:worklist1.jpg]] | ||
+ | [[Image:worklist2.jpg]] | ||
+ | [[Image:worklist3.jpg]] | ||
+ | [[Image:worklist4.jpg]] | ||
+ | |||
=====3. Reporting Widget===== | =====3. Reporting Widget===== | ||
+ | <b>Summary</b> | ||
{| class="wikitable" style="text-align:left; background:AliceBlue" | {| class="wikitable" style="text-align:left; background:AliceBlue" | ||
|- | |- | ||
− | |The reporting widget is | + | |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: | The Reporting Widget will need to display the following information: | ||
Line 437: | Line 452: | ||
</table> | </table> | ||
<br /> | <br /> | ||
+ | |||
+ | [[Image:reportingWidget1.png]] <br/> | ||
+ | [[Image:reportingWidget2.png]] <br/> | ||
+ | [[Image:reportingWidget3.png]] | ||
+ | |||
+ | =====Additional Requirements for the Widgets===== | ||
+ | 1. Widgets Communication Protocols<br/> | ||
+ | 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 <br/><br/> | ||
+ | |||
+ | 2. Flexible Endpoints <br/> | ||
+ | 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. <br/><br/> | ||
+ | |||
+ | 3. Ability to view task details in Work List Widget in a browser <br/> | ||
+ | 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. <br/><br/> | ||
====Source Codes and Binaries==== | ====Source Codes and Binaries==== | ||
Line 770: | Line 802: | ||
</table> | </table> | ||
<br /> | <br /> | ||
+ | |||
=== Actual Project Milestone === | === Actual Project Milestone === | ||
[To be updated] | [To be updated] | ||
Line 796: | Line 829: | ||
== Technologies and Tools Involved == | == Technologies and Tools Involved == | ||
− | === | + | === JavaFX 1.3.1 SDK === |
− | + | The 3 widgets will be coded in JavaFX. | |
+ | <br /> | ||
+ | === Netbeans 6.9.1 === | ||
+ | Netbeans will be our choice of IDE. | ||
<br /> | <br /> | ||
− | === | + | |
− | + | === Java JDK 1.7.0 === | |
+ | The adoptor used to convert assignments and task from Oracle BPM to Widgets will be coded in Java. | ||
<br /> | <br /> | ||
− | === Oracle | + | === Oracle BPM Suite 11.1.5g === |
− | [ | + | The Media and Entertainment Industry workflow will be modeled using Oracle BPM suite. <br/> |
+ | Here is an example of how the workflow will look like:<br/> | ||
+ | [[Image:CombinedBP.png]] | ||
+ | [http://httpdownload.oracle.comdocscdE13154_01bpmdocs65papi_javadocsindex.html PAPI] <br/> | ||
+ | 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 | ||
<br /> | <br /> | ||
− | === Oracle | + | |
− | + | === Oracle XE Universal === | |
+ | Oracle Database | ||
<br /> | <br /> | ||
+ | |||
== Progress and Updates == | == Progress and Updates == | ||
[Still in planning stage] | [Still in planning stage] |
Latest revision as of 22:52, 17 November 2011
Hello everyone, the site is still under maintenance! Please check back for the latest update!
Contents
The Stakeholders
Client
The Team
Name | Role | Responsibility |
---|---|---|
Goh Shi Long | Project Manager |
|
Myo Myint Aung | Technical Lead |
|
Cheng ZhengHong | Usability Analyst & Co-Tester |
|
Chew Leong Heng | System Analyst & Database Specialist |
|
Ting Wen Jun | Lead Tester and Assistant Project Manager |
|
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
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:
|
Setting the refresh frequency |
Setting the refresh frequency for the widget information |
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 |
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 |
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:
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]