Friday, January 11, 2008

New Adobe SOA White Paper

Myself, James Ward, Laurel Reitman, and Jack Wilber have finished producing a new white paper on SOA. The paper is licensed under creative commons so anyone can take it, post it where they want, and do with it what they want as long as attribution is preserved. The paper is available here (in PDF of course):

The paper looks into specialized messaging patterns for Service Oriented Architecture (SOA). Most people still mistakenly believe that SOA is limited to request-response. Such is far from the truth as most standards work on SOA now recognizes alternative patterns such as subscribe-push and probe-match.

Service Oriented Architecture 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.


Thursday, January 10, 2008

Web 2.0 presentation tops 6500 views in 8 weeks!

I just found out that my presentation from the O'Reilly Web 2.0 Berlin event has garnered the 4th highest score of all the sessions and has now been viewed almost 6500 times in the 8 weeks since the event. Needless to say, I am humbled by this and hope the upcoming Web 2.0 book has equal success.

If anyone wants the original PPT content, please just drop me a line at dnickull at adobe (dot) com and I'll send them over. In the spirit of community, these are open and free for anyone to use, modify and present. Cheers!

Wednesday, January 09, 2008

The way to deal with Scammers and Spammers

I have had a lot of requests for a post I made to the CRIME Hackers board back several years ago documenting more ingenious ways to deal with spammers and scammers.  The original post is still available here.  The relevant parts read:

I usually spoof the email address of another known spammer or else put
the email address of a law enforcement agency that is tasked with
stopping the Nigerian Scams. These guys send out so many emails they
will never know who they sent to or not.

The spoofing idea is a new twist on an old school fax-spam retaliation
scenario I used to do in the late 1980's. The office I worked at used
to get hundreds of Spam faxes each week. We would note the return fax
numbers of the biggest perpetrators, then change our fax machine to
spoof a fax coming from them. I would then tape four pieces of paper
into a big loop with the words "Buy" "More" "fax" and "Paper" on them
and transmit the fax to another fax spammer. The machine would chug
away until it used up all the fax paper at the receiving machine. I am
sure this started more than one fax "war" between the spammers.

Although I abhor spam in any way shape or form, I usually rationalize
retaliation against known spammers in this manner, by using a
combination of creativity and social engineering for personal amusement.
Hey - we have to get something back from these people ;-).



NOTE: Use at your own risk!!

Free LiveCycle ES Developer Licenses

Hey all you LiveCycle ES tire kickers!  I've got a few remaining LC ES DVD's with special developer licenses sitting in my office.  You can install and use LC ES to create solutions (just not production - see the license as the authoritative source of license) and show your bosses cool stuff.  If you want one, ping me fast as they are going quickly.

dnickull at adobe (dot) com

This is the real thing - full blown Enterprise SOA platform coupled with a complete Java BPM solution, governance (BAM) and great design tools.  J2EE heads will love this.

Tuesday, January 08, 2008

Dr. Dobb's loves LiveCycle ES!!!

Dr. Dobb's (one of my favorite software publications) named 98 finalists for this year's Jolt Product Excellence Awards (read here). These were all selected by an esteemed team of industry insiders, columnists, and technology leaders.

Dr. Dobb's panel of judges have selected the best product known to enterprise architecture circles - Adobe LiveCycle ES. It is the first product listed under the category of Enterprise Tools.

Other Adobe awards were given for ColdFusion 8, RoboHelp, Device Central and Captivate 3.
For anyone wanting to try LiveCycle ES, I have a box of 34 DVDs left with developer licenses. These licenses allow you to install the full suite and use it for testing, development purposes. If you want one, please ping me at dnickull at adobe dot com.

About the awards:

"For the past 17 years, the Dr. Dobb's Jolt Product Excellence Awards have
been presented annually to showcase products that have "jolted" the industry
with their significance and made the task of creating software faster, easier,
and more efficient. Jolt Cola, the fabled soft drink quaffed by software
developers for sustenance during project development marathons, sponsors the
awards presentation."

Monday, January 07, 2008

Great Flickr Perl hack from Matt!

I saw this on Matt Mackenzie's blog.  This is great and takes me back to the good ole' perl 4 days.

Today I decided that I would like to backup my flickr account to my Mac. After a few attempts at using a Java based UI tool "FlickrBackup", which had terrible network performance for some reason, I fell back to my trusty old Perl skills. Here is what I did:

1. Install Net::Flickr::Backup

To install this module, open up a terminal and type:
"cpan" (not the quotes)

When CPAN loads up, type:
install Net::Flickr::Backup

Its pretty much that easy.

2. Go to and create an API key. Create one for a web application, and enter pretty much any valid url as your callback. I know, its not a web application...just do it, k?

3. Get an auth_token. This is harder than it needs to be, but here is how I got it done:
- First get a frob. This page shows you how to do it manually. Mac OS X has a terminal command, "md5" that you can run to make your api_sig value. for example:

md5 -s 000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permsread

Which would yield a MD5 hash of: f2c52fb8fd3124314227bbc0f48003d3

Which it turn would mean the auth url needs to be like:

Once the URL is constructed, paste it into a browser, and approve access to your account. Once you approve, flickr calls your callback url. I just made my callback a bogus url like