ERP Open Source Compiere Demo CRM
-
Upload
api-3778979 -
Category
Documents
-
view
752 -
download
2
Transcript of 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.
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
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
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
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
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
�
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
�
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
�
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
�
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
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
�
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
�
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
…
�
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
�
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
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
�
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�
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
�
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)
�
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
�
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
�
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
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
�
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
�
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
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, …
�
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, …
�
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
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
�
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
�
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
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
�
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
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
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
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
1235, Open Source ERP+CRM Solution in Java