ERP Open Source Compiere Demo CRM

38
1235, Open Source ERP+CRM Solution in Java Open Source ERP+CRM Solution for the Java™ Platform Jorg Janke CTO Accorto, Inc.

Transcript of ERP Open Source Compiere Demo CRM

Page 1: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java

Open Source ERP+CRM Solution for the Java™ Platform

Jorg JankeCTOAccorto, Inc.

Page 2: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java2Middle

Overall Goal

Learn about Design Strategyand Implementation Decisions… to meet business requirements for an integrated Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) application … to target Small-Medium-Enterprises (SME) globally with a Open Source Collaboration strategy … using nothing but Java™ Technology (JFC/Swing, Servlet/JSP™, EJB™, JDBC™, JMS, Rules Engine, etc.)

Beginning

Page 3: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java3Middle

Learning Objectives

• As a result of this presentation, you will have a better understanding of:– Global Business Application Requirements– Compiere Application Architecture– Design Decisions and Alternatives– Use of Java Technology

• Bonus:– You can get Compiere & use it for free

(www.compiere.org/download)

Beginning

Page 4: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java4Middle

Speaker’s Qualifications

• Jorg Janke is CTO and Founder of Accorto, Inc. (www.accorto.com), the main contributor ofCompiere Open Source ERP+CRM (www.compiere.org)

• 20+ years ERP business experience with ADV/Orga, UNISYS and Oracle (Director Applications Development)

• First General Ledger Prototype in Smalltalk in ’88 evolved into today’s Compiere architecture.

• BA in Accounting & CS, MBA

Beginning

Page 5: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java5Middle

Topic Areas

• Product Introduction & Requirements

• Dynamic User Interface

• Installation and Implementation

• Operations

• Customization & Extensions

• Reporting

• Open Source Collaboration

Beginning

Page 6: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java6Middle

Product Introduction

• Two Logical Products– The Compiere Framework– The Compiere Product / Application

• Compiere Framework– Specific Toolset for Business Applications– Life-cycle support

• Creating Functionality• Deploying Solutions• Maintenance

• Presentation concentrates on Framework

Page 7: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java7Middle

Product Introduction (cont.)

• Compiere Product (Application)– Integrated Business Application– ERP (Enterprise Resource Planning) and

CRM (Customer Relations Management)– For Small-Medium-Enterprises– In the Global Market

• Multi-Language, Multi-Currency, Multi-Tax, Multi-Accounting, Multi-Org

Page 8: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java8Middle

Target Market Requirements

• Easy User Interface (hide complexity)– Show only what I need !!– Show it in my language

• Easy Install & Implementation– High Performance, Scalable– Hosting Option

• Operated by End-Users (no IT)• Easy to Customize and Extend

– Reporting– Interfaces

• Required Functionality

Main Driver

Main Driver

Page 9: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java9Middle

User Requirements

• The User Profile– Basic IT literate– Basic Subject knowledge (Accounting)

• Need to minimize– Implementation costs and time

• Formal Requirements Analysis – Getting good requirements is hard and expensive

• Formal Training– Operation complexity

• Product Lifetime: 10+ years

Page 10: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java10Middle

Topic Areas

• Product Introduction & Requirements

• Dynamic User Interface• Installation and Implementation

• Operations

• Customization & Extensions

• Reporting

• Open Source Collaboration

Beginning

Page 11: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java11Middle

Dynamic User Interface

• Principles– Generate – don’t code !

• New window in 30 minutes (after Design)– Hide not needed Fields

• Two UI’s– Rich UI – “Client/Server” è Intranet

• Windows / Swing– Java Environment Install

– Reach UI – Web è Internet• Servlet / JSP

– HTML 4.0 Browser

Page 12: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java12Middle

Application Dictionary

• Central Definition of Elements/Fields– Validation– Default (static, dynamic)

– Appearance– Label, Help

• Grouped into– Tables/Columns– Windows/Tabs

Page 13: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java13Middle

