Join the 85,000 open source advocates who receive our giveaway alerts and article roundups.
Open source the enterprise with Appnovation's Canopy Initiative
The Canopy Initiative compels open source technologies to integrate
Get the newsletter
Appnovation Technologies began as a Vancouver-based Drupal development shop and has since expanded to provide solutions for mobile, enterprise content management, middleware, and big data, using other open source technologies like: HTML5, Alfresco, MuleSoft, and Hadoop.
Recently, Appnovation expanded their scope again. They want to show that adopting and integrating open source technologies into IT environments is good for everyone's bottom line as well as good for the future of open source in the enterprise. Through the support of its partners, Acquia, Alfresco, and MuleSoft, Appnovation is fostering this effort with a slew of programs including customer councils and case studies, partner and customer alignment activities, reference architectures, an open source code base, and best practices for integration. All of which are focused on making open source adoption and integration for enterprise level companies, organizations, and government entities an enticing option.
It's called the Canopy Initiative and one of its development leads is senior developer, Steve Power. I emailed with him about how the project is going and what the integration was like between the two technologies the Canopy Initiative was started with, Drupal and Alfresco.
Read more in this interview with Steve Power.
Why do you believe that open source is the right choice for the enterprise?
The obvious and first answer here is cost. Why pay software license fees upfront and/or annually for something you can get for free? The larger the enterprise and user base, the more money companies can save, and likewise spend, on development of the open source solution to meet their specific business and IT needs. Then the question becomes: "How good is the quality?" Today’s open source alternatives provide comparable quality in terms of code, security, scalability, and sustainability, which are all hot button issues for enterprise level customers when it comes their choice of software solutions. Lastly, the fact is with open source there is no vendor lock in, so organizations are not dependent on any one service or provider. And, in today’s market most leading open source technologies offer commercial support.
What were your clients trying to achieve in the enterprise that initiated the creation of framework to integrate Drupal's web content management platform with Alfresco's content management application?
The initial premise of the Canopy Initiative was to combine the flexible presentation layer that the Drupal content management system (CMS) provides with the enterprise content management functionality (ECM) that Alfresco provides.
Being able to integrate these two systems to complement each other as well as scale them to any size as needed for an enterprise level client provided an ideal solution for companies looking for a powerful backend, to house such items as documents and records, and customizable front end that would enable a feature-packed way to present them. We are committed to enabling open source in the enterprise, so we've made the Drupal/Alfresco integration portion of Canopy available for download.
What challenges did you find as you began getting these two technologies to work together?
One big challenge we faced was identity management across the two systems. While getting Drupal to talk to Alfresco on a basic level can be quite straightforward, doing it in a way that maintains identity across the two systems can be quite challenging. When a user logs into a Drupal site that interacts with Alfresco on the back end, for example, you would expect the user credentials to carry through from Drupal to Alfresco. However, neither Drupal nor Alfresco have a simple out of the box solution for that and we have had to resort to external services like LDAP and SSO in order to maintain that identity across the two systems.
Another challenge we faced was that Drupal is a PHP based system and Alfresco is Java based, so it is difficult to find people who can be proficient in both environments. We therefore, for the most part, needed to segment out those two development environments and more or less now have two development teams that work jointly. This can sometimes be cumbersome and can also result in very few individuals who have a full understanding of how the whole system works.
Were there challenges with security and code quality?
We have not really had issues with security when deploying Drupal/Alfresco implementations; many of the implementations we have done have been intranet based and totally behind a company's firewall. We have had to put a lot of effort, however, into supporting strong identity management and SSO systems because that is a key factor in getting these two systems to talk to each other in a secure way.
In terms of code quality, there can be challenges there when dealing with development projects that involve multiple technology environments and languages. However, code quality is a challenge on every development project and there are common best practices to ensure code quality is of an acceptable standard, those best practices apply well here too. Code reviews, regular architectural reviews, and daily scrums as well as a strong code management policy is a must on such projects and probably needs more emphasis when dealing with such diverse environments and developer talent. The Canopy module available on Drupal.org went through this when it was being created by Appnovation but also had to be further reviewed, and ultimately approved, by other members of the Drupal community before being considered an official project.
The goal of the Canopy Initiative is to make open source successful for the enterprise. How are you nurturing open source organizations to be leaders in the mission?
Inherently, the goal of all the major commercial open source companies is to make their open source products successful in the enterprise, but with the Canopy Initiative the idea is to have the companies work hand in hand to help build a true open source enterprise. Appnovation is system integration partners with all these companies and through these relationships we've begun to work together to bring these companies even closer together.
Under the banner of the Canopy Initiative, we host Partner Enablement Activities where we bring executives, sales, and marketing teams and technical folks together to meet one another and understand each others offerings better to help enable them to work together in further pushing open source technology across the stack. There is benefit for all the companies involved by learning about other open source technologies and how they integrate with each other and complement each other in the enterprise. Beyond networking events we host webinars, provide technical enablement sessions, have a customer council, provide reference architectures, open source code bases, as well as, provide customer case studies that all to help nurture these organizations to continue to work together to enable an open source enterprise.
Your long term plan is to identify best of breed open source technologies and the companies that support them. How do you plan to do that?
In terms of identifying best of breed technologies in the open source space, we look at how the market is changing and which open source technologies and commercial companies provide the leading open source technologies in terms of quality of product, support and service offering, market reach, and the ability to compete with their proprietary counterparts. There are numerous fantastic open source projects out there but the Canopy Initiative will work with our partners to choose the leading commercially supported open source technology in particular areas such as WCM, ECM, ESB, Big Data, NoSql, BI Tools and Analytics, HTML5 Frameworks, and Big Data Technologies. As other open source market segments mature further we might look at technologies in the ERP space for example.