Microservices meets case management: my post on the @Alfresco blog

Image lifted from my post on Alfresco’s blog, charmingly named “analyst_meme1”

I wrote a post on a microservices approach to intelligent case management applications for Alfresco, which they’ve published on their blog. It covers the convergence of three key factors: the business requirement to support case management paradigms for knowledge work; the operational drive to increase automation and ensure compliance; and the technology platform trend to adopt microservices.

It’s a pretty long read, I originally wrote it as a 3-4 page paper to cover the scope of the issues and cover case management examples in insurance claims, citizen services, and customer onboarding. My conclusion:

Moving from a monolithic application to microservices architecture makes good sense for many business systems today; for intelligent case management, where no one supplier can provide a good solution for all of the required capabilities, it’s essential.

Before you ask:

  • Yes, I was paid for it, which is why it’s there and not here.
  • No, it’s not about Alfresco products, it’s technology/business analysis.

2019 @Alfresco Day: RBC Capital Markets

Yesterday at the analyst day, Alfresco CEO Bernadette Nixon had a fireside chat with Jim Williams of RBC about their Alfresco journey, and today at the user conference, Williams gave us more of the details of what they’re doing. They had an aging platform (built on Pega) that wasn’t able to support their derivatives business operations adequately, having been designed for a single purpose without the ability to easily change, resulting in many manual processes.

They wanted to have a single BPM and ECM platform that would span all of their business areas for handling regulatory documentation, and they started in 2015 with their equities operations: not because it was easy, low-hanging fruit, but because it was complex and essential to get it right. They now have 14 applications built on the same framework, and 3,500+ users. Williams said that they specifically liked Alfresco because it doesn’t try to be everything but integrates with other products and services to do functions such as reporting or OCR; this is particularly interesting in the face of other vendor platforms that want to be everything to everyone, and don’t do some of the functions very well.

By 2016, they had rolled out applications in tax operations, which was essential to the changing IRS rules that required foreign banks like RBC to withhold tax on US investments unless clients could prove that they met non-resident requirements. This had to integrate with many of their other operational processes that followed. They also implemented content and process applications for HR due to some of their complex job role management in the UK, reducing dependency on spreadsheets and email for what are essentially core processes.

Like all of the very conservative Canadian financial institutions, their Alfresco implementation is all on premise rather than cloud, although they have cloud ambitions. It’s also important to note that although RBC is Canada’s largest bank, Capital Markets is a relatively small part of it; it will be interesting to see if Williams can carry the Alfresco message to other parts of the organization.

2019 @Alfresco Analyst Day: vision for the future with @JohnNewton

We wrapped up the 2019 Analyst Day with founder John Newton talking about Alfresco’s vision for the future.

Most digital transformation efforts today are focused on external experiences, that is, how a company interacts with its customers. However, there’s more to it than that: the external experience has to interact with employee experiences and operational systems; this linkage is what Newton calls digital operations. Looking at the ubiquitous onboarding use case, digital transformation is not just about the nice app that the customer sees to upload their documents: it’s also about the straight-through processing that manages what happens after the customer does that upload, or request a service. He points out that it’s all about the process, and that content follows the process. This, obviously, is music to my ears.

Customers need to think about their digital business platform, which is not the same as any vendor’s digital business platform: it’s more than that, and it may be made up of more than one vendor’s platform. It needs to handle the digital outside (customer-facing) as well as the digital inside (employee-facing), and the end-to-end processes and content repositories that link them. There are a number of disruptive technologies that are driving digital operations — cloud, microservices, edge computing, blockchain — and there will always be a new one to add to this list.

That took us to their strategic themes:

  1. Process-first digital operations, including process, content, search, governance and insight capabilities
  2. Global-scale, multi-cloud digital operations, which removes the enterprise infrastructure concerns such as scalability and global replication
  3. Artificial intelligence powering digital operations, with the modern range of AI services now widely available from the internet giants being applied to content and process
  4. Empowering business users with targeted solutions, and improved user experience
  5. Empowering builders to accelerate solutions, with development and deployment tools
  6. Differentiate open source and enterprise (note that this is the first mention of open source all day), with add-on capabilities to the open source core services and engines

