9. pretty picture
Corporate
Database
video.globo.com
Media Encoder
xyz.globo.com
Media Encoder
Media Encoder
Media Encoder
Media Encoder
Internet
Movie Sound Picture
10. real world
Media Encoder
SQL
Corporate xyz.globo.com
Database
SQL
SQL
SOAP SQL
SQL
HTML
video.globo.com
SOAP HTML
Internet
Media Transfer Protocol
15. Media Encoder
Corporate
Database
Media Encoder
video.globo.com
16. multiple
Media Encoder
Corporate
instances
Database
Media Encoder
video.globo.com
managed by different companies
with different interests and schedules
17. Media Encoder
Corporate
Database
v1.0
Media Encoder
video.globo.com
v1.1.1
18. multiple
Media Encoder
Corporate
Database
versions
v1.0
Media Encoder
video.globo.com
hard to know who is using what
v1.1.1
22. xyz.globo.com
Corporate Table C
Table B
xyz.globo.com
DatabaseTable D
Table A xyz.globo.com
xyz.globo.com
video.globo.com
23. X
xyz.globo.com
Corporate Table C
Table B
xyz.globo.com
DatabaseTable D
Table A xyz.globo.com
xyz.globo.com
video.globo.com
24. xyz.globo.com
Corporate View C
Table B
xyz.globo.com
DatabaseTable D
Table A xyz.globo.com
xyz.globo.com
video.globo.com
25. xyz.globo.com
Corporate View C
View B
xyz.globo.com
Table E Table F
Database View D
View A xyz.globo.com
xyz.globo.com
video.globo.com
26. no contracts xyz.globo.com
Corporate View C
View B
xyz.globo.com
Table E Table F
Database
View D
View A xyz.globo.com
just get what you want
xyz.globo.com
from my tables
video.globo.com
27. Corporate
Database
Ratings Ratings
Video Show Video Show
xyz.globo.com
video.globo.com
Internet
28. Corporate
Database
Ratings Ratings
Video Show Video Show
same logic xyz.globo.com
video.globo.com
Internet
29. 40% code
Corporate
Database
duplication
Ratings Ratings
Video Show Video Show
same logic xyz.globo.com
video.globo.com
among different systems
developed by different people
Internet
31. pretty picture
Corporate
Database
video.globo.com
Media Encoder
xyz.globo.com
Media Encoder
Media Encoder
Media Encoder
Media Encoder
Internet
Movie Sound Picture
32. pretty picture
Media
Services
video.globo.com
Media Encoder
xyz.globo.com
Media Encoder
Media Encoder
Media Encoder
Media Encoder
Internet
Movie Sound Picture
33. real world
Media Encoder
HTTP
Media xyz.globo.com
Services
HTTP
HTTP
SOAP
HTML
video.globo.com
HTML
Internet
Media Transfer Protocol
41. no code
+
contracts duplication xyz.globo.com
Corporate View C
View B
xyz.globo.com
Table E Table F
Database
View D
View A xyz.globo.com
xyz.globo.com
video.globo.com
42. no code
+
contracts duplication xyz.globo.com
Corporate View C
View B
xyz.globo.com
Table E Table F
Database
View D
View A
web sites as
xyz.globo.com
xyz.globo.com
service clientsvideo.globo.com
43. Corporate
Database
Ratings Ratings
Video Show Video Show
same logic xyz.globo.com
video.globo.com
Internet
44. Media
Services
Ratings
logic
Video Show
xyz.globo.com
video.globo.com
Internet
54. Code Duplication
40%
35%
30%
25%
20%
15%
10%
5%
0%
Database Integration Web Services Widgets API
55.
56.
57. some problems
• managing Service Versioning is still
hard, keep just the previous version
and only if needed
• URI versioning can be problematic, we
made it optional and added an http
header
• it’s very hard to be fully RESTful, be
pragmatic
• strong primitives are flexible