Why not “everything web” ?

• Web HTML Applications Limits - as of Today– Requires multiple tiers and

more complex infrastructure– Not easy to automatically install– Client site navigation & validation limited– Very limited dynamic behavior– Inconsistencies across Browsers– Latency– User feedback

• Applet would solve it, but– Requires significant downloads (i.e. the JFC/Swing

API)– Browser Restrictions (e.g. Airport/Hotel stations)

… but a

vailable

everywhere

Page 14: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java14Middle

Compiere Framework Demo

• Reach “HTML” Interface– Simplified Look&Feel– Dynamic Capabilities

• Rich “Windows” Interface– Menu search– Editors– Zoom– Workflow

Page 15: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java15Middle

Topic Areas

• Product Introduction & Requirements

• Dynamic User Interface

• Installation and Implementation• Operations

• Customization & Extensions

• Reporting

• Open Source Collaboration

Beginning

Page 16: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java16Middle

Simple Installation

• Automatic Install– Oracle 8.1.7 Database Install (*)– Client Install (incl. Java Runtime)– Server Install, incl. The Enterprise JavaBeans™

(EJB™) specification

• (Currently Semi-) Automatic Install– Oracle 8.1.7 Apache Web Interface

• Automatic Upgrade of Application Clients• Manual Install

– EJB technology on separate Tier– Java™ Servlet API/JavaServer Pages™ (JSP™)

technology-based Engine on separate Tier

Page 17: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java17Middle

Fast Implementation

• Principle: No decision is final– Business Rules and Information Needs Change– Good Requirements/Gap Analysis is hard

• Dependent on Business Experience• Dependent on Product Capabilities Knowledge

• Rule Based & All rules can be changed– On the fly – including damage control– By the (authorized) user

• Allows fast Start - with Refinements and Adjustments as you go

Implementation

in less than 4 hours�

Page 18: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java18Middle

Open Interfaces

• XML based Interfaces – Open Applications Group Interface Specifications– Open Financial Exchange

• Additional “flat file” import (Comma/Tab delimited, fixed format)– Product (Definition, Price, Movements)– Business Partners– Chart of Accounts

• … not so Open Interfaces– EDI will be with us for a while– In preparation

• QuickBooks, Great Plains, Lawson, JD Edwards

Page 19: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java19Middle

What do the Tiers do?

• Client– Presentation– UI Generation– Input validation

• Browser– Presentation– Simple validation (JS)

• Web Server– UI Generation – Input validation

• Server– Business Rules

• EJB specification• Database (PL/SQL)

– Background / “Batch”• Processing (JMS

API, DB Job Control)• Control/Scheduling

(JMS API, DB Advanced Queuing)

Page 20: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java20Middle

HTML

Browser

Java

Application

Supporting 2 to n Tiers

Web Server

EJB

Database

Java

Application

Database

HTML

Browser

EJBEJB

Web ServerWeb ServerJDB

C

IOO

P

JDB

C

IOO

P

HT

ML

/SS

L

Page 21: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java21Middle

High Performance, Scalable

• Implementation Options– From Two Tier …

• “Client/Server” • Integrated DB/EJB/Web Server & Browser• Minimizes Communication

– … to n Tier• Independent tier for EJB™ technology and/or Web

Server

• Designed to be Hostable– ASP / Service Bureau

Page 22: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java22Middle

Topic Areas

• Product Introduction & Requirements

• Dynamic User Interface

• Installation and Implementation

• Operations• Customization & Extensions

• Reporting

• Open Source Collaboration

Beginning

Page 23: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java23Middle

The User is the Operator

• Operator-less environment– Predefined Backup & Recovery Procedures– Use of Database failure management features

• System needs to detect Errors– Users make errors (or: System did not prevent it)– Users sometimes don’t notice errors– Error detection levels

• Document• Application• Database

Page 24: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java24Middle

Save-fail

• Complex applications cannot be fail-save– Too many potential sources– Users define “Error” broader