Always an insightful speaker, and I’m particularly interested in how the layers above the API “surface” (such as the Alfresco Digital Framework and Digital Workspace built on the ADF) are adopted in practice versus direct API usage.

That’s it for the analyst day; I’ll be back tomorrow for the regular user conference.

2019 @Alfresco Analyst Day: partner strategy

Darren Yetzer, Alfresco’s VP Channel, took us through their partner strategy, and hosted conversations with Bibhakar Pandey of Cognizant and Matt Yanchyshyn of AWS.

The Alfresco partner ecosystem has three divisions:

  • Global system integrators
  • Local/regional system integrators
  • Technology and ISVs

In the breakout discussions that we had earlier in the afternoon, there were various discussions on the strategy focus on vertical use cases, and how partners will need to fill some big part of that need since Alfresco isn’t in the vertical application business. Obviously, Alfresco needs to have more than just a logo salad of partners: they need partners that can work with customer to develop vertical solutions, make sales and extend functionality.

Pandey sees Alfresco’s platform as a way for them quickly create domain-specific content-centric solutions for their clients that include integration with other platforms and systems. They don’t want to have to build that base level of capabilities before starting with their solution development, so see a platform like Alfresco being table stakes for working effectively as an SI. Cognizant works with a broad scope of customer organizations, but Pandey highlighted insurance as one vertical that is ripe for the content capabilities offered via Alfresco’s platform. He focused on the cloud-native capabilities of Alfresco as essential, as well as the microservices architecture that allows specific functions to be deployed and scaled independently.

The Amazon AWS partnership is much different and even more significant from a platform functionality point of view: we saw this beginning at last year’s Alfresco Day with the significant announcements about native AWS containerization, and continuing now with the integration of their AI/ML services. Yanchyshyn discussed how Amazon is now developing domain-specific intelligence services, such as Comprehend Medical, and how organizations will start to take advantage of this higher-level starting point for mapping their business use cases onto Amazon’s AI/ML services. He sees Alfresco as being an early adopter of these services, and uses them as an example of what can be done to integrate that into larger platforms.

2019 @Alfresco Day: Go To Market Strategy

Jennifer Smith, Alfresco’s CMO, gave us an expansion of the GTM strategy that Bernadette Nixon spoke about earlier today.

Their platform is based on a single cloud-native platform combining content, process and governance services, on which they identify three pillars of their horizontal platform approach:

  • Modernization and migration, providing tools for migrating to Alfresco quickly and with minimal risk
  • Coexistence and integration, allowing for easy integration with third-party services and legacy systems
  • Cloud-native and AWS-first, with deep integration and support for AWS cloud platform, storage and AI/ML services

Their vertical use case approach is based on a typical land-and-expand strategy: they take an existing implementation with a customer and find other use cases within that organization to leverage the platform benefits, then work with a large enterprise or partner to develop managed vertical solutions.

We saw a demo of a citizen services scenario: to paraphrase, a government agency has old, siloed systems and bad processes, but citizens want to interact with that agency in the same way that they interact with other services such as their bank. In a modernized passport application example, the process would include document upload directly by the citizen, intelligent classification and extraction from the documents, fraud detection by integration with other data sources, natural language translation to communicate with foreign agencies, and tasks for manual review. Although the process and content bits are handled natively by Alfresco, much of the intelligence is based on Amazon services such as Comprehend and Textract — Alfresco’s partnership with Amazon and AWS-native platform make this a natural fit.

We’re off to some breakouts now then partner strategy this afternoon, so it might be quiet here until tomorrow.

2019 @Alfresco Analyst Day: use case with RBC Capital Markets

Jim Williams, Head of Operations and Shared Services Technology for RBC Capital Markets had an on-stage fireside chat with Bernadette Nixon about what they’ve been doing with Alfresco over the past five years.

The focus of their implementation is back office operations, including trade confirmations, settlement and other transactions, especially with all of the regulatory implications and changes. They started looking at this in 2015 for a specific use case (equity trade confirmations) when they had no cohesive platform and many manual processes, and now have several different applications on Alfresco technology. Their transactions tend to be more complex, not just simple financial transactions, so have specific concerns with integrating multiple sources of information, and multiple business rules regarding regulations and compliance. They were an early customer for the Application Development Framework (ADF), and it has allowed them to build apps more quickly due to shared components such as single signon. They’re now replacing some of their 10-year-old legacy processes that were initially on Pega, providing more agility in the deployed processes.

