UJUG 2013 Architecture Roundup with Lucid Software
-
Upload
derrick-isaacson -
Category
Technology
-
view
202 -
download
0
description
Transcript of UJUG 2013 Architecture Roundup with Lucid Software
![Page 1: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/1.jpg)
UJUG Architecture Roundup
Derrick Isaacson, Director of Engineering
![Page 2: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/2.jpg)
Architectural History
![Page 3: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/3.jpg)
Paid
Free
TIE
North
Am
erica
Euro
peAsi
a
Oce
ania
Sout
h Am
erica
Africa
Unkno
wn
0
3000
60009000
Hours in editor by region
![Page 4: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/4.jpg)
![Page 5: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/5.jpg)
![Page 6: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/6.jpg)
Client State
![Page 7: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/7.jpg)
HMACpublic static String calculateRFC2104HMAC(String
data, String key)
{
SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), “HmacSHA1”);
Mac mac = Mac.getInstance(“HmacSHA1”);
mac.init(signingKey);
byte[] rawHmac = mac.doFinal(data.getBytes());
return Encoding.EncodeBase64(rawHmac);
}
![Page 8: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/8.jpg)
Stateless
![Page 9: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/9.jpg)
![Page 10: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/10.jpg)
Don’t DDOS Yourself
• Use RESTful principles for correct status codes (5xx vs 4xx) so clients know when to rety.• Use correct headers:• Retry-After: 120
![Page 11: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/11.jpg)
Actors
![Page 12: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/12.jpg)
Typed (JavaScript) Code Pays Off
• Static type checking• Unused value detection• Dead code removal• Syntax validation• Style warnings• JS pitfalls detection
![Page 13: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/13.jpg)
Beware ORMs
Anorm
What does a framework really need?• Paremeterized queries• Simpler API than JDBC• Control over your queries
is Not an Object Relational Mapper
![Page 14: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/14.jpg)
Beware of Coddling Frameworks
![Page 15: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/15.jpg)
![Page 16: UJUG 2013 Architecture Roundup with Lucid Software](https://reader036.fdocuments.net/reader036/viewer/2022081519/555b8647d8b42acd238b482d/html5/thumbnails/16.jpg)
Q & A
http://www.lucidchart.com/jobs