Creating API for your web application
Adam Nemeth, @aadaam
EVERY WEBAPP CAN BE PORTED TO THE MVC PATTERN
Theorem I.
EVERY WEBAPP CAN BE PORTED TO THE ENTITIES-SERVICES-TEMPLATES PATTERN
Theorem II. (this is what actually happens mostly)
IF YOUR TEMPLATES ARE FREE OF BUSINESS LOGIC, SERVICES CAN BE SEPARATED
Theorem III.
Free of logic: See [Parr,2002]
YOU CAN ALWAYS DIVIDE YOUR TEMPLATES TO CONTEXTUAL AND NON-CONTEXTUAL TO THE GIVEN SERVICE
Theorem IV.
i.e. Master Layout and service-specific template
PUBLISH THE DATA YOU FILL YOUR TEMPLATES WITH THEIR RAW STRUCTURE
Step 1.
i.e. serialize the key-value map of your template as JSON
MAKE YOUR SERVICES AVAILABLE WITHOUT THE NON-SERVICE CONTEXT TEMPLATES AS WELL
Step 2.
i.e. to do HIJAX
MAKE YOUR AUTHORIZATION ABSTRACT TO YOUR SERVICES
Step 3.
CONTROL 3RD PARTY ACCESS TO YOUR SERVICES
Step 4
i.e. create an OAuth-gateway
SEPARATE ALL OF YOUR SERVICES TO THIS LAYER AND CREATE ONLY SERVICES YOUR APPLICATION USES
Invariant through the project