He shared some great feedback from the actual users of the applications on their experience and the benefits that they’re seeing, which included the usual operational hot buttons of simplification, cost reduction, productivity increase, reduced risk and scalability, plus innovation and transformation. He joked that they’ve reduced their organizational dependency on Excel, but that’s a very real measure: when I work with enterprise customers on improving processes, I always look for the “spreadsheet and email” processes that we need to replace.

They explored RPA technology but came to the inevitable conclusion that it was just a stopgap: it can make a bad process work a bit faster or better, but it doesn’t fundamentally make it a good process. This was an interesting comment following on a side conversation that I had with Nixon at the break about how Lean Six Sigma initiatives — still all the rage in many financial organizations — are more about incremental improvement than transformation.

Happy to see a process-centric use case taking top billing here: I may need to reassess my earlier statement that Alfresco sometimes forgets about process. 🙂

2019 @Alfresco Analyst Day: update and strategy with @bvnixon

Bernadette Nixon, who assumed the role of CEO after Alfresco’s acquisition last year, opened the analyst day with the company strategy. They seem to be taking a shot at several of their competitors by pushing the idea that they’re one platform, built from the ground up as a single integrated platform rather than being a “Frankenplatform” pieced together from acquisitions. Arguably, Activiti grew up inside Alfresco as quite a separate project from the content side and I’m not sure it’s really as integrated as the other bits, but Alfresco sometimes forgets that content isn’t everything.

Nixon walked through what’s happened in the past year, starting with some of their customer success stories — wins against mainstream competitors, fast implementations and happy customers — and how they’ve added 126 new customer logos in the past year while maintaining a high customer renewal rate. They’ve maintained a good growth rate, and moved to profitability in order to invest back into the company for customer success, developing their teams, brand refresh, engineering and more. They’ve added many of the big SIs as new partners and are obviously working with the partner channel for success, since they’ve doubled their partner win rate. They’ve added five new products, including their Application Development Framework which is the core for some of the other products as well as the cornerstone of partner and customer success for fast implementation.

They commissioned a study that showed that most organizations want to be deployed in the cloud, have better control over their processes, and be able to create applications faster (wait…they paid for that advice?); more interestingly, they found that 35% of enterprises want to switch out their BPM and ECM platforms in the next few years, providing a huge opportunity for Alfresco and other disruptive vendors.

Alfresco is addressing the basic strategy of a horizontal platform approach versus a use case vertical approach: are they a platform vendor or an application vendor? Their product strategy is betting on their Alfresco Digital Business Platform targeted at the technical buyer, but also developing a go-to-market approach that highlights use cases primarily in government and insurance for the business/operational buyer. They don’t have off-the-shelf apps — that’s for their partners or their customers to develop — but will continue to present use cases that resonate with their target market of financial services, insurance, government and manufacturing.

A good start to the day — I’ll be here all day at the analyst conference, then staying on tomorrow for the user conference.

Open Source BPM with Alfresco’s Activiti

When Tom Baeyens announced that he and Joram Barrez stepped down from the jBPM project, he hinted about a new project, but details have been sparse until now except for a post that stated that they’re working on an open source BPMN 2.0 offering, plus one that gave unprecedented (for Tom) attention to ECM, which should have tipped me off as to their direction. Turns out that they have both joined Alfresco and are spearheading Activiti, an Apache-licensed open source BPM project, announced its Alpha 1 release today with a planned November GA date. From the press release:

An independently-run and branded open source project, Activiti will work independently of the Alfresco open source ECM system. Activiti will be built from the ground up to be a light-weight, embeddable BPM engine, but also designed to operate in scalable Cloud environments. Activiti will be liberally licensed under Apache License 2.0 to encourage widespread usage and adoption of the Activiti BPM engine and BPMN 2.0, which is being finalized as standard by OMG.

