FOSS in the Enterprise

Post on 13-Dec-2014

728 views 0 download

description

Presented this at the FOSS4Gov 2013 Conference, which was held in Colombo on 24/09/2013

transcript

FOSS in the Enterprise

Foss4Gov Conference 2013, Colombo

By Crishantha Nanayakkara

The EnterpriseEnterprise 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 ApplicationEnterprise 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

WarehouseManagement

WarehouseManagement

ManufacturingManufacturing

OrderProcessing

OrderProcessing

HRManagement

HRManagement 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

CustomerFeedback

CustomerFeedback

CustomerHistory

CustomerHistory

ServiceSupport

ServiceSupport

ServiceDemands

ServiceDemands

MarketingMarketing

SalesTools

SalesTools

SalesTracking

SalesTracking

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 vsRecords 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.

BusinessProcess

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 OtherApplications

OtherApplications

ETL ProcessesETL Processes

BI ToolBI Tool

Reporting DataAnalysis

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

ReportIn

HTML

Report In

PDF

ReportIn

HTML

Report In

Open Office/Word

Report In

Spreadsheets

DB

Jasper ReportEngine

Jasper ReportEngine

iReportDesigner

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 

JVMPresentation

Layer BusinessLogic

JVM

PresentationLayer DB

BusinessLogic

JVMPresentation

Layer DBBusinessLogic

JVMPresentation

Layer DB

Drools Embedded

Drools As a Service

 The Development Frameworks 

Data Access Layer

DB

Business Layer

RulesEngines

BusinessComponents

Work FlowEngines

Service Layer

Presentation Layer

Users ExternalSystems

 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