has a full name has a date of birth has a social security number which is sensitive can be viewed or created or changed by a customer service representative An Order belongs to a Customer has a description can be viewed or created or changed by a customer service representative An Order Line Item is audited belongs to an Order has a description has a price which is a number can be viewed or created or changed by a customer service representative Dictation + Airlift on Google App Engine Thursday, March 7, 13
<description>Process widgets sold for accounting line items</description> <schedule>every day 12:30</schedule> <timezone>America/New_York</timezone> </cron> <cron> <url>/accounting/payable</url> <description>Process line items for widget making workers</description> <schedule>every day 03:30</schedule> <timezone>America/New_York</timezone> </cron> </cronentries> Thursday, March 7, 13
(possibly default) • X-AppEngine-TaskName, the name of the task, or a system-generated unique ID if no name was specified • X-AppEngine-TaskRetryCount, the number of times this task has been retried; for the first attempt, this value is 0. This number includes attempts where the task failed due to a lack of available instances and never reached the execution phase. • X-AppEngine-TaskExecutionCount, the number of times this task has previously failed during the execution phase. This number does not include failures due to a lack of available instances. • X-AppEngine-TaskETA, the target execution time of the task, specified in microseconds since January 1st 1970. Thursday, March 7, 13
//Discrete job for processing single widget to write customer line item Queue queue = QueueFactory.getDefaultQueue(); queue.add(withUrl("/widgetorderforcustomerjob").param("widgetKey", key)); //Discrete job for processing single widget to write vendor line item queue.add(withUrl("/widgetorderforvendorjob").param("widgetKey", key)); Thursday, March 7, 13
upload data - good for any flavor of GAE • Get involved - NoOps doesn’t mean you don’t have to know your technology stack • https://github.com/LucidTechnics/google- apps-util • https://code.google.com/p/googleappengine/ wiki/WillItPlayInJava Thursday, March 7, 13