You are on page 1of 24

Run smoothly. Change quickly. Achieve more.

Cloud-based enterprise work management software

Connected PSA Tenroxs


Web API Architecture

Webinar
16 October, 2015

Todays Speakers
Alex DAquila
Tenrox Product Owner
Rafat Hilal
Solution Architect
Jean-Franois Lavigne
Senior Developer

Housekeeping
To submit a question:

Click Send

Type in your
question here

AGENDA
1. Introduction
2. Architecture
3. Demo & Use Case Scenarios
4. Release Plan
5. Discussion / Q&A

API Initiative Goals & Objectives


Replace existing SOAP API with a RESTful APIs
Expand on the existing API offering
Allow for development of new integrations to 3rd party
vendors
Allow for integration with IPaaS solutions
Allow for development of tools & utilities by customers
Integrate application security and permissions in web
service requests
Provide documentation and help files to assist the
development community

Three-Tier Architecture
Use either the Tenrox UI or
REST web services to access
the Tenrox business logic

Application Layer
Tenrox Application

REST API

Consolidated business layer


creates the same results
regardless of the access
mechanism

Business Layer
Tenrox Business Logic

Read and write to your


dedicated database built on
MS Entity Framework and
SQL Server technologies

Data Access Layer (Entities)


Tenrox Database

Technology Framework

Data Access Layer leverages Entity Framework 6.0


Rest Services based on Web API Framework
API versioning to support for backward compatiblity
Support for JSON and XML formats
Integrated Unit Testing in business layer
SOAP-UI used to automate API testing
Comprehensive Exception Handling

Security & Data Permissions


API access security prevents unauthorized users from
making API calls
Token based session authentication. Each request must
have a valid token
Data-level authorization based on Read/Write/Delete
actions defined in user security profile
Data Records are filtered based on scoping
Audit Trail events generated based on API actions

Future Enhancements
Enhanced support for User Defined fields
Provide summary lists of key objects
Provide multiple level of detailed data object data

Supported Actions
GET
o /Id: Retrieves an entry by unique id
o Filter can be used on any combination of properties to filter results r
o Top and Skip can be used to return specific records

POST: Create a new instance


o Can provide only required properties
o On success it returns the full object

PUT: Update an entity


o Must provide all properties

PATCH: Update an entity


o Can provide only the properties affected

DELETE: Deletes an entity

10

Return Codes
Success :
o 200 OK: Get, Put and Patch
o 201 Created: POST
o 204 No Content : Delete
Error:
o 400 Bad request. Sending bad information.
o 401 User not authenticated or invalid token
o 403 Access Denied. User does not have permission
o 404 Not Found. Requested entity does not exist

11

Data Validation and Exception Handling


All properties are validated at once before commit
o Forget to specify a required field
o Invalid property value or format
o Invalid date range such as the End Date Before the Start Date

All Business rule validations are incorporated into


business layer

12

DEMO AND USE-CASES

RELEASE STRATEGY

Release Strategy
Development Plan
o
o
o
o

Prioritized list of objects and actions


Agile / SCRUM Framework Work done in monthly sprints
Each sprint will focus on a defined set of features
End of sprint demos

Rollout strategy
o Independent from product release (Post-R2)
o Phased rollout across the 2015 R2 release & feature packs

15

Roadmap
Initial release of REST API to clients in 2015 R2
Rollout of core services to major modules
Rollout of Developer Help Guide on Tenrox Community
Incremental development of new APIs to be added each
service pack / future release

16

List of Available Objects 2015 R2


Object

Query

Edit

Create Delete Other

General
Login / Logout

OBS
User

Group

Security Profile

17

List of Available Objects 2015 R2


Object

Query

Edit

Create Delete Other

WBS
Client

Client Contact

Portfolio

Project

Phase

Work Type

Task

Assignment

Project Team

Component

18

State Change

List of Available Objects 2015 R2


Object

Query

Edit

Create Delete Other

Timesheet
Working Time Entry

Non-Working Time Entry

Adjustment Entry

Timesheet

Timesheet History,
State Change

Expense
Expense Report

Expense Entry

Expense Item

19

State Change

List of Available Objects 2015 R2


Object

Query

Edit

Create Delete Other

Resource Management
Role

Role Members

Associate Users

User Roles

Associate /
Unassociate Roles

Booking

Role Replacement

X
Replace

20

List of Available Objects 2015 R2


Object

Query

Edit

Create Delete Other

Financial
Cost Rules

Cost Rates

Billing Rules

Billing Rates

Charge Item

Charge Entry

Approve

Invoice

State Change

21

Associate
Associate

Object Backlog
Additional OBS Objects (Site, Resource Type, Business
Unit, etc)
Additional Resource Management Objects (Calendars,
Skills)
Leave Time Banks
Additional Financial Objects (Currencies, Currency
Exchange, Tax Groups, Product Entry)
AR/AP transaction details
Upland Project Planner

22

QUESTIONS

THANK YOU!

You might also like