Activity 1 Workflow Model and API



Similar documents
Net Developer Role Description Responsibilities Qualifications

Rose Data Modeler (logical)

Business Application Development Platform

EAI-Low Level Design Document

ICS 434 Advanced Database Systems

Novell to Microsoft Conversion: Identity Management Design & Plan

How to Use PIPS Access to/from SQL Database Utility Program. By PIPSUS Support Team Dr. Chouikha

Glyma Deployment Instructions

Microsoft Dynamics GP econnect Installation and Administration Guide

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

Team Quicken Loans: Mobile RFID Inventory Tracking System. Project Plan. Spring 2014

LT Auditor Windows Assessment SP1 Installation & Configuration Guide

Database Design Final Project

Relational Database Basics Review

Authoring for System Center 2012 Operations Manager

MicrosoftDynam ics GP TenantServices Installation and Adm inistration Guide

E-Commerce: Designing And Creating An Online Store

THE ENTITY- RELATIONSHIP (ER) MODEL CHAPTER 7 (6/E) CHAPTER 3 (5/E)

CPS122 Lecture: State and Activity Diagrams in UML

Applying 4+1 View Architecture with UML 2. White Paper

for Networks Installation Guide for the application on a server September 2015 (GUIDE 2) Memory Booster version 1.3-N and later

Bitrix Site Manager 4.1. User Guide

Chapter 2 Database System Concepts and Architecture

Click Studios. Passwordstate. High Availability Installation Instructions

Architecture Design Version1.0. Architecture Design CUSTOMER RELATION MANAGEMENT SYSTEM Version 1.0

EMC CLARiiON PRO Storage System Performance Management Pack Guide for Operations Manager Published: 04/14/2011

COURSE NAME: Database Management. TOPIC: Database Design LECTURE 3. The Database System Life Cycle (DBLC) The database life cycle contains six phases;

An Electronic Journal Management System

DATABASE MANAGEMENT SYSTEMS. Question Bank:

SourceAnywhere Service Configurator can be launched from Start -> All Programs -> Dynamsoft SourceAnywhere Server.

Entity/Relationship Modelling. Database Systems Lecture 4 Natasha Alechina

for Networks Installation Guide for the application on the server July 2014 (GUIDE 2) Lucid Rapid Version 6.05-N and later

AWS Schema Conversion Tool. User Guide Version 1.0

for Networks Installation Guide for the application on the server August 2014 (GUIDE 2) Lucid Exact Version 1.7-N and later

Click Studios. Passwordstate. High Availability Installation Instructions

Automatic Text Analysis Using Drupal

ArchiMate and TOGAF. What is the added value?

How to test and debug an ASP.NET application

Databases and BigData

Unicenter Workload Control Center r1 SP4. Server Status Troubleshooting Guide

Working with the Cognos BI Server Using the Greenplum Database

High Level Design Distributed Network Traffic Controller

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

Database migration using Wizard, Studio and Commander. Based on migration from Oracle to PostgreSQL (Greenplum)

FileMaker 14. ODBC and JDBC Guide

How to Configure the Workflow Service and Design the Workflow Process Templates

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

2692 : Accelerate Delivery with DevOps with IBM Urbancode Deploy and IBM Pure Application System Lab Instructions

Database Extension 1.5 ez Publish Extension Manual

Winery A Modeling Tool for TOSCA-based Cloud Applications

About the Authors About the Technical Reviewer

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Setting up the Oracle Warehouse Builder Project. Topics. Overview. Purpose

SpectraPro. SLQ Server databases

Sisense. Product Highlights.

Transactions and the Internet

IBM Sterling Control Center

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

How To Develop Software

FileMaker 12. ODBC and JDBC Guide

Excel 2003, MS Access 2003, FileMaker Pro 8. Which One Should I Use?

A Comparative Study of Database Design Tools

Microsoft Project Server Integration with SharePoint 2010

DATABASE REVERSE ENGINEERING

This three-day instructor-led course provides students with the tools to extend Microsoft Dynamics CRM 4.0.

IBM Tivoli Network Manager V3.9

Student Attendance Through Mobile Devices

Database Design Process. Databases - Entity-Relationship Modelling. Requirements Analysis. Database Design

Microsoft Dynamics GP Release. Workflow Administrator s Guide

Data Analysis 1. SET08104 Database Systems. Napier University

Release System Administrator s Guide

CLC Server Command Line Tools USER MANUAL

Lecture 2. Internet: who talks with whom?