I met Tom face-to-face a couple of years ago when we ended up at different conferences in the same conference center and had a chat about total BPM world domination; interestingly, at the time he expressed that “BPMN should stick to being a modeling notation…and the mapping approach to concrete executable process languages should be left up to the vendors”; obviously, BPMN 2.0 execution semantics have changed his mind. 😉

Activiti Modeler - process designJohn Newton, CTO of Alfresco, and Tom Baeyens, in his new role as Chief Architect of BPM, briefed me last week on Activiti. The project is led by Alfresco and includes SpringSource, Signavio and Camunda; Alfresco’s motivation was to have a more liberally-licensed default process engine, although they will continue to support jBPM. Alfresco will build a business around Activiti only for content-centric applications by tightly integrating it with their ECM, leaving other applications of BPM to other companies. I’ll be very interested to see the extent of their content-process integration, and if it includes triggering of process events based on document state changes as well as links from processes into the content repository.

They believe that BPEL will be replaced by BPMN for most general-purpose BPM applications, with BPEL being used only for pure service orchestration. Although that’s a technical virtuous viewpoint that I can understand, there’s already a lot of commitment to BPEL by some major vendors, so I don’t expect that it’s going to go away any time soon. Although they are only supporting a subset of the BPMN 2.0 standard now – which could be said of any of the process modelers out there, since the standard is vast – they are committed to supporting the full standard, including execution semantics and the interchange format.

Activiti includes a modeler, a process engine, an end-user application for participating in processes, and an administration console. Not surprisingly, we spent quite a bit of time talking about Activiti Modeler, which is really a branded version of Signavio’s browser-based BPMN 2.0 process modeler. This uses AJAX in a browser to provide similar functionality to an Eclipse-based process modeler, but without the desktop installation hassles and the geeky window dressing. It is possible to create a fully executable process model in the Activiti Modeler, although in most cases a developer will add the technical underpinnings, likely in a more developer-oriented environment rather than the Modeler. Signavio includes a file-based model repository, which has been customized for inclusion in the Activiti Modeler; it would be great to see if they can do something a bit more robust to manage the process models, especially for cloud deployments. They are including support for certain proprietary scripting instead of using Java code for some interfaces, such as their Alfresco interface.

Activiti Explorer - end-user interfaceActiviti Explorer provides a basic end-user application for managing task lists, working on tasks, and starting new processes. Without a demo, it was hard to see much of the functionality, although it appears to have support for private task lists as well as shared lists of unassigned tasks; a typical paradigm for managing tasks is to allow someone to claim an unassigned task from the shared list, thereby moving it to their personal list.

The Activiti Engine, which is the underlying process execution engine, is packaged as a JAR file with small classes that can be embedded within other applications, such as is done in Alfresco for content management workflows. It can be easily deployed in the cloud, allowing for cross-enterprise processes. The only thing that I saw of Activiti Probe, the technical administration console, was its view on the underlying database tables, although it will have a number of other capabilities to manage the process engine as it develops. Not surprisingly, they don’t have all the process engine functionality available yet, but have been focusing on stabilizing the API in order to allow other companies to start working with Activiti before the GA release.

Activiti Cycle mockup - design collaborationI also saw a mockup of Activiti Cycle, a design-time collaboration tool that includes views (but not editing) of process models, related documents from Alfresco, and discussion topics. Activiti Cycle can show multiple models and establish traceability between them, since their expectation is that an analyst and a developer would have different versions of the model. This is an important point: models are manually forward-engineered from an analyst’s to developer’s version, and there are no inherent automated updates when the model changes, although there are alerts to notify when other versions of the same model are updated. This assumption that there can be no fully shared model between analyst and developer has formed a part of a long-standing discussion between Tom and I since before we met; although I believe that a shared model provides the best possible technical solution, it’s not so easy for a non-technical analyst to understand BPMN models once you get past the basic subset of elements. Activiti Cycle may not be in GA until after the other components, although they are working on it concurrently.

The screen shots that I saw looked nice, although I haven’t seen a demo yet; Tom gave credit to Alfresco’s UI designers for raising this above just another developer’s BPM tool into something that could be used by non-developers without a lot of customization. I’m looking forward to a demo next month, and seeing how this progresses to the November release and beyond.