One is from Ross Mason, Founder and CTO of MuleSoft, 5-ways-not-to-screw-up-your-api-strategy
The other from Adrian Hsieh, how-to-build-multi-tenant-iapps-using-mule-studio
You see we at O4BO agree with both of these, and we have designed our Platform around Mule ESB, Liferay and Corent Technology Multi Tenant Server to deliver a customization rich environment to our subscribers. Software as a Service aka SaaS has in the past been all about ONE solution, with CRM it was SalesForce.com and with ERP it was NetSuite. Both of these have moved in the direction of Platform as a Service aka PaaS with two severely limiting constraints, they are both based on proprietary applications and technology stacks that "Lock In" their subscribers.
O4BO provides more features than either one of these giants, and we provide per tenant customization and the rest of this blog post will show you how we do it at a high level.
First the open source technology stack:
- IBM SmartCloud Infrastructure for reliability, scalability and performance.
- Liferay Portal for customization of User Interface, Web Content Management and Collaboration
- OpenBravo for ERP, Accounting, Financials, Inventory and eCommerce
- Pentaho for Business Intelligence and Analytics
- Sugar CRM for Customer Relationship Management and SalesForce Automation
- JackRabbit for Java Content Repository
- Mule ESB for Integration, Workflow management and more.
- Corent Multi Tenant Server for True Multi Tenancy
- Java is the programming language for all but Sugar CRM above
Per Tenant Customization can be described with the following Scenarios
- A Tenant wants to add a Portlet to their portal to access an internal or external application or site. This is done completely in Liferay with dozens of Portlets to choose from and custom portlets that can be imported and deployed on a Per Tenant basis. We provide Portlets into all the applications and the Tenant may use Pentaho to publish Portlets for Dashboards, Reports, and more.
- A Tenant that needs a custom portlet can create their own in any JSR-168 Compatible Portlet technology such as Spring MVC, Spring JSF, AJAX or even Flex/Flash. All of the APIs for all of the applications are available. An example would be a custom form that lets the user select from data located on a Legacy system and input into one of our applications.
- If a Tenant wants a particular business process to do even more complex conditional processing, a good candidate as you might guess from the referenced MuleSoft articles is the use of Mule ESB to route an event and do conditional processing. This might be to split an input form into several messages to internal and external systems, or to set business rules and do conditional routing or to synchronize data. An example would be an external web store that needs to interact with Inventory, Billing and CRM when an order is placed. Instead of a lot of custom programming, the submit of the order can be routed to all three systems and adapted so the needed information is posted to each, whether they are internal O4BO applications or not.
- A tenant that needs even more may choose to modify the sources of any of our applications. All our applications are open source and if a customization to a module or entity or some other feature of OpenBravo, Pentaho, Sugar CRM is needed, our tenants are free to do that themselves or with one of our partners, and because all our applications run on our platform with Liferay, Mule ESB and Corent Multi Tenant Server, we can provide a virtual machine with the customized application or module in a seamless way while preserving the integrity of all the applications and database.
- Lastly, we can use Web Application building technology like Wavemaker or WorkXpress to provide new application capabilities without extensive or expensive programming. These tools let business people design and build applications entirely on the web in a Portlet on the O4BO platform. These applications also have FULL access to all the facilities above for a rich customization environment beyond compare.
Why pay more for simple SaaS with limited customization and vendor Lock-In, when you can go with O4BO for less and get more customization ability than you may ever need with absolutely no Lock-In?