Microsoft Dynamics GP. econnect Installation and Administration Guide Release 9.0

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Online Fuzzy-C-Means clustering

Agent-based University Library System

Data Movement Modeling PowerDesigner 16.1

A Cloud-based Architecture for Visual Effect Rendering System

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

Implementing a Web-based Transportation Data Management System

Training Agendas and Pricing

This module explains the Microsoft Dynamics NAV architecture and its core components.

Team: May15-17 Advisor: Dr. Mitra. Lighthouse Project Plan Client: Workiva Version 2.1

AWS Schema Conversion Tool. User Guide Version 1.0

TestManager Administration Guide

Connecting to a Database Using PHP. Prof. Jim Whitehead CMPS 183, Spring 2006 May 15, 2006

This guide describes how to quickly install and use Vibe Data Stream for Machine Data on a single machine with default configuration.

HP OO 10.X - SiteScope Monitoring Templates

Foundations of Information Management

How To Install An Aneka Cloud On A Windows 7 Computer (For Free)

Manjrasoft Market Oriented Cloud Computing Platform

ERP guide and questions

Getting Started with Telerik Data Access. Contents

Integration of DB oriented CAD systems with Product Lifecycle Management

aaps algacom Account Provisioning System

Microsoft Dynamics GP Release

Design and Functional Specification

IBM WebSphere ILOG Rules for.net

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Transcription:

INFO-445: Advanced Database Design, Management, and Maintenance 1 6 Activity 1 Workflow Model and API Please note: You may do this activity alone or in groups of two. Objective The goal of this activity is to develop your knowledge for the relational database model, the PostgreSQL DBMS, and your skills for back-end SQL development. Preliminary steps The information you need to complete this individual assignment can be found in the INFO- 445 Studio Workbook on the course website. (1) The first step for completing this activity is to install PostgreSQL on your UW student server account or course server: Machine: dante.u.washington.edu Net ID: your UW Net ID Password: your UW Net ID password If for some reason you are unable to install PostgreSQL on your UW student server account or other server you can use this database which has been created for you: Machine: homer.u.washington.edu Port: 45678 DB User ID: your UW Net ID DB password: pass (2) The second step is to review the topics in the workbook. Once you ve done these two things you are ready to begin.

INFO-445: Advanced Database Design, Management, and Maintenance 2 6 Conceptual model In many situations it is useful to be able to computationally model a workflow. The following is an example of a workflow, modeled as an activity diagram in UML. Figure 1. An example workflow model (taken from www.uml-diagrams.org). This notation for representing activity diagrams consists of the following symbols: Symbol Meaning 1 Start The starting point for the workflow 2 Activity An activity to be completed 3 Decision diamond A choice must be made or flow of control comes together 4 Guard label A rule about which path to follow 5 Fork The workflow is to follow two paths simultaneously 6 Join Two or more concurrent paths back into one path 7 Document A document is passed along in a workflow 8 Finish The finishing point for the workflow Implementation aim You are to implement a front-end and back-end API for creating and working with workflows. Note: You will likely reuse this API in your class project, so good work on A01 will pay off on your project.

INFO-445: Advanced Database Design, Management, and Maintenance 3 6 Front-end scripting API The front-end API will implement the scripting commands shown in table 1. You will implement these functions by extending a PHP framework, available on the course website. Conceptually, these commands will provide an API for implementing many different kinds of workflow applications. Table 1. Front-end workflow scripting commands. These commands use a number of standard parameters and data types (see Table 2). Command Meaning workflow create n <workflow name> Creates a workflow named <workflow name>, i <info> including a short informational message <info>. When a workflow is created a start and a finish node are automatically added to the workflow. workflow delete n <workflow name> workflow list node add wf <workflow name> sn <node short name> t <node type> n <node name> node list wf <name> link start wf <workflow name> to <node short name> g <guard label> link finish wf <workflow name> from <node short name> g <guard label> link wf <workflow name> from <node short name> to <node short name> g <guard label> link children wf <workflow name> sn <node short name> Deletes the workflow named <workflow name>. When a workflow is deleted all nodes and links are also deleted. Lists all workflows that have been created. Add a node named <node short name> to the workflow <workflow name>. The node type can be either A for activity node; F for fork node; or J for joiner node; S for starting node; or E for finishing node. The <node name> is a humanreadable label for the node. List all nodes in a given workflow. Link the start node to a given node named <node short name> with the guard <guard label>. Link a given node named <node short name> to the finish node with the guard <guard label>. Link two nodes with the guard <guard label>. List all the children nodes and link information for a node, identified by <node short name>. Table 2. Parameters and data types for the workflow scripting commands Parameter Data type <workflow name> A short string without spaces <info> A text field with spaces <node short name> A three character string without spaces <node type> A domain comprising {A,F,J,S,E} <node name> A string with spaces <guard label> A string with spaces

