One API To Rule Them All!

I have spent the last six years customizing, integrating and extending a menagerie of different ECM systems.   Each system has it’s own features, drawbacks, pitfalls and of course, APIs.  The APIs for the systems I work with come in all sorts of flavors; COM, .NET, Java and Web Services to name a few.  Every once in a while I ask myself, would it be possible to write a single library that encompasses all of these ECM systems, or at least, the most common ones?

Lets look at this in more details. For starters, we need to define the common features found in most ECM systems.

  • Create content.
  • Search for content.
  • Get content item.
  • Update content item.
  • Update content metadata.
  • Delete content item.

Every system implements each of these features a bit differently. For instance, to create a new revision of a content item, some systems require an explicit API call to do so.  Other systems will automatically create a revision of a content item if its metadata values match an existing item.  These nuiances need to be considered and fleshed out.

What language/technology should this uber library be implemented in?  The most flexible approach would be web services. This way we can make calls into our library from just about any modern language.  However, web services have some draw backs as well.  Uploading large (10MB+) files to a web service can be complicated.  What happens when you want to upload or download a 100MB, or 1GB file?

How should our library deal with licensing.  Some ECM systems use per seat licensing, while others user per processor.  If you are dealing with a system that uses per seat licensing, you will need to manage your number of connections.  If you use up too many licenses, end users could find themselves locked out of the system!

At this point I have only scratched the surface of my original question.  There are many more considerations to take into account before deciding to write a single library to access all of your ECM systems.  The conclusion I have come to, is that it is simply too complicated to wrap more than one ECM system’s API into a single library.

Tyson Magney
Senior Developer
ImageSource, Inc.

 

One thought on “One API To Rule Them All!

  1. Today, while I was at work, my cousin stole my iPad and tested to see if it can survive a
    25 foot drop, just so she can be a youtube sensation.
    My apple ipad is now broken and she has 83 views. I know this
    is entirely off topic but I had to share it with someone!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s