Archive for June, 2007

LiveCycle ES – What it means for RIA Developers

If you’re a creative developer familiar with Adobe products, you can’t but fail to be aware of creative suite – a suite of applications that assist creative professionals in their design work.  As Adobe further extends it’s reach into the Enterprise software market, the latest launch of the LiveCycle suite of products has been released with the ES ("Enterprise Suite") branding – as designers work with CS3 and beyond, enterprise software developers will deliver solutions using ES and beyond.  I’d like to use this blog post as an introdution to what LiveCycle ES means for application developers, and followup with some more specific looks at the solution components within LiveCycle ES – akin to the creative components like Flash, Photoshop, Dreamweaver, etc, that ship as part of Creative Suite.

John Dowdell commented on his blog, "I think this announcement is more significant than it may appear".  John is absolutely correct – I think LiveCycle ES is a massive step-forward for enterprise software developers, including (but not limited to) RIA developers who focus on delivering RIA solutions that might be termed "enterprise scale".

In this post, I’m going to begin to focus on what LiveCycle ES means for Enterprise RIA developers.

Enterprise Rich Internet Applications

But before I progress; let me make something clear in my terminology – there is no complex of superiority or "my RIA is better than your RIA" when I use the term enterprise.  When I was running my own software consultancy, I used to employ the phrase "Enterprise RIA" to differentiate the kind of applications that we were trying to deliver with Rich Internet Applications, versus some of our colleagues in other consultancies who were building more interactive applications upon the Flash platform.

When we were talking about Enterprise RIA, we were talking about rich and immersive user-experiences, delivered with Flex, that sat upon new and existing infrastructure within an enterprise software stack.  Our typical customers were financial services organisations, many of whom who were (and many who still are) engaged in initiatives to deliver service oriented architectures (SOA) within their organisations, exposing their internal business systems and processes in such a manner that they might be consumed easily and consistently across their organisation, achieving the much touted benefits of reuse and business agility (the ability to more rapidly deliver new and innovative solutions).  Within Adobe, our enterprise focus extends beyond financial services to also include Government, Life Sciences (Healthcare) and Manufacturing organisations.

So when I talk about delivering Enterprise RIA, I’m talking about building Rich Internet Applications that sit within these kind of infrastructures.  I’m talking about solutions where the rich and immersive user-experience that an RIA promises to deliver is only part of a much deeper engagement with the customer; where behind the "apply for loan" button there is a rich orchestration of services responsible for address verification, online decisioning, kicking off the generation of a printed form that needs to be sent to you for signature, for the long-lived process to spring back into life when your application form has been received by you, signed (what we call a ‘wet signature’), posted back to the organisation and when received, entered back into the system (hopefully without any manual rekeying of your form with the information you previously entered – you don’t believe this happens ?  You have too much faith in the organisations you typically engage with), approved, before your loan is approved, you are notified by mobile phone and email, and the appropriate documentation is sent to an output server to be automatically printed, stuffed into an envelope, shipped to your address, before being added to your online portfolio of products the next time you login to your bank.  That was a big sentence, with lots of clauses.  But you can see the RIA front-end was one part of that clause – the tip of the proverbial iceberg as it were.  So much more has to be orchestrated to happen in order that your engagement with the organisation you just applied for a loan with is an effective and memorable one.

I’m not saying these "Enterprise RIA" are any more ingenious, valuable, well-engineered, worthy of praise or innovative than the other applications you may be building – scrapbooks, fully fledged online word processors, photo editing applications and timesheet management systems are equally impressive applications of RIA technology.  However, it’s less often that these applications reach so far back into the depths of an enterprise, where the experience of the customer engagement can be as impacted by what happens after you click the final button as what happens to get you are guided more simply, more easily and more effectively towards that button click.

