FOSS in the Enterprise
Foss4Gov Conference 2013, Colombo
By Crishantha Nanayakkara
The Enterprise
Enterprise Application
Silos
Enterprise Application
Enterprise Application
Enterprise Application
Enterprise ApplicationEnterprise Application
Enterprise Application
The Enterprise
Enterprise Application
Enterprise Application
Enterprise Application
Enterprise Application
Enterprise ApplicationEnterprise Application
Enterprise Application
The Enterprise
MiddlewareMiddleware
Enterprise Application
Enterprise Application
Enterprise Application
Enterprise Application
Enterprise ApplicationEnterprise Application
Enterprise Application
Enterprise Applications
● Most of the Enterprise Applications are,
– Large – multi­user, multi­component, 
distributed, complex logic, persistent data
– Business Oriented
– Mission Critical – robust, flexible, scalable 
Enterprise Application/ Software 
Types
● Electronic Content Management (ECM) Systems 
● Business Intelligence (BI) Systems
● Business Process Management (BPM) Systems
● Customer Relationship Management (CRM) Systems 
● Enterprise Resource Planning (ERP) Systems
● Rules Engines
● Report Engines
● Database Systems
Enterprise Resource Planning
(ERP)
AccountingAccounting
Asset
Management
Asset
Management
Warehouse
Management
Warehouse
Management
ManufacturingManufacturing
Order
Processing
Order
Processing
HR
Management
HR
Management POSPOS Product
Management
Product
Management
InventoryInventory
Open Source Tool : Apache OfBiz 
URL: http://ofbiz.apache.org 
License: Apache (ASL) V2
Written In: Java
Description: 
A complete open source ERP solution written in Java.
Good for small and medium size businesses
Open Source Tool : OpenTaps 
URL: http://www.opentaps.org 
License: AGPL V3
Written In: Java
Description: 
A complete open source ERP solution which is 
A fork of Apache OfBiz coming with dual license model.
Open Source Tool : 
OpenERP 
URL: 
https://www.openerp.com/ 
License: 
AGPL V3
Written in: Python
Customer Relationship Management
(CRM)
CRMCRM
Customer
Feedback
Customer
Feedback
Customer
History
Customer
History
Service
Support
Service
Support
Service
Demands
Service
Demands
MarketingMarketing
Sales
Tools
Sales
Tools
Sales
Tracking
Sales
Tracking
ReportingReporting
Open Source Tool : 
SugarCRM Community Edition 
URL:
http://www.sugarforge.org/content/open­source/ 
License: 
AGPL V3
Written in: PHP
Open Source Tool : 
Vtiger CRM
URL:
https://www.vtiger.com/open­source/ 
License: 
Mozilla MPL 1.1
Written in: PHP
Description: This is fork of Sugar CRM
Electronic Content Management
(ECM)
Open Source Tool : 
Alfresco Community Edition 
URL: 
http://www.alfresco.com/products/community 
License: 
LGPL V3
Description: 
The free enterprise content management system comes 
Without the clustering, scalability and availability features.
Reference: Alfresco web site
Document Management vs
Records Management
● DM systems control the creation of document versions and 
support the locking of documents checked­out for revisions. 
It further provides an audit capability to see the complete 
history of changes made by authors of a document.
● In RM, once a document is declared to be a record, it will 
ensure that the record is not altered.  Records are filed or 
categorized based on a specialized classification system 
known as the ‘file plan’.  Records are then disposed of at 
the end of the life of the record based on the record 
disposition schedule.
Business
Process
Content
Web Services
Alfresco
HTTP(s)
Content Managers/
Administrators
DB
Web Portal
Portal Users
HTTP(S)
SOAP/REST
Business Intelligence (BI)
Data Warehouse
ERPERP CRMCRM EAMEAM Other
Applications
Other
Applications
ETL ProcessesETL Processes
BI ToolBI Tool
Reporting
Data
Analysis
Open Source Tool : Pentaho Community Edition
URL: http://community.pentaho.com/
License: 
Apache (ASL) v2
Open Source Tool : Talend BI Tool
URL: http://www.talend.com
License: 
GPLv2
Reporting Engines
Report
In
HTML
Report
In
PDF
Report
In
HTML
Report
In
Open Office/
Word
Report
In
Spreadsheets
DB
Jasper Report
Engine
Jasper Report
Engine
iReport
Designer
Open Source Tool : 
JasperReports Community Edition
URL: 
http://community.jaspersoft.com/project/jasperreports­library 
License: 
GPLv2
Description: 
Produce pixel­perfect documents that can be viewed, printed
 or exported in a variety of document 