INFO-445: Advanced Database Design, Management, and Maintenance 4 6 Back-end API To implement the above scripting commands you will need to implement a back-end API. The back-end API will implement the functions shown in Table 3. To design and implement this back-end API you will need to do three things: (1) Design a database model for modeling the workflow data (workflows, nodes, and links). (2) Write create table statements to implement the database model. (3) Design, implement, and install a set of PL/pgSQL functions into your database. Once these functions are implemented you will be able to create a manage workflows as demonstrated by this very simple SQL script: // Create a workflow select dtw.create_workflow('work', 'Simple test of the workflow module'); // Add three nodes to the workflow select dtw.add_node('work', 'A', 'Document submitted', 'A'); select dtw.add_node('work', 'B', 'Document being reviewed', 'A'); select dtw.add_node('work', 'C', 'Document approved', 'A'); // Link up the nodes select dtw.link_from_start('work','a', ''); select dtw.link_between('work','a', 'B', 'Need to assign document'); select dtw.link_between('work','b','c','need to approve document'); select dtw.link_to_finish('work','c', ''); // Get the children of the workflow select dtw.get_children('work','a'); // Access information about the workflow nodes select dtw.get_node_by_id(233); select dtw.get_node('a'); // Drop the workflow select dtw.drop_workflow('work');

INFO-445: Advanced Database Design, Management, and Maintenance 5 6 Table 3. Back-end PL/pgSQL functions. PL/pgSQL Function Purpose Create_workflow () Used to create an empty workflow. Drop_workflow () Used to delete a workflow. Get_workflows () Used to get a list of all workflows that have been created. Add_node () Get_nodes () Link_between () Link_from_start () Link_to_finish () Get_children () Used to add a new node to a workflow. Used to get a list of all nodes in a workflow. Used to add an link between two nodes Used to link from the special start node to the first node in the workflow Used to link from the last node in the workflow to the special finish node in the workflow. Used to get information on the children of a node. Notes: (1) The parameters for each of these functions are not shown; (2) You may decide to implement additional functions. Hooking up the front-end to the back-end Once you ve implemented the back-end (or at least some of the back-end functions) you will need to hook up the front-end PHP scripting framework to the back-end API. Once you ve done this you will be able to test your backend code and implement a range of front-end applications.

INFO-445: Advanced Database Design, Management, and Maintenance 6 6 The deliverables You should submit a PDF report and a website. Aim for conciseness, precision, and clarity. The Report Structure: What to Include? 0.0 Title page (page 1). Include a title, your name(s), link to your website, etc. 1.0 Introduction (page 2). You briefly introduce the goals of this project in your own words. Target this writing to an employer who knows about data systems but not this particular assignment. 2.0 Architecture (page 3). Present a drawing of the three-tier architecture for your system. Include as much detail as possible, including: a. All the technologies that you are using at the front-end, the backend, and in the middle tiers; b. How the software you have developed is divided into layers at the front-end and the back-end; c. How the front-end and the back-end communicate; d. How the architecture could be extended by other developers. Include a caption that concisely describes the architecture. 3.0 Logical model (page 4). Present the logical model for your system. Include a caption that concisely describes the model. 4.0 Discussion (page 5-6). (a) Summarize the progress that you ve made on this project; (b) Briefly discussion any limitations; and (c) Provide some brief reflections on what you have learned. The Website: What to Include? 1. A simple title page to the assignment 2. A link to the report 3. A link to the command shell that can be used test your application 4. A clear demonstration of your implementation 5. Links to all code used in your application. Grading rubric 1. Overall neatness and attention to detail; Absence of spelling and grammatical errors; Clear organization and concise writing and visual expression. 2. All diagrams are clear and include a full caption. 3. The PHP and SQL code is clearly written and included on the website. 4. The ER model shows the entities, attributes, attribute types, relationships, and cardinality and participation constraints. The model uses a standard ER modeling notation rigorously and correctly. The model does not contain M-M relationships, generalization/specialization relationships, or ternary relationships. 5. The three-tier system architecture shows all technologies used and the structure of the system. 6. The front-end and back-end APIs are implemented as specified and you provide a simple, efficient way to check the implementation. The PHP and SQL code is easily accessed.