So that’s a big segue; but I just want to be sure that no-one feels disqualified when I talk about Enterprise RIA, but simply recognise that I’m describing a particular category of Rich Internet Application, that sits firmly upon existing enterprise infrastructure within an organisation.  That’s the kind of stuff my team are building, and I know it’s the kind of stuff that many of you are building also. And these are the kind of applications where I think LiveCycle ES becomes a powerful set of tools for you to deliver your Enterprise RIA with.

So if i’m building Enterprise RIA, what’s LiveCycle ES offering me ?

So when we operate in vertical markets like financial services, government organisations, life sciences or manufacturing, there tends to be a lot of processes and a lot of paper. 

Proceses to change your address, or to take a 6-month payment holiday on your mortgage.  Forms to be completed when you want to file a tax return, prescriptions that need to be renewed or medical reports that need to be securely exchanged throughout a healthcare provider, or RFQs that need to be submitted to potential suppliers, with securely attached CAD drawings that should not be inadvertantly sent outwith the receiving organisation before bids are collected and the contract awarded.

When people think about PDF, they often think about a read-only document format.  In fact, when you see people asking about alternate clients to Reader, often what they are missing are the sheer number of things that can be done with a PDF other than simply rendering a document electronically.  PDF forms can be edited electronically – online and offline, they can be digitally signed, they can be secured (rights managed), they can be assembled on the fly by compiling a document from document fragments and merging PDF templates with dynamic data.   Electronic PDF forms can be adorned with two-dimensional barcodes, the barcode image representing the data entered into the form – once that form is printed and signed, the barcode can be scanned to immediately extract the data from the paper form and eliminate the previously necessarly manual rekeying following a wet-signature step.  And much much more. 

Adobe LiveCycle comprised a number of products that were able to perform these manipulations of PDF documents, enabling enterprise software developers to create enterprise software solutions that more effectively moved paper around an organisation, and orchestrated processes where there were journeys that crossed the online digital world to the offline paper world, and back again.

Adobe LiveCycle ES delivers all of these different services within a single enterprise run-time – a service oriented architecture delivered as an integrated J2EE solution that blends electronic forms, process management, document security and document generation services.

If you’re an RIA developer or a development shop that recognises the benefits that Rich Internet Applications can bring to your customers, and to your customer’s customers, then you’re probably building solutions that have as many challenges to solve under the water-level, on some of these areas, as the tip-of-the-iceberg user-experience that you are addressing with RIA.  And this is where LiveCycle ES really strengthens your end-to-end proposition to your customers.

If you want an example of the kind of solutions I might be speaking about, the LiveCycle ES pages do a great job of breaking out some of the recurring solution patterns that we have observed in some of our target vertical markets:

I’m sure some of these solution patterns are familiar to you, and I’m sure you face many more with your own customers.

LiveCycle ES – Solution Services in a Service Oriented Architecture

One way to think of – and a correct way to think of – LiveCycle ES, is as a service oriented architecture (SOA) that exposes a number of different services that are useful in the delivery of end-to-end Enterprise RIA solutions.  When you take a look at the LiveCycle Enterprise Suite Solution components, then the CreativeSuite analogy is a good one.  Just as you might employ Dreamweaver to manipulate some HTML, then employ the services of Flash when you wish to create an interactive animation that targets that Flash Player, and then employ the services of Photoshop where you wish to manipulate some design work, so too can you employ the services of LiveCycle ES when you wish to perform server-side business processes.

LiveCycle ES delivers a number of solution components, each of which sit upon and within a common LiveCycle ES Foundation architecture, that handles common administration functions, invocation services, orchestration and security.  I’ll cover each individual solution component in more detail in follow-on postings, however for the time being you can review these components on the LiveCycle ES Solution Component web pages.

Flex and Apollo Developers can easily invoke LiveCycle ES Services through Remoting Endpoints

Each and every service in the LiveCycle ES architecture can be easily invoked and consumed by a Flex or Apollo Rich Internet Application.  LiveCycle ES remoting ensures that each servic is exposed to Flex as a remoting endpoint, however there are a number of different endpoint technologies, including Web Services, for the invocation of LiveCycle ES services from a client to a server.

