webdu 2012: web developer conference

Duane Nickull

Some insight into how the Goog sees your feed. You might find it useful for trouble shooting - we certainly do.

Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
category
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
term toolkit
2
Stomach Contents: Structure - struct
term criminal
3
Stomach Contents: Structure - struct
term flash
4
Stomach Contents: Structure - struct
term Fender
5
Stomach Contents: Structure - struct
term adobe max 2007
6
Stomach Contents: Structure - struct
term adobemax2007
7
Stomach Contents: Structure - struct
term rheem
8
Stomach Contents: Structure - struct
term nitobi
9
Stomach Contents: Structure - struct
term free
10
Stomach Contents: Structure - struct
term soa
11
Stomach Contents: Structure - struct
term customer
12
Stomach Contents: Structure - struct
term community
13
Stomach Contents: Structure - struct
term ryan stewart
14
Stomach Contents: Structure - struct
term 409
15
Stomach Contents: Structure - struct
term adobe
16
Stomach Contents: Structure - struct
term web20expoberlin
17
Stomach Contents: Structure - struct
term RIA
18
Stomach Contents: Structure - struct
term OSMF
19
Stomach Contents: Structure - struct
term james ward
20
Stomach Contents: Structure - struct
term change caption
21
Stomach Contents: Structure - struct
term App Store SEO
22
Stomach Contents: Structure - struct
term emea
23
Stomach Contents: Structure - struct
term SWC
24
Stomach Contents: Structure - struct
term Microphones
25
Stomach Contents: Structure - struct
term Flex SQL assembler
26
Stomach Contents: Structure - struct
term oreilly
27
Stomach Contents: Structure - struct
term lies
28
Stomach Contents: Structure - struct
term flex tutorials
29
Stomach Contents: Structure - struct
term semantics
30
Stomach Contents: Structure - struct
term smash mouth
31
Stomach Contents: Structure - struct
term etech
32
Stomach Contents: Structure - struct
term Flash Builder 4 tutorial.
33
Stomach Contents: Structure - struct
term free flex training
34
Stomach Contents: Structure - struct
term yerba mate
35
Stomach Contents: Structure - struct
term asswipes
36
Stomach Contents: Structure - struct
term surreal
37
Stomach Contents: Structure - struct
term helicopter
38
Stomach Contents: Structure - struct
term adobe cloud computing
39
Stomach Contents: Structure - struct
term chambers
40
Stomach Contents: Structure - struct
term johnny
41
Stomach Contents: Structure - struct
term Rogers sucks
42
Stomach Contents: Structure - struct
term Forensic Architecture
43
Stomach Contents: Structure - struct
term irrational
44
Stomach Contents: Structure - struct
term java
45
Stomach Contents: Structure - struct
term albelli
46
Stomach Contents: Structure - struct
term airbus
47
Stomach Contents: Structure - struct
term Jochem van Dieten
48
Stomach Contents: Structure - struct
term automobiles
49
Stomach Contents: Structure - struct
term brandenburg
50
Stomach Contents: Structure - struct
term BAM
51
Stomach Contents: Structure - struct
term Charlton
52
Stomach Contents: Structure - struct
term Flex builder
53
Stomach Contents: Structure - struct
term bitpakkit
54
Stomach Contents: Structure - struct
term webvisions
55
Stomach Contents: Structure - struct
term samples
56
Stomach Contents: Structure - struct
term CEM
57
Stomach Contents: Structure - struct
term artificial
58
Stomach Contents: Structure - struct
term create or die
59
Stomach Contents: Structure - struct
term LiveCycle
60
Stomach Contents: Structure - struct
term TV is dead
61
Stomach Contents: Structure - struct
term jon bosak
62
Stomach Contents: Structure - struct
term interview
63
Stomach Contents: Structure - struct
term flash builder 4 launched
64
Stomach Contents: Structure - struct
term Software as a Service
65
Stomach Contents: Structure - struct
term trouble
66
Stomach Contents: Structure - struct
term Adobe LiveCycle ES
67
Stomach Contents: Structure - struct
term flickr
68
Stomach Contents: Structure - struct
term billy
69
Stomach Contents: Structure - struct
term movieset
70
Stomach Contents: Structure - struct
term design
71
Stomach Contents: Structure - struct
term defense
72
Stomach Contents: Structure - struct
term adobemax2008
73
Stomach Contents: Structure - struct
term oline
74
Stomach Contents: Structure - struct
term marc thiele
75
Stomach Contents: Structure - struct
term SOPA
76
Stomach Contents: Structure - struct
term moscone
77
Stomach Contents: Structure - struct
term dr dobbs
78
Stomach Contents: Structure - struct
term service composition
79
Stomach Contents: Structure - struct
term league
80
Stomach Contents: Structure - struct
term technology
81
Stomach Contents: Structure - struct
term Randy Rampage
82
Stomach Contents: Structure - struct
term galaxy nexus
83
Stomach Contents: Structure - struct
term democracy
84
Stomach Contents: Structure - struct
term enterprise suite
85
Stomach Contents: Structure - struct
term dwaynes world
86
Stomach Contents: Structure - struct
term soundbooth
87
Stomach Contents: Structure - struct
term helcion
88
Stomach Contents: Structure - struct
term debugger
89
Stomach Contents: Structure - struct
term punk
90
Stomach Contents: Structure - struct
term whistler
91
Stomach Contents: Structure - struct
term search engine
92
Stomach Contents: Structure - struct
term geo-tagged
93
Stomach Contents: Structure - struct
term akweli parker
94
Stomach Contents: Structure - struct
term adobe is really cool
95
Stomach Contents: Structure - struct
term censorship
96
Stomach Contents: Structure - struct
term service aggregation
97
Stomach Contents: Structure - struct
term Bob Glushko
98
Stomach Contents: Structure - struct
term new features
99
Stomach Contents: Structure - struct
term free training
100
Stomach Contents: Structure - struct
term Apollo
101
Stomach Contents: Structure - struct
term olympics
102
Stomach Contents: Structure - struct
term hybrids
103
Stomach Contents: Structure - struct
term burton
104
Stomach Contents: Structure - struct
term April
105
Stomach Contents: Structure - struct
term dubai
106
Stomach Contents: Structure - struct
term cloud hosting
107
Stomach Contents: Structure - struct
term tagga
108
Stomach Contents: Structure - struct
term nickull
109
Stomach Contents: Structure - struct
term Teched
110
Stomach Contents: Structure - struct
term services
111
Stomach Contents: Structure - struct
term code
112
Stomach Contents: Structure - struct
term Duanes World
113
Stomach Contents: Structure - struct
term adobe evangelist twitter handles
114
Stomach Contents: Structure - struct
term canada
115
Stomach Contents: Structure - struct
term update
116
Stomach Contents: Structure - struct
term Adobe Digital Enterprise Platform
117
Stomach Contents: Structure - struct
term adobe customer experience management
118
Stomach Contents: Structure - struct
term tricks
119
Stomach Contents: Structure - struct
term Open Data
120
Stomach Contents: Structure - struct
term John Markoff
121
Stomach Contents: Structure - struct
term Google Android Development
122
Stomach Contents: Structure - struct
term free source code. mobile open source
123
Stomach Contents: Structure - struct
term playbook
124
Stomach Contents: Structure - struct
term Adobecem
125
Stomach Contents: Structure - struct
term Adobe LiveCycle ES2
126
Stomach Contents: Structure - struct
term cons
127
Stomach Contents: Structure - struct
term entropia
128
Stomach Contents: Structure - struct
term adobe max 2009
129
Stomach Contents: Structure - struct
term Don't order from City Centre florists
130
Stomach Contents: Structure - struct
term music
131
Stomach Contents: Structure - struct
term blankets
132
Stomach Contents: Structure - struct
term manes
133
Stomach Contents: Structure - struct
term death penalty
134
Stomach Contents: Structure - struct
term web 2.0 slides
135
Stomach Contents: Structure - struct
term mobile payment gateways
136
Stomach Contents: Structure - struct
term builder
137
Stomach Contents: Structure - struct
term ross ladell
138
Stomach Contents: Structure - struct
term Strat
139
Stomach Contents: Structure - struct
term hot water heater
140
Stomach Contents: Structure - struct
term phishing
141
Stomach Contents: Structure - struct
term why air might not work
142
Stomach Contents: Structure - struct
term Beyer Dynamics
143
Stomach Contents: Structure - struct
term mobile development
144
Stomach Contents: Structure - struct
term code example
145
Stomach Contents: Structure - struct
term Android tutorials
146
Stomach Contents: Structure - struct
term vomit
147
Stomach Contents: Structure - struct
term hillcrest plumbing
148
Stomach Contents: Structure - struct
term behavior
149
Stomach Contents: Structure - struct
term portland
150
Stomach Contents: Structure - struct
term nexus one
151
Stomach Contents: Structure - struct
term 8.2
152
Stomach Contents: Structure - struct
term source code
153
Stomach Contents: Structure - struct
term rich tretola
154
Stomach Contents: Structure - struct
term john
155
Stomach Contents: Structure - struct
term High speed internet test
156
Stomach Contents: Structure - struct
term SOA Reference Architecture
157
Stomach Contents: Structure - struct
term government 2.0
158
Stomach Contents: Structure - struct
term Zend extensions
159
Stomach Contents: Structure - struct
term duanesworld tv
160
Stomach Contents: Structure - struct
term mobile
161
Stomach Contents: Structure - struct
term DOA
162
Stomach Contents: Structure - struct
term Wolfram alpha
163
Stomach Contents: Structure - struct
term breaking things
164
Stomach Contents: Structure - struct
term spammers are scum
165
Stomach Contents: Structure - struct
term bpm
166
Stomach Contents: Structure - struct
term 22nd Century video
167
Stomach Contents: Structure - struct
term Capgemini
168
Stomach Contents: Structure - struct
term making money
169
Stomach Contents: Structure - struct
term funny
170
Stomach Contents: Structure - struct
term dopplr
171
Stomach Contents: Structure - struct
term encoding
172
Stomach Contents: Structure - struct
term mike
173
Stomach Contents: Structure - struct
term duane nickull
174
Stomach Contents: Structure - struct
term gingerbread
175
Stomach Contents: Structure - struct
term doug mccune
176
Stomach Contents: Structure - struct
term broken luggage investigation
177
Stomach Contents: Structure - struct
term AIR example
178
Stomach Contents: Structure - struct
term future of TV
179
Stomach Contents: Structure - struct
term pixton
180
Stomach Contents: Structure - struct
term hosted services.
181
Stomach Contents: Structure - struct
term flash player 10
182
Stomach Contents: Structure - struct
term scatterheart
183
Stomach Contents: Structure - struct
term ontology
184
Stomach Contents: Structure - struct
term Dries Buytaert
185
Stomach Contents: Structure - struct
term Flash SEO Optimization Tips
186
Stomach Contents: Structure - struct
term freedom
187
Stomach Contents: Structure - struct
term presentation
188
Stomach Contents: Structure - struct
term library
189
Stomach Contents: Structure - struct
term Foo Camp 2008
190
Stomach Contents: Structure - struct
term toyota prius
191
Stomach Contents: Structure - struct
term standard
192
Stomach Contents: Structure - struct
term Jeff Myers
193
Stomach Contents: Structure - struct
term no means no
194
Stomach Contents: Structure - struct
term mix2r
195
Stomach Contents: Structure - struct
term first order logic
196
Stomach Contents: Structure - struct
term Adobe LiveCycle Training
197
Stomach Contents: Structure - struct
term Adobe MAX Free
198
Stomach Contents: Structure - struct
term web 2.0
199
Stomach Contents: Structure - struct
term adobe max discounts
200
Stomach Contents: Structure - struct
term sun
201
Stomach Contents: Structure - struct
term EDA
202
Stomach Contents: Structure - struct
term concert
203
Stomach Contents: Structure - struct
term Flash Builder 4 tutorial
204
Stomach Contents: Structure - struct
term google nexus one
205
Stomach Contents: Structure - struct
term Tour de LiveCycle
206
Stomach Contents: Structure - struct
term adobe tv
207
Stomach Contents: Structure - struct
term URGENT
208
Stomach Contents: Structure - struct
term Richmond Nissan
209
Stomach Contents: Structure - struct
term barcode
210
Stomach Contents: Structure - struct
term google. android
211
Stomach Contents: Structure - struct
term duane
212
Stomach Contents: Structure - struct
term out of memory error
213
Stomach Contents: Structure - struct
term halo 2
214
Stomach Contents: Structure - struct
term bad
215
Stomach Contents: Structure - struct
term yerba matte
216
Stomach Contents: Structure - struct
term james governor
217
Stomach Contents: Structure - struct
term acronyms
218
Stomach Contents: Structure - struct
term andre michelle
219
Stomach Contents: Structure - struct
term tim
220
Stomach Contents: Structure - struct
term UML
221
Stomach Contents: Structure - struct
term XML
222
Stomach Contents: Structure - struct
term Developer
223
Stomach Contents: Structure - struct
term adobe max 2008 dates sessions
224
Stomach Contents: Structure - struct
term Spoiler
225
Stomach Contents: Structure - struct
term car dock
226
Stomach Contents: Structure - struct
term Bola Rotibi
227
Stomach Contents: Structure - struct
term gaming
228
Stomach Contents: Structure - struct
term user
229
Stomach Contents: Structure - struct
term Nigeria
230
Stomach Contents: Structure - struct
term automobile
231
Stomach Contents: Structure - struct
term photobucket
232
Stomach Contents: Structure - struct
term ray hartmann
233
Stomach Contents: Structure - struct
term david recordon
234
Stomach Contents: Structure - struct
term android
235
Stomach Contents: Structure - struct
term integration
236
Stomach Contents: Structure - struct
term Web 2.0 presentation
237
Stomach Contents: Structure - struct
term toxic
238
Stomach Contents: Structure - struct
term adobe reader beta
239
Stomach Contents: Structure - struct
term illegal.
240
Stomach Contents: Structure - struct
term Android central
241
Stomach Contents: Structure - struct
term crank it up
242
Stomach Contents: Structure - struct
term swf
243
Stomach Contents: Structure - struct
term hands on code camp
244
Stomach Contents: Structure - struct
term setup Adobe AIR
245
Stomach Contents: Structure - struct
term w2e
246
Stomach Contents: Structure - struct
term scam
247
Stomach Contents: Structure - struct
term flash player 11
248
Stomach Contents: Structure - struct
term watched folders
249
Stomach Contents: Structure - struct
term web 2.0 definition
250
Stomach Contents: Structure - struct
term ColdFusion
251
Stomach Contents: Structure - struct
term flash lite mobile
252
Stomach Contents: Structure - struct
term froyo
253
Stomach Contents: Structure - struct
term SEO secrets
254
Stomach Contents: Structure - struct
term conker
255
Stomach Contents: Structure - struct
term max2008
256
Stomach Contents: Structure - struct
term xinnet
257
Stomach Contents: Structure - struct
term sap tech ed 2009 craig cmehil
258
Stomach Contents: Structure - struct
term colleen nystedt
259
Stomach Contents: Structure - struct
term MVC
260
Stomach Contents: Structure - struct
term javascript
261
Stomach Contents: Structure - struct
term free adobe products
262
Stomach Contents: Structure - struct
term redmonk
263
Stomach Contents: Structure - struct
term search engines
264
Stomach Contents: Structure - struct
term Award
265
Stomach Contents: Structure - struct
term anne zelanka
266
Stomach Contents: Structure - struct
term charting
267
Stomach Contents: Structure - struct
term web2expoberlin
268
Stomach Contents: Structure - struct
term AJAX
269
Stomach Contents: Structure - struct
term clive goodinson
270
Stomach Contents: Structure - struct
term mexico
271
Stomach Contents: Structure - struct
term Stop online piracy act
272
Stomach Contents: Structure - struct
term stress factor 9
273
Stomach Contents: Structure - struct
term ontolog forum
274
Stomach Contents: Structure - struct
term tricks and Black Magic
275
Stomach Contents: Structure - struct
term kapow
276
Stomach Contents: Structure - struct
term AIR chromeless application
277
Stomach Contents: Structure - struct
term 2012
278
Stomach Contents: Structure - struct
term adam pease
279
Stomach Contents: Structure - struct
term max2007
280
Stomach Contents: Structure - struct
term user group
281
Stomach Contents: Structure - struct
term adobe max 2010
282
Stomach Contents: Structure - struct
term harley earl
283
Stomach Contents: Structure - struct
term download
284
Stomach Contents: Structure - struct
term web 2.0 architecture
285
Stomach Contents: Structure - struct
term computational
286
Stomach Contents: Structure - struct
term Tour Tracker
287
Stomach Contents: Structure - struct
term quebec
288
Stomach Contents: Structure - struct
term crime
289
Stomach Contents: Structure - struct
term smart car
290
Stomach Contents: Structure - struct
term spammers
291
Stomach Contents: Structure - struct
term class
292
Stomach Contents: Structure - struct
term EAI
293
Stomach Contents: Structure - struct
term Service Oriented Architecture
294
Stomach Contents: Structure - struct
term Shure
295
Stomach Contents: Structure - struct
term Adobe enterprise software
296
Stomach Contents: Structure - struct
term Air canada
297
Stomach Contents: Structure - struct
term victoria
298
Stomach Contents: Structure - struct
term bad customer service example. worst failure in customer service.
299
Stomach Contents: Structure - struct
term ben stucki
300
Stomach Contents: Structure - struct
term idea
301
Stomach Contents: Structure - struct
term XMP
302
Stomach Contents: Structure - struct
term free flex builder
303
Stomach Contents: Structure - struct
term patterns
304
Stomach Contents: Structure - struct
term pixel bender
305
Stomach Contents: Structure - struct
term Developer Express
306
Stomach Contents: Structure - struct
term AS3
307
Stomach Contents: Structure - struct
term version 8
308
Stomach Contents: Structure - struct
term tattoo
309
Stomach Contents: Structure - struct
term dedicated website hosting
310
Stomach Contents: Structure - struct
term Flex 4 examples
311
Stomach Contents: Structure - struct
term norovirus
312
Stomach Contents: Structure - struct
term samsung
313
Stomach Contents: Structure - struct
term major
314
Stomach Contents: Structure - struct
term CEM for Architects
315
Stomach Contents: Structure - struct
term SOAP
316
Stomach Contents: Structure - struct
term filereference
317
Stomach Contents: Structure - struct
term dollars
318
Stomach Contents: Structure - struct
term certification
319
Stomach Contents: Structure - struct
term uberity
320
Stomach Contents: Structure - struct
term Flash Builder 4 tutorials
321
Stomach Contents: Structure - struct
term Episode 1
322
Stomach Contents: Structure - struct
term mix2r.com
323
Stomach Contents: Structure - struct
term mobile application development strategy
324
Stomach Contents: Structure - struct
term intelligent
325
Stomach Contents: Structure - struct
term composition
326
Stomach Contents: Structure - struct
term microphone
327
Stomach Contents: Structure - struct
term aggregation
328
Stomach Contents: Structure - struct
term music 2.0
329
Stomach Contents: Structure - struct
term maps
330
Stomach Contents: Structure - struct
term slashdot
331
Stomach Contents: Structure - struct
term guayaki
332
Stomach Contents: Structure - struct
term what is it like to be an evangelist
333
Stomach Contents: Structure - struct
term pipa
334
Stomach Contents: Structure - struct
term adobe max 2011
335
Stomach Contents: Structure - struct
term ripped off
336
Stomach Contents: Structure - struct
term flash builder 4.5
337
Stomach Contents: Structure - struct
term joel solomon
338
Stomach Contents: Structure - struct
term Mobile Enterprise Application Platform
339
Stomach Contents: Structure - struct
term marriott hotels
340
Stomach Contents: Structure - struct
term bootleg software.
341
Stomach Contents: Structure - struct
term Flex Mobile development
342
Stomach Contents: Structure - struct
term new auto
343
Stomach Contents: Structure - struct
term max 2009
344
Stomach Contents: Structure - struct
term energy efficient house
345
Stomach Contents: Structure - struct
term kevin lynch
346
Stomach Contents: Structure - struct
term club intrawest points for sale
347
Stomach Contents: Structure - struct
term broadband speed checker
348
Stomach Contents: Structure - struct
term CS 5.5
349
Stomach Contents: Structure - struct
term convergence
350
Stomach Contents: Structure - struct
term show 2
351
Stomach Contents: Structure - struct
term hosting
352
Stomach Contents: Structure - struct
term flexico
353
Stomach Contents: Structure - struct
term sumo
354
Stomach Contents: Structure - struct
term Adobe resource synchronizer
355
Stomach Contents: Structure - struct
term Berlin.
356
Stomach Contents: Structure - struct
term war
357
Stomach Contents: Structure - struct
term Flash indexing
358
Stomach Contents: Structure - struct
term susanne tabata
359
Stomach Contents: Structure - struct
term SaaS White Paper
360
Stomach Contents: Structure - struct
term SAP
361
Stomach Contents: Structure - struct
term audio
362
Stomach Contents: Structure - struct
term OSCON
363
Stomach Contents: Structure - struct
term learn mobile development
364
Stomach Contents: Structure - struct
term FATC10
365
Stomach Contents: Structure - struct
term LC ES
366
Stomach Contents: Structure - struct
term telephone. PIN
367
Stomach Contents: Structure - struct
term Andrea Reimer
368
Stomach Contents: Structure - struct
term video
369
Stomach Contents: Structure - struct
term Flex
370
Stomach Contents: Structure - struct
term mountain bike
371
Stomach Contents: Structure - struct
term iOS
372
Stomach Contents: Structure - struct
term mashup
373
Stomach Contents: Structure - struct
term Forms
374
Stomach Contents: Structure - struct
term actionscript
375
Stomach Contents: Structure - struct
term 2008
376
Stomach Contents: Structure - struct
term cars
377
Stomach Contents: Structure - struct
term training
378
Stomach Contents: Structure - struct
term MEAP
379
Stomach Contents: Structure - struct
term MAX 2008
380
Stomach Contents: Structure - struct
term rich
381
Stomach Contents: Structure - struct
term LiveCycle ES2
382
Stomach Contents: Structure - struct
term creation
383
Stomach Contents: Structure - struct
term es
384
Stomach Contents: Structure - struct
term battery
385
Stomach Contents: Structure - struct
term 2007
386
Stomach Contents: Structure - struct
term root
387
Stomach Contents: Structure - struct
term bunk
388
Stomach Contents: Structure - struct
term pdf
389
Stomach Contents: Structure - struct
term Stefan D'amore
390
Stomach Contents: Structure - struct
term ooxml
391
Stomach Contents: Structure - struct
term i love slashdot
392
Stomach Contents: Structure - struct
term read this before sending flowers in Vancouver
393
Stomach Contents: Structure - struct
term Duane Nickull SEO TIps
394
Stomach Contents: Structure - struct
term SVCC
395
Stomach Contents: Structure - struct
term Broadcasting 2.0
396
Stomach Contents: Structure - struct
term LEED
397
Stomach Contents: Structure - struct
term Flash SEO
398
Stomach Contents: Structure - struct
term what to do when you're bored
399
Stomach Contents: Structure - struct
term race
400
Stomach Contents: Structure - struct
term Hinchcliffe
401
Stomach Contents: Structure - struct
term die welt
402
Stomach Contents: Structure - struct
term I love germany
403
Stomach Contents: Structure - struct
term service oriented architecture
404
Stomach Contents: Structure - struct
term dangers of cloud computing
405
Stomach Contents: Structure - struct
term berlin
406
Stomach Contents: Structure - struct
term hollyhock
407
Stomach Contents: Structure - struct
term education
408
Stomach Contents: Structure - struct
term 6S Marketing
409
Stomach Contents: Structure - struct
term $2.00
410
Stomach Contents: Structure - struct
term java one
411
Stomach Contents: Structure - struct
term challenge
412
Stomach Contents: Structure - struct
term duane's world
413
Stomach Contents: Structure - struct
term data mapping
414
Stomach Contents: Structure - struct
term ichabod
415
Stomach Contents: Structure - struct
term David eaves
416
Stomach Contents: Structure - struct
term ebay
417
Stomach Contents: Structure - struct
term perl
418
Stomach Contents: Structure - struct
term multiple screen
419
Stomach Contents: Structure - struct
term cool cars
420
Stomach Contents: Structure - struct
term executive
421
Stomach Contents: Structure - struct
term anne 2.0
422
Stomach Contents: Structure - struct
term Panda
423
Stomach Contents: Structure - struct
term kenneth MacKenzie
424
Stomach Contents: Structure - struct
term cairngorm
425
Stomach Contents: Structure - struct
term advertising
426
Stomach Contents: Structure - struct
term Tim Oreilly
427
Stomach Contents: Structure - struct
term composite application
428
Stomach Contents: Structure - struct
term 22nd century
429
Stomach Contents: Structure - struct
term UN/CEFACT
430
Stomach Contents: Structure - struct
term idol
431
Stomach Contents: Structure - struct
term Wikipedia
432
Stomach Contents: Structure - struct
term ebXML
433
Stomach Contents: Structure - struct
term webkit
434
Stomach Contents: Structure - struct
term patent troll
435
Stomach Contents: Structure - struct
term Adobe Stimulus program
436
Stomach Contents: Structure - struct
term Marcus Metzner.
437
Stomach Contents: Structure - struct
term Merchant processing accounts
438
Stomach Contents: Structure - struct
term XFN
439
Stomach Contents: Structure - struct
term asinine
440
Stomach Contents: Structure - struct
term forms gone wild
441
Stomach Contents: Structure - struct
term FB4
442
Stomach Contents: Structure - struct
term catalyst
443
Stomach Contents: Structure - struct
term Yahoo AS3
444
Stomach Contents: Structure - struct
term charlotte
445
Stomach Contents: Structure - struct
term vancouver international airport
446
Stomach Contents: Structure - struct
term london
447
Stomach Contents: Structure - struct
term cs5
448
Stomach Contents: Structure - struct
term open standards
449
Stomach Contents: Structure - struct
term mp3 player
450
Stomach Contents: Structure - struct
term blazeDS
451
Stomach Contents: Structure - struct
term Adobe AIR for Android tutorials
452
Stomach Contents: Structure - struct
term Adobe MAX 2008
453
Stomach Contents: Structure - struct
term axis2 + jboss 5
454
Stomach Contents: Structure - struct
term tretola
455
Stomach Contents: Structure - struct
term air
456
Stomach Contents: Structure - struct
term cloud computing
457
Stomach Contents: Structure - struct
term Norbert Mikula
458
Stomach Contents: Structure - struct
term Flash Builder
459
Stomach Contents: Structure - struct
term blackcomb
460
Stomach Contents: Structure - struct
term team best yet
461
Stomach Contents: Structure - struct
term sqlite
462
Stomach Contents: Structure - struct
term SCA
463
Stomach Contents: Structure - struct
term dayglow abortions
464
Stomach Contents: Structure - struct
term heavy metal
465
Stomach Contents: Structure - struct
term Adobe training
466
Stomach Contents: Structure - struct
term http://blogs.zdnet.com/service-oriented/
467
Stomach Contents: Structure - struct
term issue
468
Stomach Contents: Structure - struct
term ipod touch firmware update
469
Stomach Contents: Structure - struct
term Google
470
Stomach Contents: Structure - struct
term distiller
471
Stomach Contents: Structure - struct
term Adobe AIR tutorials
472
Stomach Contents: Structure - struct
term European Broadcasters Union
473
Stomach Contents: Structure - struct
term inference
474
Stomach Contents: Structure - struct
term acrobat
475
Stomach Contents: Structure - struct
term 1
476
Stomach Contents: Structure - struct
term Duanes world 12
477
Stomach Contents: Structure - struct
term Flash player 10.3
478
Stomach Contents: Structure - struct
term blackberry
479
Stomach Contents: Structure - struct
term silicon valley code camp
480
Stomach Contents: Structure - struct
term hero sdk
481
Stomach Contents: Structure - struct
term Flex Tutorial
482
Stomach Contents: Structure - struct
term open data foundation
483
Stomach Contents: Structure - struct
term demonstration
484
Stomach Contents: Structure - struct
term sucks
485
Stomach Contents: Structure - struct
term weird
486
Stomach Contents: Structure - struct
term web2expo.
487
Stomach Contents: Structure - struct
term no PC
488
Stomach Contents: Structure - struct
term learn flex in one week.
489
Stomach Contents: Structure - struct
term rotten
490
Stomach Contents: Structure - struct
term html5 flash
491
Stomach Contents: Structure - struct
term toyota
492
Stomach Contents: Structure - struct
term apache flex adobe flash air
493
Stomach Contents: Structure - struct
term university
494
Stomach Contents: Structure - struct
term install
495
Stomach Contents: Structure - struct
term collabrative
496
Stomach Contents: Structure - struct
term bloodied but unbowed
497
Stomach Contents: Structure - struct
term swf SEO
498
Stomach Contents: Structure - struct
term sad
499
Stomach Contents: Structure - struct
term ADEP
500
Stomach Contents: Structure - struct
term max 2008 milan
501
Stomach Contents: Structure - struct
term Rode
502
Stomach Contents: Structure - struct
term Precision Bass
503
Stomach Contents: Structure - struct
term action builder
504
Stomach Contents: Structure - struct
term simple 3d effects
505
Stomach Contents: Structure - struct
term Schema
506
Stomach Contents: Structure - struct
term open source
507
Stomach Contents: Structure - struct
term 4.0
508
Stomach Contents: Structure - struct
term webmaniacs
509
Stomach Contents: Structure - struct
term website hosting
510
Stomach Contents: Structure - struct
term MAX Milan 2008
511
Stomach Contents: Structure - struct
term location
512
Stomach Contents: Structure - struct
term delusional
513
Stomach Contents: Structure - struct
term PHP and Flex
514
Stomach Contents: Structure - struct
term iphone
515
Stomach Contents: Structure - struct
term Software Architecture lessons
516
Stomach Contents: Structure - struct
term intelligence
517
Stomach Contents: Structure - struct
term Flash and the City 2011
518
Stomach Contents: Structure - struct
term Shaw high speed internet rocks
519
Stomach Contents: Structure - struct
term WUG
520
Stomach Contents: Structure - struct
term tips
521
Stomach Contents: Structure - struct
term Mac
522
Stomach Contents: Structure - struct
term microformat
523
Stomach Contents: Structure - struct
term group
524
Stomach Contents: Structure - struct
term eclipse
525
Stomach Contents: Structure - struct
term Adobe tech summit 2008
526
Stomach Contents: Structure - struct
term mike chambers
527
Stomach Contents: Structure - struct
term search engine optimization
528
Stomach Contents: Structure - struct
term air drag and drop example
529
Stomach Contents: Structure - struct
term working with XML
530
Stomach Contents: Structure - struct
term Web 3.0
531
Stomach Contents: Structure - struct
term adobe edge
532
Stomach Contents: Structure - struct
term FLEX AIR
533
Stomach Contents: Structure - struct
term future
534
Stomach Contents: Structure - struct
term Barreto
535
Stomach Contents: Structure - struct
term contest
536
Stomach Contents: Structure - struct
term Android market
537
Stomach Contents: Structure - struct
term SOA is not dead
538
Stomach Contents: Structure - struct
term TV
539
Stomach Contents: Structure - struct
term ISO 32000
540
Stomach Contents: Structure - struct
term reviews
541
Stomach Contents: Structure - struct
term Customer Experience Management
542
Stomach Contents: Structure - struct
term video games
543
Stomach Contents: Structure - struct
term san francisco
544
Stomach Contents: Structure - struct
term online security
545
Stomach Contents: Structure - struct
term security
546
Stomach Contents: Structure - struct
term thomas
547
Stomach Contents: Structure - struct
term Web Services
548
Stomach Contents: Structure - struct
term 1980's hair band
549
Stomach Contents: Structure - struct
term models
550
Stomach Contents: Structure - struct
term ecma 376
551
Stomach Contents: Structure - struct
term Adobe AIR
552
Stomach Contents: Structure - struct
term Steve Jones
553
Stomach Contents: Structure - struct
term india
554
Stomach Contents: Structure - struct
term media framework
555
Stomach Contents: Structure - struct
term moron sopa
556
Stomach Contents: Structure - struct
term great
557
Stomach Contents: Structure - struct
term ZIO
558
Stomach Contents: Structure - struct
term double neck
559
Stomach Contents: Structure - struct
term David RR Webber
560
Stomach Contents: Structure - struct
term los angeles
561
Stomach Contents: Structure - struct
term max
562
Stomach Contents: Structure - struct
term zxdata
563
Stomach Contents: Structure - struct
term social networks
564
Stomach Contents: Structure - struct
term nickull 7th heaven
565
Stomach Contents: Structure - struct
term andre
566
Stomach Contents: Structure - struct
term prerelease
567
Stomach Contents: Structure - struct
term north carolina
568
Stomach Contents: Structure - struct
term html
569
Stomach Contents: Structure - struct
term warranty
570
Stomach Contents: Structure - struct
term fun
571
Stomach Contents: Structure - struct
term china
572
Stomach Contents: Structure - struct
term mobile code tutorial open source drawing magic screen draw pro
573
Stomach Contents: Structure - struct
term architecture
574
Stomach Contents: Structure - struct
term examples
575
Stomach Contents: Structure - struct
term experience management
576
Stomach Contents: Structure - struct
term brady forrest
577
Stomach Contents: Structure - struct
term world record software downloads in one day
578
Stomach Contents: Structure - struct
term soa and web 2.0
579
Stomach Contents: Structure - struct
term Auditude
580
Stomach Contents: Structure - struct
term nutraways
581
Stomach Contents: Structure - struct
term form design
582
Stomach Contents: Structure - struct
term environmentally clean house design
583
Stomach Contents: Structure - struct
term Lee Brimelow
584
Stomach Contents: Structure - struct
term charland
585
Stomach Contents: Structure - struct
term flex 3
586
Stomach Contents: Structure - struct
term universe software
587
Stomach Contents: Structure - struct
term ensemble
588
Stomach Contents: Structure - struct
term apple
589
Stomach Contents: Structure - struct
term duane's world 13
590
Stomach Contents: Structure - struct
term AIR tutorial
591
Stomach Contents: Structure - struct
term Adobe labs
592
Stomach Contents: Structure - struct
term andy powell
593
Stomach Contents: Structure - struct
term sex pistols
594
Stomach Contents: Structure - struct
term criminals
595
Stomach Contents: Structure - struct
term Dion
596
Stomach Contents: Structure - struct
term Google indexing flash
597
Stomach Contents: Structure - struct
term Google Android SEO
598
Stomach Contents: Structure - struct
term foresight
599
Stomach Contents: Structure - struct
term SaaS
600
Stomach Contents: Structure - struct
term zak greant
601
Stomach Contents: Structure - struct
term silverlight vs flash
602
Stomach Contents: Structure - struct
term Canon
603
Stomach Contents: Structure - struct
term javaone
604
Stomach Contents: Structure - struct
term Business Objects
605
Stomach Contents: Structure - struct
term comparison
606
Stomach Contents: Structure - struct
term enterprise
607
Stomach Contents: Structure - struct
term air 2.5 mobile
608
Stomach Contents: Structure - struct
term blakout
609
Stomach Contents: Structure - struct
term blog hosting
610
Stomach Contents: Structure - struct
term webinale
611
Stomach Contents: Structure - struct
term html 5
612
Stomach Contents: Structure - struct
term web 2expo berlin
613
Stomach Contents: Structure - struct
term mobile tipping point
614
Stomach Contents: Structure - struct
term web 2.0 design patterns
615
Stomach Contents: Structure - struct
term flex videos
616
Stomach Contents: Structure - struct
term HTML5
617
Stomach Contents: Structure - struct
term google android
618
Stomach Contents: Structure - struct
term linux
619
Stomach Contents: Structure - struct
term molehill 3d
620
Stomach Contents: Structure - struct
term S4M
621
Stomach Contents: Structure - struct
term roger roberts
622
Stomach Contents: Structure - struct
term love for software
623
Stomach Contents: Structure - struct
term jack wilber
624
Stomach Contents: Structure - struct
term REST
625
Stomach Contents: Structure - struct
term #adobemax
626
Stomach Contents: Structure - struct
term 2d
627
Stomach Contents: Structure - struct
term tutorial
628
Stomach Contents: Structure - struct
term spatialkey
629
Stomach Contents: Structure - struct
term developer tools
630
Stomach Contents: Structure - struct
term OASIS
631
Stomach Contents: Structure - struct
term h.264
632
Stomach Contents: Structure - struct
term free mobile programming tutorials
633
Stomach Contents: Structure - struct
term happy
634
Stomach Contents: Structure - struct
term first
635
Stomach Contents: Structure - struct
term ace koden
636
Stomach Contents: Structure - struct
term matt mackenzie
637
Stomach Contents: Structure - struct
term adobeMAX2010
638
Stomach Contents: Structure - struct
term webinars
639
Stomach Contents: Structure - struct
term endpoints
640
Stomach Contents: Structure - struct
term tamarin
641
Stomach Contents: Structure - struct
term criticism
642
Stomach Contents: Structure - struct
term SEO
643
Stomach Contents: Structure - struct
term 3D
644
Stomach Contents: Structure - struct
term yahoo maps
645
Stomach Contents: Structure - struct
term jboss
646
Stomach Contents: Structure - struct
term microsoft
647
Stomach Contents: Structure - struct
term two
648
Stomach Contents: Structure - struct
term adobe max
649
Stomach Contents: Structure - struct
term chaos
650
Stomach Contents: Structure - struct
term ace kodan
651
Stomach Contents: Structure - struct
term livecyclemax
652
Stomach Contents: Structure - struct
term onair
653
Stomach Contents: Structure - struct
term data
654
Stomach Contents: Structure - struct
term vancouver
encoding UTF-8
entry
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/YMQhyQt34VzBNulIT1TJOC72t8E/0/da"><img src="http://feedads.g.doubleclick.net/~a/YMQhyQt34VzBNulIT1TJOC72t8E/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/YMQhyQt34VzBNulIT1TJOC72t8E/1/da"><img src="http://feedads.g.doubleclick.net/~a/YMQhyQt34VzBNulIT1TJOC72t8E/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> Adobe has recently announced that <strong>Adobe LiveCycle ES3</strong> is available as a download. &nbsp;This announcement was met with some great enthusiasm by the community, none less than us here at Technoracle. &nbsp;The brand itself had been subject of much speculation regarding it’s future and we are happy to see the investment into LiveCycle continue. &nbsp;This re-invigorates our own investment to work with this excellent SOA platform.<br /> <br /> Having now been accepted into the Adobe&nbsp;Enterprise Solution Partner Program, we are extremely excited to be amongst the first in the world to offer you, the customers, the ability to purchase Adobe LiveCycle ES3 and professional services around it, starting from initial project consulting to complete project management. &nbsp;In case you haven’t heard, there are several new features that many enterprises have asked for. &nbsp; Our great former colleagues Jeff Stanier and Dave Welch have done a spectacular job of making this release a “must have”.<br /> <br /> LiveCycle ES3 first and foremost incorporates the Data Services ES3 module (version 4.6.1), an optimized Java server framework that can enhance and simplify the development of rich, data-intensive enterprise and mobile applications. &nbsp;This includes several mobile platforms such as iOS, Android etc.<br /> <br /> ES3 also offers a new SAP to Java connector for creating front-end interfaces to SAP systems. Alongside this update are connectors for FileNet 5 and easier SharePoint server farm deployment and integration.<br /> <br /> Our favorite new feature is within LiveCycle Designer. &nbsp;When you add a new submit button, Designer allows you to select an encryption method and choose from from several XML encryption/decryption algorithms. &nbsp; This will help with many accounts we are currently working on.<br /> Out mobile MEAP-lite platform is also a good way to add custom mobile functionality for wireless device integration into business process.&nbsp; Companies like Uberity have already released a great free and open source mobile SMS module including the full source code and binaries at&nbsp;<a href="http://blog.uberity.com/2012/02/extending-adobe-livecycle-es-to-use-sms-in-business-processes/" target="_blank" title="Uberity LiveCycle ES3 SMS Module">http://blog.uberity.com/2012/02/extending-adobe-livecycle-es-to-use-sms-in-business-processes/<br /></a><br /> So why wait? &nbsp;Get started today. &nbsp; Contact us, a company founded by former top LiveCycle ES rock stars and engineering managers.&nbsp; Leave a omment if you wish to inquire about our services around LiveCycle ES3.<br /> <br /> </div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-8541400913141908329?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/tGWmInn5nOs" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-8541400913141908329
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/tGWmInn5nOs/adobe-livecycle-es3-version-100.html
rel alternate
title Adobe LiveCycle ES3 (version 10.0) Download
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/8541400913141908329/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/05/adobe-livecycle-es3-version-100.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/8541400913141908329?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/8541400913141908329?v=2
rel self
type application/atom+xml
published 2012-05-16T13:25:00Z
title
Stomach Contents: Structure - struct
value Adobe LiveCycle ES3 (version 10.0) Download
updated 2012-05-16T13:25:00Z
2
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/eq07MMemfxrPoT-mmXDMva_Zwbs/0/da"><img src="http://feedads.g.doubleclick.net/~a/eq07MMemfxrPoT-mmXDMva_Zwbs/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/eq07MMemfxrPoT-mmXDMva_Zwbs/1/da"><img src="http://feedads.g.doubleclick.net/~a/eq07MMemfxrPoT-mmXDMva_Zwbs/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> In the previous tutorials on Neo4J, we discussed what Neo4J is, how to start it and use Cypher for basic queries and <a href="http://technoracle.blogspot.ca/2012/05/third-neo4j-tutorial-getting-started.html">getting started with Neo4J and Java</a>. &nbsp;In the third of these, we had hinted there are some things you should do that are best practices in a proper environment.<br /> <br /> To start this tutorial, please first follow the 3rd of the series from&nbsp;<a href="http://technoracle.blogspot.ca/2012/05/third-neo4j-tutorial-getting-started.html">http://technoracle.blogspot.ca/2012/05/third-neo4j-tutorial-getting-started.html</a><br /> <br /> You' notice that on Neo4J's pages, they discuss a shutdown hook. &nbsp;So what exactly is that and why would anyone use it?<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-4-egzaeAW7o/T7K3McyVXKI/AAAAAAAABSs/nPRFcXnAZWg/s1600/Screen+Shot+2012-05-15+at+1.05.15+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="98" src="http://3.bp.blogspot.com/-4-egzaeAW7o/T7K3McyVXKI/AAAAAAAABSs/nPRFcXnAZWg/s400/Screen+Shot+2012-05-15+at+1.05.15+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> If you examine the code on the previous tutorial, you will see that you can shutdown a database by simply calling grapDB,shutdown(); &nbsp;These lines of code are shown above. &nbsp;Note that calling shutown() only tries to shutdown the database. &nbsp;The Shutdown hook simply ensures that the database shuts down cleanly.<br /> <br /> To add a shutdown hook to the code in the previous tutorial, navigate to the createDB() method and register a shutdownhook handler right under the line where you create the database. &nbsp;With the new line added, your code should look like this:<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-LcGhiSDrQXU/T7K4iQnCF8I/AAAAAAAABS0/puiRuuks014/s1600/Screen+Shot+2012-05-15+at+1.11.26+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="51" src="http://2.bp.blogspot.com/-LcGhiSDrQXU/T7K4iQnCF8I/AAAAAAAABS0/puiRuuks014/s400/Screen+Shot+2012-05-15+at+1.11.26+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> At this time, you may notice red X's as this introduces errors into the project. &nbsp;We have registered a shutdown hook which takes a single argument of &nbsp;the graphDB instance it will register the hook for. &nbsp;Now it is time to write the hook. &nbsp;</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-CJZ1MFrp2Nc/T7K_pevv7MI/AAAAAAAABTI/ewtUvms--O0/s1600/Screen+Shot+2012-05-15+at+1.41.42+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="121" src="http://4.bp.blogspot.com/-CJZ1MFrp2Nc/T7K_pevv7MI/AAAAAAAABTI/ewtUvms--O0/s400/Screen+Shot+2012-05-15+at+1.41.42+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <br /> registerShutdownHook() is a static method that returns nothing (void). &nbsp;The syntax above is a bit confusing given line 91 calls addShutDownHook on a new thread and closes around line 99, hence the erroneous looking but much required "});" syntax. &nbsp;This essentially encapsulates the functionality. &nbsp;<span class="s1">&nbsp; The&nbsp;</span>shutdown hook ensures that the Neo4j instance shuts&nbsp;down nicely when the VM exits (even if you "Ctrl-C" the&nbsp;running instance before it has finished running. &nbsp;Try running this example now with the modifications and you should see the following print out in your console.<br /> <div class="p1"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-5LwPPy-Ty_A/T7K_4hP9hCI/AAAAAAAABTQ/hq21dEtzVyI/s1600/Screen+Shot+2012-05-15+at+1.42.53+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="96" src="http://3.bp.blogspot.com/-5LwPPy-Ty_A/T7K_4hP9hCI/AAAAAAAABTQ/hq21dEtzVyI/s400/Screen+Shot+2012-05-15+at+1.42.53+PM.png" width="400" /></a></div> <div class="p1"> <br /></div> <br /> <br /> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-2463108920743220978?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/Qr1YC182UF8" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-2463108920743220978
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/Qr1YC182UF8/neo4j-tutorial-4-registering-shutdown.html
rel alternate
title Neo4J Tutorial #4: Registering a shutdown hook
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/2463108920743220978/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/05/neo4j-tutorial-4-registering-shutdown.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/2463108920743220978?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/2463108920743220978?v=2
rel self
type application/atom+xml
published 2012-05-15T20:43:00Z
title
Stomach Contents: Structure - struct
value Neo4J Tutorial #4: Registering a shutdown hook
updated 2012-05-15T20:43:54Z
3
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/cHGihmNFFT0EuFi6JqaLQn56pXQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/cHGihmNFFT0EuFi6JqaLQn56pXQ/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/cHGihmNFFT0EuFi6JqaLQn56pXQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/cHGihmNFFT0EuFi6JqaLQn56pXQ/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> <div dir="ltr" style="text-align: left;" trbidi="on"> In this tutorial we will learn how to talk to Neo4J using Java.&nbsp; There are a few tutorials from Neo Technologies which are very useful however I have my unique style of teaching and want to explain this technoracle-style.<br /> <br /> First, if you haven’t already familiarized yourself with <a href="http://technoracle.blogspot.ca/2012/04/getting-started-with-neo4j-beginners.html">Getting Start with Neo4J</a> and the <a href="http://technoracle.blogspot.ca/2012/04/neo4j-installing-running-and-shell.html">Getting Started with the Neo4J Cypher Shell</a>, check out those two articles.<br /> <br /> Here are the steps to communicating with Neo4J from a Java environment. &nbsp;This tutorial should take you about 30 minutes to complete.<br /> <br /> <b>SETUP</b><br /> <br /> 1. &nbsp;Ensure you have the right version of Java and the Java JDK environment set up properly. On a Mac, this is probably already done for you. On a PC, you might have to manually download and install the right version of Java and set the PATH and JAVA_HOME environmental variable from scratch.&nbsp; <br /> <br /> 2. Download and install Neo4J. In this tutorial I am using <a href="http://neo4j.org/download/">Neo4J 1.8 M01 release</a>. I installed it on my OSX 10.7.3 laptop under my home directory (/Users/dnickull/Software/Neo4J_1.8/)<br /> <br /> 3. &nbsp;Ensure you have the correct version of Eclipse installed. For this tutorial, I downloaded <a href="http://www.eclipse.org/downloads/">Eclipse Indigo</a> Service Release 1, Build id: 20110916-0149. &nbsp;I use the version entitled Eclipse IDE for Java EE Developers.<br /> <br /> <b>STARTING THE PROJECT</b><br /> <br /> 4. &nbsp;Within Eclipse, select File -&gt; new -&gt; Java Project and give the new project a name. In my case I m calling mine “Neo_1.8”. Select Next.<br /> <br /> 5. &nbsp;Under the second <b><i>new project page</i></b>, select <b>Java Build Path (1)</b> the <b>libraries tab (2)</b> and then click on <b>Add External Jars (3)</b>. This will allow you to browse for external jar files.<br /> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-tdLIrTDATGk/T6ldlRYYCVI/AAAAAAAABQA/DOGwBARxG78/s1600/Screen%2BShot%2B2012-05-07%2Bat%2B7.59.34%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="http://1.bp.blogspot.com/-tdLIrTDATGk/T6ldlRYYCVI/AAAAAAAABQA/DOGwBARxG78/s400/Screen%2BShot%2B2012-05-07%2Bat%2B7.59.34%2BPM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> 6. <b>Browse</b> to the directory you installed Neo4J under and look under the “libs” directory.&nbsp;</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-Urf0UcR6Xss/T6lf8Rn4yRI/AAAAAAAABQI/H-GaT9XMIyw/s1600/Screen+Shot+2012-05-08+at+11.03.04+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="202" src="http://1.bp.blogspot.com/-Urf0UcR6Xss/T6lf8Rn4yRI/AAAAAAAABQI/H-GaT9XMIyw/s320/Screen+Shot+2012-05-08+at+11.03.04+AM.png" width="320" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> &nbsp;7. Click on one of the *.jar files under that directory and hit the mnemonic key to select all (Command –A on OSX, Control A on PC). Click A<b>dd</b> and <b>Finish (</b>even if you're not from Finland ;-).&nbsp;</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> &nbsp;8. In Eclipse, <b>right click </b>(Control click on PC) on the “<b>src</b>” folder of your newly created Eclipse project and select <b>New -&gt; Package</b>. In the dialog window, <b>add a new package name</b>. In the figure below, I added <b>com.technoraclesystems.neo4jutils</b>. Hit the <b>Finish</b>&nbsp;button.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-K-_DB5T3SvE/T6lhAr9SN1I/AAAAAAAABQY/lvP-CnlhAqE/s1600/Screen+Shot+2012-05-06+at+9.25.14+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="207" src="http://1.bp.blogspot.com/-K-_DB5T3SvE/T6lhAr9SN1I/AAAAAAAABQY/lvP-CnlhAqE/s400/Screen+Shot+2012-05-06+at+9.25.14+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="" style="clear: both; text-align: left;"> 9. <b>Right click</b> (PC) or Control Click (OSX) on the newly created package name and select “<b>New -&gt; Java Class</b>”. Provide a name for your class. In the example below I created a public class called <b>HelloNeo4J. &nbsp;</b>Click <b>Finish</b></div> <div class="separator" style="clear: both; text-align: left;"> <b><br /></b></div> <div style="text-align: center;"> <b><a href="http://3.bp.blogspot.com/-3-p79w65OCM/T6lgindxSlI/AAAAAAAABQQ/FD9BX39SK_w/s1600/Screen+Shot+2012-05-06+at+9.26.31+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://3.bp.blogspot.com/-3-p79w65OCM/T6lgindxSlI/AAAAAAAABQQ/FD9BX39SK_w/s400/Screen+Shot+2012-05-06+at+9.26.31+PM.png" width="343" /></a></b></div> <br /> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> 10. Add the following import statements into your project.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-QYuOhRImcUo/T6liIF3DccI/AAAAAAAABQg/WzmNB2oFsL8/s1600/Screen+Shot+2012-05-08+at+11.12.27+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="176" src="http://2.bp.blogspot.com/-QYuOhRImcUo/T6liIF3DccI/AAAAAAAABQg/WzmNB2oFsL8/s400/Screen+Shot+2012-05-08+at+11.12.27+AM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> 11.&nbsp;Next we have to create the path to the actual Neo4J instance you installed. This is done with one line of code. Just below the class declaration, add the following line replacing the path with your path to the Neo4J 1.8. Note that the path on a PC will use the “\” chafacter instead of the “/” character and you will also have to escape it by placing a second “\” in front of each path separator. &nbsp;THis should be the first line under your public class HelloNeo4J { statement.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-RXQ9J5kI3Gk/T6liqE3JseI/AAAAAAAABQo/kbkuHON_7mE/s1600/Screen+Shot+2012-05-08+at+11.14.46+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="32" src="http://3.bp.blogspot.com/-RXQ9J5kI3Gk/T6liqE3JseI/AAAAAAAABQo/kbkuHON_7mE/s400/Screen+Shot+2012-05-08+at+11.14.46+AM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> 12.&nbsp;For this simple tutorial, we will create 5 new class member variables as shown below on lines 19 - 23. Note that I have closed the imports statements but Eclipse keeps the lines numbers intact.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-j3fXiBf6aeE/T6ljF9Ho78I/AAAAAAAABQw/oqvIwCRiyTs/s1600/Screen+Shot+2012-05-07+at+8.10.03+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="218" src="http://2.bp.blogspot.com/-j3fXiBf6aeE/T6ljF9Ho78I/AAAAAAAABQw/oqvIwCRiyTs/s400/Screen+Shot+2012-05-07+at+8.10.03+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> 13. The variables will be used as follows in the program.<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a. <b>myString</b> – concatenates various strings to print back to the console<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b. <b>graphDB</b> – an instance of Neo4J to work with<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c. <b>myFirstNode</b> – a neo4J node<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; d. <b>mySecondNode</b> – a second neo4J node<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e. <b>myRelationship</b> – the simple relationship between the two nodes.<br /> <br /> &nbsp;14. The next item to create is a static method to declare the list of relationships In this case we are using the word “<b>KNOWS</b>”, which sub-types the neo4J interface <b>RelationshipTypes (<a href="http://api.neo4j.org/1.8.M01/org/neo4j/graphdb/RelationshipType.html">API Docs</a>).</b><br /> <b><br /></b><br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-exu3yoXxr6M/T6lkRzNjtDI/AAAAAAAABQ4/Gy0u6GF3JWA/s1600/Screen+Shot+2012-05-08+at+11.20.01+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="55" src="http://1.bp.blogspot.com/-exu3yoXxr6M/T6lkRzNjtDI/AAAAAAAABQ4/Gy0u6GF3JWA/s400/Screen+Shot+2012-05-08+at+11.20.01+AM.png" width="400" /></a></div> <b><br /></b><br /> 15. A relationship type is mandatory on all relationships and is used to navigate the node space. RelationshipType is in particular a key part of the <b>traverser framework</b> but it's also used in various relationship operations on <b>Node</b>. RelationshipType is designed to work well with Java 5 enumerationss. This means that it's very easy to define a set of valid relationship types by declaring an enum that implements RelationshipType and then reuse that across the application.<br /> <br /> 16. Now we need to implement our <b>main() </b>method. The main method has 3 basic parts. The first is to <b>instantiate myNeo4JInstance</b>, an embedded instance of Neo4J. There are then consecutive calls to <b>createDb()</b>, <b>removeData()</b> and <b>shutdown()</b>. &nbsp;Add the stub code for these methods.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-ipD4wirbgL0/T6niBtvCIVI/AAAAAAAABSA/xk5p0y2maeA/s1600/Screen+Shot+2012-05-08+at+8.15.27+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://1.bp.blogspot.com/-ipD4wirbgL0/T6niBtvCIVI/AAAAAAAABSA/xk5p0y2maeA/s400/Screen+Shot+2012-05-08+at+8.15.27+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <br /> 17. The first method to complete will be the <b>createDb()</b>. Add the following lines of code to this method.<br /> <br /> <b>NOTE:</b> <i>This is a bare bones, minimal tutorial. &nbsp;In production, there are several other items to take care of such as registering a shutdown hook to ensure the database stops properly. &nbsp;This would normally be done at this stage. &nbsp;Read more about the importance of the shutdown hook here </i>-&nbsp;<a href="http://docs.neo4j.org/chunked/stable/tutorials-java-embedded-setup.html">http://docs.neo4j.org/chunked/stable/tutorials-java-embedded-setup.html</a><br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-ofTQKZLados/T6lnOLPAhsI/AAAAAAAABRQ/6MPycqKn4So/s1600/Screen+Shot+2012-05-08+at+11.34.10+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="57" src="http://2.bp.blogspot.com/-ofTQKZLados/T6lnOLPAhsI/AAAAAAAABRQ/6MPycqKn4So/s400/Screen+Shot+2012-05-08+at+11.34.10+AM.png" width="400" /></a></div> <br /> <b>THE TRANSACTION&nbsp;</b><br /> <br /> 18. The first line calls the GraphDatabaseFactory method to create a new instance of the embedded Neo4J which takes one argument, the DB_PATH we set up earlier. &nbsp;The second line start a new transaction named <b>tx.</b><br /> <b><br /></b><br /> 19. The next line will set up a new Transaction with the identifier “tx” and calls the graphDB’s <b>createNode()</b> method. The transaction basically has two main parts:<br /> <br /> <span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><b>&nbsp;try {&nbsp;</b></span><br /> <span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><b>&nbsp; &nbsp; &nbsp; &nbsp; //Some logic&nbsp;</b></span><br /> <span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><b>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tx.success&nbsp;</b></span><br /> <span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><b>&nbsp; &nbsp; &nbsp; &nbsp;} finally {&nbsp;</b></span><br /> <span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><b>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tx.finish();&nbsp;</b></span><br /> <span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><b>&nbsp;}&nbsp;</b></span><br /> <br /> 20. The idea is that your application logic goes under the try. All your application logic should be executed before the <b>tx.success()</b> statement. If all goes well, tx.success marks the transaction as successful but does not actually commit it. This is only done when <b>tx.finish() </b>is called. If <b>tx.falure()</b> is thrown during the logic phase, the database is rolled back. This is about as simple and elegant as it gets.<br /> <br /> Here is how our logic will go to create a very simple graph of two musicians who know each other.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-GSwrVPw-CCc/T6lp1p9utrI/AAAAAAAABRc/LTKyBfB3bJM/s1600/Screen+Shot+2012-05-08+at+11.45.16+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="232" src="http://3.bp.blogspot.com/-GSwrVPw-CCc/T6lp1p9utrI/AAAAAAAABRc/LTKyBfB3bJM/s400/Screen+Shot+2012-05-08+at+11.45.16+AM.png" width="400" /></a></div> <br /> 21. Lines 44 and 45 set properties for myFirstNote while lines 46-47 do the same for mySecondNode. &nbsp;Starting on line 49, a relationship is created between those two nodes using the type from our Java enum, namely "KNOWS". &nbsp;This is all printed to string before <b>tx.success()</b> is called. &nbsp;<b>tx.finish()</b> is where the transaction is actually committed.<br /> <br /> 22. Next we will tackle the <b>removeData()</b> method, which will be executed next in the main method. This essentially undoes all the work we just completed. Modify the contents as follows. Note that this uses the exact same transaction construct as when we created the database. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-Hmezr_wtyRo/T6lrhPAoB3I/AAAAAAAABRk/-dc4gGCL0_U/s1600/Screen+Shot+2012-05-08+at+11.52.22+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="http://1.bp.blogspot.com/-Hmezr_wtyRo/T6lrhPAoB3I/AAAAAAAABRk/-dc4gGCL0_U/s400/Screen+Shot+2012-05-08+at+11.52.22+AM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> 23. Line 70 basically provides a start context for the transaction by looking for myFirstNode and calls the delete() method on the relationship. &nbsp; &nbsp;The same delete() method is then called on both other nodes.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> 24. The last portion of the code to write is to shutdown the database. Luckily once more the engineers from Neo4J have provided a great method for doing this, aptly named shutdown().<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-YjLH4lH89Vk/T6lsO2bSBYI/AAAAAAAABRs/nvGIYXoR7Rg/s1600/Screen+Shot+2012-05-08+at+11.55.37+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="78" src="http://4.bp.blogspot.com/-YjLH4lH89Vk/T6lsO2bSBYI/AAAAAAAABRs/nvGIYXoR7Rg/s320/Screen+Shot+2012-05-08+at+11.55.37+AM.png" width="320" /></a></div> <br /> <b>RUN THE PROJECT</b><br /> <br /> 25. That is it! &nbsp;If you run your project, all should go well and you should see the following in your console.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-6dq-2j_UnmQ/T6lsobLIHwI/AAAAAAAABR0/ruRMdcT-fjw/s1600/Screen+Shot+2012-05-08+at+11.57.09+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="56" src="http://4.bp.blogspot.com/-6dq-2j_UnmQ/T6lsobLIHwI/AAAAAAAABR0/ruRMdcT-fjw/s400/Screen+Shot+2012-05-08+at+11.57.09+AM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> If you would like the source code for this project, please email me duane at nickull dot net. &nbsp;Also, this is very important to remember. &nbsp;<b><i>This is a very basic tutorial.</i></b> &nbsp;It is very important to learn about other methods and hooks such as the synch hook, shutdown hook and how to clear the database in order to use Java safely with Neo4J. &nbsp;There is a great tutorial at&nbsp;<a href="http://docs.neo4j.org/chunked/stable/tutorials-java-embedded.html">http://docs.neo4j.org/chunked/stable/tutorials-java-embedded.html</a>&nbsp;that explains more and the Java API docs are at&nbsp;<a href="http://api.neo4j.org/1.8.M01/">http://api.neo4j.org/1.8.M01/</a>.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <b>SOURCE CODE</b></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> </div> <div class="p1"> <span class="s1">package</span> com.technoraclesystems.neo4jutils;</div> <div class="p2"> <br /></div> <div class="p3"> // From the //neo4j_install_dir/<span class="s2">lib</span> directory</div> <div class="p1"> <span class="s1">import</span> org.neo4j.graphdb.Direction;</div> <div class="p1"> <span class="s1">import</span> org.neo4j.graphdb.GraphDatabaseService;</div> <div class="p1"> <span class="s1">import</span> org.neo4j.graphdb.Node;</div> <div class="p1"> <span class="s1">import</span> org.neo4j.graphdb.Relationship;</div> <div class="p1"> <span class="s1">import</span> org.neo4j.graphdb.RelationshipType;</div> <div class="p1"> <span class="s1">import</span> org.neo4j.graphdb.Transaction;</div> <div class="p1"> <span class="s1">import</span> org.neo4j.graphdb.factory.GraphDatabaseFactory;</div> <div class="p2"> <br /></div> <div class="p1"> <span class="s1">public</span> <span class="s1">class</span> HelloNeo4J {</div> <div class="p2"> <span class="Apple-tab-span"> </span></div> <div class="p4"> <span class="s3">&nbsp; &nbsp; </span><span class="s1">private</span><span class="s3"> </span><span class="s1">static</span><span class="s3"> </span><span class="s1">final</span><span class="s3"> String </span><span class="s4">DB_PATH</span><span class="s3"> = </span>"/Users/duanenickull/Software/neo4j-community-1.8.M01/"<span class="s3">;</span></div> <div class="p2"> <br /></div> <div class="p1"> &nbsp; &nbsp; String <span class="s4">myString</span>;</div> <div class="p1"> &nbsp; &nbsp; GraphDatabaseService <span class="s4">graphDb</span>;</div> <div class="p5"> <span class="s3">&nbsp; &nbsp; Node </span>myFirstNode<span class="s3">;</span></div> <div class="p5"> <span class="s3">&nbsp; &nbsp; Node </span>mySecondNode<span class="s3">;</span></div> <div class="p1"> &nbsp; &nbsp; Relationship <span class="s4">myRelationship</span>;</div> <div class="p2"> <br /></div> <div class="p1"> &nbsp; &nbsp; <span class="s1">private</span> <span class="s1">static</span> <span class="s1">enum</span> RelTypes <span class="s1">implements</span> RelationshipType</div> <div class="p1"> &nbsp; &nbsp; {</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">KNOWS</span></div> <div class="p1"> &nbsp; &nbsp; }</div> <div class="p2"> &nbsp;&nbsp; &nbsp;</div> <div class="p1"> &nbsp; &nbsp; <span class="s1">public</span> <span class="s1">static</span> <span class="s1">void</span> main( <span class="s1">final</span> String[] args )</div> <div class="p1"> &nbsp; &nbsp; {</div> <div class="p2"> &nbsp;&nbsp; &nbsp;<span class="Apple-tab-span"> </span></div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; HelloNeo4J myNeoInstance = <span class="s1">new</span> HelloNeo4J();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; myNeoInstance.createDb();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; myNeoInstance.removeData();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; myNeoInstance.shutDown();</div> <div class="p2"> &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div> <div class="p1"> &nbsp; &nbsp; }</div> <div class="p2"> &nbsp;&nbsp; &nbsp;</div> <div class="p1"> &nbsp; &nbsp; <span class="s1">void</span> createDb()</div> <div class="p1"> &nbsp; &nbsp; {</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">graphDb</span> = <span class="s1">new</span> GraphDatabaseFactory().newEmbeddedDatabase( <span class="s4">DB_PATH</span> );</div> <div class="p2"> <br /></div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; Transaction tx = <span class="s4">graphDb</span>.beginTx();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="s1">try</span></div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; {</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">myFirstNode</span> = <span class="s4">graphDb</span>.createNode();</div> <div class="p4"> <span class="s3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="s4">myFirstNode</span><span class="s3">.setProperty( </span>"name"<span class="s3">, </span>"Duane Nickull, I Braineater"<span class="s3"> );</span></div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">mySecondNode</span> = <span class="s4">graphDb</span>.createNode();</div> <div class="p4"> <span class="s3">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="s4">mySecondNode</span><span class="s3">.setProperty( </span>"name"<span class="s3">, </span>"Randy Rampage, Annihilator"<span class="s3"> );</span></div> <div class="p2"> <br /></div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">myRelationship</span> = <span class="s4">myFirstNode</span>.createRelationshipTo( <span class="s4">mySecondNode</span>, RelTypes.<span class="s4">KNOWS</span> );</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">myRelationship</span>.setProperty( <span class="s5">"relationship-type"</span>, <span class="s5">"knows"</span> );</div> <div class="p2"> &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">myString</span> = ( <span class="s4">myFirstNode</span>.getProperty( <span class="s5">"name"</span> ).toString() )</div> <div class="p1"> &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; + <span class="s5">" "</span> + ( <span class="s4">myRelationship</span>.getProperty( <span class="s5">"relationship-type"</span> ).toString() )</div> <div class="p1"> &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; + <span class="s5">" "</span> + ( <span class="s4">mySecondNode</span>.getProperty( <span class="s5">"name"</span> ).toString() );</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="s4">out</span>.println(<span class="s4">myString</span>);</div> <div class="p2"> <br /></div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tx.success();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; }</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="s1">finally</span></div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; {</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tx.finish();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; }</div> <div class="p1"> &nbsp; &nbsp; }</div> <div class="p2"> &nbsp;&nbsp; &nbsp;</div> <div class="p1"> &nbsp; &nbsp; <span class="s1">void</span> removeData()</div> <div class="p1"> &nbsp; &nbsp; {</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; Transaction tx = <span class="s4">graphDb</span>.beginTx();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="s1">try</span></div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; {</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">myFirstNode</span>.getSingleRelationship( RelTypes.<span class="s4">KNOWS</span>, Direction.<span class="s4">OUTGOING</span> ).delete();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="s4">out</span>.println(<span class="s5">"Removing nodes..."</span>);</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">myFirstNode</span>.delete();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">mySecondNode</span>.delete();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tx.success();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; }</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="s1">finally</span></div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; {</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tx.finish();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; }</div> <div class="p1"> &nbsp; &nbsp; }</div> <div class="p2"> &nbsp;&nbsp; &nbsp;</div> <div class="p1"> &nbsp; &nbsp; <span class="s1">void</span> shutDown()</div> <div class="p1"> &nbsp; &nbsp; {</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="s4">graphDb</span>.shutdown();</div> <div class="p1"> &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="s4">out</span>.println(<span class="s5">"graphDB shut down."</span>);&nbsp; &nbsp;</div> <div class="p1"> &nbsp; &nbsp; }&nbsp; &nbsp;</div> <div class="p1"> }</div> <br /> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> Enjoy and have fun!</div> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-8049104767028882723?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/HaNljPgKVGc" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-8049104767028882723
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/HaNljPgKVGc/third-neo4j-tutorial-getting-started.html
rel alternate
title Third Neo4J Tutorial: Getting Started with Java
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/8049104767028882723/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/05/third-neo4j-tutorial-getting-started.html#comment-form
rel replies
title 3 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/8049104767028882723?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/8049104767028882723?v=2
rel self
type application/atom+xml
published 2012-05-08T19:01:00Z
title
Stomach Contents: Structure - struct
value Third Neo4J Tutorial: Getting Started with Java
updated 2012-05-09T15:33:51Z
4
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/zp3yFqOBdcCn85zzRR6upp-OGRs/0/da"><img src="http://feedads.g.doubleclick.net/~a/zp3yFqOBdcCn85zzRR6upp-OGRs/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/zp3yFqOBdcCn85zzRR6upp-OGRs/1/da"><img src="http://feedads.g.doubleclick.net/~a/zp3yFqOBdcCn85zzRR6upp-OGRs/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> <br /> <div> <span style="font-family: inherit;">I get asked all the time – “What is LiveCycle ES”? This is a question I had to answer while at Adobe but somehow the way this question is answered now has changed from an outsider perspective. &nbsp; I find myself describing it in terms of business capabilities and value rather than the technology itself. Nevertheless, if you want to know what LiveCycle is, this blog post should provide a solid background.</span></div> <div style="background-color: #f8f9f8; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #434343; font-size: 0.875em; margin-bottom: 1.5em; margin-top: 0.5em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;"> <span id="more-84" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; font-family: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"></span></div> <div> <span style="font-family: inherit;">LiveCycle is an enterprise software system that solves problems pertaining to mass scale processing of Portable Document Format (PDF) documents. While individual users of PDF’s tend to use Adobe Acrobat or Reader for working with PDF, LiveCycle is meant to aid the processing of tens of thousands of LiveCycle PDF documents. Hence, it is an enterprise solution that anyone who currently uses paper forms should look at if they are wanting to streamline the ingestion of data from forms. Likewise, it had many modules that can mitigate problems around PDF such as document security (think of Wiki-leaks).</span><br /> <span style="font-family: inherit;"><br /></span></div> <div 'helvetica="" -webkit-auto;="" 0.5em;="" 0.875em;="" 0px;="" 1.5em;="" arial,="" baseline;"="" font-family:="" font-size:="" helvetica,="" margin-bottom:="" margin-top:="" neue',="" padding-bottom:="" padding-left:="" padding-right:="" padding-top:="" sans-serif;="" text-align:="" vertical-align:=""> <span style="font-family: inherit;">LiveCycle itself is comprised of several components. I’ll walk through each of these components one at a time. the main component is akin to what many call an Enterprise Service Bus or ESB for short. This includes a set of common services, a common environment of service execution, a registry-repository system, workflow and storage components to name a few components. LiveCycle ES installs as a server and the server can bind to many different types of common enterprise infrastructure components including directories (LDAP for example). Below is a depiction of the server side component of LiveCycle ES.</span></div> <div> <a href="http://www.uberity.com/wp-content/uploads/2012/04/What-is_LiveCycle-ES-Uberity.png" style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><img alt="What is Livecycle - the server component explained." class=" wp-image-86 aligncenter" src="http://www.uberity.com/wp-content/uploads/2012/04/What-is_LiveCycle-ES-Uberity.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; display: block; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;" title="What-is_LiveCycle-ES-Uberity" /></a><br /> <span style="color: #cb30d1;"><br /></span> <span style="font-family: inherit;">The server’s core services are all registered in a registry. &nbsp;There can be orchestrated and used to perform different types of operations on PDF documents and with extensions, to also talk to mobile (wireless) devices. &nbsp;At the bottom of the Service tier is a Service Provider Interface (SPI) which is where back end systems often integrate. &nbsp;Systems such as SAP that might consume and produce massive amounts of data for government or finance could link in to this layer to offer PDF forms as a point of interaction with humans, then automatically accept, validate and consume the form data provided by the user. &nbsp;The users themselves can access data (by requesting a PDF form or perhaps by being pushed notifications of events) via the Service Invocation Layer at the top. &nbsp;This is a J2EE server and can be set up in many different ways. &nbsp;One option is often to install it on site however for evaluation, I have found that using the Amazon cloud is one of the best ways for evaluation. &nbsp;I have experience with this and we have found that while it takes an average first time installation of LiveCycle’s server on Red Hat Enterprise Linux with full SSL/TLS configuration and testing afterwards to take many over 2.5 days. &nbsp;I highly recommend the turnkey Windows server installation however I do offer a flat fee to install this on the cloud for evaluation.</span> <br /> <span style="font-family: inherit;"><br /></span><br /> <div> <span style="font-family: inherit;">So what are the core component and services LiveCycle offers? &nbsp; Here is a brief rundown. &nbsp;The following is not an exhaustive list, rather an example to help explain what LiveCycle is.</span></div> <b><span style="font-family: inherit;"><br /></span></b><br /> <span style="font-family: inherit;"><b>Forms ES</b> – this module can be licensed to automate just about every aspect of forms processing. &nbsp;The ability to save money over paper forms is astounding.&nbsp;</span><br /> <b><span style="font-family: inherit;"><br /></span></b><br /> <span style="font-family: inherit;"><b>Barcoded Forms ES</b> – the barcoded forms module allows forms to be printed with a corresponding 2D bar code that can later be electronically scanned to recapture the form data electronically. &nbsp;This is useful if you wanted to create something like an electronic voting system that had a fully audit able paper trail or if you needed someone to electronically fill out a form and sign it then mail it in to you for ingestion into your systems.</span><br /> <span style="font-family: inherit;"><br /></span><br /> <b>Digital Signatures ES</b> – since many companies use digital signatures now, often deemed more reliable and audit able than wet ink signatures, PDF documents support this feature. &nbsp;The LiveCycle Server can perform massive scale operations using the Digital Signatures module like validating 100,000 signatures to ensure certificates have not been revoked.<br /> <b><br /></b><br /> <b>Output ES</b> – Our put is used often for production print.<br /> <br /> <b>PDF Generator ES </b>– this module provides almost every possible method for generating PDF, PostScript, FXA, XDP or other related files.<br /> <br /> <b>Process Management ES </b>– LiveCycle ES contains a full blown business process management capability.<br /> <br /> <b>Reader Extensions ES </b>– this module of LiveCycle unlocks features in Adobe Reader that enable it to perform more like Acrobat. &nbsp;These extensions are often cheaper as a solution than forcing all users to buy copies of Adobe Acrobat.<br /> <b><br /></b><br /> <b>Rights Management ES</b> – Rights Management is one of our favorite modules. &nbsp;You can use this to protect documents from beign distributed beyond what you want and even expire a document. The perfect solution to Wikileaks! There are many other modules and this is only designed to show you a small cross section of LiveCycle.</div> <br /> So what does LiveCycle look like when you use it? &nbsp;This is actually very dependent upon your role. &nbsp;There are Adminstrators and other various types of power users. &nbsp;This group use the administrative console which is web based.<br /> &nbsp; <a href="http://www.uberity.com/wp-content/uploads/2012/04/LiveCycle-Administrators-view.png" style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><span style="font-family: inherit;"><br /><img alt="The Adobe LiveCycle ES Administrator view" class=" wp-image-88 aligncenter" height="96" src="http://www.uberity.com/wp-content/uploads/2012/04/LiveCycle-Administrators-view.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; display: block; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;" title="LiveCycle-Administrators-view" width="400" /></span></a><br /> <br /> <br /> Most people who work with received forms or kick off business processes will use the Workspace interface. &nbsp;This is where privileged users can also receive work that has been queued up for them to work with.<br /> <br /> &nbsp; <span style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; font-family: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><a href="http://www.uberity.com/wp-content/uploads/2012/04/What-is-LiveCycle-Workspace.png" style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><img alt="LiveCycle Workspace" class=" wp-image-89 aligncenter" height="225" src="http://www.uberity.com/wp-content/uploads/2012/04/What-is-LiveCycle-Workspace.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; display: block; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;" title="What-is-LiveCycle-Workspace" width="400" /></a></span> <br /> <br /> <span style="font-family: inherit;">For users who design actual PDF forms, this class will spend a lot of time in the Adobe LiveCycle Designer view. If you have ever wonder “what is LiveCycle Designer”, this is what you will see.</span> <br /> <br /> <span style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; font-family: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><a href="http://www.uberity.com/wp-content/uploads/2012/04/LiveCycle-Forms-Designer.png" style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><img alt="Adobe LiveCycle Designer" class=" wp-image-91 aligncenter" height="295" src="http://www.uberity.com/wp-content/uploads/2012/04/LiveCycle-Forms-Designer.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; display: block; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;" title="LiveCycle-Forms-Designer" width="400" /></a></span><br /> <span style="color: #cb30d1;"><br /></span> <span style="font-family: inherit;">Another class of developer users for LiveCycle will bind these PDF forms into Business Processes. &nbsp;These users will spend a lot of time in LiveCycle WorkBench. &nbsp;This is an eclipse based environment where business processes can be designed by using assets (such as the form above) in combination with business logic and LiveCycle Services. &nbsp;This view looks similar to the graphic below.</span><br /> &nbsp; <a href="http://www.uberity.com/wp-content/uploads/2012/04/liveCycle-Businesss-Process.png" style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><span style="font-family: inherit;"><br /><img alt="LiveCycle Business Process view" class=" wp-image-92 aligncenter" height="263" src="http://www.uberity.com/wp-content/uploads/2012/04/liveCycle-Businesss-Process.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; display: block; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;" title="liveCycle-Businesss-Process" width="400" /></span></a><br /> <span style="font-family: inherit;"><br /></span><br /> <span style="font-family: inherit;">Finally, the Business process users will also rely on a set of services. &nbsp;The view to these services are provided via the service registry. &nbsp;The service registry interface is easy to use and will be the subject of future Educational Series videos that show LiveCycle Help.</span><br /> <br /> <a href="http://www.uberity.com/wp-content/uploads/2012/04/LiveCycle-Services-View.png" style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><span style="font-family: inherit;"><img alt="What are LiveCycle ES Services?" class=" wp-image-93 aligncenter" height="304" src="http://www.uberity.com/wp-content/uploads/2012/04/LiveCycle-Services-View.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; display: block; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;" title="LiveCycle-Services-View" width="436" /></span></a> <span style="font-family: inherit;">This blog post only covers the basic elements of LiveCycle ES. &nbsp;To put all the pieces together, this is what a fully implemented architecture could look like.</span> <a href="http://www.uberity.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-09-at-8.41.13-PM.png" style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"> <span style="font-family: inherit;"><img alt="LiveCycle ES Architecture with Uberity Mobile Deployment" class=" wp-image-94 aligncenter" height="268" src="http://www.uberity.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-09-at-8.41.13-PM.png" style="border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; display: block; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;" title="Screen Shot 2012-04-09 at 8.41.13 PM" width="382" /></span></a> <span style="font-family: inherit;"><br /></span><br /> <span style="font-family: inherit;">As you can see, the development tools also include Java IDE’s such as Intellij and Eclipse. &nbsp;I have produced a few LiveCycle tutorials on how to invoke LiveCycle from a Java environment using Eclipse and the LiveCycle SDK. &nbsp;These are available at:</span> <span style="font-family: inherit;">The setup video is here:</span><br /> <br /> <span style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; font-family: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><a href="http://blog.uberity.com/2012/03/uberity-video-education-series-livecycle-es/" style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank" title="Uberity LiveCycle ES java invocation">http://www.uberity.com/2012/03/uberity-video-education-series-livecycle-es/</a></span><br /> <br /> <span style="font-family: inherit;">and a video of how to migrate from EJB invocation to SOAP is here:</span><br /> <br /> <span style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; font-family: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;"><a href="http://blog.uberity.com/2012/04/tutorial-invoke-livecycle-es3-using-soap/" style="-webkit-transition-delay: 0s; -webkit-transition-duration: 0.2s; -webkit-transition-property: color; -webkit-transition-timing-function: ease-in-out; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-top-style: none; border-top-width: 0px; color: #cb30d1; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;" target="_blank" title="Invoking LiveCycle ES3 using SOAP">http://www.uberity.com/2012/04/tutorial-invoke-livecycle-es3-using-soap/</a></span><br /> <br /> <span style="font-family: inherit;">Also shown above is the fact that third parties can develop their own functionality around LiveCycle ES. &nbsp;I've decided to spend some time building mobile interactions that integrate with the Adobe LiveCycle ES3 platform. &nbsp;</span><br /> <span style="font-family: inherit;"><br /></span><br /> <span style="font-family: inherit;">The next time you hear someone ask “What is LiveCycle”, this is a blog postI hope will help others answer that question.</span> <span style="font-family: inherit;">As with all our posts, if you do not feel your questions are answered here or want to follow up, please contact us at duane at nickull dot net for more information. &nbsp;My experience can save your company money. I can show you how a forms initiative will be more successful on LiveCycle ES than any other platform. &nbsp;Whether it be a PDF form, HTML5 or custom native iOS application, my friends and I are here to help.</span> <br /> <div> <br /></div> </div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-892681418182954382?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/D79aVLDZehE" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-892681418182954382
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/D79aVLDZehE/what-is-livecycle-es.html
rel alternate
title What is LiveCycle ES
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/892681418182954382/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/05/what-is-livecycle-es.html#comment-form
rel replies
title 2 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/892681418182954382?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/892681418182954382?v=2
rel self
type application/atom+xml
published 2012-05-03T16:44:00Z
title
Stomach Contents: Structure - struct
value What is LiveCycle ES
updated 2012-05-05T00:23:49Z
5
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/ne6zrAo6acv1hPVG3xmEoLfGNR8/0/da"><img src="http://feedads.g.doubleclick.net/~a/ne6zrAo6acv1hPVG3xmEoLfGNR8/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/ne6zrAo6acv1hPVG3xmEoLfGNR8/1/da"><img src="http://feedads.g.doubleclick.net/~a/ne6zrAo6acv1hPVG3xmEoLfGNR8/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> I was planning on continuing my series of blog posts today on Neo4J however I was saddened yesterday but the news of the death of Todd Simko. &nbsp;Todd was once the members of one of my favorite bands (Pure) and also someone whom I had the joy of working with in the studio. &nbsp;This photo was taken the last time we were together with John Webster recording our second studio album at mushroom studios. &nbsp;Todd Simko has a credit on 22nd Century's 2011 "Where's Howie!??" but the words "mastered by Tom Simko" just don't do him justice.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-NuE1JOWutk0/T5nz38a7sTI/AAAAAAAABPI/TiZ2x8NNdMg/s1600/Screen+Shot+2012-04-26+at+4.03.29+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="330" src="http://3.bp.blogspot.com/-NuE1JOWutk0/T5nz38a7sTI/AAAAAAAABPI/TiZ2x8NNdMg/s400/Screen+Shot+2012-04-26+at+4.03.29+PM.png" width="400" /></a></div> <div style="text-align: left;"> </div> <div style="text-align: center;"> </div> <span style="font-size: x-small;"></span><br /> <div style="text-align: center;"> <span style="font-size: x-small;"><span style="font-family: Georgia, 'Times New Roman', serif;"><b>Left to right - John Webster, myself (Duane Chaos) and the late Todd Simko.</b></span></span></div> <span style="font-size: x-small;"> </span><br /> <br /> I clearly remember this day. &nbsp;We were trying to do the final mixing of the song Runaway and John kept blowing fuses and getting frustrated. &nbsp; The studio runner (Alexis) went out and came back with some fine French wine which we made short work of. &nbsp; I distinctly remember John Webster repeating "<b><i>keep that stuff away from the mixing console you two</i></b>" about every five minutes. &nbsp; These were good times. &nbsp;Just guys, hanging out doing music, there was no time, we were all in the present and enjoying that special moment. &nbsp;Todd, may you rest in peace. &nbsp;Your inspiration to so many of us will never die. &nbsp;Thank you for the gifts and memories you gave us both in person and on stage. &nbsp; &nbsp;Your style inspires today and your friendliness is infectious. <br /> <br /> Addendum: &nbsp;Todd's wife issued a statement which I will repeat here:<br /> <br /> "Minna Simko has offered the following statement on Facebook concerning her husband's passing:<br /> <br /> "Todd may your soul be finally at peace. You are not only the most fantastic father and husband one could have, but also you were also a great friend, musician, teacher, guide, mentor and music engineer.<br /> <br /> "The music community has suffered now a great loss and talent. Not only did you touch all the hearts of people in music but also in the lives of family, my peers and especially our daughters friends and family. You will forever remain close by in our hearts and you will be greatly missed by all."</div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-4131698646603107310?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/zeoQRdQORqo" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-4131698646603107310
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/zeoQRdQORqo/tribute-to-todd-simko.html
rel alternate
title A Tribute to Todd Simko
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/4131698646603107310/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/tribute-to-todd-simko.html#comment-form
rel replies
title 1 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/4131698646603107310?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/4131698646603107310?v=2
rel self
type application/atom+xml
published 2012-04-27T13:24:00Z
title
Stomach Contents: Structure - struct
value A Tribute to Todd Simko
updated 2012-04-28T16:49:53Z
6
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/b0cBIU_IMPNXebKbITY73lzEvCg/0/da"><img src="http://feedads.g.doubleclick.net/~a/b0cBIU_IMPNXebKbITY73lzEvCg/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/b0cBIU_IMPNXebKbITY73lzEvCg/1/da"><img src="http://feedads.g.doubleclick.net/~a/b0cBIU_IMPNXebKbITY73lzEvCg/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> Yesterday I write <a href="http://technoracle.blogspot.ca/2012/04/getting-started-with-neo4j-beginners.html">a brief intro to Neo4J</a> and promised to write more. &nbsp;Yesterday's post focused in on what a Graph Database is. &nbsp;Today we'll actually download and install the software itself. &nbsp;First, and I know you all hate this part, please make sure you have the pre-requisites installed. &nbsp;The people who write most software today all take time to document this so you get to have a better experience.<br /> <br /> For reference, the machine I am on is a Mac Pro, 12 GB RAM and running OSX 10.7.3. It has 2 X 3 GHz Quad Core Intel Xeon processors so it should make short work of anything I through at it. &nbsp;My machine is Unix based so please modify the instructions based on your operating system. &nbsp;Linux users will be roughly the same.<br /> <br /> 1. Grab your browser (Chrome of course) and point it at&nbsp;<a href="http://neo4j.org/download//">http://neo4j.org/download/</a><br /> <br /> 2. There are a variety of options open. &nbsp;Unless you want to start with the über - enterprise version or <a href="https://github.com/neo4j/community">build Neo4J Community from GitHub source</a>, simply grab the latest stable version. &nbsp;In this case it is the Community (ie "free") version 1.7. &nbsp;If you have a slow connection, use the time wisely to view<a href="http://video.neo4j.org/YMD/need-a-graph-database-like-twitter-is-built-on-neo4j-delivers-emileifrem-tells-why/"> Emil's video</a> while the download completes. &nbsp;You will have to choose a location for the download.<br /> <br /> 3. Unpack the source with whatever tools your Operating System provides. &nbsp;Once unpacked, it will look something like this:<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-yUEMHPs23I8/T5mb2lssuYI/AAAAAAAABN4/AuXGnT_tN3I/s1600/Screen+Shot+2012-04-26+at+10.33.01+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="196" src="http://3.bp.blogspot.com/-yUEMHPs23I8/T5mb2lssuYI/AAAAAAAABN4/AuXGnT_tN3I/s320/Screen+Shot+2012-04-26+at+10.33.01+AM.png" width="320" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> 4. &nbsp;To start Neo4J, it is quite easy. &nbsp;Grab a terminal (Shell) and navigate to the <b>&lt;neo4J_Home_Directory&gt;/bin</b> directory and type in <b><i>sh ./neo4j </i></b>&nbsp; &nbsp; This will give you a list of available options for starting the database as shown below:</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-4XZUV8Wd8vk/T5mfhkvq1nI/AAAAAAAABOE/UXldTAsnmPg/s1600/Screen+Shot+2012-04-26+at+12.18.11+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="90" src="http://2.bp.blogspot.com/-4XZUV8Wd8vk/T5mfhkvq1nI/AAAAAAAABOE/UXldTAsnmPg/s400/Screen+Shot+2012-04-26+at+12.18.11+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> 5. These are very &nbsp;simple and self explanatory. &nbsp;To start neo4J, simply type in&nbsp;<b><i>sh ./neo4j start&nbsp;</i></b></div> <div class="separator" style="clear: both; text-align: left;"> <b><i><br /></i></b></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-Hp-rbAMRlec/T5mf5MAcbwI/AAAAAAAABOM/A7kdYO7ojYk/s1600/Screen+Shot+2012-04-26+at+12.19.43+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="93" src="http://4.bp.blogspot.com/-Hp-rbAMRlec/T5mf5MAcbwI/AAAAAAAABOM/A7kdYO7ojYk/s400/Screen+Shot+2012-04-26+at+12.19.43+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> 6. There are two ways to verify the neo4j instance has started. &nbsp;the first is to type in the command&nbsp;<b style="font-style: italic;">sh ./neo4j status </b>which gives you a simple acknowledgement that it has started and the process ID (Unix based systems). &nbsp;A second, more verbose set of details, can be retrieved by typing in the command&nbsp;<b style="font-style: italic;">sh ./neo4j info &nbsp; </b>This gives you a wealth of information including every jar in the CLASSPATH, JAVA_OPTS (options), the environmental variable JAVA_HOME, the NEO4J_INSTANCE which is a path to the current instance, the server PORT it is using over HTTP and the NEO4J_HOME environmental variable as well as the current JDK value. &nbsp;</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-yKhtpqQHgQw/T5mhEpx7aeI/AAAAAAAABOU/hY4e0SQjQnA/s1600/Screen+Shot+2012-04-26+at+12.23.35+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="80" src="http://1.bp.blogspot.com/-yKhtpqQHgQw/T5mhEpx7aeI/AAAAAAAABOU/hY4e0SQjQnA/s400/Screen+Shot+2012-04-26+at+12.23.35+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <b><i><br /></i></b></div> <div class="separator" style="clear: both; text-align: left;"> Validating the port is fairly easy. &nbsp;Just grab your handy browser (Chrome please) and go to <a href="http://localhost:7474/">http://localhost:7474</a> (unless you've already changed the configuration file to a different port). &nbsp;YOu should see a newly initalized databased as such:</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-PIIw02kX0-I/T5mnokzPp8I/AAAAAAAABOo/uAs8uKUXIDo/s1600/Screen+Shot+2012-04-26+at+12.51.25+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="186" src="http://2.bp.blogspot.com/-PIIw02kX0-I/T5mnokzPp8I/AAAAAAAABOo/uAs8uKUXIDo/s400/Screen+Shot+2012-04-26+at+12.51.25+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> So where can we configure these? &nbsp;Let's start with the JAVA_OPTS. &nbsp;YOu will see a line that looks like this&nbsp;<b style="font-style: italic;">-Dorg.neo4j.server.properties=conf/neo4j-server.properties </b>The first part of this configuration starting with -Dorg.neo... is specified within a file that is under the /conf directory named neo4j-wrapper.conf. &nbsp;The JVM parameters are all specified here but are actually pointers to other configuration files. &nbsp;If you open this fine, you will see the same lines here:</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> </div> <div class="separator" style="clear: both;"> <b><i>wrapper.java.additional.1=-Dorg.neo4j.server.properties=conf/neo4j-server.properties</i></b></div> <div class="separator" style="clear: both;"> <b><i>wrapper.java.additional.2=-Djava.util.logging.config.file=conf/logging.properties</i></b></div> <div class="separator" style="clear: both;"> <b><i>wrapper.java.additional.3=-Dfile.encoding=UTF-8</i></b></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> Note that on OSX, the Java Version simply says "<b><i>CurrentJDK</i></b>" which is pretty bloody useless. &nbsp;If you really want to know the JDK version, use your command window and type in <b style="font-style: italic;">java -version. </b>&nbsp;In my case I am running</div> <b><i>&nbsp;java version "1.6.0_31"</i></b><br /> <div class="separator" style="clear: both;"> <b><i>Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3635)</i></b></div> <div class="separator" style="clear: both;"> <b><i>Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode)</i></b></div> <div class="separator" style="clear: both; text-align: left;"> <b><i><br /></i></b></div> <div class="separator" style="clear: both; text-align: left;"> Within the neo4j-wrapper.conf there are several properties such as the initial and maximum &nbsp;java heap sizes along with some warnings. &nbsp;It is probably a good idea to become familiar with the warnings before you go about tinkering with these settings. &nbsp;The one I found useful was to be able to uncomment line 10 to allow garbage collection logging. &nbsp;This data can be&nbsp;valuable&nbsp;in determining what is going on under the hood so I change it with every install.&nbsp;</div> <div class="separator" style="clear: both; text-align: left;"> <b><i><br /></i></b></div> This information is important for the next steps when we will embed neo4J into an Eclispe project. &nbsp;For today, let's play with our new Neo4J instance. &nbsp;In order to get the neo4j shell, simply type in the command (under the same&nbsp;<b>&lt;neo4J_Home_Directory&gt;/bin</b>&nbsp;directory) <b><i>sh ./neo4j-shell&nbsp;</i></b>&nbsp;This will now enable you to look around at some of the available options. &nbsp;Type in <b><i>help</i></b> for a list of commands.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-ECegID2jZQE/T5mjMPp1I3I/AAAAAAAABOc/PrX5PR4_3l8/s1600/Screen+Shot+2012-04-26+at+12.33.44+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="86" src="http://3.bp.blogspot.com/-ECegID2jZQE/T5mjMPp1I3I/AAAAAAAABOc/PrX5PR4_3l8/s400/Screen+Shot+2012-04-26+at+12.33.44+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> The shell commands are all well documented at&nbsp;<a href="http://docs.neo4j.org/chunked/stable/shell-starting.html">http://docs.neo4j.org/chunked/stable/shell-starting.html</a>. &nbsp;Note that the shell is configured and enabled from the configuration of the Neo4j kernel (again in the /conf folder). &nbsp;Okay - enough foreplay. &nbsp;Let's make some nodes! &nbsp;Build your first few nodes ny using the mknode command. &nbsp;I can make two nodes, one with my name and one with my wife's name as such.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> </div> <div class="separator" style="clear: both;"> <b><i>neo4j-sh (0)$ mknode Duane</i></b></div> <div class="separator" style="clear: both;"> <b><i>neo4j-sh (0)$ mknode Bettina</i></b></div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> If I go back and check the browser aimed at <a href="http://localhost:7474/">http://localhost:7474</a> it will confirm that now in addition to the root node, there are two additional nodes for a total of three. &nbsp;Congratulations. &nbsp;You have just made some nodes! &nbsp;So how do you get to those nodes? &nbsp;This is why I started the documentation on Technoracle. &nbsp;I found it confusing using the neo4j-shell since almost every command resulted in an empty query until I read the documentation (an engineer's last resort). &nbsp;The GraphDB works almost exactly like a unix filesystem which means your learning curve should be tens times faster (assuming you're familiar with unix commands). &nbsp;When you invoke the shell, you are basically in the "~" directory or "me" as the neo4J folks call it. &nbsp;To traverse somewhere (to Duane or Bettina for example, you need to make a relationship using the mkrel command. &nbsp;It is very simple. &nbsp;Type in the following,&nbsp;</div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> <b>mkrel -ct KNOWS Duane</b></div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> Now let's dissect this. &nbsp;mkrel is the command to make a relationship. &nbsp;There are two variables "-ct". &nbsp;C should be supplied if you are creating a new node (the wording is a bit rough to read using the "man pages and it took a while to figure out that a a relationship is basically a node as well.&nbsp;</div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> If you want to nuke the graph, you can also do this using rmnode to delete nodes and rmrel to delete relationships. &nbsp;rmnode comes with a nasty little flag -f which has the same effect as the unix command "su rm -r *" which removes everything. &nbsp; As you probably guessed, using rmnode with the -f flag was irresistable and I had to try it so I typed in <b style="font-style: italic;">rmnode -f. &nbsp;</b>Now beware, this removes all including the current node. &nbsp;Once you run this and try an ls, the return will be a question mark since there is no current node (or at least it didn't seem to be reachable. &nbsp;After running this you get:</div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> <b><i>neo4j-sh (?)$ ls</i></b></div> <div class="separator" style="clear: both;"> <b><i>Node &lt;ref&gt; not found</i></b></div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> To fix this, simply create a new root current node. &nbsp;You can even use JSON to give it a more robust meaningful name.</div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> </div> <div class="separator" style="clear: both;"> <b><i>neo4j-sh (?)$ mknode --cd --np "{'name':'me'}"</i></b></div> <div class="separator" style="clear: both;"> <b><i>neo4j-sh (me,10)$&nbsp;</i></b></div> <div class="separator" style="clear: both;"> <b><i><br /></i></b></div> <div class="separator" style="clear: both;"> Don't ask me why I do stuff like this. &nbsp;I think I just like to explore what is possible and how to recover before doing any serious work. &nbsp;</div> <br /> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> Earlier we created nodes that had no relationships we could traverse. &nbsp;Now we will use a different syntax to create new nodes we can reach. &nbsp;This easier way to create new nodes you can traverse to using the shell is to use the mkrel command. &nbsp;This command can actually create the new nodes as well as the relationship between the current and newly created node. &nbsp;To do this, type in the following:</div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> <b style="font-style: italic;">mkrel -t LOVES neo4j </b>and then type in <b><i>ls</i></b> into the prompt after that has finished.</div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-5iLDBrVYjF0/T5m1g2FkVcI/AAAAAAAABO8/etoFiSMzC4w/s1600/Screen+Shot+2012-04-26+at+1.50.56+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="106" src="http://4.bp.blogspot.com/-5iLDBrVYjF0/T5m1g2FkVcI/AAAAAAAABO8/etoFiSMzC4w/s400/Screen+Shot+2012-04-26+at+1.50.56+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> Ta-da! &nbsp;You can now traverse the node using the trav command. &nbsp;The traverse command is very complex and can build very powerful statements and filters. &nbsp;For this lesson, all we want to do is go from the current node to the node we just created (node 11) in this case. &nbsp;To do this, use the syntax</div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> <b><i>trav -o depth -r LOVES:both,HAS_.*:incoming&nbsp;</i></b></div> <div class="separator" style="clear: both;"> <b><i><br /></i></b></div> <div class="separator" style="clear: both;"> <i style="font-weight: bold;">trav = </i>traverse</div> <div class="separator" style="clear: both;"> <b><i>-o depth</i></b> = the traversal order. &nbsp;The only possible values are BREADTH_FIRST DEPTH_FIRST breadth or depth. &nbsp;Think of these as controls over a funnel - very wide and shallow or very narrow and deep)</div> <div class="separator" style="clear: both;"> <b><i>-r LOVES:both</i></b><b><i>,HAS_.*:incoming</i></b>= the r flag sets the relationship type. &nbsp;In this case apparently (me) - [:LOVES] -&gt; (11) or I love node 11. &nbsp;To be honest, I might delete it right after this tutorial as I am already growing tired of this &nbsp;relationship ;-) &nbsp; I am somewhat not clear on the "<b>:both,HAS_.*:incoming</b>" however I believe it specifies that the traversal is to disregard the fact it is incoming or outgoing.</div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> Okay - enough for today boys and girls. &nbsp; More soon. &nbsp;In the meantime, please do try this at home!</div> <div class="separator" style="clear: both;"> <b><i><br /></i></b></div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> <br /></div> <div class="separator" style="clear: both;"> <br /></div> <br /> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <br /> <br /> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-8802398404066736074?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/fLakaVY4Um4" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-8802398404066736074
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/fLakaVY4Um4/neo4j-installing-running-and-shell.html
rel alternate
title NEO4J - Installing, Running and the Shell!
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/8802398404066736074/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/neo4j-installing-running-and-shell.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/8802398404066736074?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/8802398404066736074?v=2
rel self
type application/atom+xml
published 2012-04-26T21:08:00Z
title
Stomach Contents: Structure - struct
value NEO4J - Installing, Running and the Shell!
updated 2012-04-27T18:59:07Z
7
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/ypApKadFhQ2quc6bVELOPDOcUNc/0/da"><img src="http://feedads.g.doubleclick.net/~a/ypApKadFhQ2quc6bVELOPDOcUNc/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/ypApKadFhQ2quc6bVELOPDOcUNc/1/da"><img src="http://feedads.g.doubleclick.net/~a/ypApKadFhQ2quc6bVELOPDOcUNc/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> I've worked with databases for a long time. &nbsp;Recently, a came across neo4J and cannot believe how awesome it is. &nbsp;I want to devote this blog post to helping people get it installed and the fun you can have.<br /> <br /> First, a little bit abut Graph Databases. &nbsp;Graph databases are substantially different than RDBMS systems. As one person puts it, if you write, you can write code, if you can draw you can draw graphs. &nbsp;It is really that simple. &nbsp;A graph database starts with a root node. &nbsp;The database is comprised of nodes, relationships, indexes and properties. &nbsp;A simplification of this is the following chart:<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-QR0Nutm2Lrk/T5i7nz8aCqI/AAAAAAAABNY/ZaDfMkBD6c0/s1600/Screen+Shot+2012-04-25+at+8.05.28+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="315" src="http://2.bp.blogspot.com/-QR0Nutm2Lrk/T5i7nz8aCqI/AAAAAAAABNY/ZaDfMkBD6c0/s400/Screen+Shot+2012-04-25+at+8.05.28+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> A simple graph database.</div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> A graph database keeps track of nodes and relationships as well as indexes (we'll get into that later). &nbsp;For now think of this in kinderSpiele terms. &nbsp;A graph is simply a drawing that show how things are connected. &nbsp;Each connection might have a name. &nbsp;each node might also have a name. &nbsp;Here is a simplistic view of a graph.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-JGSxfgbc5T4/T5i8xCqyOTI/AAAAAAAABNg/xz1Qsty1U-c/s1600/Screen+Shot+2012-04-25+at+8.10.16+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="http://1.bp.blogspot.com/-JGSxfgbc5T4/T5i8xCqyOTI/AAAAAAAABNg/xz1Qsty1U-c/s320/Screen+Shot+2012-04-25+at+8.10.16+PM.png" width="320" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> In this simple graph, Duane - [LOVES] -&gt; Neo4j, the latter of this has a property of being binary. &nbsp;Now&nbsp;psychology&nbsp;aside (this in fact would be an unhealthy physical relationship), this captures several important concepts yet leaves out several very relevant ontological answers. Relationships organize Nodes into structures that allow a Graph to resemble many natural structures including a List, a Tree, a Map, or a compound Entity – any of which can be combined into yet more complex, richly inter-connected structures. &nbsp;It is obvious that Duane loves Neo4J but here are some questions that are left unanswered.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> 1. Does neo4J love Duane back?</div> <div class="separator" style="clear: both; text-align: left;"> 2. Is Neo4J even aware that Duane loves it?</div> <div class="separator" style="clear: both; text-align: left;"> 3. Is Duane able to see that Neo4J is in fact a binary node and probably not suited for a proper relationship?</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> All are possible but undefined in this scenario. &nbsp; &nbsp;That is why the next concept that must be introduced is a traversal mechanism. &nbsp;Traversals allow navigation of graphs via statements that can select exact routing between many of these objects. &nbsp;THese can be written in many languages such as cypher and allow a filter to be applied to find a path though the nodes and relationships to find answers to certain questions. &nbsp;Such a question in the real world may be "How many friends do I have who enjoy eating spumonte ice crean while reading up on graph databases on Technoracle". &nbsp;In reality that subset of the population is likely very small but when applied to something like Facebook or Google Plus, become highly relevant.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> Here is a depiction of how traversals work. Again this is&nbsp;rudimentary.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-jU9-v3992AU/T5jBbPOCinI/AAAAAAAABNs/zq2cqerVIPU/s1600/Screen+Shot+2012-04-25+at+8.30.23+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="306" src="http://4.bp.blogspot.com/-jU9-v3992AU/T5jBbPOCinI/AAAAAAAABNs/zq2cqerVIPU/s400/Screen+Shot+2012-04-25+at+8.30.23+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> Again,. this is very simple but you get the idea. &nbsp;The traversal mechanism can take a set of instructions, then use if to find data it requires very efficiently. &nbsp;An example might be that you use Facebook. &nbsp;When you log in, it starts with the node of "you". &nbsp;As the page loads, the javaScript on the page creates a backend query that says find all the nodes that are related to the user down to a layer of X deep. &nbsp;Neo4J's Java API supports depth limits making it idea for this sort of operation. &nbsp;Unlike an RDBSM system where an entire table might have to be walked, Neo4J allows you to set limits and take actions based on the current state. &nbsp; Paths are predefined statements, often written in Cypher.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> Keeping with the Facebook example, an INDEX is often a useful tool. &nbsp;When a certain node is required a a start point over and over again, you can use it as an index to start with. &nbsp;By contract, RDBS systems use a table and rows lookup to find the startpoint. &nbsp;The index is simply a contextual based starting point. &nbsp;Indexes can map directly to a node, a relationship or backwards from a property. &nbsp;Instead of saying:<br /></div> <div class="separator" style="clear: both; text-align: left;"> SELECT * FROM TABLES WHERE * EQUALS "Duane Nickull".... &nbsp;you can tell a graphDB to "get Duane Nickull" then traverse outwards from him. &nbsp;Simple and efficient.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> Neo4J is a commercially supported, free and open source graph database that is going to rock the world. &nbsp;Trust me on this. &nbsp;Next post will be getting started. &nbsp;All the sordid details (at least 3 easy steps) it takes to get up and running.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-6530327150188961166?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/yKcZppkZwa8" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-6530327150188961166
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/yKcZppkZwa8/getting-started-with-neo4j-beginners.html
rel alternate
title Getting started with Neo4J - a Beginners Tutorial
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/6530327150188961166/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/getting-started-with-neo4j-beginners.html#comment-form
rel replies
title 4 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/6530327150188961166?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/6530327150188961166?v=2
rel self
type application/atom+xml
published 2012-04-26T03:40:00Z
title
Stomach Contents: Structure - struct
value Getting started with Neo4J - a Beginners Tutorial
updated 2012-04-26T03:40:12Z
8
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/YBX9E4O3P-MarKVRz4_HsjxR6QA/0/da"><img src="http://feedads.g.doubleclick.net/~a/YBX9E4O3P-MarKVRz4_HsjxR6QA/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/YBX9E4O3P-MarKVRz4_HsjxR6QA/1/da"><img src="http://feedads.g.doubleclick.net/~a/YBX9E4O3P-MarKVRz4_HsjxR6QA/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> Yesterday I made a <a href="http://technoracle.blogspot.ca/2012/04/why-i-boycott-swsx-and-urge-you-do-to.html">post on the unfair and immoral practice of using a company like SonicBids</a> that gets a monopoly on a music event causing all acts that want to play there to "PayP" to apply to play at the event. &nbsp;They get exclusive rights on events like SXSW. &nbsp;I found to my horror that they were trying to move into Canada via an event at the Renaissance hotel here. &nbsp;I worded a polite but factual post to help them understand the system they &nbsp;were promoting. &nbsp;It got posted but was censored by the hotel chain webmaster. &nbsp;here is the link to the event:<br /> <br /> <a href="http://www.sonicbids.com/Opportunity/OpportunityView.aspx?opportunity_id=107186">http://www.sonicbids.com/Opportunity/OpportunityView.aspx?opportunity_id=107186</a><br /> <br /> Here is a screenshot before being censored:<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-uyoSpmmHb1I/T5YNHBVrptI/AAAAAAAABNE/Sf0Wb-qZF8Y/s1600/Screen+Shot+2012-04-23+at+7.11.57+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://3.bp.blogspot.com/-uyoSpmmHb1I/T5YNHBVrptI/AAAAAAAABNE/Sf0Wb-qZF8Y/s640/Screen+Shot+2012-04-23+at+7.11.57+PM.png" width="369" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> yet an hour later it is gone:</div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-vw-Wb9toH2U/T5YNSvnqt3I/AAAAAAAABNM/EAwlQNM-gYo/s1600/Screen+Shot+2012-04-23+at+7.12.19+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://4.bp.blogspot.com/-vw-Wb9toH2U/T5YNSvnqt3I/AAAAAAAABNM/EAwlQNM-gYo/s640/Screen+Shot+2012-04-23+at+7.12.19+PM.png" width="403" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> Censorship to prevent the world from knowing you are supporting an business model that takes money unfairly out of the hands on musicians. &nbsp;Yes - no one will ever figure that out. &nbsp;Whoops! &nbsp;#SHAME!</div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-1781117279345165315?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/-JiK8uZHvok" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-1781117279345165315
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/-JiK8uZHvok/renaissance-hotels-censoring-their.html
rel alternate
title Renaissance Hotels Censoring their Facebook page
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/1781117279345165315/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/renaissance-hotels-censoring-their.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/1781117279345165315?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/1781117279345165315?v=2
rel self
type application/atom+xml
published 2012-04-24T14:18:00Z
title
Stomach Contents: Structure - struct
value Renaissance Hotels Censoring their Facebook page
updated 2012-04-24T14:18:00Z
9
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/3bdm4EGDTiolz9TS7uCwy3cbOBg/0/da"><img src="http://feedads.g.doubleclick.net/~a/3bdm4EGDTiolz9TS7uCwy3cbOBg/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/3bdm4EGDTiolz9TS7uCwy3cbOBg/1/da"><img src="http://feedads.g.doubleclick.net/~a/3bdm4EGDTiolz9TS7uCwy3cbOBg/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> As both a tech guy and a musician, I have made a decision to boycott SXSW. &nbsp;They use an evil and monopolistic business practice to force bands to PAY MONEY to apply to play music using a service called <a href="http://www.sonicbids.com/">Sonicbids</a>. &nbsp; If you are a musician, your trade (performing music) is your primary source of income hence it is your "work". &nbsp; One year we (<a href="http://www.22ndcenturyofficial.com/index.html">22nd Century</a>) decided to apply to play given we had fairly good radio audience in Texas and also had lots of MySpace and other fans in the area. The tech/developer crowd is also one of our primary audiences. &nbsp; &nbsp;We went to the SXSW website and it read something to the effect of:<br /> <br /> "<i>All artists interested in performing at SXSW must complete an online application through our exclusive online musical event submission platform Sonicbids.</i>" followed by the sentence "<i>You'll only hear from us before that time if we encounter a problem or require more information.</i><br /> <i><br /></i><br /> <i>Source:&nbsp;<a href="http://sxsw.com/music/shows/faq">http://sxsw.com/music/shows/faq</a></i><br /> <br /> To <b>apply to work your trade</b>, indie artists are forced to <b>hand over $40.00</b>. &nbsp;The facts can be verified at <a href="http://www.sonicbids.com/Opportunity/OpportunityView.aspx?opportunity_id=104875&amp;account_id=0&amp;rfl=19">this web page on Sonicbids</a>. &nbsp;Once you apply (yes we did this once even though it is morally offensive), it is not transparent. &nbsp; You apply along with thousands of other artists and hear nothing back. &nbsp; That's it. &nbsp;They took your money and you got nothing in return. &nbsp;There is no clear statement about how many SonicBids artists actually get to play at SXSW. &nbsp;It says they are exclusive, but I find it hard to believe guys like Duff McKagan, a former music panelist at SXSW and good friends with my friends Randy Rampage and Zippy Pinhead, would pay this fee. &nbsp; Is it possible that SXSW hires the bands they want anyways and maybe gives X remaining slots to SonicBids hires? &nbsp;No one knows the truth other than SonicBids and SXSW.<br /> <br /> All of a sudden you see an announcement <a href="http://www.npr.org/blogs/allsongs/2012/03/01/147449656/npr-music-announces-sxsw-line-up?sc=tw&amp;cc=twmp">like this one</a>&nbsp;from NPR music saying that Fiona Apple, Bruce Springsteen and others are playing.&nbsp;Let me ask you some basic questions.<br /> <br /> Do you think they (Bruce and Fiona) paid $40.00 to apply to work at SXSW? &nbsp;Would you pay your boss $40.00 every day to ask him if you could work and the response might either be "yes" or complete silence?<br /> <br /> I personally answer "no" to both of these questions. &nbsp;Read the statement above again. &nbsp;It says "<b><i>exclusive</i></b>". &nbsp; Here is an open question to anyone. &nbsp;Have you ever seen a band play at SXSW through another vehicle that SonicBids? &nbsp;If so, please tell us about it.<br /> <br /> So what is going on here? &nbsp;Simple. &nbsp;This is illegal in most countries. &nbsp;We are musicians. &nbsp;Granted I do not need to personally make money on music but many of my dear friends to. &nbsp;This system is shameful and it is not&nbsp;conducive&nbsp;of fair trade. &nbsp;SXSW should immediately to the right thing and move to a crowd sourced model which musicians are allowed to freely enter and the system is completely transparent. &nbsp;This closed doors, money grab is a slap in the face to the artists, many of who are trying to simply survive while pursuing their passion in music. &nbsp;Who loses? &nbsp;Everyone except SonicBids. &nbsp;You the music fans at SXSW do not get to vote on who you want to see, the musicians lose money and get noting in return and SXSW makes the ultimate choices. SXSW does not get the best customer experience from those who attend, hence also loses. &nbsp;I am not sure if SonicBids kicks back any money to SXSW and would love to see the financial statements. &nbsp;Oh, I guess they are not for public eyes.<br /> <br /> Wait! &nbsp;This gets worse. &nbsp;As <a href="http://austin2012.sched.org/event/5b2dfeac05343db1c973b4b4b09e470e">noted by Jeff Price, the founder of TuneCore</a>:<br /> <br /> <i>"Who's benefiting from it? All the wrong people," stresses Jeff Price, founder and CEO of TuneCore, a digital music distribution service. "The traditional music industry now has a new income stream that is based on other people's music and copyrights being exploited and sold. It is the largest global scam that exists in the music industry today, depriving artists and songwriters of hundreds of millions of dollars."</i><br /> <br /> Jeff nailed it (thank you Jeff). &nbsp;Not only are the artists getting their music downloaded for free, they are forced to pay to apply to ply their trade, and the streams are also stolen and no money flows back. &nbsp;This is morally offensive. &nbsp;I write this blog post and ask you all to think about this. &nbsp;I'm sure if you're planning to go to SXSW you will still go but if there is anything you can do to raise attention to this situation, my brothers and sisters, the artists of the music industry, the lowest rung on the ladder, would appreciate it. &nbsp;You see, we no longer have power in this matter. &nbsp;This is a plea to you to help us.<br /> <br /> It's very simple. &nbsp;If we do not have fair trade introduced into the mix, the arts suffer. &nbsp;It becomes run by the mainstream media who decide for you what you will see. &nbsp;All we ask for is an equal chance to perform. &nbsp;All we ask is to be able to ply our trade without being robbed, used and actually get a fair compensation for our work. &nbsp;We put in ten thousand hours of practice, buy our own instruments and gear, pay our own way to go to shows and perform. &nbsp;Being preyed on by monopolistic business practices hurts us.<br /> <br /> <b><i>Dear SonicBids,</i></b> if you ever try to come to British Columbia, you will be met with a swift response of getting the BC labour relations board immediately aware that you are violating several provincial statues around the labour market. &nbsp;That is before the BC Gaming Commission looks at you for opening up a "lottery" and allowing bands with minors to place bets based on their believe they will be hired to money. &nbsp;If you do manage to get by them, any gig you try in a major city will be met with swift and violent boycotts. &nbsp;I will put myself on the front line as many of my Vancouver friends will do to stop you from migrating your shit to Canada. &nbsp;<b>We will not let any musician play a gig in Vancouver if they had to pay SonicBids to apply to play!</b>&nbsp; It is that simple. &nbsp;Stay out of our province. &nbsp;There several hundred of us who will show up at such a gig to shut it down.<br /> <br /> <b><i>Dear people elsewhere,</i></b> use this as a template. &nbsp;Understand the system and realize by going to SXSW you are part of a system that takes advantage of indie musicians and artists, who are often the amongst the poorest of the system. &nbsp;Help support them by demanding SXSW and other bars engage in fair trade practices and demand your right to crowd source music. &nbsp;Bring this up at panels or ask the people on the music panel what they think about this. &nbsp;Raise awareness. &nbsp;Help us!<br /> <br /> <b><i>To SXSW</i></b> - expect me to be a thorn in your side until you fix this. &nbsp;I will personally offer to help you devise and implement a better system that treats musicians fairly. &nbsp;If you show the courage to acknowledge this error and move forward to correct the situation, I am positive the crowds of people attending will be happy to help vote the bands they want to see play. &nbsp;The ball is in your court to acknowledge an injustice and correct it. &nbsp;Until then, you will not see me and I will be vocal in fighting what I and my local laws deem illegal.<br /> <br /> SXSW - the next move is yours to fix this. I'm here to help if you want.<br /> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-2298567339309248980?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/0FoF2thhqDw" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-2298567339309248980
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/0FoF2thhqDw/why-i-boycott-swsx-and-urge-you-do-to.html
rel alternate
title Why I boycott SXSW and Urge You do to the Same
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/2298567339309248980/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/why-i-boycott-swsx-and-urge-you-do-to.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/2298567339309248980?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/2298567339309248980?v=2
rel self
type application/atom+xml
published 2012-04-23T17:05:00Z
title
Stomach Contents: Structure - struct
value Why I boycott SXSW and Urge You do to the Same
updated 2012-04-30T00:30:47Z
10
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/cyijpGHrPldoZYMLkdFRzxPm50M/0/da"><img src="http://feedads.g.doubleclick.net/~a/cyijpGHrPldoZYMLkdFRzxPm50M/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/cyijpGHrPldoZYMLkdFRzxPm50M/1/da"><img src="http://feedads.g.doubleclick.net/~a/cyijpGHrPldoZYMLkdFRzxPm50M/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> I get pinged a lot asking if we have any "<a href="http://blog.uberity.com/2012/04/livecycle-developers-for-hire/">LiveCycle Developers for hire</a>". &nbsp;At Uberity we also get asked this a lot. &nbsp;The blog post referenced above explain what we can and cannot do but failed to mention training and mobile. &nbsp;One of the key offerings that I believe any enterprise software company can give is training and knowledge transfer to their customers. &nbsp;It is one thing to go into a customer and install a system or solution, but there is an onus to train the customer how to use it. &nbsp;We believe this is an essential part of any LiveCycle deal.<br /> <br /> With Adobe LiveCycle, we see a repeatable pattern of people who have bought LiveCycle ES and also are not using it to the full potential. &nbsp;This means they are not getting the most optimal return on their IT investment. &nbsp;Learning LiveCycle is daunting however. &nbsp;If you want to really get good at it, there are about 20 different course modules to take. &nbsp;One of the most recent patterns that is emerging is the aspect of mobile devices.<br /> <br /> <b>Mobile and LiveCycle ES</b><br /> <br /> We have started building our own technology platform that will compliment LiveCycle ES. &nbsp;Going to mobile or wireless devices from LC ES is also a challenge. &nbsp;There is a mistaken belief that PDF or XDP forms can work for this. &nbsp;Even if it did work, it is most certainly not the right solution. &nbsp;Adobe is rumoured to be brewing up an in house way to round trip from LiveCycle to Mobile but the reality is that most companies will use only a small subset of mobile features and the first iteration will likely focus on forms. &nbsp;Uberity has build up a set of native components and functionally re-usable code module that can be leveraged for those who want fast applications that can access low level API's on various mobile systems. &nbsp;We firmly believe that we are doing is a superior solution, just potentially more costly for the end user. &nbsp;To help people understand the issues, we published a white paper entitled "<a href="http://uberity.com/whitepapers/Mobile-Application-Development-Strategy_FINAL.pdf">Mobile Application Development Strategies</a> which is free to download and share.<br /> <br /> If your organization is considering such patterns, please come and talk to us by emailing info at uberity dot com. &nbsp;We don't bite (well usually). &nbsp;If you need it fast, we can help.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-LmoKI03enxk/T44n7Zia_PI/AAAAAAAABMg/2PqgClvsGTA/s1600/Screen+Shot+2011-11-20+at+11.44.10+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="293" src="http://3.bp.blogspot.com/-LmoKI03enxk/T44n7Zia_PI/AAAAAAAABMg/2PqgClvsGTA/s320/Screen+Shot+2011-11-20+at+11.44.10+AM.png" width="320" /></a></div> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-5264176538177923175?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/3OiFc1dq3CA" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-5264176538177923175
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/3OiFc1dq3CA/uberity-livecycle-and-mobile-forms.html
rel alternate
title Uberity, LiveCycle and Mobile Forms
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/5264176538177923175/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/uberity-livecycle-and-mobile-forms.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/5264176538177923175?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/5264176538177923175?v=2
rel self
type application/atom+xml
published 2012-04-18T13:00:00Z
title
Stomach Contents: Structure - struct
value Uberity, LiveCycle and Mobile Forms
updated 2012-04-18T13:00:07Z
11
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/HCCuYnUyvpM8obeCIgMYA7BEbFo/0/da"><img src="http://feedads.g.doubleclick.net/~a/HCCuYnUyvpM8obeCIgMYA7BEbFo/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/HCCuYnUyvpM8obeCIgMYA7BEbFo/1/da"><img src="http://feedads.g.doubleclick.net/~a/HCCuYnUyvpM8obeCIgMYA7BEbFo/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> <span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px;">The</span><a href="http://www.tourofthebattenkill.com/" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank" title="Tour of the Battenkill">&nbsp;Tour of the Battenkill&nbsp;</a><span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px;">is a classic American Bicycle race. &nbsp;Many people are interested in watching it and until now there are no live video streams. &nbsp;Uberity has launched a mobile application as part of it's new platform that combines mobile video, social media and collaborative capabilities to increase user experience. &nbsp;Think about an application that will eventually provide the best of live TV, commentating, twitter feeds (via our friends at <a href="http://www.hootsuite.com/">HootSuite</a>), interactive media and more. &nbsp; The live video stream of the the Tour of the Battenkill application is Android only in this year's release. &nbsp;You can get it and watch the race live on Sunday by pointing your Android device at&nbsp;</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px;">&nbsp;</span><a data-expanded-url="http://uberity.com/app" data-ultimate-url="http://uberity.com/app" href="http://t.co/44yGAxYC" rel="nofollow" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank" title="http://uberity.com/app">http://uberity.com/app</a><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 14px; line-height: 22px;">.&nbsp;</span></span><br /> <span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px;"><br /></span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 14px; line-height: 22px;">/***<span style="color: red;"> <b>UPDATE</b></span></span></span><br /> <span style="color: red; font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 14px; line-height: 22px;">&nbsp; &nbsp;* &nbsp;Unfortunately, there is a technical issue at the broadcast site. &nbsp;</span></span><br /> <span style="color: red; font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 14px; line-height: 22px;">&nbsp; &nbsp;* &nbsp;This is being worked on</span></span><br /> <span style="color: red; font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 14px; line-height: 22px;">&nbsp; &nbsp;* &nbsp;and hope to have it resolved by Sunday.</span></span><br /> <span style="color: red; font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 14px; line-height: 22px;">&nbsp; &nbsp;* &nbsp;<b>UPDATE 2:</b> It's live right now showing finish line -&nbsp;</span></span><a data-expanded-url="http://uberity.com/app" data-ultimate-url="http://uberity.com/app" href="http://t.co/44yGAxYC" rel="nofollow" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank" title="http://uberity.com/app">http://uberity.com/app</a><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 14px; line-height: 22px;">.</span></span><br /> <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 14px; line-height: 22px;">&nbsp; &nbsp;*/</span></span><br /> <span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px;"><b>More about the Battenkill</b></span><br /> <span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px;"><br /></span><br /> <span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px;">Most years thousands of spectators and cycling enthusiasts flock to see top pros and fast amateur racers battle on what is undeniably one of the most challenging courses. &nbsp;There are sections that have no asphalt and tough short climbs for 82 miles. &nbsp;With attacks likely to start at mile zero, the 2012 race will be one of attrition and an exciting event to watch. &nbsp;On that latter point, we realized there was no way to actually watch the event as it is not televised. &nbsp;After some brainstorming and less than a week of development time, &nbsp;we are pleased to announce a free application based on the Uberity mobile platform for live events. &nbsp; &nbsp;Please be kind – there are bound to be technical difficulties in keeping the stream.</span></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-1307732907567216434?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/vkuBzhS15f4" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-1307732907567216434
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/vkuBzhS15f4/battenkill-2012-live-video-stream.html
rel alternate
title Battenkill 2012 Live Video Stream
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/1307732907567216434/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/battenkill-2012-live-video-stream.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/1307732907567216434?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/1307732907567216434?v=2
rel self
type application/atom+xml
published 2012-04-14T04:44:00Z
title
Stomach Contents: Structure - struct
value Battenkill 2012 Live Video Stream
updated 2012-04-14T18:32:17Z
12
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/_XXAjqCguR1J5SxdQzC75uon3u4/0/da"><img src="http://feedads.g.doubleclick.net/~a/_XXAjqCguR1J5SxdQzC75uon3u4/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/_XXAjqCguR1J5SxdQzC75uon3u4/1/da"><img src="http://feedads.g.doubleclick.net/~a/_XXAjqCguR1J5SxdQzC75uon3u4/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> This blog post is based on an original article I wrote around 6 years ago. While the terms used to describe Service Oriented Architecture (SOA) have changed in recent years (to terms like "Cloud Computing" and "SaaS"), the basic tenets are still valid. &nbsp;Therefore, I am posting the original white paper here on Technoracle with a series of updates to the topics in an attempt to explore the concept of SOA within the context of <a href="http://uberity.com/whitepapers/Mobile-Application-Development-Strategy_FINAL.pdf">mobile application development</a> in a subsequent series of blog posts. &nbsp;To be the first to read the new data, subscribe to this blog. <br /> <b>Service Oriented Architecture (SOA)&nbsp;and Specialized Messaging Patterns</b><br /> <b><i><br /> </i></b><br /> <b><i>1.0 Thesis</i></b><br /> <br /> The widespread emergence of the Internet in the mid 1990s as a platform for electronic data distribution and the advent of structured information have revolutionized our ability to deliver information to any corner of the world. While the introduction of Extensible Markup Language (XML)&nbsp;as a structured format was a major enabling factor, the promise offered by SOAP based webservices triggered the discovery of architectural patterns that are now known as Service Oriented Architecture (SOA). &nbsp;XML and the JavaScript Object Notation (JSON) format, enabled portable data but the architecture based on services was the real coup in the expansion of data sharing.<br /> <br /> Service Oriented Architecture or SOA is an architectural paradigm and discipline that may be used to build infrastructures enabling those with needs (consumers) and those with capabilities (providers) to interact via services across disparate domains of technology and ownership. Services act as the core facilitator of electronic data interchanges yet require additional mechanisms in order to function. Several new trends in the computer industry rely upon SOA as the enabling foundation. These include the automation of Business Process Management (BPM), composite applications (applications that aggregate multiple services to function), and the multitude of new architecture and design patterns generally referred to as Web 2.0. The latter, Web 2.0, is not defined as a static architecture. Web 2.0 can be generally characterized as a common set of architecture and design patterns, which can be implemented in multiple contexts. The list of common patterns includes the Mashup, Collaboration-Participation, Software as a Service (SaaS), Semantic Tagging (folksonomy), and Rich User Experience (also known as Rich Internet Application) patterns among others. These are augmented with themes for software architects such as trusting your users and harnessing collective intelligence. Most Web 2.0 architecture patterns rely on Service Oriented Architecture in order to function. When designing Web 2.0 applications based on these patterns, architects often have highly specialized requirements for moving data. Enterprise adoption of these patterns requires special considerations for scalability, flexibility (in terms of multiple message exchange patterns), and the ability to deliver these services to a multitude of disparate consumers. Architects often need to expand data interchanges beyond simple request-response patterns and adopt more robust message exchange patterns, triggered by multiple types of events. As a result, many specialized platforms are evolving to meet these needs.<br /> <br /> This white paper discusses specializations for advanced data exchanges within enterprise service oriented environments and illustrates some of the common architectures of these new platforms. <br /> <b>2.0 An Introduction to Service Oriented Architecture</b><br /> <br /> Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains and implemented using various technology stacks. In general, entities (people and organizations) create capabilities to solve or support a solution for the problems they face in the course of their business. It is natural to think of one person’s needs being met by capabilities offered by someone else; or, in the world of distributed computing, one computer agent’s requirements being met by a computer agent belonging to a different owner. The term owner here may be used to denote different divisions of one business or perhaps unrelated entities in different countries. <br /><br /> There is not necessarily a one-to-one correlation between needs and capabilities; the granularity of needs and capabilities vary from fundamental to complex, and any given need may require a combination of numerous capabilities while any single capability may address more than one need. One perceived value of SOA is that it provides a powerful framework for matching needs and capabilities and for combining capabilities to address those needs by leveraging other capabilities. One capability may be repurposed across a multitude of needs. SOA is a “view” of architecture that focuses in on services as the action boundaries between the needs and capabilities in a manner conducive to service discovery and repurposing. <br /> <b>2.1 Requirements for SOA</b><br /> <b><br /> </b><br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-fEttUPJo9lE/TwU5zwo5ODI/AAAAAAAABG0/VwDJn_h_z2g/s1600/SOA-problem+to+be+solved.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" src="http://3.bp.blogspot.com/-fEttUPJo9lE/TwU5zwo5ODI/AAAAAAAABG0/VwDJn_h_z2g/s400/SOA-problem+to+be+solved.png" width="400" /></a></div> <b><br /> </b><br /> <b><br /> </b><br /> Figure 2-1 shows an example of an information system scenario that could benefit from a migration to SOA. Within one organization, three separate business processes use the same functionality, each encapsulating it within an application. In this scenario, the login function, the ability to change the user name, and the ability to persist it are common tasks implemented redundantly in all three processes. This is a suboptimal situation because the company has paid to implement the same basic functionality three times.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-3p_tKuCvIHc/T4R63oGlSJI/AAAAAAAABKc/NkxAFtpN8F0/s1600/Screen+Shot+2012-04-10+at+11.23.57+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="215" src="http://1.bp.blogspot.com/-3p_tKuCvIHc/T4R63oGlSJI/AAAAAAAABKc/NkxAFtpN8F0/s320/Screen+Shot+2012-04-10+at+11.23.57+AM.png" width="320" /></a></div> <br /> <br /> <div style="text-align: center;"> <i><span style="font-size: x-small;">Figure 2.1 – three business processes within one company duplicating functionality</span></i></div> <div style="text-align: center;"> <i><span style="font-size: x-small;"><br /></span></i></div> Moreover, such scenarios are highly inefficient and introduce maintenance complexity within IT infrastructures. For example, consider an implementation in which the state of a user is not synchronized across all three processes. In this environment users might have to remember multiple login username/password tokens and manage changes to their profiles in three separate areas. Additionally, if a manager wanted to deny a user access to all three processes, it is likely that three different procedures would be required (one for each of the applications). Corporate IT workers managing such a system would be effectively tripling their work –and spending more for software and hardware systems.<br /> <br /> In a more efficient scenario, common tasks would be shared across all three processes. This can be implemented by decoupling the functionality from each process or application and building a standalone authentication and user management application that can be accessed as a service. In such a scenario, the service itself can be repurposed across multiple processes and applications and the company owning it only has to maintain the functionality in one central place. This would be a simple example of Service Oriented Architecture in practice. The resultant IT infrastructure would resemble Figure 2.2.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-Z4pz_mEqBgU/T4R7IzPiu5I/AAAAAAAABKk/FcuNBUsi0P4/s1600/Screen+Shot+2012-04-10+at+11.25.23+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="http://1.bp.blogspot.com/-Z4pz_mEqBgU/T4R7IzPiu5I/AAAAAAAABKk/FcuNBUsi0P4/s320/Screen+Shot+2012-04-10+at+11.25.23+AM.png" width="320" /></a></div> <br /> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 2.2 – three business processes repurposing one service for common tasks.</i></span></div> <div style="text-align: center;"> <span style="font-size: x-small;"><i><br /></i></span></div> In figure 2.2, the shared user account tasks have been separated from each process and implemented in a way that enables other processes to call them as a service. This allows the shared functions to be repurposed across all three processes. The common service bus is really a virtual environment whereby services are made available to all potential consumers on a fabric. This is typically referred to as an Enterprise Service Bus (ESB) and has a collection of specialized subcomponents including naming and lookup directories, registry-repositories, and service provider interfaces (for connecting capabilities and integrating systems) as well as a standardized collection of standards and protocols to make communications seamless across all connected devices. Advanced ESB vendors have tools that can aggregate services into complex processes and workflows.<br /> <br /> In the preceding example of SOA, the complications were relatively minor as the entire infrastructure existed within one domain. In reality, enterprise SOA is much more difficult because services may be deployed across multiple domains of ownership. To make interactions possible, mechanisms have to be present to convey semantics, declare and enforce policies and contracts, the ability to use constraints for data passed in and out of the services as well as expressions for the behavior models of services. The ability to understand both the structure and semantics of data passing between service endpoints is essential for all parties involved.<br /> <br /> While most SOA examples are typically shown as a request-response interaction pattern, more robust exchanges are required. Additionally, modern service platforms also need the flexibility to support these advanced message exchange patterns. Before discussing the platform and reference architecture, this white paper will briefly delve into SOA in more detail. <h4 style="text-align: left;"> <i>2.3 A Reference Model for Service Oriented Architecture</i></h4> As with any other architecture, Service Oriented Architecture can be expressed in a manner that is decoupled from implementation. Software architects generally use standardized conventions for capturing and sharing knowledge. This group of conventions is often referred to as an Architecture Description Language (ADL). There are also several normalized artifacts used to facilitate a shared understanding of the structure of a system, its major components, the relationships between them, and their externally visible properties. This white paper will make use of two special types of these artifacts – a <b><i>Reference Model</i></b> and <b><i>Reference Architecture</i></b>.<br /> <br /> A <i><b>Reference Model </b></i>is an abstract framework for understanding significant entities and relationships between them. It may be used for the further development of more concrete artifacts such as architectures and blueprints. Reference models themselves do not contain a sufficient level of detail sufficient to enable the direct implementation of a system. In the case of a reference model for SOA, the Organization for the Advancement of Structured Information Systems (OASIS) has a standard<a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm"> Reference Model for SOA</a>, shown in Figure 2.3, that is not directly tied to any standards, technologies, or other concrete implementation details. <br /> <br /> In order for SOA to be meet these challenges, services must have accompanying service descriptions to convey the meaning and real world effects of invoking the service. These descriptions must additionally convey both semantics and syntax for both humans and applications to use. <br /> <br /> Each service has an interaction model, which is the externally visible aspects of invoking a service. In this paper, this will be decomposed further to examine the data service aspects of SOA.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-DWuggBOaOZs/T4R7bZpz3CI/AAAAAAAABKs/YwNIJqz4ZMY/s1600/Screen+Shot+2012-04-10+at+11.26.25+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="278" src="http://4.bp.blogspot.com/-DWuggBOaOZs/T4R7bZpz3CI/AAAAAAAABKs/YwNIJqz4ZMY/s400/Screen+Shot+2012-04-10+at+11.26.25+AM.png" width="400" /></a></div> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 2.3 – the core OASIS Reference Model for Service Oriented Architecture</i></span></div> <br /> <b>Visibility</b> and <b>Real World Effect</b> are also key concepts for SOA. Visibility is the capacity for those with needs and those with capabilities to be able to see and interact with each other. This is typically implemented by using a common set of protocols, standards, and technologies across service providers and service consumers. For consumers to determine if they can interact with a specific service, <b>Service Descriptions </b>provide declarations of aspects such as functions and technical requirements, related constraints and policies, and mechanisms for access or response. In many real world situations, service descriptions may be technically described in instances of <a href="http://www.w3.org/TR/wsdl">Web Services Description Language (WSDL)</a> documents.<br /> <br /> The descriptions must be in a form (or can be transformed to a form) in which their syntax and semantics are widely accessible and understandable. The <b>execution context</b> is the set of specific circumstances surrounding any given interaction with a service and may affect how the service is invoked.<br /> <br /> Since SOA permits service providers and consumers to interact, it also provides a decision point for any <b>policies and contracts</b> that may be in force. The purpose of using a capability is to realize one or more real world effects. At its core, an interaction is “an act” as opposed to “an 4object” and the result of an interaction is an effect (or a set/series of effects). Real world effects are, then, couched in terms of changes to this shared state. This may specifically mutate the shared state of data in multiple places within an enterprise and beyond.<br /> <br /> The concept of <b>policy</b> also must be applicable to data represented as documents and policies must persist to protect this data far beyond enterprise walls. This requirement is a logical evolution of the “locked file cabinet” model which has failed many IT organizations in recent years. Policies must be able to persist with the data that is involved with services, wherever the data persists. A contract is formed when at least one other party to a service oriented interaction adheres to the policies of another. Service contracts may be either short lived or long lived.<br /> <br /> <h4 style="text-align: left;"> 2.3 Decomposing the Interaction Model</h4> Whereas visibility introduces the possibilities for matching needs to capabilities (and vice versa), interaction is the act of actually using a capability via the service. Typically mediated by the exchange of messages, an interaction proceeds through a series of information exchanges and invoked actions. There are many facets of interaction; but they are all grounded in a particular execution context – the set of technical and business elements that form a path between those with needs and those with capabilities. Architects building Rich Internet Applications (RIAs), are faced with special considerations when designing their systems from this perspective. The concept of “Mashups” surrounds a model whereby a single client RIA may actually provide a view composed by binding data from multiple sources persisting in multiple domains across many tiers. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-sGCKu_R5zdU/T4R9PIWZp5I/AAAAAAAABK0/eaQ-KoRDxZ8/s1600/Screen+Shot+2012-04-10+at+11.34.10+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-sGCKu_R5zdU/T4R9PIWZp5I/AAAAAAAABK0/eaQ-KoRDxZ8/s320/Screen+Shot+2012-04-10+at+11.34.10+AM.png" width="266" /></a></div> <br /> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 2.4 – a decomposition of the Interaction Model (courtesy of OASIS Reference Model for SOA)</i></span></div> <br /> As depicted in Figure 2.4, the interaction model can be further decomposed into a data model and behavior model. The data model is present in all service instances. Even if the value is “null”, the service is still deemed to have a data model. The data models are strongly linked to the behavior models. For example, in a Request-Response behavior model, the corresponding data model would have two components – the input (service Request) data model and the output (service Response) data model. Data models may be further specialized to match the behavior model if it is other than “Request-Response”.<br /> <br /> The behavior model is decomposable into the action model and the process model. The sequence of messages flowing into and out of the service is captured in the action model while the service’s 5processing of those signals is captured in the processing model. The processing model is potentially confusing as some aspects of it may remain invisible to external entities and its inner working known only to the service provider.<br /> <br /> <h4 style="text-align: left;"> 3.0 A Reference Architecture for Service Oriented Architecture</h4> <br /> A reference architecture is a more concrete artifact used by architects. Unlike the reference model, it can introduce additional details and concepts to provide a more complete picture for those who may implement a particular class. Reference architectures declare details that would be in all instances of a certain class, much like an abstract constructor class in programming. Each subsequent architecture designed from the reference architecture would be specialized for a specific set of requirements. Reference architectures often introduce concepts such as cardinality, structure, infrastructure, and other types of binary relationship details. Accordingly, reference models do not have service providers and consumers. If they did, then a reference model would have infrastructure (between the two concrete entities) and it would not longer be a model.<br /> <br /> The reference model and the reference architecture are intended to be part of a set of guiding artifacts that are used with patterns. Architects can use these artifacts in conjunction with others to compose their own SOA. The relationships are depicted in Figure 3.1. <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-giunfvlxUw4/T4R9h0n6OpI/AAAAAAAABK8/SBI-ysdnE7E/s1600/Screen+Shot+2012-04-10+at+11.35.33+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="317" src="http://1.bp.blogspot.com/-giunfvlxUw4/T4R9h0n6OpI/AAAAAAAABK8/SBI-ysdnE7E/s400/Screen+Shot+2012-04-10+at+11.35.33+AM.png" width="400" /></a></div> <br /> <br /> <div style="text-align: center;"> <i><span style="font-size: x-small;">Figure 3.1 – The architectural framework for SOA (Courtesy of OASIS).</span></i></div> <br /> The concepts and relationships defined by the reference model are intended to be the basis for describing reference architectures that will define more specific categories of SOA designs. Specifically, these specialized architectures will enable solution patterns to solve particular problems. Concrete architectures may be developed based upon a combination of reference architectures, architectural patterns, and additional requirements, including those imposed by technology environments. Architecture is not done in isolation; it must account for the goals, motivation, and requirements that define the actual problems being addressed. While reference architectures can form the basis of classes of solutions, concrete architectures will define specific solution approaches.<br /> <br /> Architects and developers also need to bind their own SOA to concrete standards technologies and protocols at some point. These are typically part of the requirements process. For example, when building a highly efficient client side Mashup application, a developer might opt for the ActionScript Messaging Format (AMF)&nbsp;to provide the most efficient communication between remote services and the client .<br /> <br /> <b>Neutrality</b><br /> <br /> The reference architecture shown in Figure 3.2 is not tied to any specific technologies, standards, or protocols. In fact, it would be equally applicable to a .NET&nbsp;or J2EE&nbsp;environment and can be used with either the Web Service family of technologies, plain old XML-RPC (XML – Remote Procedure Call), or a proprietary set of standards. This reference architecture allows developers to make decisions and adopt technologies that are best suited to their specific requirements.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-RlQoIar7QtE/T4R98l3AAeI/AAAAAAAABLE/BlOCmX42IcI/s1600/Screen+Shot+2012-04-10+at+11.37.16+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://2.bp.blogspot.com/-RlQoIar7QtE/T4R98l3AAeI/AAAAAAAABLE/BlOCmX42IcI/s400/Screen+Shot+2012-04-10+at+11.37.16+AM.png" width="400" /></a></div> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i><br /></i></span></div> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 3.2 – A generic SOA Reference Architecture for implementing core Web 2.0 design patterns </i></span></div> <div style="text-align: center;"> <span style="font-size: x-small;"><i>(Courtesy of O’Reilly Media)</i></span></div> <br /> <h4 style="text-align: left;"> 3.1 Service Tier</h4> The server side component of the reference architecture has a number of commonly used components. The Service Provider Interface is the main integration point whereby service providers connect to capabilities that exist in internal systems in order to expose them as services. These internal applications typically reside in a resource tier, a virtual collection of capabilities that become exposed as services so consumers can access their functionality. Service providers may integrate such capabilities using numerous mechanisms, including using other services. In most cases, an enterprise will use the Application Programmatic Interface (API) of the system as provided by the application vendor.<br /> <br /> The <b>Service Invocation Layer </b>is where services are invoked. A service may be invoked when an external messages being received or, alternatively, it can be invoked by an internal system or by a non-message based event (such as a time out). It is essential to understand that services may be invoked via messages from multiple sets of standards and protocols working together. Common examples of external service interface endpoints include: <br /> <br /> • Asynchronous JavaScript and XML (AJAX),<br /> • Simple Object Access Protocol (SOAP),<br /> • XML Remote Procedure Call (XML-RPC),<br /> • a watched folder being polled for content,<br /> • an email endpoint, and<br /> • other <a href="http://technoracle.blogspot.ca/2009/04/understanding-rest.html">REST</a>(viii)&nbsp;style endpoints including plain old HTTP and HTTP/S.<br /> <br /> Services may also be invoked by local consumers including environments like J2EE and language specific interfaces (for example - Plain Old Java Objects or POJO’s).<br /> <br /> Each service invocation is often handed to a new instance of a service container. The service container is responsible for handling the service invocation request for its entire lifecycle, until either it reaches a successful conclusion or failed end state. Regardless of its ultimate end state, the service container may also delegate responsibilities for certain aspects of the service’s runtime to other services for common tasks. These tasks typically include logging functions, archiving, security, and authentication, among others.<br /> <br /> To facilitate orchestration and aggregation of services into processes and composite applications, a registry-repository is often used. During the process design phase, the registry-repository provides a single view of all services and related artifacts. The repository provides a persistence mechanism for artifacts during the runtime of processes and workflows. If multiple system actors use and interact with a form, the repository can persist it while allowing access to privileged individuals.<br /> <br /> Design, development and governance tools are also commonly used by humans to deploy, monitor, and aggregate multiple services into more complex processes and applications. <h4 style="text-align: left;"> <br />3.2 Client Tier</h4> <br /> While much attention has been focused on the server side aspects of SOA, less has been written about the new breed of clients evolving for consuming services. The clients have evolved to embrace many common architecture and design patterns discussed in greater detail in the next section. A highly visible example of this is the ability of most modern browsers to subscribe to RSS feeds.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-9zV8XI19soc/T4R_J5lQkSI/AAAAAAAABLM/nThovtVMZaw/s1600/Screen+Shot+2012-04-10+at+11.42.32+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="98" src="http://1.bp.blogspot.com/-9zV8XI19soc/T4R_J5lQkSI/AAAAAAAABLM/nThovtVMZaw/s400/Screen+Shot+2012-04-10+at+11.42.32+AM.png" width="400" /></a></div> <br /> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 3.3 – client application architecture</i></span></div> <br /> As depicted in Figure 3.3, clients must have far more robust communications services than a decade ago. In fact, any communication standards, protocols and technologies (such as SOAP), ActionScript Messaging Format, or XML-RPC) have to be implemented on both sides to facilitate proper communications. Client side communications buses also need to monitor the state of communications including potentially both synchronous and asynchronous exchange patterns.<br /> <br /> The main controller of each client application must be capable of launching various runtime environments. This is typically done via launching one or more virtual machines that can interpret scripting languages or consume bytecode as in Adobe Flash. The architecture for these virtual machines varies greatly depending upon the language used. Some compile an intermediate level bytecode just in time to run a program while others must be launched and make. <br /> <br /> <a href="http://technoracle.blogspot.ca/2009/04/understanding-rest.html">Representational State Transfer (REST) </a>is an important component of Roy Fielding’s Dissertation<br /> Architectural Styles and the Design of Network-based Software Architectures -<br /> <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm">http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm</a><br /> <br /> The Simple Object Access Protocol is a W3C Recommendation - http://www.w3.org/TR/soap/ multiple passes over a script (usually once to check it for errors, another time to run the script, and a concurrent iteration to collect garbage and free up memory as it becomes possible to <br /> reallocate.<br /> <br /> Most modern clients have some form of <b>data persistence</b> and <b>state management</b>. Data persistence is not always done using a traditional database. Increasingly, NoSQL Graph Databases are being used to store nodes which offer greater flexibility and scalability, as well as increased performance. This usually works in conjunction with the clients’ communications services to allow the controller to use cached resources rather than attempting to synchronize states if communications are down. Additionally, rendering and media functionality specific to one or more languages is used to ensure the view of the application is built in accordance with the intentions of the application developer.<br /> <br /> The security models used by different clients also vary somewhat. The usual tenets are to prevent unauthorized and undetected manipulation of local resources. In distributed computing architectures, identity (knowing who and what) is a major problem that requires a complex architecture to address. Each client side application must be architected in accordance with the acceptable level of risk based on the user requirements. <br /> <br /> <h4 style="text-align: left;"> 3.3 Architectural Conventions spanning multiple tiers</h4> <br /> While examining the client and service tiers of the reference architecture, developers will note some commonalities. Architects need to employ common models for determining what constitutes an object, what constitutes an event, how an event gets noticed or captured, what constitutes a change in state, and more. As a result, architecture must take note of several common architectural models over all tiers of modern SOAs.<br /> <br /> First and foremost, the core axioms of service oriented architecture should be observed. Services themselves should be treated as subservient to the higher level system or systems that use them. If you are deploying services to be part of an automated process management system, the services themselves should not know (or care) what they are being used for. <br /> <br /> Services that are designed otherwise are architecturally inelegant for a number of reasons. First, if services were required to know the state of the overall process, state misalignment would likely result if two services had differing states for even a fraction of a second. In such instances, errors might be thrown when this is detected or worse, developers would have to rely on using a series of synchronous calls to services rather than forking a process into asynchronous calls. As depicted in Figure 3.4, services should remain agnostic to what they are used for. The state of a process or other application using services should be kept within the higher layer of logic that uses consumers to invoke the services.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-bqfXTz7fkWs/T4SAQFWAgUI/AAAAAAAABLU/tfDSDOoohqE/s1600/Screen+Shot+2012-04-10+at+11.46.22+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="158" src="http://1.bp.blogspot.com/-bqfXTz7fkWs/T4SAQFWAgUI/AAAAAAAABLU/tfDSDOoohqE/s400/Screen+Shot+2012-04-10+at+11.46.22+AM.png" width="400" /></a></div> <br /> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 3.4 – services within overall architecture</i></span></div> <br /> Second, if the overall process stalled or failed for some reason, each service used would have to&nbsp;be notified and rolled back to a previous state. Having services maintain or store the overall state of a process that uses more than one service is an anti-pattern of SOA and should be avoided.<br /> <br /> Another core architectural convention is to keep the service consumers agnostic to how the services are delivering their functionality. This results in a clean decoupling of components, another architecturally elegant feature of modern service oriented systems. Having dependencies on knowing the internal working of the services functionality is another anti-pattern of SOA and should also be avoided.<br /> <br /> Service composition, the act of building an application out of multiple services, is likewise an anti-pattern of SOA, if composition is defined as per Unified Modeling Language (UML) 2.0. Composition is depicted as a “has a” relationship and the whole is composed of the parts. The correct terminology should be service aggregation. Aggregation is a “uses a” type of relationship. The differences are quite subtle but nevertheless important to grasp. In composition relationships, the life cycles of parts are tied to the lifecycle of the whole and when the whole no longer exists, the parts no longer exist either. In aggregation, the parts exist independent of the whole and can go on living after the entity that uses them no longer exists. This terminology is common within both OOPSLA&nbsp;and UML. Regardless, the term “service composition” has been misused widely within the computer industry and will likely prevail as a norm. Architects and developers should pay close attention to the types of binary relationships between components in loosely coupled, distributed systems and bear these definitions in mind.<br /> <br /> <h4 style="text-align: left;"> 3.4 Events</h4> <br /> Architects and developers using the reference architecture within this paper should also consider the event architecture. Events often must be detected and acted upon. Each specific programming language has a form of event architecture for detection, dispatching messages, and capturing and linking behaviors to events. The main challenge presented in distributed, service oriented systems is that the event model must traverse multiple environments and possibly span multiple domains. Detecting an event in one domain, dispatching a message to a remote system and linking the event to an action in a virtual machine running on the remote system presents multiple challenges. Architects and developers must often bridge disparate systems. Having a common model used by all systems makes the traversal of systems much easier for developers and architects alike.<br /> <br /> <h4 style="text-align: left;"> 3.5 Objects</h4> In much the same way they treat events, each disparate environment in a distributed service oriented environment might have a distinct notion of what constitutes an object. Relying on programming environments and languages that are aligned conceptually with respect to objects (that is, “object-oriented”) makes the work of architects and developers much easier. Languages such as JavaScript (specifically JavaScript Object Notation or JSON), Java, ActionScript, and others have alignment on object concepts. (Note: ECMA’s ActionScript 3.0 is much more object-oriented than previous incarnations and is strongly tied to Java). When a developer must implement a pattern where an object’s state must be tracked in a remote location and action taken upon a state change on the object, a common model for object and encapsulation is important.<br /> <br /> <h4 style="text-align: left;"> 3.6 Architectural Patterns</h4> As noted in the reference architecture in Figure 3.1, architecture and design patterns are an important aspect of any architecture. <br /> <br /> Patterns are recurring solutions to recurring problems. A pattern is composed of a problem, the context in which the problem occurs, and the solution to resolve this problem. The focus of a documented software architecture pattern is to illustrate a model to capture the structural organization of a system, relate that to its requirements and highlight the key relationships between entities within the system.<br /> <br /> Patterns can be classified into three broad&nbsp;categories:<br /> <br /> <b>Architecture patterns</b><br /> <br /> Architecture patterns are high level patterns on how systems are laid out and how large systems are divided. These typically account for the major components, their externally visible properties, the major functionality of each component, and the relationships between them.<br /> <br /> <b>Design patterns</b><br /> <br /> Design patterns provide a scheme for refining the subsystems or components of a software system, and the relationships between them. They describe a commonly recurring structure of communicating components that solves a general design problem within a specific context.<br /> <br /> <b>Idioms</b><br /> <br /> Idioms are the lowest-level patterns and may be specific to a programming language. An idiom guides the implementation aspects of components and the relationships between them, using features specific to a given language or environment. <br /> <br /> The modern day concept of patterns evolved from work by Christopher Alexander, the primary author of a book called “A Pattern Language”&nbsp;(xiii)&nbsp;which had a great influence on object-oriented <br /> programming. The basic concept of the book was a realization that patterns are the same when architecting a city, a block, a house and a room. Each of these entities employs similar patterns. The concepts of patterns in software architecture have been widely adopted since being modified by the infamous Gang of Four&nbsp;and are now an accepted part of the engineering trade. &nbsp;There are also many industry standards and pseudo standards for architectural patterns meta models including the <a href="http://www.nickull.net/work/MacKenzie-Nickull_ArchitecturalPatternsReferenceModel-v0.91.pdf">MacKenzie-Nickull Meta-model for Architectural Patterns</a>, which is widely used today.<br /> <h4 style="text-align: left;"> 4.0 Data and Message Exchange Patterns for Enterprise SOA</h4> The most basic message exchange pattern is a common Request-Response where the parties can simply communicate with each other. This is the basic building block of most SOA interactions and is depicted below.<br /> <h4 style="text-align: left;"> 4.1 Request-Response</h4> Request-Response is a pattern in which the service consumer uses configured client software to issue an invocation request to a service provided by the service provider. The request results in an optional response, as shown in Figure 4-1.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-gqKAeaRgoeo/T4SBee8UoSI/AAAAAAAABLc/DP7PWGlUkts/s1600/Screen+Shot+2012-04-10+at+11.52.26+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="137" src="http://3.bp.blogspot.com/-gqKAeaRgoeo/T4SBee8UoSI/AAAAAAAABLc/DP7PWGlUkts/s400/Screen+Shot+2012-04-10+at+11.52.26+AM.png" width="400" /></a></div> <br /> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 4-1. SOA Request-Response pattern</i></span></div> <br /> <h4 style="text-align: left;"> 4.2 Request-Response via Service Registry (or Directory)</h4> An optional service registry can be used within the architecture to help the client automatically configure certain aspects of its service client. The service provider pushes changes regarding the service’s details to the registry to which the consumer has subscribed. When the changes are made, the service consumer is notified of these changes and can configure its service client to talk to the service. This is represented conceptually in Figure 4-2.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-aZkSLhEtBu0/T4SBsUmd4vI/AAAAAAAABLk/TdaWARD25nw/s1600/Screen+Shot+2012-04-10+at+11.53.19+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="http://3.bp.blogspot.com/-aZkSLhEtBu0/T4SBsUmd4vI/AAAAAAAABLk/TdaWARD25nw/s400/Screen+Shot+2012-04-10+at+11.53.19+AM.png" width="400" /></a></div> <br /> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 4-2. SOA Request-Response pattern with a service registry</i></span></div> <br /> <h4 style="text-align: left;"> 4.3 Subscribe-Push</h4> <br /> A third pattern for interaction is called Subscribe-Push, shown in Figure 4-3. In this pattern, one or more clients register subscriptions with a service to receive messages based on some criteria. Regardless of the criteria, the externally visible pattern remains the same. Subscriptions may remain in effect over long periods before being canceled or revoked. A subscription may, in some cases, also register another service endpoint to receive notifications. For example, an emergency management system may notify all fire stations in the event of a major earthquake using a common language such as the OASIS&nbsp;Common Alerting Protocol (CAP)(x v i).<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-XpaRA9YkdkI/T4SC28fyd2I/AAAAAAAABLs/ft2LEDXz7kY/s1600/Screen+Shot+2012-04-10+at+11.58.11+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="202" src="http://1.bp.blogspot.com/-XpaRA9YkdkI/T4SC28fyd2I/AAAAAAAABLs/ft2LEDXz7kY/s400/Screen+Shot+2012-04-10+at+11.58.11+AM.png" width="400" /></a></div> <br /> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 4-3. SOA Subscribe-Push pattern</i></span></div> Note that this pattern can be triggered by a multitude of events. In figure 4-3, an auditable event is triggering a message being sent to a subscribed client. The trigger could be a service consumer’s action, a timeout action, or a number of other actions that are not listed in the example above. Each of these represents a specialization of the <b>Subscribe-Push</b> pattern. This particular pattern is becoming dominent in mobile application development that uses SOA principles. &nbsp;Often a user has an application and the application pushes a notification to the user when a new piece of data or event is available that the user has expressed an interest in.<br /> <h4 style="text-align: left;"> 4.4 Probe and Match</h4> A pattern used for discovery of services is the Probe and Match pattern. In this variation, shown in Figure 4-4, a single client may multicast or broadcast a message to several endpoints on a single fabric, prompting them to respond based on certain criteria. For example, this pattern may be used to determine whether large numbers of servers on a server farm are capable of handling more traffic by checking if they are scaled at less than 50% capacity. This variation of the SOA message exchange pattern may also be used to locate specific services. There are caveats with using such a pattern, as it may become bandwidth-intensive if used often. Utilizing a registry or another centralized metadata facility may be a better option because the registry interaction does not require sending the prob e() messages to all endpoints to find one. By convention, they allow the query to locate the endpoint using a filter query or other search algorithm. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-APj-wM0iQwc/T4SDTjvdwBI/AAAAAAAABL0/V1uZIhyAyXo/s1600/Screen+Shot+2012-04-10+at+12.00.15+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="211" src="http://2.bp.blogspot.com/-APj-wM0iQwc/T4SDTjvdwBI/AAAAAAAABL0/V1uZIhyAyXo/s400/Screen+Shot+2012-04-10+at+12.00.15+PM.png" width="400" /></a></div> <br /> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 4-4. SOA Probe and Match pattern</i></span></div> <br /> In the <b>Probe and Match </b>scenario in Figure 4-4, the service client probes three services, yet only the middle one returns an associated match() message. A hybrid approach could use the best of both the registry and the probe and match models for locating service endpoints. In the future, registry software could implement a probe interface to allow service location without requiring wire transactions going to all endpoints and the searching mechanism could probe multiple registries at the same time.<br /> <h4 style="text-align: left;"> 4.5 Patterns for RIAs</h4> Creating Rich Internet Applications (RIAs) requires a level of data management that goes beyond the traditional Request-Response model. Providing a richer, more expressive experience often requires more data-intensive interaction and introduces new challenges in managing data between the client and server tiers.<br /> <br /> Data synchronization is a key concept and requires states to be shared among multiple machines. These are usually the clients who have subscribed to the state of an object somewhere within the tier of a distributed system as depicted in Figure 4.5.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-lJNpq2NHOM0/T4SDlWIWAvI/AAAAAAAABL8/3NOupda8FGk/s1600/Screen+Shot+2012-04-10+at+12.01.27+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="376" src="http://3.bp.blogspot.com/-lJNpq2NHOM0/T4SDlWIWAvI/AAAAAAAABL8/3NOupda8FGk/s400/Screen+Shot+2012-04-10+at+12.01.27+PM.png" width="400" /></a></div> <br /> <br /> <div style="text-align: center;"> <span style="font-size: x-small;"><i>Figure 4.5 – data synchronization across multiple clients (courtesy James Ward).</i></span></div> <h4 style="text-align: left;"> 4.6 Data paging</h4> Some services automatically facilitate the paging of large data sets, enabling developers to focus on core application business logic instead of worrying about basic data management infrastructure. Modern service oriented clients and server infrastructures automatically handle temporary disconnects, ensuring reliable delivery of data to and from the client application. &nbsp;Data paging is built into the model used by Neo4J and Mongo.db. &nbsp;Being graph databases, you can start by examining a specific node of data, then request incremental pieces of data based on your use case for the data. <h4 style="text-align: left;"> 4.7 Data push</h4> Some services offer data-push capability, enabling data to automatically be pushed to the client application without polling (contrast this pattern to the “Subscribe-Push pattern listed above). This can be done via intuitive or inference methods to ensure data is provided as required. This highly scalable capability can push data to thousands of concurrent users, providing up-to-the-second views of critical data, such as stock trader applications, live resource monitoring, shop floor automation, and more.<br /> <br /> Data push can be further specialized into broadcast, unicast, multicast, and several other specializations of the basic pattern.<br /> <h4 style="text-align: left;"> 5.0 A Final Word</h4> This white paper has been prepared to share ideas about data interaction patterns within SOA and to illustrate some common concepts with a service oriented environment. It is based on input provided by a number of people from different companies and is not considered the work of any one company. It is free to share, use, quote, and post wherever and however you want. <b>Service Oriented Architecture</b> will likely remain the mainstay of technology platforms for the foreseeable future. It is our hope that the companies who have contributed to this will continue to write more on specialized patterns of SOA.<br /> <br /> This work is licensed under a Creative Commons Attribution 3.0 Unported License. You may redistribute and quote from parts of this article however attribution is expected. There is no need to seek explicit permission to reuse part of this paper or quote from it. <h4 style="text-align: left;"> 6.0 References</h4> <br /> <span style="font-size: x-small;">i. The Extensible Markup Language (XML) is a W3C Recommendation -&nbsp;<a href="http://www.w3.org/XML/">http://www.w3.org/XML/</a>&nbsp;and JSON, described at&nbsp;<a href="http://www.json.org/">http://www.json.org</a>.</span><br /> <span style="font-size: x-small;">ii. Service Oriented Architecture is an architectural paradigm expressed as a Reference Model by OASIS at</span><br /> <span style="font-size: x-small;"><a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm">http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm</a></span><br /> <span style="font-size: x-small;">iii. Web 2.0 is defined as a set of Design Patterns in the O’Reilly book Web 2.0 Design Patterns -</span><br /> <a href="http://www.amazon.com/Web-2-0-Design-Patterns-entrepreneurs/dp/0596514433"><span style="font-size: x-small;">http://www.amazon.com/Web-2-0-Design-Patterns-entrepreneurs/dp/0596514433</span></a><br /> <br /> <br /> <span style="font-size: x-small;">(iv) AMF - http://osflash.org/documentation/amf</span><br /> <span style="font-size: x-small;">(v) .NET is a trademark and technology from Microsoft -</span><br /> <span style="font-size: x-small;">http://msdn2.microsoft.com/en-us/netframework/default.aspx</span><br /> <span style="font-size: x-small;">(vi.) Java 2 Enterprise Edition is a trademark of Sun Microsystems</span><br /> <span style="font-size: x-small;">(vii.) Asynchronous JavaScript And XML is described on Wikipedia in more details at</span><br /> <span style="font-size: x-small;">http://en.wikipedia.org/wiki/Ajax_(programming)</span><br /> <br /> <br /> <span style="font-size: x-small;">x. Unified Modeling Language is owned by the Object Management Group (OMG) and Described here -</span><br /> <span style="font-size: x-small;">http://www.omg.org/technology/documents/formal/uml.htm</span><br /> <span style="font-size: x-small;">xi. OOPSLA is an annual conference around Object Oriented Programming, Systems Languages and</span><br /> <span style="font-size: x-small;">Applications - http://www.oopsla.org</span><br /> <span style="font-size: x-small;">xii. JavaScript Object Notation (JSON) is RFC 4627 available at http://tools.ietf.org/html/rfc4627</span><br /> <span style="font-size: x-small;">10The modern day concept of patterns evolved from work by Christopher Alexander, the primary</span><br /> <span style="font-size: x-small;">author of a book called “A Pattern Language”</span><br /> <br /> <span style="font-size: x-small;">xiii. http://www.amazon.com/Pattern-Language-Buildings-Construction-Environmental/dp/0195019199</span><br /> <span style="font-size: x-small;">xiv. See “Design Patterns: Element of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm,</span><br /> <span style="font-size: x-small;">Ralph Johnson, John Vlissides</span><br /> <br /> <span style="font-size: x-small;">xv. The Organization for the Advancement of Structured Information Systems (OASIS) at</span><br /> <span style="font-size: x-small;">http://www.oasis-open.org</span><br /> <span style="font-size: x-small;">xvi. OASIS CAP is a product of the OASIS Emergency Services Technical Committee -</span><br /> <span style="font-size: x-small;">http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=emergency</span><br /> <br /> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-2444045623983855917?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/I27SoIbA700" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-2444045623983855917
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/I27SoIbA700/soa-white-paper-service-oriented.html
rel alternate
title SOA White Paper - Service Oriented Architecture (SOA) and Specialized Messaging Patterns
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/2444045623983855917/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/soa-white-paper-service-oriented.html#comment-form
rel replies
title 5 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/2444045623983855917?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/2444045623983855917?v=2
rel self
type application/atom+xml
published 2012-04-10T19:07:00Z
title
Stomach Contents: Structure - struct
value SOA White Paper - Service Oriented Architecture (SOA) and Specialized Messaging Patterns
updated 2012-04-11T17:59:50Z
13
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/hmmLZLIDmmD743q6c95FrA5EHhc/0/da"><img src="http://feedads.g.doubleclick.net/~a/hmmLZLIDmmD743q6c95FrA5EHhc/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/hmmLZLIDmmD743q6c95FrA5EHhc/1/da"><img src="http://feedads.g.doubleclick.net/~a/hmmLZLIDmmD743q6c95FrA5EHhc/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> <br /> <div class="first-para" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> We get asked all the time – “What is LiveCycle ES”? This is a question we had to answer while at Adobe but somehow the way this question is answered now has changed from an Uberity perspective. We find ourselves describing it in terms of business capabilities and value rather than the technology itself. Nevertheless, if you want to know what LiveCycle is, this blog post should provide a solid background.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> LiveCycle is an enterprise software system that solves problems pertaining to mass scale processing of Portable Document Format (PDF) documents. While individual users of PDF’s tend to use Adobe Acrobat or Reader for working with PDF, LiveCycle is meant to aid the processing of tens of thousands of LiveCycle PDF documents. Hence, it is an enterprise solution that anyone who currently uses paper forms should look at if they are wanting to streamline the ingestion of data from forms. Likewise, it had many modules that can mitigate problems around PDF such as document security (think of Wiki-leaks).</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> LiveCycle itself is comprised of several components. We’ll walk through each of these components one at a time. the main component is akin to what many call an Enterprise Service Bus or ESB for short. This includes a set of common services, a common environment of service execution, a registry-repository system, workflow and storage components to name a few components. LiveCycle ES installs as a server and the server can bind to many different types of common enterprise infrastructure components including directories (LDAP for example). Below is a depiction of the server side component of LiveCycle ES.</div> <div class="wp-caption aligncenter" id="attachment_86" style="background-attachment: initial; background-clip: initial; ; background-image: initial; background-origin: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1em; margin-left: auto; margin-right: auto; margin-top: 0px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: center; width: 507px;"> <a href="http://blog.uberity.com/wp-content/uploads/2012/04/What-is_LiveCycle-ES-Uberity.png" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"><img alt="What is Livecycle - the server component explained." class="size-full wp-image-86" src="http://blog.uberity.com/wp-content/uploads/2012/04/What-is_LiveCycle-ES-Uberity.png" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 5px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="What-is_LiveCycle-ES-Uberity" width="497" /></a><br /> <div class="wp-caption-text" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: italic; line-height: 16px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 2px; padding-left: 3px; padding-right: 3px; padding-top: 6px;"> What is LiveCycle ES Server</div> </div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> The server’s core services are all registered in a registry. &nbsp;There can be orchestrated and used to perform different types of operations on PDF documents and now with Uberity’s extensions, to also talk to mobile (wireless) devices. &nbsp;At the bottom of the Service tier is a Service Provider Interface (SPI) which is where back end systems often integrate. &nbsp;Systems such as SAP that might consume and produce massive amounts of data for government or finance could link in to this layer to offer PDF forms as a point of interaction with humans, then automatically accept, validate and consume the form data provided by the user. &nbsp;The users themselves can access data (by requesting a PDF form or perhaps by being pushed notifications of events) via the Service Invocation Layer at the top. &nbsp;This is a J2EE server and can be set up in many different ways. &nbsp;One option is often to install it on site however for evaluation, we have found that using the Amazon cloud is one of the best ways for evaluation. &nbsp;Uberity has experience with this and we have found that while it takes an average first time installation of LiveCycle’s server on Red Hat Enterprise Linux with full SSL/TLS configuration and testing afterwards to take many over 2.5 days. &nbsp;We highly recommend the turnkey Windows server installation however we do offer a flat fee to install this on the cloud for evaluation.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> So what are the core component and services LiveCycle offers? &nbsp; Here is a brief rundown. &nbsp;The following is not an exhaustive list, rather an example to help explain what LiveCycle is.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Forms ES – this module can be licensed to automate just about every aspect of forms processing. &nbsp;The ability to save money over paper forms is astounding.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Barcoded Forms ES – the barcoded forms module allows forms to be printed with a corresponding 2D bar code that can later be electronically scanned to recapture the form data electronically. &nbsp;This is useful if you wanted to create something like an electronic voting system that had a fully audit able paper trail or if you needed someone to electronically fill out a form and sign it then mail it in to you for ingestion into your systems.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Digital Signatures ES – since many companies use digital signatures now, often deemed more reliable and audit able than wet ink signatures, PDF documents support this feature. &nbsp;The LiveCycle Server can perform massive scale operations using the Digital Signatures module like validating 100,000 signatures to ensure certificates have not been revoked.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Output ES – Our put is used often for production print.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> PDF Generator ES – this module provides almost every possible method for generating PDF, PostScript, FXA, XDP or other related files.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Process Management ES – LiveCycle ES contains a full blown business process management capability.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Reader Extensions ES – this module of LiveCycle unlocks features in Adobe Reader that enable it to perform more like Acrobat. &nbsp;These extensions are often cheaper as a solution than forcing all users to buy copies of Adobe Acrobat.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Rights Management ES – Rights Management is one of our favorite modules. &nbsp;You can use this to protect documents from beign distributed beyond what you want and even expire a document. The perfect solution to Wikileaks!</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> There are many other modules and this is only designed to show you a small cross section of LiveCycle.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> So what does LiveCycle look like when you use it? &nbsp;This is actually very dependent upon your role. &nbsp;There are Adminstrators and other various types of power users. &nbsp;This group use the administrative console which is web based.</div> <div class="wp-caption aligncenter" id="attachment_88" style="background-attachment: initial; background-clip: initial; ; background-image: initial; background-origin: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1em; margin-left: auto; margin-right: auto; margin-top: 0px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: center; width: 660px;"> <a href="http://blog.uberity.com/wp-content/uploads/2012/04/LiveCycle-Administrators-view.png" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"><img alt="The Adobe LiveCycle ES Administrator view" class="size-full wp-image-88" src="http://blog.uberity.com/wp-content/uploads/2012/04/LiveCycle-Administrators-view.png" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 5px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="LiveCycle-Administrators-view" width="650" /></a><br /> <div class="wp-caption-text" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: italic; line-height: 16px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 2px; padding-left: 3px; padding-right: 3px; padding-top: 6px;"> LiveCycle ES Administrative login view</div> </div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Most people who work with received forms or kick off business processes will use the Workspace interface. &nbsp;This is where privileged users can also receive work that has been queued up for them to work with.</div> <div class="wp-caption aligncenter" id="attachment_89" style="background-attachment: initial; background-clip: initial; ; background-image: initial; background-origin: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1em; margin-left: auto; margin-right: auto; margin-top: 0px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: center; width: 610px;"> <a href="http://blog.uberity.com/wp-content/uploads/2012/04/What-is-LiveCycle-Workspace.png" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"><img alt="LiveCycle Workspace" class="size-full wp-image-89" src="http://blog.uberity.com/wp-content/uploads/2012/04/What-is-LiveCycle-Workspace.png" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 5px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="What-is-LiveCycle-Workspace" width="600" /></a><br /> <div class="wp-caption-text" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: italic; line-height: 16px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 2px; padding-left: 3px; padding-right: 3px; padding-top: 6px;"> The Adobe LiveCycle Workspace view</div> </div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> For users who design actual PDF forms, this class will spend a lot of time in the Adobe LiveCycle Designer view. If you have ever wonder “what is LiveCycle Designer”, this is what you will see.</div> <div class="wp-caption aligncenter" id="attachment_91" style="background-attachment: initial; background-clip: initial; ; background-image: initial; background-origin: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1em; margin-left: auto; margin-right: auto; margin-top: 0px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: center; width: 560px;"> <a href="http://blog.uberity.com/wp-content/uploads/2012/04/LiveCycle-Forms-Designer.png" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"><img alt="Adobe LiveCycle Designer" class="size-full wp-image-91" src="http://blog.uberity.com/wp-content/uploads/2012/04/LiveCycle-Forms-Designer.png" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 5px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="LiveCycle-Forms-Designer" width="550" /></a><br /> <div class="wp-caption-text" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: italic; line-height: 16px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 2px; padding-left: 3px; padding-right: 3px; padding-top: 6px;"> Adobe LiveCycle Designer</div> </div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Another class of developer users for LiveCycle will bind these PDF forms into Business Processes. &nbsp;These users will spend a lot of time in LiveCycle WorkBench. &nbsp;This is an eclipse based environment where business processes can be designed by using assets (such as the form above) in combination with business logic and LiveCycle Services. &nbsp;This view looks similar to the graphic below.</div> <div class="wp-caption aligncenter" id="attachment_92" style="background-attachment: initial; background-clip: initial; ; background-image: initial; background-origin: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1em; margin-left: auto; margin-right: auto; margin-top: 0px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: center; width: 606px;"> <a href="http://blog.uberity.com/wp-content/uploads/2012/04/liveCycle-Businesss-Process.png" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"><img alt="LiveCycle Business Process view" class=" wp-image-92 " src="http://blog.uberity.com/wp-content/uploads/2012/04/liveCycle-Businesss-Process.png" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 5px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="liveCycle-Businesss-Process" width="596" /></a><br /> <div class="wp-caption-text" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: italic; line-height: 16px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 2px; padding-left: 3px; padding-right: 3px; padding-top: 6px;"> LiveCycle Business Process view</div> </div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Finally, the Business process users will also rely on a set of services. &nbsp;The view to these services are provided via the service registry. &nbsp;The service registry interface is easy to use and will be the subject of future Uberity Educational Series videos that show LiveCycle Help.</div> <div class="wp-caption aligncenter" id="attachment_93" style="background-attachment: initial; background-clip: initial; ; background-image: initial; background-origin: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1em; margin-left: auto; margin-right: auto; margin-top: 0px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: center; width: 446px;"> <a href="http://blog.uberity.com/wp-content/uploads/2012/04/LiveCycle-Services-View.png" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"><img alt="What are LiveCycle ES Services?" class=" wp-image-93 " src="http://blog.uberity.com/wp-content/uploads/2012/04/LiveCycle-Services-View.png" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 5px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="LiveCycle-Services-View" width="436" /></a><br /> <div class="wp-caption-text" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: italic; line-height: 16px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 2px; padding-left: 3px; padding-right: 3px; padding-top: 6px;"> LiveCycle Services View</div> </div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> This blog post only covers the basic elements of LiveCycle ES. &nbsp;To put all the pieces together, this is what a fully implemented architecture could look like.</div> <div class="wp-caption aligncenter" id="attachment_94" style="background-attachment: initial; background-clip: initial; ; background-image: initial; background-origin: initial; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-left-radius: 3px; border-top-right-radius: 3px; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1em; margin-left: auto; margin-right: auto; margin-top: 0px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: center; width: 647px;"> <a href="http://blog.uberity.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-09-at-8.41.13-PM.png" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;"><img alt="LiveCycle ES Architecture with Uberity Mobile Deployment" class="size-full wp-image-94" src="http://blog.uberity.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-09-at-8.41.13-PM.png" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 5px; max-width: 100%; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Screen Shot 2012-04-09 at 8.41.13 PM" width="637" /></a><br /> <div class="wp-caption-text" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: italic; line-height: 16px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 2px; padding-left: 3px; padding-right: 3px; padding-top: 6px;"> LiveCycle ES Architecture with Uberity Mobile Deployment</div> </div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> As you can see, the development tools also include Java IDE’s such as Intellij and Eclipse. &nbsp;We have produced a few LiveCycle tutorials on how to invoke LiveCycle from a Java environment using Eclipse and the LiveCycle SDK. &nbsp;These are available at:</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> The setup video is here:</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> <a href="http://blog.uberity.com/2012/03/uberity-video-education-series-livecycle-es/" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank" title="Uberity LiveCycle ES java invocation">http://blog.uberity.com/2012/03/uberity-video-education-series-livecycle-es/</a></div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> and a video of how to migrate from EJB invocation to SOAP is here:</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> <a href="http://blog.uberity.com/2012/04/tutorial-invoke-livecycle-es3-using-soap/" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #af0a4f; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;" target="_blank" title="Invoking LiveCycle ES3 using SOAP">http://blog.uberity.com/2012/04/tutorial-invoke-livecycle-es3-using-soap/</a></div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> Also shown above is the fact that third parties can develop their own functionality around LiveCycle ES. &nbsp;Uberity specializes in building mobile interactions that integrate with the Adobe LiveCycle ES3 platform. &nbsp;The next time you hear someone ask “What is LiveCycle”, this is a blog post we hope will help others answer that question.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> As with all our posts, if you do not feel your questions are answered here or want to follow up, please contact us at info@uberity.com for more information. &nbsp;Our experience can save your company money. &nbsp;We can show you how a forms initiative will be more successful on LiveCycle ES than any other platform. &nbsp;Whether it be a PDF form, HTML5 or custom native iOS application, we are here to help.</div> <div style="; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 1.5em; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"> <br /></div> </div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-7389285606869669061?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/P0RG3W7OFmU" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-7389285606869669061
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/P0RG3W7OFmU/what-is-livecycle-es-and-how-can-it.html
rel alternate
title What is LiveCycle ES and how can it save you money?
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/7389285606869669061/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/what-is-livecycle-es-and-how-can-it.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/7389285606869669061?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/7389285606869669061?v=2
rel self
type application/atom+xml
published 2012-04-10T18:22:00Z
title
Stomach Contents: Structure - struct
value What is LiveCycle ES and how can it save you money?
updated 2012-04-12T19:09:11Z
14
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/ok5oqHBxlePXyx-h3Yjj3hCkVH8/0/da"><img src="http://feedads.g.doubleclick.net/~a/ok5oqHBxlePXyx-h3Yjj3hCkVH8/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/ok5oqHBxlePXyx-h3Yjj3hCkVH8/1/da"><img src="http://feedads.g.doubleclick.net/~a/ok5oqHBxlePXyx-h3Yjj3hCkVH8/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> Mayor Gregor Robertson's long term vision to make Vancouver BC the greenest city in the world by 2020 has already started taking shape in so many ways. &nbsp;Some of the top issues to be addressed are well under way such as urban gardening and the right to own up to <a href="http://vancouver.ca/bylaws/9150c.pdf">4 chickens per household</a>. &nbsp;Other components of the plan include more bike lanes and better rapid transit. &nbsp;On the latter note, a brilliant scheme is now before tomorrow nights' city council meeting and expected to pass with flying colors.<br /> <br /> The idea is to increase the current Vancouver demonstration trolley system from Granville Island to Science world to new locations as shown on the map below.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-3SQdhg4u6yA/T3U8xF2DNCI/AAAAAAAABJ8/RXEYwJGv3VQ/s1600/Screen+Shot+2012-03-29+at+9.45.32+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-3SQdhg4u6yA/T3U8xF2DNCI/AAAAAAAABJ8/RXEYwJGv3VQ/s320/Screen+Shot+2012-03-29+at+9.45.32+PM.png" width="317" /></a></div> <div class="separator" style="clear: both; text-align: center;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> The new exciting twist has been a plan developed behind closed doors for months but has now been made public. &nbsp;The transit cars themselves will be none other than Steam engines from the days when steam power ruled. &nbsp;The reason behind this scheme is that renewable energy is one of the top priorities for the Green Plan and Wood powered Steam trains for passenger trolleys meet that criteria. &nbsp;The engines, two initially from the old baldwin factory (including the 2-6-2 show below), will be retrofitted to scrub any&nbsp;pollutant&nbsp;by products from the smokestacks as well as&nbsp;being&nbsp;equipped with modern spark arrestors and quieter running gear. &nbsp; Here is a photo from a recent test track section of one of the first routes to be run along Pacific Boulevard. &nbsp;This rute will be coupled with Science world.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-wjiRVPRdo5c/T3VHjbAZ5WI/AAAAAAAABKE/w-3CklRNcX0/s1600/Screen+Shot+2012-03-29+at+10.40.34+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="297" src="http://4.bp.blogspot.com/-wjiRVPRdo5c/T3VHjbAZ5WI/AAAAAAAABKE/w-3CklRNcX0/s400/Screen+Shot+2012-03-29+at+10.40.34+PM.png" width="400" /></a></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> While electric trolleys were considered, city council feels that the steam approach, cupled with 1940's style coach cars, will enhance Vancouver's &nbsp;tourism capacity. &nbsp;According to Tourism BC, the immediate affect wil be to bring in over 250,000 new visitors each year who flock annually to various steam engine events. &nbsp;The offset of carbon but using green energy coupled with a unique look and feel for the city of Vancouver are a clear winner. &nbsp;Andrea Reimer had argued that the city should opt for a narrow guage railway (36") vs the standard 48" which the latter would allow interoperability with existing trains. &nbsp;No clear motivation was given for her reasoning.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> it is estimated that the steam train powered street car system, if eventually expanded to Marpole via the Arbutus corridor, could save over 2,6&nbsp;metric&nbsp;tonnes of CO2&nbsp;annually while adding over 300 new jobs and making Vancouver a unique city attracting an estimated $33,000,000 in new tourism revenue each year.</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> How to get involved:</div> <div class="separator" style="clear: both; text-align: left;"> <br /></div> <div class="separator" style="clear: both; text-align: left;"> Contact City hall at&nbsp;<a href="http://talkvancouver.com/transportation-forum">http://talkvancouver.com/transportation-forum</a>&nbsp;and express your support for this plan. &nbsp;Let's work together to make our city the best city in the world! &nbsp;Make sure you let them know you found out about this on Technoracle, the leading source of open data.</div> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-5979388592925436591?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/bHsSDCF-RKw" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-5979388592925436591
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/bHsSDCF-RKw/vancouver-to-bring-steam-back-as-part.html
rel alternate
title Vancouver to Bring Steam Back as Part of Greenest City Initiative
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/5979388592925436591/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/04/vancouver-to-bring-steam-back-as-part.html#comment-form
rel replies
title 1 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/5979388592925436591?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/5979388592925436591?v=2
rel self
type application/atom+xml
published 2012-04-01T13:00:00Z
title
Stomach Contents: Structure - struct
value Vancouver to Bring Steam Back as Part of Greenest City Initiative
updated 2012-04-01T13:00:04Z
15
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/igNxNxIWTQAJjO-NqfrmpNi1ywg/0/da"><img src="http://feedads.g.doubleclick.net/~a/igNxNxIWTQAJjO-NqfrmpNi1ywg/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/igNxNxIWTQAJjO-NqfrmpNi1ywg/1/da"><img src="http://feedads.g.doubleclick.net/~a/igNxNxIWTQAJjO-NqfrmpNi1ywg/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> I was scouring my inbox and came across an old email I had sent myself while still at Adobe. &nbsp;It turns out that mere days before I got laid off on Nov 8, I made the Adobe MAX 2012 Masters list. &nbsp;The email lists all of the MAX masters. &nbsp;Written in the chain of that email was also a note from a former colleague saying that the high mark at MAX (4.96/5 with over 70 responses not once but twice!) was the highest ever for a hands on lab session. &nbsp;This was further complicated by the fact that it was a Bring your own Laptop lab, meaning the attendees take the session on their own laptops and mobile devices. Needless to say, the probability of something going wrong is exponentially complicated.<br /> <br /> The Adobe MAX 2011 Masters list is posted here&nbsp;<a href="http://max.adobe.com/blog/2011/max-masters-announced.html">http://max.adobe.com/blog/2011/max-masters-announced.html</a><br /> <br /> <ul class="ul1"> <li class="li2">Adam Lehman, Adobe Systems</li> <li class="li2">Bryan O’Neil Hughes, Adobe Systems</li> <li class="li2">Chris Converse, Codify Design</li> <li class="li2">Chris Kitchener, Adobe Systems</li> <li class="li2">Colin Smith, Adobe Systems</li> <li class="li2">Dani Beaumont, Adobe Systems</li> <li class="li2">Dave Helmly, Adobe Systems</li> <li class="li2">David Nuescheler, Adobe Systems</li> <li class="li2">Duane Nickull, <strike>Adobe Systems</strike> (Correction: Uberity)</li> <li class="li2">Greg Rewis, Adobe Systems</li> <li class="li2">Jack Davis, Wow, Inc.</li> <li class="li2">James Williamson, Lynda.com</li> <li class="li2">Jason Levine, Adobe Systems</li> <li class="li2">Jim Babbage, Adobe Systems</li> <li class="li2">Joe Rinehart, Booz Allen Hamilton</li> <li class="li2">Marc Esher, Booz Allen Hamilton</li> <li class="li2">Michael Chaize, Adobe Systems</li> <li class="li2">Michael Labriola, Digital Primates</li> <li class="li2">Michael Ninness, Lynda.com</li> <li class="li2">Mordy Golding, Design Responsibly</li> <li class="li2">Nicholas Zakas, NCZ Consulting</li> <li class="li2">Patti Sokol, Adobe Systems</li> <li class="li2">Paul Trani, Adobe Systems</li> <li class="li2">Russell Brown, Adobe Systems</li> </ul> <div class="p1"> Of course now that I am with <a href="http://www.uberity.com/">Uberity Technology Corporation</a>, I have to decide if I would even go. &nbsp;My inclination is probably not unless I get invited. &nbsp;There are tons of other skilled speakers and I have had my turns at Adobe MAX. &nbsp;Adobe MAX 2012 would be fun however so I have to keep my mind open. &nbsp;Let's see what happens.</div> </div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-3617032512284282971?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/6zM_s-V0jAk" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-3617032512284282971
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/6zM_s-V0jAk/adobe-max-2012-dilemna.html
rel alternate
title Adobe MAX 2012 - a Dilemna
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/3617032512284282971/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/03/adobe-max-2012-dilemna.html#comment-form
rel replies
title 3 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/3617032512284282971?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/3617032512284282971?v=2
rel self
type application/atom+xml
published 2012-03-28T17:45:00Z
title
Stomach Contents: Structure - struct
value Adobe MAX 2012 - a Dilemna
updated 2012-03-28T17:45:01Z
16
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/3IQph5wkqEHLXNPBSwL4HcpWZrc/0/da"><img src="http://feedads.g.doubleclick.net/~a/3IQph5wkqEHLXNPBSwL4HcpWZrc/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/3IQph5wkqEHLXNPBSwL4HcpWZrc/1/da"><img src="http://feedads.g.doubleclick.net/~a/3IQph5wkqEHLXNPBSwL4HcpWZrc/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> I am in Vienna, about to give a <a href="http://www.tuwien.ac.at/aktuelles/news_detail/article/7423/?no_cache=1">keynote talk</a> tomorrow to share the millions of blunders and mistakes I have personally made over the last fifteen years of high tech startups. &nbsp;One of our last companies was even acquired by Adobe Systems for a component that made is used today for <a href="http://uberity.com/services/livecycle.php">Consulting Services LiveCycle ES</a>. &nbsp;The reason I do this is in hopes to share some of the errors I wish I had someone warn me about. &nbsp;While I won't tell you all of them in advance, here is a list of things that Uberity will do or not do during it's startup phase.<br /> <br /> <b>1. We will keep a clean IP trail. </b>&nbsp;Uberity is developing some very interesting intellectual property we feel will be required by most small to medium sized enterprises as they move to mobile in the next 5 years. &nbsp;Without divulging the details of what we are building, one thing I can promise is that the entire IP development process will be documented from start to finish. &nbsp;Every single person who comes into contact with our technology will sign an NDA and/or IP invention agreement (and he fairly compensated for anything they contribute). &nbsp;This is important if your overall exist strategy is to be bought out by a larger company. &nbsp;Startups need to realize that larger companies often have very skilled legal business units who know what is required to ensure the company acquiring the startup does not expose themselves to undue risk. &nbsp;Startups need to document and record every step of IP development and ensure they are thorough.<br /> <br /> <b>2. Ensure you understand your fellow startup team's personal desires and goals.</b> &nbsp;Understanding what motivates them and what they seek out of life is very important to understand how they imagine themselves working for the startup over the next decade. &nbsp;The people at Uberity are like my brothers and sisters from a different mother. I know them, I know what they like and don't like. &nbsp;I trust them and would follow them into battle. &nbsp;They are your company, not the IP. &nbsp;Treat them with immense respect and it shall be returned. &nbsp;Set examples and constantly check in with them to see if the startup is matching their expectations.<br /> <br /> <b>3. Be ethical.</b> &nbsp;Just today, I worked with a client and solved a very technical issue in about three hours. &nbsp;There is a huge implied trust in the professional services relationship that I see violated time after time by&nbsp;unscrupulous&nbsp;companies figuring they can invoice people for extra hours and they will never find out. &nbsp;I have news for you. &nbsp;Even if they do not find out, you are really ruining your own reputation. &nbsp;Uberity under-promises and over-delivers on every contract. &nbsp;By doing this, we get repeat customers. &nbsp;If a company is unethical, it will come out in the long term. &nbsp;We are committed to being ethical in our entire customer relationships. &nbsp;We have even done some smaller jobs where we did not bill as the time it took us to solve the problem was too minimal to even consider billing. &nbsp;This does not imply weakness however. &nbsp;We are ethical, we plan to be in business a long time. &nbsp;We will not compromise this, no matter how tempting. &nbsp;We also pay for software that we use to make money with. &nbsp;We believe that a little honesty goes a long way in business and plan to make it a core part of our existence.<br /> <br /> <b>4. Don't be afraid to walk away.</b> &nbsp;We had an original plan to pursue a business model whereby people could post tasks and others could respond to them, perform them and get paid. &nbsp;After performing weeks of due diligence, we discovered that these companies are likely not even earning revenue that would cover the interest for the funds VC's invested into them for a year. &nbsp;After validating, re-validating, we decided to walk away and were prepared to re-assess our core beliefs and mission. &nbsp;These other companies will probably succeed in the long term, we just feel we can make more revenue for less effort doing other things. &nbsp;It takes a mature person to admit they had wrong perceptions and be willing to walk away as opposed to being pressured into sticking with a bad idea until it goes into a death spiral. &nbsp;I am grateful to have partners in Uberity that are wise enough to understand this, powerful enough to embrace this and courageous enough to make changes when others might not have.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-tLOT45836Vc/T1VQMgS6DLI/AAAAAAAABJI/LgHgpJaqu4I/s1600/Screen+Shot+2012-03-06+at+12.41.25+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="http://2.bp.blogspot.com/-tLOT45836Vc/T1VQMgS6DLI/AAAAAAAABJI/LgHgpJaqu4I/s320/Screen+Shot+2012-03-06+at+12.41.25+AM.png" width="320" /></a></div> <br /> <b>5. Build a business plan and answer the tough questions. </b>&nbsp;A business plan is not just to show investors, it helps put everyone in the company on the same page. &nbsp;We got together and worked out what was required and what needs to be documented. &nbsp;We are working on our business plan and it is hard. &nbsp;It is very tempting to come across a tough question and think "I can just not address this now" however the reality is that the tough questions have to be answered.<br /> <br /> Maybe none of this is new to you. &nbsp;My hope is that someone writing a startup will see this and it will save you time and effort. &nbsp;Uberity is not just about making money. &nbsp;We are part of the technology community. &nbsp;Our contributions are given freely with no warranty or accuracy or value. &nbsp;Feel free to use or disregard this data however you wish.</div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-9082807895090834185?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/eOaBwhKXsDo" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-9082807895090834185
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/eOaBwhKXsDo/uberity-five-important-lessons-for.html
rel alternate
title Uberity - Five important lessons for startups
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/9082807895090834185/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/03/uberity-five-important-lessons-for.html#comment-form
rel replies
title 2 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/9082807895090834185?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/9082807895090834185?v=2
rel self
type application/atom+xml
published 2012-03-05T23:53:00Z
title
Stomach Contents: Structure - struct
value Uberity - Five important lessons for startups
updated 2012-03-05T23:53:46Z
17
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/XVrplJDRKVmxrX-nT8plV7M7fmw/0/da"><img src="http://feedads.g.doubleclick.net/~a/XVrplJDRKVmxrX-nT8plV7M7fmw/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/XVrplJDRKVmxrX-nT8plV7M7fmw/1/da"><img src="http://feedads.g.doubleclick.net/~a/XVrplJDRKVmxrX-nT8plV7M7fmw/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> My friend David Wolpe recently launched a cool little mobile application that can definitely save you more grief than the $0.99 it costs. &nbsp;ApologyWiz (Android: &nbsp;<span class="s2"><a href="http://bit.ly/y8ISQi">http://bit.ly/y8ISQi</a>&nbsp;and iOS&nbsp;</span><a href="http://bit.ly/zWuSNY">http://bit.ly/zWuSNY</a>)<span class="s2">&nbsp;</span>has already helped me when I was helping a clerk who was hopeless at copying down the data I gave her for each question she asked me. &nbsp;The response "I'm terribly sorry I am always right". &nbsp;She laughed.<br /> <br /> The apologies are chosen based on either a manually sift through the massive array of apologies (many of them funny enough to keep you rolling in laughter) or use the built in device accelerometer to allow it to find one for you. &nbsp;This is version one and it works. &nbsp;For the future versions it would be cool to have categories and maybe a way for crowd-sourcing apologies and also excuses. &nbsp;I have a few of the latter to contribute but my all time favorite is "it was like that when I got here" which covers just about everything.<br /> <br /> Great job David - I cannot wait to see more from you!<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-vQt4m8_wDEQ/T1Bh5-oeKAI/AAAAAAAABI8/jVh9ogI81zA/s1600/Screen+Shot+2012-03-01+at+9.59.23+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-vQt4m8_wDEQ/T1Bh5-oeKAI/AAAAAAAABI8/jVh9ogI81zA/s320/Screen+Shot+2012-03-01+at+9.59.23+PM.png" width="193" /></a></div> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-4470292921347337798?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/OnatiMnL-10" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-4470292921347337798
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/OnatiMnL-10/new-mobile-application-to-get-you-out.html
rel alternate
title New Mobile Application to get you out of Trouble!
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/4470292921347337798/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/03/new-mobile-application-to-get-you-out.html#comment-form
rel replies
title 1 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/4470292921347337798?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/4470292921347337798?v=2
rel self
type application/atom+xml
published 2012-03-02T06:09:00Z
title
Stomach Contents: Structure - struct
value New Mobile Application to get you out of Trouble!
updated 2012-03-02T18:29:26Z
18
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/jtqSH4og5WE1coDR2aTd0jty2zM/0/da"><img src="http://feedads.g.doubleclick.net/~a/jtqSH4og5WE1coDR2aTd0jty2zM/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/jtqSH4og5WE1coDR2aTd0jty2zM/1/da"><img src="http://feedads.g.doubleclick.net/~a/jtqSH4og5WE1coDR2aTd0jty2zM/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> On Friday Uberity Technology Corporation launched a free and open source code <a href="http://blog.uberity.com/2012/02/extending-adobe-livecycle-es-to-use-sms-in-business-processes/">Adobe LiveCycle ES SMS module</a> that allows <a href="http://uberity.com/services/livecycle.php">LiveCycle Services</a> and Processes to integrate SMS messaging into the process flow. &nbsp;The SMS module was written by Matt MacKenzie using the Twilio SMS service. &nbsp;To make it work, you can download the source from Uberity, read the instructions, get an account from Twilio and you're good to go.<br /> <br /> GitHub Project -&nbsp;<a href="https://github.com/uberity/uberity-lc-twilio">https://github.com/uberity/uberity-lc-twilio</a><br /> Twilio Account Setup -&nbsp;<a href="http://www.twilio.com/">http://www.twilio.com/</a><br /> Uberity LiveCycle ES Blog -&nbsp;<a href="http://blog.uberity.com/2012/02/extending-adobe-livecycle-es-to-use-sms-in-business-processes/">http://blog.uberity.com/2012/02/extending-adobe-livecycle-es-to-use-sms-in-business-processes/</a><br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://3.bp.blogspot.com/-ZGBHo_eOElE/T0gmb2xwWVI/AAAAAAAABIo/EkPiM6xzRfM/s1600/Screen+Shot+2012-02-24+at+3.22.58+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="202" src="http://3.bp.blogspot.com/-ZGBHo_eOElE/T0gmb2xwWVI/AAAAAAAABIo/EkPiM6xzRfM/s400/Screen+Shot+2012-02-24+at+3.22.58+PM.png" width="400" /></a></div> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-1743568255949957785?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/biOdlmOgvOk" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-1743568255949957785
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/biOdlmOgvOk/uberity-releases-freeopen-source.html
rel alternate
title Uberity releases Free/Open Source LiveCycle ES SMS Module
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/1743568255949957785/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/02/uberity-releases-freeopen-source.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/1743568255949957785?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/1743568255949957785?v=2
rel self
type application/atom+xml
published 2012-02-27T14:03:00Z
title
Stomach Contents: Structure - struct
value Uberity releases Free/Open Source LiveCycle ES SMS Module
updated 2012-02-28T16:30:37Z
19
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
category
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term apache flex adobe flash air
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/9Q74ci4Dwo4ixk_aiu65RfnxtzE/0/da"><img src="http://feedads.g.doubleclick.net/~a/9Q74ci4Dwo4ixk_aiu65RfnxtzE/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/9Q74ci4Dwo4ixk_aiu65RfnxtzE/1/da"><img src="http://feedads.g.doubleclick.net/~a/9Q74ci4Dwo4ixk_aiu65RfnxtzE/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on">The new Apache Flex logo rocks. &nbsp;In case you haven't seen it, check out the video below:<br /> </div><iframe allowfullscreen="" frameborder="0" height="225" mozallowfullscreen="" src="http://player.vimeo.com/video/37364265?title=0&amp;byline=0&amp;portrait=0" webkitallowfullscreen="" width="400"></iframe><br /> <a href="http://vimeo.com/37364265">Apache-Flex-Logo</a><br /> <br /> There has been a lot of discusion lately on the future of Flex. Adobe has published some white papers to clarify their position. The future of Flex seemed a bit murky but the latest paper appears to be more promising, other than the fact about 65% of the words are marketing ramble that talks about what Flash did in the past. If you are interest in this topic, read the document entitled <a href="http://www.adobe.com/devnet/flex/whitepapers/roadmap.html">Adobe's view of Flex and its commitments to Flex in the future</a>.<br /> <br /> <br /> then scan forward to the Flash Runtimes Roadmap at <br /> <a href="http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/flashplatform/whitepapers/flash-runtimes-roadmap.pdf">http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/flashplatform/whitepapers/flash-runtimes-roadmap.pdf</a>&nbsp;(skip forward to the top of page 3. &nbsp;That is where the content actually starts talking about the runtimes roadmap).</div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-3799348808057946867?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/Kd5UIJPjeIA" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-3799348808057946867
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/Kd5UIJPjeIA/apache-launches-new-official-flex-logo.html
rel alternate
title Apache Launches the new official Flex Logo
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/3799348808057946867/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/02/apache-launches-new-official-flex-logo.html#comment-form
rel replies
title 2 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/3799348808057946867?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/3799348808057946867?v=2
rel self
type application/atom+xml
published 2012-02-24T17:43:00Z
title
Stomach Contents: Structure - struct
value Apache Launches the new official Flex Logo
updated 2012-02-24T17:43:45Z
20
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
category
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term Mobile Enterprise Application Platform
2
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term SaaS
3
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term Merchant processing accounts
4
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term mobile payment gateways
5
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term MEAP
6
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term acronyms
7
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term soa
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/yYd-PY2JouiuZUslQB58eNg0YFw/0/da"><img src="http://feedads.g.doubleclick.net/~a/yYd-PY2JouiuZUslQB58eNg0YFw/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/yYd-PY2JouiuZUslQB58eNg0YFw/1/da"><img src="http://feedads.g.doubleclick.net/~a/yYd-PY2JouiuZUslQB58eNg0YFw/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> MEAP's are going to be the new *aaS. &nbsp;If you don't understand that statement, consider yourself blessed. You may feel like you need a <a href="http://www.computerforensicsdegrees.org/">computer forensics&nbsp;degree</a> to understand it all. &nbsp;Understanding technology industry analysts and acronyms is a difficult task. A relatively new category of Gartner Magic Quadrants have emerged one one in particular is a category that we think deserves a lot of attention. &nbsp;<b><i>Mobile Enterprise Application Platforms</i></b> are not typical software like your daddy used to buy. &nbsp;MEAP's are collections of services and components (including frameworks, profiles, libraries and more) that facilitate the types of functionality required to develop and maintain applications running on wireless devices (aka mobile devices).<br /> <br /> Now I don't subscribe to hype and BS and neither should you. &nbsp;As the former chair of the <a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm">OASIS Service Oriented Architecture Technical Committee</a>, the group that produced the standard reference model for SOA, I never anticipated that people would run with this and start all these <b>(INSERT ANY CAPITAL LETTER FROM THE ALPHABET HERE)aaS</b>. &nbsp;Software as a Service (SaaS) is not really that different from hosted solutions is it? &nbsp;If you disagree, you'd better hurry and claim one while there are still letters left for acronyms. &nbsp;I think XaaS is not used yet.<br /> <br /> When I see value though, I want to point it out. &nbsp;MEAP is one of those rare acronyms that seems to be vastly underestimated by the majority of the industry. &nbsp;The term itself seems to have come from Analyst firm Gartner in a paper published in April 2011 (Gartner, Magic Quadrant for Mobile Enterprise Application Platforms, Michael J. King, William Clark). I believe I read somewhere that Gartner believes over 95% of the technology industry will use some form of MEAP by 2012. &nbsp;When I try to research this topic on Google, very little information comes up. &nbsp;Regardless of the title, let's explore what a MEAP is and what it does.<br /> <br /> In their paper, "The rule of three" is used as a quantifier for identifying when this functionality might be of interest. &nbsp; Quoting from Gartner (via Wikipedia):<br /> <blockquote class="tr_bq"> <i>The Rule of Three refers to a concept developed by analyst firm Gartner, whereby companies are encouraged to consider the MEAP approach to mobility when they need their mobile solutions to:</i><br /> <ul style="text-align: left;"> <li><i>Support three or more mobile applications</i>&nbsp;</li> </ul> </blockquote> <blockquote class="tr_bq"> <ul style="text-align: left;"> <li><i>Support three or more mobile operating systems (OS)</i></li> </ul> <ul style="text-align: left;"> <li><i>Integrate with at least three back-end data sources</i></li> </ul> <i>According to Gartner, using a common mobility platform, like a MEAP, brings considerable savings and strategic advantages in this situation.</i></blockquote> This helps frame the problem that MEAP's are trying to solve. &nbsp;The ability to support these patterns requires a common set of "<b><i>things</i></b>". These "<b><i>things</i></b>" enable several common patterns of enterprise architecture to mobile device communication. &nbsp;Some of the more common patterns are:<br /> <ul style="text-align: left;"> <li><b><a href="http://www.apple.com/ipad/business/integration/mdm/">Mobile Device Management </a>(MDM)</b> - manages, monitors and secures distrubuted mobile environments.&nbsp;</li> <li><b>Multiple&nbsp;<a href="http://wso2.org/library/335">Message Exchange Patterns</a></b> such as <b>Push Notifications</b> that are respect end users data plans and battery life.</li> <li><b>Advanced Security Features </b>such as remote session management and data wipes. &nbsp;These are sometimes viewed as part of MDM.</li> <li><b>Mobile Payment Gateway Services</b> - services that can access a&nbsp;<a href="http://www.chargenational.com/ca/en/merchant-account/">Merchant Processing Account</a>&nbsp;and extend that functionality via the MEAP to the mobile environment.</li> <li><b>Analytics</b> of user interactions.</li> <li><b>Temporal-Spatial Capabilities</b> - the ability to work with geocoded and location graphs</li> <li><b>User Administration</b> and management</li> <li><b>Data Synchronization </b>when mobile devices become re-connected to networks.</li> <li><b>Data Transformations</b> to facilitate existing data being marshaled into formats that are optimized for mobile such as JSON or even HTML5 for mobile websites.</li> <li><b>Data Persistence</b> usually on both the mobile device and the server side.</li> </ul> This is by no means an exhaustive list of items. &nbsp;Uberity will be writing some more about this topic in coming weeks. It is clear to use that some, if not all of these components, will be of interest to a large number of customers.<br /> <br /> One last word. &nbsp;I don't want to ever see someone pitching "MEAPaaS" but sadly I know it will probably happen.<br /> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-4839958596089803359?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/v37Qqhqm0Uc" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-4839958596089803359
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/v37Qqhqm0Uc/understanding-meap-mobile-enterprise.html
rel alternate
title Understanding MEAP - Mobile Enterprise Application Platforms
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/4839958596089803359/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/02/understanding-meap-mobile-enterprise.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/4839958596089803359?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/4839958596089803359?v=2
rel self
type application/atom+xml
published 2012-02-10T18:48:00Z
title
Stomach Contents: Structure - struct
value Understanding MEAP - Mobile Enterprise Application Platforms
updated 2012-03-13T17:27:05Z
21
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
category
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term asinine
2
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term delusional
3
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term surreal
4
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term patent troll
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/fBTO3RxOnETNX2KLYuSKM_bsYTg/0/da"><img src="http://feedads.g.doubleclick.net/~a/fBTO3RxOnETNX2KLYuSKM_bsYTg/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/fBTO3RxOnETNX2KLYuSKM_bsYTg/1/da"><img src="http://feedads.g.doubleclick.net/~a/fBTO3RxOnETNX2KLYuSKM_bsYTg/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on">At the risk of being sued myself, I find I have to really speak out about this news story. &nbsp;Found on <a href="http://tech.slashdot.org/submission/1935625/patent-troll-claims-ownership-of-interactive-web?sdsrc=rel">SlashDot</a> and after some research, it appears that Michael Doyle and Eola Technologies are suing what will inevitably be any one who uses the internet or deploys a networked coputer product. He is seeking royalties for the use of just about every modern interactive Internet technology, like watching videos or suggesting instant search results.<br /> <br /> Michael and his company formerly sued Microsoft and won a $521 million lawsuit after successfully claiming that their I<a href="http://news.cnet.com/2100-1012-5062409.html">nternet Explorer browser infringed one of his patents</a>. &nbsp; &nbsp;Hey Michael! &nbsp;Guess what? &nbsp;No one likes patent trolls. &nbsp;On top of that, I am pretty sure that the DarpaNet founders as well as Tim Berners Lee may have something to say about this. &nbsp;In fact, I would be totally willing to testify about a pre-IP/TCP program I wrote back in around 1980 that enabled two computers to communicate using 600 baud modems, 7 stop bits and half duplex.<br /> <br /> Mr Doyle's lawsuit is rumoured to claim he created a program to view embryos online. &nbsp;He furthermore claims this was actually the very first program which allowed users to interact with images inside a browser window. &nbsp;In my opinion, if you abstract "browser" to a "graphical rendering tool that parses and interprets bytes into one or more interactive graphic user elements", then I also did this (albeit prior to streaming video) in about 1984 using GWBasic. &nbsp; &nbsp;This also passed very&nbsp;rudimentary&nbsp;images over a network and changed the images at a rate of about 3 per second, creating the illusion of a crude video.<br /> <br /> If Michael wins, I will certainly be calling up my old Computer Science professor &nbsp;Mr. Langston and a few former friend who can document this.<br /> <br /> Read more: <a href="http://www.dailymail.co.uk/news/article-2098415/Patent-troll-sues-worlds-biggest-internet-firms-600m-claiming-ownership-interactive-web.html#ixzz1lqEmmLil">http://www.dailymail.co.uk/news/article-2098415/Patent-troll-sues-worlds-biggest-internet-firms-600m-claiming-ownership-interactive-web.html#ixzz1lqEmmLil</a></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-1042024299769471929?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/WTDfKX31vpk" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-1042024299769471929
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/WTDfKX31vpk/patent-troll-claims-he-invented.html
rel alternate
title Patent Troll claims he invented Internet
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/1042024299769471929/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/02/patent-troll-claims-he-invented.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/1042024299769471929?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/1042024299769471929?v=2
rel self
type application/atom+xml
published 2012-02-09T00:57:00Z
title
Stomach Contents: Structure - struct
value Patent Troll claims he invented Internet
updated 2012-02-09T00:57:38Z
22
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
category
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term mobile application development strategy
2
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term uberity
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/1H2SsJbQWwK_IADvUMT7q0WFQHo/0/da"><img src="http://feedads.g.doubleclick.net/~a/1H2SsJbQWwK_IADvUMT7q0WFQHo/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/1H2SsJbQWwK_IADvUMT7q0WFQHo/1/da"><img src="http://feedads.g.doubleclick.net/~a/1H2SsJbQWwK_IADvUMT7q0WFQHo/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on">Today <a href="http://uberity.com/">Uberity Technology Corporation</a> officially opened the doors for business and launched it's website. Since leaving Adobe, I have been blessed to get back together with the best developers and engineering staff I have ever worked with and start building the technology we think will help enterprises transition to extend their IT systems to the mobile space. &nbsp;<b>Uberity's mission</b> is to <i><b>help's it's customers to define, develop, deploy and support the technology that can make or break their business.</b></i><br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="http://www.uberity.com/"><img border="0" height="208" src="http://4.bp.blogspot.com/-0xuveiqsOSo/TzFicL8leHI/AAAAAAAABHo/cVnoZwBNyu8/s320/Screen+Shot+2012-02-07+at+9.41.34+AM.png" width="320" /></a></div><br /> <br /> One of the first offerings we are releasing is a free White Paper on <a href="http://uberity.com/whitepapers/Mobile-Application-Development-Strategy_FINAL.pdf">Enterprise Mobile Application &nbsp;Development Strategies</a>. &nbsp;This is a pragmatic look at the challenges facing executives and managers who are responsible for their companies long term mobile development strategies. &nbsp;Most of the content of this white paper comes from learning the hard way what does and does not work for mobile application development strategies. &nbsp;There are plenty of options from cross compiling to running through an intermediate interpretation layer to developing natively for each stack. &nbsp;This White Paper explores the key considerations along with the strengths and benefits of each approach. &nbsp;More will be written on this topic later.<br /> <br /> Another area we are working within is Adobe LiveCycle ES and Data Services. &nbsp;Uberity employs several former Senior Adobe Engineering staff who worked on the core LiveCycle platform. &nbsp;Along with myself, we feel we have a team that is skilled and capable to take on any LiveCycle work. &nbsp;Uberity has recently successfully completed some LiveCycle Professional Services work and is open for business to hear your needs. &nbsp;With a combined experience of over 32 years of LiveCycle expertise, our team is ready to take on new challenges. &nbsp;If interested, contact duane at uberity dot com.<br /> <br /> Another area we are building out is a health care solution based on using Neo4J as a graphDB back end to integrate mobile functionality. &nbsp;This project is built using our modular approach to enterprise architecture and the core patterns we have implemented can be used for other verticals as well.<br /> <br /> On a personal note, this is the most exciting thing I have done in technology for years. We've already closed a lot of business and are hungry for more.<br /> <br /> </div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-744159004873403223?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/tCM5VQsUrZs" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-744159004873403223
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/tCM5VQsUrZs/uberity-is-now-live-free-whitepaper-on.html
rel alternate
title Uberity is now live! Free WhitePaper on Mobile Strategy
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/744159004873403223/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/02/uberity-is-now-live-free-whitepaper-on.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/744159004873403223?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/744159004873403223?v=2
rel self
type application/atom+xml
published 2012-02-07T17:43:00Z
title
Stomach Contents: Structure - struct
value Uberity is now live! Free WhitePaper on Mobile Strategy
updated 2012-02-07T17:44:12Z
23
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/WZhov00Tvoc7b9PkNmK0aX5wfzI/0/da"><img src="http://feedads.g.doubleclick.net/~a/WZhov00Tvoc7b9PkNmK0aX5wfzI/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/WZhov00Tvoc7b9PkNmK0aX5wfzI/1/da"><img src="http://feedads.g.doubleclick.net/~a/WZhov00Tvoc7b9PkNmK0aX5wfzI/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on"> For anyone who feels maybe they got behind and the world is moving too fast, take a look at the data below. &nbsp;If you're reading this blog, chances are you are ahead of 90% of the rest of the world. &nbsp;The graphic below was done by searching real search keyword inventory Feb 2, 2012. Maybe these people need to take some <a href="http://www.onlineclasses.net/">classes online</a> to catch up. &nbsp; My favorite is "What day is it?".<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-ixueI00IDYE/TyrFbeCn48I/AAAAAAAABHg/Lg7iERxL7lg/s1600/Screen+Shot+2012-02-02+at+9.13.47+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="http://2.bp.blogspot.com/-ixueI00IDYE/TyrFbeCn48I/AAAAAAAABHg/Lg7iERxL7lg/s400/Screen+Shot+2012-02-02+at+9.13.47+AM.png" width="400" /></a></div> <br /></div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-2908228166554823542?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/7lvdmk6mbns" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-2908228166554823542
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/7lvdmk6mbns/feel-like-you-dont-understand-things.html
rel alternate
title Feel like you don't understand things?
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/2908228166554823542/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/02/feel-like-you-dont-understand-things.html#comment-form
rel replies
title 2 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/2908228166554823542?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/2908228166554823542?v=2
rel self
type application/atom+xml
published 2012-02-02T17:19:00Z
title
Stomach Contents: Structure - struct
value Feel like you don't understand things?
updated 2012-02-27T04:44:53Z
24
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
category
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
scheme http://www.blogger.com/atom/ns#
term dangers of cloud computing
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/BcATsMRSW2r4CvMoDVfbmPLl1yA/0/da"><img src="http://feedads.g.doubleclick.net/~a/BcATsMRSW2r4CvMoDVfbmPLl1yA/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/BcATsMRSW2r4CvMoDVfbmPLl1yA/1/da"><img src="http://feedads.g.doubleclick.net/~a/BcATsMRSW2r4CvMoDVfbmPLl1yA/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on">We've written lots about <a href="http://technoracle.blogspot.com/2009/03/adobe-cloud-computing-now-available.html">Cloud Computing</a> and <a href="http://technoracle.blogspot.com/2006/07/finally-standard-for-service-oriented.html">Service Oriented Architecture</a> (SOA). Virtualization, defined as when the logical network topography no longer aligns with the physical topography, has been a trend in recent years. &nbsp;With the advent of SOA, many businesses were easily lead down the path of "who cares how long the wire is" and "does it really matter where my data is physically located". &nbsp;The mainstream media regards the movement as "Cloud Computing" and the tech industry has been very quick to push this as a solution on many who have not fully understood the potential consequences.<br /> <br /> This month, a nightmare scenario has surfaced that may have lasting repercussions for cloud users. &nbsp;As reported from <a href="http://www.cbsnews.com/8301-505245_162-57368019/feds-megaupload-user-data-could-be-gone-thursday/?tag=mncol;txt">Associated Press</a>, American&nbsp;prosecutors blocked access to <a href="http://www.megaupload.com/">Megaupload</a> and charged seven men alleging the site was a catalyst for allowing illegal downloads of&nbsp;copy written&nbsp;material. &nbsp; When you visit the MegaUpload website, a rather ominous graphic greets you.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-zBAILwi0qPw/TybfT9i5YMI/AAAAAAAABHY/6_1fvwNnxEo/s1600/Screen+Shot+2012-01-30+at+10.03.47+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="298" src="http://2.bp.blogspot.com/-zBAILwi0qPw/TybfT9i5YMI/AAAAAAAABHY/6_1fvwNnxEo/s400/Screen+Shot+2012-01-30+at+10.03.47+AM.png" width="400" /></a></div><br /> <br /> So why is this an issue for those who use Cloud Computing? &nbsp;The Federal prosecutors do not distinguish legitimate users of MegaUpload from illegitimate. &nbsp;The same prosecutors stated that data from users of Megaupload may be erased beginning later this week. &nbsp;Those users have no path to get any of their data. &nbsp;Furthermore, it is unclear if Federal Prosecutors will also be seizing data not directly related to the injunction. &nbsp; Small companies who used the services as a data backup are currently blocked from access. &nbsp;From the <a href="http://www.cbsnews.com/8301-505245_162-57368019/feds-megaupload-user-data-could-be-gone-thursday/?tag=mncol;txt">AP/CBS article</a>:<br /> <br /> <blockquote class="tr_bq"><i>"A letter filed in the case Friday by the U.S. Attorney's Office for the Eastern District of Virginia said storage companies Carpathia Hosting Inc. and Cogent Communications Group Inc. may begin deleting data Thursday. Spokespersons for the two companies and for the U.S. Attorney's Office did not respond to messages Sunday night."</i></blockquote><br /> This should have been easy to avoid, correct? &nbsp;Much like the derivatives market though, several users of the services might not have even understood what they were getting into. &nbsp;The business model used by MegaUpload includes hiring third parties to store the data for a fee so perhaps some data is safe? &nbsp;Unfortunately, as reported by Associated Press, the same government prosecutors have frozen MegaUploads finances. &nbsp;If they cannot pay the third parties, it is seriously likely that data may get deleted, depending of course on the EULA used. &nbsp;According to the same sources, millions of users who use this site to store data may be affected.<br /> <br /> The lessons learned here? &nbsp; We would aver that legal rulings such as the one made need to account for the impact of seizure. &nbsp;The whole notion of locking down a complete system due to an alleged illegal activity may have a serious and lasting impact on&nbsp;legitimate&nbsp;users. &nbsp;A path to recovery of legitimate data should be part of the any such future actions and by blocking access, those who do so incur a large responsibility to all users of that site to ensure no losses are suffered. &nbsp;Unfortunately, in cases like this, it seems no impact assessment had been done or accounted for in the contingency plans and it is akin to throwing out the baby with the bathwater.<br /> <br /> </div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-11671631716145048?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/ixGVoYZmOpU" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-11671631716145048
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/ixGVoYZmOpU/serious-problem-with-cloud-computing.html
rel alternate
title A Serious Problem with Cloud Computing
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/11671631716145048/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/01/serious-problem-with-cloud-computing.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/11671631716145048?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/11671631716145048?v=2
rel self
type application/atom+xml
published 2012-01-30T18:35:00Z
title
Stomach Contents: Structure - struct
value A Serious Problem with Cloud Computing
updated 2012-01-30T18:35:03Z
25
Stomach Contents: Structure - struct
author
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
email noreply@blogger.com
name Duane "Chaos" Nickull
uri http://www.blogger.com/profile/08767498160563891543
content
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
type html
value <p><a href="http://feedads.g.doubleclick.net/~a/AdHKKnw47ViiHer9Ui5pAF5Ak0k/0/da"><img src="http://feedads.g.doubleclick.net/~a/AdHKKnw47ViiHer9Ui5pAF5Ak0k/0/di" border="0" ismap="true"></img></a><br/> <a href="http://feedads.g.doubleclick.net/~a/AdHKKnw47ViiHer9Ui5pAF5Ak0k/1/da"><img src="http://feedads.g.doubleclick.net/~a/AdHKKnw47ViiHer9Ui5pAF5Ak0k/1/di" border="0" ismap="true"></img></a></p><div dir="ltr" style="text-align: left;" trbidi="on">I just finished reading Akweli Parkers <a href="http://auto.howstuffworks.com/10-concept-car-success-stories.htm#mkcpgn=kaw1">article</a> entitled "Ten Concept Car Success Stories: The Ones that Made it to the Production Line"<br /> <br /> <i>"Ever since legendary automotive designer Harley Earl created what was arguably the first concept car in 1938, the public has been enthralled to witness the ever-expanding limits of technology combined with auto designers' unrestricted imaginations.<br /> <br /> Traditionally, concept cars were usually extreme flights of fancy. With exaggerated bodywork and wildly impractical technology (on-board&nbsp;<a href="http://science.howstuffworks.com/nuclear-power.htm" style="color: #005288;">nuclear generator</a>, anyone?), concept cars of the past boldly tossed reason out the window while pointing the way to a more fun motoring future."</i><br /> <br /> See the rest of his <a href="http://auto.howstuffworks.com/10-concept-car-success-stories.htm#mkcpgn=kaw1">great article here</a>.<br /> </div><div class="blogger-post-footer">Original post at <a href="http://technoracle.blogspot.com">http://technoracle.blogspot.com</a><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-6972925910250224267?l=technoracle.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/blogspot/NUcQv/~4/96GOVAbmav4" height="1" width="1"/>
id tag:blogger.com,1999:blog-17460203.post-6972925910250224267
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://feedproxy.google.com/~r/blogspot/NUcQv/~3/96GOVAbmav4/10-technology-masterpieces-that-made-it_27.html
rel alternate
title 10 Technology Masterpieces that made it
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/6972925910250224267/comments/default
rel replies
title Post Comments
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/2012/01/10-technology-masterpieces-that-made-it_27.html#comment-form
rel replies
title 0 Comments
type text/html
4
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/6972925910250224267?v=2
rel edit
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default/6972925910250224267?v=2
rel self
type application/atom+xml
published 2012-01-27T20:19:00Z
title
Stomach Contents: Structure - struct
value 10 Technology Masterpieces that made it
updated 2012-01-27T20:19:03Z
generator
Stomach Contents: Structure - struct
uri http://www.blogger.com
value Blogger
version 7.00
id tag:blogger.com,1999:blog-17460203
link
Stomach Contents: Structure - array
1
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/
rel alternate
type text/html
2
Stomach Contents: Structure - struct
href http://technoracle.blogspot.com/feeds/posts/default
rel http://schemas.google.com/g/2005#feed
type application/atom+xml
3
Stomach Contents: Structure - struct
href http://www.blogger.com/feeds/17460203/posts/default?start-index=26&max-results=25&redirect=false&v=2
rel next
type application/atom+xml
4
Stomach Contents: Structure - struct
href http://feeds.feedburner.com/blogspot/NUcQv
rel self
type application/atom+xml
5
Stomach Contents: Structure - struct
href http://pubsubhubbub.appspot.com/
rel hub
subtitle
Stomach Contents: Structure - struct
type html
value Rants, raves and random brain dumps on Mobile SEO, Search Engine Optimization, Uberity LiveCycle ES, Adobe MAX, Mobile Development, Open Data, Service Oriented Architecture (SOA), Web 2.0, Music, Flex, PDF, LiveCycle, AIR, Mobile Development, Tutorials, Technology and Culture.
title
Stomach Contents: Structure - struct
value Technoracle (a.k.a. "Duane's World")
updated 2012-05-16T18:12:51Z
version atom_1.0

Duane Nickull

Mobile Software Dev, Enterprise Architect, Punk, Bass/Guitar player, Snowboarder, Skateboarder, Host of Duanes World TV. Also follow @uberity @22ndCenturyband http://technoracle.blogspot.com

@jonno Warning: Do nto install latest MS patch for office on Mac. Does not play well with Lion OSX upgrade. MS admits major flaw in logic@duanechaos

Vancouver