EMC Developer Network
 

EMC Developer Network

Let the Games Begin...

August 2007

Alan Z. talks about his path to SOA enlightenment, contests, and new tools


The Challenge of SOA

I admit it... I'm an SOA kind of guy. I drank the SOA Kool-Aid years ago, and have been a happier man for it.


Service Oriented Architecture (SOA) isn't new, but the current Web Services via SOAP implementation approach is only a couple of years old.


Recent announcements of Documentum 6 (D6) and it's focus on SOA will cause many EDN members to revisit their architectural approaches, and hopefully leverage the plumbing provided by a new service layer.


As you'll see later in this article, we're so convinced that you can be productive with SOA using D6, that we've issued our first Developer Challenge, and it has a great incentive... money! So let the games begin!


A Path to SOA

Everyone who's been touched by SOA has had to come up to speed pretty quickly. Many developers were well prepared for it, but for some it's a pretty dramatic change in the way they develop or participate in developing solutions. So let me give you a little bit of my background... you might find similarities in your own path to SOA.


The early years of my computer-centric career were spent designing and building vertical applications. When I refer to applications, I mean standalone self contained programs built to solve a set of business problems.


More often than not, these were front ends to database systems. I quickly learned that creating reusable code was a desirable thing, and that others could make use of routines that I’d come up with. I published some of these utilities, and wrote a couple of books to give others the opportunity to leverage the work I’d already done.


One such utility was a data entry toolkit. Although I published the source code, most never looked at it, but instead simply put the libraries into place, made a couple of initialization calls, and let the utility do the work for them (cursor movement, entitlements, key violation checking, posting records, etc.)


What we all liked about this scenario was that when we had to implement a new data entry session, we were using well tested, bullet-proof code… so we could focus on the business problems at hand, and not spend all of our cycles (brain cells) on the underlying plumbing.


I’ve always gravitated towards the declarative over the procedural. I prefer to tell a database what I want (typically a SQL statement) and leave it up to the tool/platform to figure out the best way to do something, based on information gathered late in the game. True, there is always a procedural component to programming, but these days it comes more in the form of orchestration or choreography of declarative services.


Go West Young Man

At that time, I was pretty well known in the database community, and spoke at many conferences. Towards the end of 2000, partially because of my ability to get up in front of a crowd, I was offered a position as the Technical Evangelist for a West Coast startup company working on some super-secret projects. Even though I was based in New Jersey, I jumped at the chance because the company was formed by ex-Microsoft executives that had changed the world before, and I was delighted to be part of their new venture.


Actually, it was a pretty cool (but odd) position to be in. I got to speak to lots of people who wanted to find out what we were up to, and all I could say was “It’s cool, important stuff, but I can’t tell you about it right now”.


The people in this company were amazing. They were the who’s who of developers and engineers responsible for many things we take for granted today. The reason I mention this is that when these folk spoke… I listened intently (and absorbed as much as I could), having great respect for their capabilities and foresight. They were talking about things that were new to me, and the changing technology that was to support this process. And so it was that by January 2001, I had guzzled the Kool-Aid of Service Oriented Architecture and, in particular, Web Services.


I was all ready to move to the West Coast so I could be immersed in this erudite environment, when things abruptly changed one morning. The company suddenly had to reorganize (as startup companies are apt to do) and most of the team, including me, had to leave the company that day (a long complicated story, but with a happy ending).


A couple of months later, the company was purchased by BEA, and the team produced a breakthrough Java tool, the BEA Weblogic Workshop framework.



Early Adoption

I found myself back on the East Coast, working for a system integrator as a solution architect, and started the Documentum practice for the company.


The SOA indoctrination was (and still is) pretty tenacious. When I got my hands on an alpha version of Weblogic Workshop version 7 in early 2002, the very first thing I did was design web services that interacted with Documentum repositories. The prototype was a set of federated query services that queried metadata, and even transferred content from multiple repositories. We very quickly became painfully aware of the joys/traumas of transferring binary content over web services using base64 encoding/decoding.


One of the most important features of Weblogic Workshop was that its web services model was declarative. You simply set properties on a block of code and the web service plumbing was handled for you (WSDL, proxies, etc.). What really set the framework apart from everyone else at the time was that you could set properties that made the services asynchronous, and the framework would keep track of the conversational contexts of each call to the service. Very, very cool stuff… and it all actually worked back in 2002.


Granted, this was a prototype proof of concept piece, and customers weren't clamoring for it back then. SOA and Web Services was still as much buzz-word and marketing hype as reality, but progress was clearly being made on all fronts.


Where Are We Now?

Fast forward 5 years to 2007. Instead of “building applications”, more and more people are “composing solutions” built using services that others may be providing. Rather than having to develop everything for every project, we can leverage the work of experts, reusing black-box declarative routines that may run on remote servers.


The loosely coupled, coarse grained, asynchronous model is a very good thing. It’s one (and perhaps the best) way to make systems scalable. Instead of tightly coupling code consumers to the implementation, you simply agree to a contract and never have to care if the underlying implementation changes as long as the interface remains the same. It becomes a system of messages instead of direct (and fragile) connections.


Organizations are amassing large numbers of services and realize the need to implement Service Bus features to help manage the services, both technically and by facilitating Service Level and policy agreements between the service providers and consumers.


I could go on and on about this, and likely will in future columns. But as you can clearly see, I still taste the Kool-Aid… I’m an SOA believer.


SOA comes to Documentum

Why am I excited about this right now? D6 has been announced and details are becoming available. One of the most important additions is the Documentum Foundation Services (DFS) stack that let you access repositories via native support for Web Services. It would have been great to have these back in 2002… so it’s been a long time coming.