• System needs to be Error-Tolerant– System Available while in Error

• Differentiate between Document handling and (Accounting) Consequences

– Ability to recover and also un-do setup errors• E.g. Re-run posting, if rules were not correct

Works as designed

Page 25: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java25Middle

Topic Areas

• Product Introduction & Requirements

• Dynamic User Interface

• Installation and Implementation

• Operations

• Customization & Extensions• Reporting

• Open Source Collaboration

Beginning

Page 26: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java26Middle

Customization

• Standard Customizations– Window/Report Definition

• Sequence of Fields; Sort Order; Display Rules• Terminology (e.g. Item vs. Product)

– Access Rules, Workflows, etc.

• Beyond Standard Customization– Rule customization (ILOG JRules Language)– Call-out for custom validation (Java™ technology)– Database Triggers (PL/SQL or Java technology)– Special Reports (InetSoft Style Report XML)– User supplied Java technology-based classes (“Java

Classes”) for non-standard Documents, Key Performance Measures, …

Page 27: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java27Middle

Extensions (new Products)

• New Application Dictionary entries– Table/Column, Window/Tab/Field– Processes/Reports– Validation Rules

• Upgrade recognizes extensions• Toolset “Sources” Available

– Rational Rose– ER/Studio, RapidSQL (Embacadero)– Oracle Enterprise Manager– JTest, OptimizeIt, Install Anywhere, …

Page 28: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java28Middle

Topic Areas

• Product Introduction & Requirements

• Dynamic User Interface

• Installation and Implementation

• Operations

• Customization & Extensions

• Reporting• Open Source Collaboration

Beginning

Page 29: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java29Middle

Integrated Reporting

• Principle: Generate – don’t code !

• Lists & Reports– Field Selection, Sorting, Sub-Totals, …– Dynamic Group-by

• Financial Reporting– Balance Sheet, Cash Flow, …

• Based on InetSoft Style Report– Easy to integrate– Some issues:

• Use different (version) of XML “Java Library”• No support for Master/Detail Reporting

Page 30: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java30Middle

Additional Reporting Options

• Compiere Business Views– Predefined “user ready” de-normalized views– For SQL based external reporting tools– Uses same security rules as Application

• Report Views– User defined normalized views– Using the integrated Reporting Infrastructure

Page 31: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java31Middle

Topic Areas

• Product Introduction & Requirements

• Dynamic User Interface

• Installation and Implementation

• Operations

• Customization & Extensions

• Reporting

• Open Source Collaboration

Beginning

Page 32: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java32Middle

Open Source Collaboration

• Why give it away?– Market entry cost for new ERP/CRM vendor– Core Solution for specific ERP needs– Developing countries can substitute lack of

funds with manpower

• How does Accorto make money?– Support & Services for Core Solution

Page 33: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java33Middle

Open Source Benefits

• Public scrutiny– More stable – “Peer Reviews”– No chance to hide something

• User driven Priorities

• Building User & Developer Community– Availability of specific solutions

and extensions– Additional Support Option

Page 34: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java34Middle

Java™ Technology Lessens Learned

End

• Java technology is ideal for complex Applications– Standard Libraries from multiple Vendors– Higher Productivity than 4GL tools– Custom extensions using Interfaces & Dynamic

Class Loading

• There is no Magic in Integration work– Reused Components use different Libraries

(versions) or Vendor specifics (e.g. XML)– Component Installation & Rollout differences

determine Vendor Switching Costs

Page 35: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java35Middle

Summary

• You now have a better understanding of:– Global Business Application Requirements– Compiere Application Architecture– Design Decisions and Alternatives– Use of Java Technology

End

Page 36: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java36Middle

Useful Links

End

• www.compiere.org

• www.accorto.com

• www.opensource.org

• www.openapplications.org

• www.ofx.net

Page 37: ERP Open Source Compiere Demo CRM

1235, Open Source ERP+CRM Solution in Java

Page 38: ERP Open Source Compiere Demo CRM