View
201
Download
0
Category
Tags:
Preview:
DESCRIPTION
Lucid Software's lessons learned about architecture at the Utah Java User Group. 15 minute presentation by Derrick Isaacson, Director of Engineering, on sharding, session state, typed JavaScript, and ORMs.
Citation preview
UJUG Architecture Roundup
Derrick Isaacson, Director of Engineering
Architectural History
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
Client State
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);
}
Stateless
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
Actors
Typed (JavaScript) Code Pays Off
• Static type checking• Unused value detection• Dead code removal• Syntax validation• Style warnings• JS pitfalls detection
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
Beware of Coddling Frameworks
Q & A
http://www.lucidchart.com/jobs
Recommended