Not surprisingly, lots of people are interested in D6. So we've created a new feature in the Content Management Developer Center called Getting Ready for D6 for listing D6 specific content that will help you prepare for, and take advantage of, the new features.


Another great resource is Craig Randall (DFS Architect), who gave some very well attended sessions about the D6 DFS architecture and capabilities at the recent Software Developers Conference (SDC) at EMC World. We’ll be posting that session on the EDN soon, along with a follow-up audio interview. He also talks about his DFS presentation on his blog and with EDN members on the EDN discussion forums


We know that D6 is coming, and has important new SOA features. How do we entice developers to experiment with and embrace the SOA features? Well, it’s a challenge


Playing Games

People clearly like contests. As I flip through the TV channels, I keep seeing contestants standing nervously before a panel of judges... complete with suspenseful background music. Some of the contests are pretty interesting... many are insipid, and many have way way too much drama. Can we use games and contests to entertain and reward EDN members? Absolutely!


I've had the pleasure of co-hosting the last two SDC Challenge sessions. We prepared questions for SDC attendees, and offered prizes for correct answers. People were very enthusiastic participants, pretty competitive, and had a great time vying for some great prizes. However, the SDC events were just the beginning, and now we have challenges that let people from all around the world participate.


The First EDN Developer Challenge

One of the cool new additions to the EDN is the Developer Challenge page. Challenges are designed to show off your development skills in ways that will stretch, amuse and stump even the best developers. The challenges will come from a variety of sources (EDN, EMC Innovation Network, Universities, etc.) and will cover a wide range of technologies. The first one comes from the EDN: The D6 Web Services Challenge.


The Documentum team asserts that D6 is the essential platform for quickly building content enabled business applications within an SOA framework. So for this challenge, EMC has partnered with BEA and will provide all the software and tools that you’ll need to quickly develop a service based application… that must be completed in 30 days from the start of the challenge.


30 days, you say? That’s pretty ambitious. Well, yes.


So aside from showing off your development prowess, and having some bragging rights, there’s a little additional incentive… $100,000 in prizes (with $50,000 going to the first place winner).


Ah, now I’ve got your attention!


We’ve assembled a great mix of EMC employees and third party judges, all experts in their field. Entries will be reviewed for their technical design, adherence to SOA principles, functionality and usability.


For complete details about the challenge, click here. Registration will be opening soon, so now’s the time to start planning your entry.


As soon as the challenge was issued, developers had questions about it. There’s an area of the EDN discussion forums dedicated as the place to talk (and read) about this challenge. The forums are the best place to keep in touch with other developers, and collaborate on the ideas, process and details surrounding this time sensitive challenge.


There's a lot of incentive to participate. Maybe it's for the chance to play with new toys. Maybe it's for the glory of winning. Maybe it's just for the fun of it. Maybe it's one of 100,000 other reasons (all made of green paper) that will entice the entrants. Whatever the reason, we expect the members of the EDN to be active and vocal participants in the process and I'm looking forward to the discussions as much as I am looking forward to the solutions.


New - The WDK Automated Test Framework

Quality assurance and automated testing of custom WDK user interfaces has been difficult to implement. If you’re a WDK developer, we’ve got a great new tool for you.


It’s called the WDK Automated Test Framework, and it has capabilities to record, playback, and verify automated test suites for your WDK-based applications. It is integrated into the WDK itself, providing these capabilities all through an easy to use, web-based UI console.


This is a great example of collaboration, and available exclusively for EDN members. The WDK team’s developers recognized that the tools they used internally for automated testing of the WDK and WDK applications would be useful to anyone who works in WDK. At the SDC, they gave presentations about the tool and solicited feedback from the attendees. Since the SDC, discussions have continued on the EDN forum area dedicated to this topic. Once again (are you detecting a trend here?), the EDN forum is the place to talk to other developers and the WDK Test Framework team about the current feature set, and possible enhancements to the tool. Click here to see what people are talking about.


SDC at Momentum Monaco 2007

I mentioned this in my last article, and repeat it here because early registration discounts apply through August 17, so don't delay!


Because the SDC sessions were very well attended at EMC World, there will be a developer track at the upcoming European conference: Momentum Monaco 2007 (November 5-8) where the most popular Content Management sessions from SDC at EMC World will be repeated for the benefit of those who could not join us in Orlando.


So if you want to learn how to build applications on EMC Content Management software platforms, leverage new platform services, understand architectural direction, or tweak system performance, Momentum Monaco 2007 is the place to be in November.


Keeping Up With The News

We've made it easier for EDN members to keep up with new information. The best way is to keep an eye on the RSS Feeds:

What’s new at EDN
What’s new for Content Management
What’s new for Resource Management
Recent threads at the EDN forums. Note that there are also feeds for each forum subcategory, so you can really fine tune the kind of information you want to keep up on.


Get Connected

Developers always have a lot of questions when new products are announced. Even more questions arise when the products arrive and people adopt (and adapt to) new capabilities. We've got some of our architects and product managers as active participants in the new EDN Forums. The discussions should go well beyond the product implementations, and in addition to "How do we do this?", talk should include best practice "Why should we do this?", and "What should we be doing?" message threads.


The EDN forums are just getting off the ground. It's a unique place, and a unique opportunity for you to interact with developers from around the world. Let's talk about technologies, architectures, tools, coding, and of course the the new Developer Challenges. Don't be shy, speak up. It really is time to "Let The Games Begin!"


Alan Z.



Click here for an index of all "From The Editor" columns.


You can discuss "From the Editor" articles on the EDN Forums by clicking here.