10
Creating API for your web application Adam Nemeth, @aadaam

Creating web services

Embed Size (px)

DESCRIPTION

How to create twitter-like webservices. See also http://stage.vambenepe.com/archives/1801#comment-1075 and http://www.infoq.com/news/2011/09/ArchitecturalMirages

Citation preview

Page 1: Creating web services

Creating API for your web application

Adam Nemeth, @aadaam

Page 2: Creating web services

EVERY WEBAPP CAN BE PORTED TO THE MVC PATTERN

Theorem I.

Page 3: Creating web services

EVERY WEBAPP CAN BE PORTED TO THE ENTITIES-SERVICES-TEMPLATES PATTERN

Theorem II. (this is what actually happens mostly)

Page 4: Creating web services

IF YOUR TEMPLATES ARE FREE OF BUSINESS LOGIC, SERVICES CAN BE SEPARATED

Theorem III.

Free of logic: See [Parr,2002]

Page 5: Creating web services

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

Page 6: Creating web services

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

Page 7: Creating web services

MAKE YOUR SERVICES AVAILABLE WITHOUT THE NON-SERVICE CONTEXT TEMPLATES AS WELL

Step 2.

i.e. to do HIJAX

Page 8: Creating web services

MAKE YOUR AUTHORIZATION ABSTRACT TO YOUR SERVICES

Step 3.

Page 9: Creating web services

CONTROL 3RD PARTY ACCESS TO YOUR SERVICES

Step 4

i.e. create an OAuth-gateway

Page 10: Creating web services

SEPARATE ALL OF YOUR SERVICES TO THIS LAYER AND CREATE ONLY SERVICES YOUR APPLICATION USES

Invariant through the project