This is the first piece of the puzzle for Flex developers; in an instant, all of these services exposed by LiveCycle ES can be immediately and easily consumed by an Enterprise RIA.

Capture Data Quickly and Effectively using Form Guides

When you deliver Enterprise RIA, you’ll find yourself creating forms.  Lots of forms.  Flex forms that deliver on the promise of removing the end-user from the frustrations of the request/response paradigm to create single-screen form experiences that leverage user-experience patterns such as accordions and wizards, to allow the end user to seamlessly navigate through a multi-step application form, completing the form in the order they so desire.

Form Guides are a tremendous labor-saving addition to LiveCycle ES; so much so that they’re going to merit a separate blog post.  But for now, let me outline some of the heavy lifting that LiveCycle ES can offer.  There’s a lot of merit to capturing this data into a PDF – as I’ve outlined above, once data is captured as an electronic form, there’s a tonne of things we can do to it, from digitally signing it, rights managing it, barcoding it prior to a wet-signature, completing it offline or having it participate in a long-lived process.  BUT – forms are also a user-experience designed to squeeze as much information onto as few sheets of paper as possible, and not necessarily conduisive to a great user-experience.  Which is what RIA are for, right ?

LiveCycle ES allows analysts and non-developers to create forms; you can start by scanning in an existing paper form, or by importing a word file for instance, and then slowly turning that form into something electronic, with form fields, and validation rules and the like.  Previously, these interactive forms would then render as an editable PDF – however, using the same Form Designer, LiveCycle ES can now automatically generate a Flex-based RIA form, known as a Form Guide.  As a Flex developer, you have complete control over the look, feel and behavior of these forms within an organisation – from the simplest of CSS styling through to more code-level customisation.  But the key thing here, is that these forms can be designed by an analyst in a design tool, automatically code-generated, and given a consistent look and feel across an organisation.  We’ve engaged in projects with literally thousands of forms, and the labor saving that Form Guides offers is tremendous – with the additional bonus that the RIA form is actually rendering the same data as an underlying PDF, so that we can swap between a PDF-world view or an RIA-world view of the form, and perform any of our LiveCycle ES service operations upon that form.

Summary

I’ve only touched on the different ways in which LiveCycle ES is bringing the RIA and LiveCycle technologies from Adobe and Macromedia together.  I’ve only touched on the service oriented architecture of LiveCycle ES that dramatically simplifies the manner in which an enterprise software developer can leverage LiveCycle ES services into their own software applications.  And I’ve only touched on the utility of these services to Enterprise RIA developers who are delivering solutions into verticals like financial services, government, life sciences and manufacturing.  And I haven’t even begun to touch on what this means for the existing LiveCycle customer-base, for whom HTML and PDF online experiences can be easily upgraded to deliver much more effective user-experiences upon the Adobe Flex platform, with as little coding as the development team feels comfortable with.

In future blog entries, I’ll look at the various LiveCycle ES solution components in more detail, and help you to understand how you can leverage these solution components in your own application development.

In addition, I’ll talk more about the ways in which Flex and LiveCycle ES come together, and explore how we can more easily create innovative and immersive user-experiences that extend our customer engagement beyond the screen and deep into the enterprise processes that happen under the water-level.

However, as an increasing number of options emerge for creating Rich Internet Applications, I think LiveCycle ES is a tremendously valuable addition to the technology stack for Enterprise RIA development upon the Adobe platform.  Not only do we have an RIA platform in Flex, that is steaming towards it’s 3rd release, but sitting underneath this proven front-end architecture we have an SOA architecture in LiveCycle ES that offers a tremendous number of services that are immediately valuable when delivering the kind of solutions I’ve outlined above.

As John Dowdell said, "I think this announcement is more significant than it may appear".  I’ll say so – we just got ourselves a brand new platform in Flex and LiveCycle ES for the delivery of bet-the-business mission-critical enterprise RIA in vertical markets like Financial Services, Government, Life Sciences and Manufacturing.

I’ll say that’s significant.