formats including HTML, PDF, Excel, OpenOffice and Word
Open Source Tool : BIRT Reporting
URL: 
http://www.eclipse.org/birt/phoenix/  
License: 
Eclipse Public Licnese (EPL) v2
Description: 
BIRT is an open source Eclipse­based reporting system 
that integrates with your Java/Java EE application 
to produce compelling reports
Business Process Mapping (BPM)
Open Source Tool : JBPM 
URL: 
http://www.jboss.org/jbpm/ 
License: 
Apache (ASL) v2
Description: 
A light­weight, extensible work flow engine written in Java that allows 
you to execute business processes using the latest BPMN 2.0 spec.  
It can run in any Java environment, embedded in your  application or 
as a service. Can embed with Drools For define complex rules.
Open Source Tool : Apache ODE 
URL: 
http://www.jboss.org/jbpm/ 
License:
Apache (ASL) v2
Description: 
Executes business processes written following the WS­BPEL standard. 
It talks to web services, sending and receiving messages, 
handling data manipulation and error recovery
 as described by your process definition.
 Rules Engines 
Open Source Tool : DRools 
URL: 
http://www.jboss.org/drools/  
License: 
Apache (ASL) v2
Description:
Drools 5 introduces the Business Logic integration 
Platform which provides a unified and integrated platform for 
Rules, Work flow and Event Processing 
JVM
Presentation
Layer Business
Logic
JVM
Presentation
Layer DB
Business
Logic
JVM
Presentation
Layer DBBusiness
Logic
JVM
Presentation
Layer DB
Drools Embedded
Drools As a Service
 The Development Frameworks 
Data Access Layer
DB
Business Layer
Rules
Engines
Business
Components
Work Flow
Engines
Service Layer
Presentation Layer
Users
External
Systems
 Service Orientation
MVC Frameworks
● Apache Struts (Java)
● Spring MVC (Java)
● Apache Wicket (Java)
● Zend (PHP)
● Symphony (PHP)
● Codeigniter (PHP)
● Cake PHP (PHP)
● DooPHP (PHP)
● Kohana (PHP)
● Joomla (PHP)
Business Layer Frameworks
● Spring (Java DI)
● Google Guice (Java DI)
● JBPM (Work Flow Engine)
● Drools (Rules Engine) 
Data Access Layer
● Hibernate (Java)
● JPA (Java)
● JDO (Java)
● Doctrine ORM (PHP)
● RedBean (PHP)
● Propel ORM (PHP)
● NHibernate (.NET)
Service Layer
● Apache Axis2
● Apache CXF
● JAX­WS
● JAX­RS
Databases
● MySQL
● PostgreSQL
● MongoDB (NoSQL)
● Cassendra (NoSQL)
● CouchDB (NoSQL)
 Convention over Configuration
 Service Orientation
Service Orientated Architecture 
(SOA)
Source: Open Source SOA
Service Orientated Architecture 
(SOA)
Source: Open Source SOA
Enterprise Service Bus (ESB)
● WSO2 ESB / Apache Synapse
● Ultra ESB
● Mule ESB
● Jboss ESB
● Talend ESB
Other SOA Components
● Service Registries
– WSO2 Registry
– Mule Galaxy
● Business Process Execution
– Apache ODE 
● Complex Event Processing
– WSO2 CEP
Other SOA Components
● Message Brokers
– Apache ActiveMQ (JMS)
– Apache Qpid (AMQP)
– RabbitMQ (AMQP)
Case Studies
Case Studies
● Lanka Gate and related eServices
● Samurdhi Authority
● E­Local Government
● E­Population Register
● E­Slims
● E­Land Registry
● Performance Management System for the government
● HR Management Solution for the government
● Fund Management System
● Dengue Monitoring System
Q&A

FOSS in the Enterprise