Post on 28-Jan-2016
description
Run smoothly. Change quickly. Achieve more.Cloud-based enterprise work management software
Connected PSA – Tenrox’sWeb API Architecture
Webinar16 October, 2015
2
Today’s Speakers
Alex D’AquilaTenrox Product Owner
Rafat HilalSolution Architect
Jean-François LavigneSenior Developer
3
Housekeeping
To submit a question:
Type in your question here
Click Send
AGENDA1. Introduction2. Architecture3. Demo & Use Case Scenarios4. Release Plan5. Discussion / Q&A
5
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
6
Three-Tier Architecture
Data Access Layer (Entities)
Tenrox Database
Business Layer
Tenrox Business Logic
Application Layer
Tenrox Application REST API
• Use either the Tenrox UI or REST web services to access the Tenrox business logic
• Consolidated business layer creates the same results regardless of the access mechanism
• Read and write to your dedicated database built on MS Entity Framework and SQL Server technologies
7
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
8
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
9
Future Enhancements
• Enhanced support for User Defined fields• Provide summary lists of key objects• Provide multiple level of detailed data object data
1 0
Supported Actions
• GETo /Id: Retrieves an entry by unique ido Filter can be used on any combination of properties to filter results ro Top and Skip can be used to return specific records
• POST: Create a new instanceo Can provide only required propertieso On success it returns the full object
• PUT: Update an entityo Must provide all properties
• PATCH: Update an entityo Can provide only the properties affected
• DELETE: Deletes an entity
1 1
Return Codes
• Success :o 200 – OK: Get, Put and Patch o 201 – Created: POSTo 204 – No Content : Delete
• Error:o 400 – Bad request. Sending bad information.o 401 – User not authenticated or invalid tokeno 403 – Access Denied. User does not have permissiono 404 – Not Found. Requested entity does not exist
1 2
Data Validation and Exception Handling
• All properties are validated at once before commito Forget to specify a required fieldo Invalid property value or formato Invalid date range such as the End Date Before the Start Date
• All Business rule validations are incorporated into business layer
DEMO AND USE-CASES
RELEASE STRATEGY
1 5
Release Strategy
• Development Plano Prioritized list of objects and actionso Agile / SCRUM Framework – Work done in monthly sprintso Each sprint will focus on a defined set of featureso End of sprint demos
• Rollout strategyo Independent from product release (Post-R2)o Phased rollout across the 2015 R2 release & feature packs
1 6
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
1 7
List of Available Objects – 2015 R2
Object Query Edit Create Delete OtherGeneralLogin / Logout XOBSUser X X X XGroup X X X XSecurity Profile X
1 8
List of Available Objects – 2015 R2
Object Query Edit Create Delete OtherWBSClient X X X XClient Contact X X X XPortfolio X X X XProject X X X X State ChangePhase X X X XWork Type X X X XTask X X X XAssignment X X X XProject Team X X X XComponent X X X X
1 9
List of Available Objects – 2015 R2
Object Query Edit Create Delete OtherTimesheetWorking Time Entry X X X XNon-Working Time Entry X X X XAdjustment Entry X X X XTimesheet X Timesheet History,
State ChangeExpenseExpense Report X X X X State ChangeExpense Entry X X X XExpense Item X X X X
2 0
List of Available Objects – 2015 R2
Object Query Edit Create Delete OtherResource ManagementRole X X X XRole Members X Associate UsersUser Roles X Associate /
Unassociate RolesBooking X X X XRole Replacement X Replace
2 1
List of Available Objects – 2015 R2
Object Query Edit Create Delete OtherFinancialCost Rules X X X X AssociateCost Rates X X X XBilling Rules X X X X AssociateBilling Rates X X X XCharge Item X X X XCharge Entry X X X X ApproveInvoice X X X X State Change
2 2
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
QUESTIONS
THANK YOU!