Human Factors of XR: Using Human Factors to Design XR Systems
APIfying an ERP
1. Accelerating Your SuccessAccelerating Your Success
APIFYING AN ERP
Marjukka Niinioja
Senior Consultant & Manager
PlanMill Oy
Twitter: @mniinioja
www.planmill.com
7. Accelerating Your SuccessAccelerating Your Success
http://techcrunch.com/2012/02/10/2011-api-trends-government-apis-quintuple-facebook-google-twitter-most-popular/
PlanMill API 1.0 was born
”THE BORING” & ”THE NIMBLE” GOT HITCHED
IN 2009
PlanMill API is Private
and Partner API (also
for customers)
8. Accelerating Your SuccessAccelerating Your Success
THE ACCIDENTAL API BIRTHING PROCESS
First 12 months
Devs have
an idea
Consultants start
speaking about it
to customers
API is born
API?? What is
that??
Very quiet
launch
”Productization”: Test environment,
API key request form, usable dev
documentation, some idea of
pricing
First real use cases
by customers
around projects and
time reporting
Amount of employees ”on the know”
First big API using
application project
sold, massive
improvements to API
as result
First partnership case
(Atlassian Confluence
with Ambientia) made
possible by API
API as major
selling point
compared to
competitors
”Learning by supporting” ”Learning by coding and co-coding”
9. Accelerating Your SuccessAccelerating Your Success
API UX PROBLEMS WE HAD IN THE PAST
• Why 5 requests, can’t I do it in 1 API
• Someone send 10 requests per ms – the system is stuck
• Backend is relying too much on the front end
• Yes this thing about filtering requests has been
documented - didn’t you find it?
• I don’t want to get stacktraces as error messages in the
API response
• I want to see the id in the response of the thing I just
created
10. Accelerating Your SuccessAccelerating Your Success
NEW IMPROVED PROCESS FOR THE API 2.0
Research
project
Customer &
Partner needs
and insights
Piloting
technologies
& 1st service
Demos,
knowlegde
sharing &
discussions
Arch. vs.
strategy what
services, how
to monetize
Internal beta
Eat own
dogfood with
new UI clients
Public beta
1.5 + involve
dev
community
Feedback
from
developer
community
Publish 2.0
WE ARE
HERE
11. Accelerating Your SuccessAccelerating Your Success
OUR ARCHITECTURE CHOICES 1/3
• Authentication: HMAC over OAuth2 at first
– We need to improved our unified identity management
– Customers were more interested in “system integration” than
authorizing individual users
• Data format: JSON over XML
– JSON is more UI development friendly and easier to parse
– also PDF & CSV available from reporting endpoints
• All other HTTP verbs properly used, not PATCH
– JSON delta would be cool, but we need to improve our
persistence layer first.
– Most users or IaaS –providers don’t even know how to use
proper PATCH
12. Accelerating Your SuccessAccelerating Your Success
OUR ARCHITECTURE CHOICES 2/3
• Documentation: RAML over Swagger
– New, standard, easy to adopt
– easy to generate documentation
– Easy to even generate SDK:s in various languages, experimenting with
the good folks of apimatic.io
– Looking in to https://www.apichangelog.com for automating API change
notifications
• REST over SOAP
– SOAP has it’s uses also in our platform for invoice, account and payroll
transactions, as described by http://nordicapis.com/rest-vs-soap-nordic-
apis-infographic-comparison/
• Some custom headers like x-PlanMill-Currency
– Used to convert all money amounts to requested currency
• Both developer and end-user friendly error messages & codes
– /enumerations?section=System.API.Errors
15. Accelerating Your SuccessAccelerating Your Success
HOOKS
• Designed according to http://resthooks.org/ “Stop That
Polling Madness” – manifest
• Work really well with services like Zapier & Google Cloud
Messaging, plus Apple’s and Microsofts messaging
• Hooks are subscribed to by the client and hooks trigger
when suitable event happens
• Example:
– /hooks
– { id: 2836851, hook: "timereport.delete", url:
"http://requestb.in/1cebrdl1", eventUser: -1, eventProject: -1 }
16. Accelerating Your SuccessAccelerating Your Success
INTERNAL API WARS: SHOULD WE SAVE A
STATE OR NOT
/integrations/{integrationName}
• Using specific saved integration settings for
importing or exporting a set of data to like file
containing information of different companies to
PlanMill as accounts
19. Accelerating Your SuccessAccelerating Your Success
USING THE API: SOME DATA
CAN NOT ESCAPE – BUT MUST
BE SHARED VIA API
• Company Secrets – inside company &
immediate network
• Personal Data - Payroll integrations
– social security numbers
– sick leaves
– bank account & credit card numbers
– passwords
• Real Money – E-invoicing & Accounting
– invoices
– expense reports
– payroll
20. Accelerating Your SuccessAccelerating Your Success
SHARING DATA MUST BE DONE CARINGLY
Personal Data Act & Company
Policy controlled
• Personal
• Personal + HR
• Inside Individuals & Teams
in a Company
• Inside Company
• Inside Company + Partners
+ Customers
Government & Trade Treaty
controlled
• Inside Country
• Inside Continent
• Inside World (minus some
specific countries)
• Public – content might be
restricted by 3rd parties
before it reaches the
recipient
Integration as a Service (IaaS) like Zapier, ITFF etc. is very tempting and simple to plug and
play. Suites SMB’s and non-critical business data, often more security is needed.
21. Accelerating Your SuccessAccelerating Your Success
MORE INFORMATION
Marjukka Niinioja, Senior Consultant & Manager
PlanMill Ltd.
Hämeentie 19, FI-00500 Helsinki
Tel: +358 40 838 7308
Email: marjukka.niinioja@planmill.com, sales@planmill.com
Website: www.planmill.com
Twitter: @Mniinioja, @PlanMill