[ic] Scalability of IC

Dan Browning interchange-users@interchange.redhat.com
Mon Nov 12 12:52:00 2001


> I have a client that wants to implement IC for their on-line retail 
> presence.  In your opinion (experienced MV/IC users) could IC 
> eventually 
> be used to replace their in-house inventory system.  The 
> current system 
> handles around 10,000 items selling clothing to the public and 
> wholesale.  I guess the major issue woulod be the accounting 
> functionality that IC does/does not offer.  Wouold 
> Interchange be good 
> enough to run an entire meduim sized business on?
> 
> I know this is a very vague and subjective question, but I am really 
> just looking for thoughts.
> 
> Thanks,
> Michael Stearne

Nope.  IC would do very well to become a front-end for many back-end
systems (ERP/CRM/etc. solutions).  Many IC service providers specialize
in integrating IC with backend systems (i.e. inventory,
invoices/customer info, order status, etc., etc.).

As far as an ERP/CRM solution goes, here are the $1,000,000 players:

Siebel, Clarify, Vantive, Pivotal, SAP-R3, SalesLogix, Epiphany, Oracle,
Baan, CODA, D&B, IBM, Software 2000, SNI, PeopleSoft, Marcam, J.D.
Edwards.

But there now is a new Open Source player (not quite $1 mil. material,
but close enough for the size of business you are talking about):
Compiere (MPL).  See my message below regarding Compiere.

HTH, HAND,

Dan Browning
Kavod Technologies


Announcing Compiere: the open source ERP & CRM solution

I recently stumbled across Compiere (http://www.compiere.org &
http://sf.net/projects/compiere) and I was so impressed that I have to
say something.  I have in the past integrated Interchange with expensive
accounting / ERP solutions (like MAS90) for running "back office" tasks
(inventory, POS, accounting, etc., etc.), and have always pined for a
great open source CRM & ERP.

Here it is.  I believe that most of you will find this is exactly the
software that you need to complement interchange (your front end
e-commerce app) with a backend (ERP, advanced CRM).  (I wont be
surprised if RH buys ComPiere too ;-)  In fact, I think Compiere is even
*better* than the big boys (SAP, Baan, Oracle-*, etc.) in some ways
(besides being open source).

The current version takes about 4 hours to install (including Oracle,
etc.), but the next release due out in a few weeks will have many
improvements (including PHB Oracle installation).

I sincerely think that the opensourcing of Compiere is as monumental as
was the posting of Linux 0.01 by Linus.  Further, I expect to see at
least 20 new Compiere developers come from this list.  :-)

If you get as excited about it as I did, don't hesitate to run around,
scream, shout, and then send a thank you to the author.   I can't seem
to say enough good things about the quality of the project.  I tried to
write some info about it (features, technologies, etc.) below to whet
your appetites.

See you guys on the compiere-help@sf.net mailing list,

Dan Browning
Kavod Technologies

	Author:
The lead programmer is Jorg Janke (more info:
http://www.compiere.org/home/aboutus.html)

	Platforms:
Server: Linux or Windows NT/2000
Client: Linux or Windows NT/2000 or DHTML

	License:
Mozilla Public License 1.1 for Compiere only 
(see http://www.compiere.org/home/whyfree.html#whatfree for what else is
required to run Compiere)

	Short Description:
Compiere is the Open Source ERP & CRM solution with first tier
functionality for the small-medium enterprise. Designed for the global
marketplace, Compiere is easy to install and implement. In contrast to
other solutions, you will be able to enter invoices after about 4 hours,
without functionality compromises or irreversible implementation time
decisions. 

	Feature List: 

[I just wrote this up to whet your appetite, see the home page for more
info]

Manages your inventory
Automates your accounting
Provides customer-centric POS (point-of-sales)

Enter Sales Orders 
Receive Orders from the Web 
Create Invoices and record Shipments 
Collect Receipts (cash, credit cards) & match with Bank Statements 
Generate or enter Purchase Orders 
Record Supplier Receipts and Invoices 
Pay your Suppliers 
Enter manual Journals 
Print reports and statements

"Rich" Windows interface & "Reach" DHTML interface
Smart User Interface (Personalization of every aspect: you only see what
you need) Rule-based "Safe-fail" technology:  instead of "failsafe",
Compiere handles failures gracefully and intelligently. Truly
integrated:  "Front office" (CRM) + "Back office" (ERP) functionality
together with many additional optional functionalities like Project
management, Marketing campaign management, and others For the Global
Market
	o	Multi-Language for Documents and User Interface 
	o	Multi-Currency for transacting or reporting foreign
currencies 
	o	Multi-Tax supporting different tax systems (Sales, VAT,
and combinations) 
	o	Multi-Costing in parallel (e.g. Standard Costing,
Average, Lifo, ...) 
	o	Multi-Accounting for your legal reporting using
different accounting principles (e.g. Cash/Accrual,
International/US/German/.. GAAP) 
	o	Multi-Organization for different branches/outlets and/or
legal entities 
Customer Management
Accounting Management
Partner Management
Supply Chain Management
	Implementation Features:
>From installation to entering invoices in just 4 hours.
No "final" decision making (no irreversible decisions at install time)

Quote to Cash
Requisition to Pay
Customer Relations Management
Partner Relations Management
Supply Chain Management
Performance Analysis
Web Store


Quotes
Sales Orders
Shipments
Customer Invoices
Receipts
Bank Statement


Open Item Management
Invoice Payment Rules
Cash, credit card, On account, check, transfer
Cash Journal


Requisitions to Pay
Purchase orders
Material Receipts
Vender invoices
Payments
Bank Statements

Lead and Activity Tracking 
Marketing Campaign Management 
Customer Profitability Analysis 
Self Service Online Inquiry 

Partner Relations Management
Lead Distribution and Tracking
Marketing Expense Accounting
Collateral Ordering
Customer Service Requests & Warranty Requests


Supply Chain Management
Product Catalog
Distribution & Multi-Warehouse Control 
Materials Management 
Product/Service Costing 
EDI Integration
Bill of Material (stocked or non-stocked)
Price Lists
Price List Version 
Purchase Price List


Performance Analysis
Accounting Rules
Integrated Reporting, Data Warehousing and OLAP
Manual Journals
Generated Journals


Web Store
Online Product Catalog 
Online Pricing and Availability 
Online Sales Transactions 
User Management
Counter
Info Requests


Application Dictionary
Smart User Interface
Smart Reporting
Drill-down
Drill-across
Many Reporting types
Customizing Reports

Sustainable Architecture

Safe-fail

Security

Customization

Application Integration

Integration: 
	SQL, Excel, HTML, XML, Text, PDF, PS, Word, Business OLAP Cubes,

	Scanner interface
	J2EE Connectors
	OAGIS and OFX
	EDI

Workflow and Wizard
Attachments and Images 
Alerts
Scheduling
Email integration
Help (online documentation)




Server Architecture:
The Compiere Server is Java Management Extensions (JMX) compliant. All
server services are implemented as  Dynamic Managed Beans (MBean). The
Compiere Server is based on the JMX reference implementation. 
.	Compiere Server (JMX compliant MBean Server) 
.	Compiere Server Services (JMX compliant Dynamoc MBeans) 
o	Accounting Server 
o	Request Server 
o	Utility Server 
This architecture allows to
.	Manage the MBeans (start/stop/..) and inquire their status
locally and remotely 
.	Ability to integrate with an SNMP (Simple Network Management
Protocol) manager or CIM/WBEM manager 
.	Add additional services required (e.g. Servlet Server, EJB
engine, ...) 
.	Ability to integrate the Compiere Server services into any JMX
compliant server (e.g. Application  Servers) 
Stand alone mode
In the stand alone mode, the Compiere JMX Server also manages:
.	Java Servlet & JSP Server (Tomcat and Jasper wrapped in a
Dynamic MBean) 
.	JBoss EJB engine and JNDI components required for the Compiere
application 
Integrated mode
The stand alone mode is intended for small footprint, small
implementations. If you need to integrate  significant functionality,
you could integrate the Compiere Services as MBeans in JMX compliant
agents  (MBean Servers) like JBoss or in other Application Servers. 


Application technology:

Technology Stack 
Compiere is a 100% pure Java solution based on Oracle database
technology. 
The client application component is written entirely in Java designed to
utilize the capacity of today's  PCs. The Java Application or Java
Applet client is the preferred choice for high data volume as it
provides  a high performance Windows based user interface. It
communicates, via thin JDBC, with the database layer  and via IIOP with
the application layer. The client accesses the server via the Internet
or Intranet. 
As an alternative, a HTML client could be used to extend, where the
installation or download of the  application is not appropriate (i.e.
self-service functionality for vendors, customers, employees). This
part is implemented through Java Servlets and Java Server Pages, to be
hosted in Servlet Servers (like  JRun) or the Oracle Database Server
(8.1.7) directly. The application server component is implemented in
Java and SQLJ (Embedded SQL in Java) as Java Enterprise  Beans hosted in
the Oracle Database Server. Some application functionality is
implemented as PL/SQL. The  majority of the functionality is implemented
as Java Stored Procedures. Compiere utilizes the option to  natively
compile and deploy Java in the Database, which increases the performance
as it eliminates the Java  interpreter on the server side. 
We are members of the Oracle, Sun and Microsoft technology programs and
are using Rational Rose for  analysis and design, Borland JBuilder Java
for Java development and debugging, OptimizeIt for Java  performance and
memory debugging, ParaSoft JTest for automatic testing, ZeroG
InstallAnywhere to create  automatic installs, JRun as Servlet Server
and the Embarcadero suite of products for database maintenance  and
PL/SQL programming and debugging. Compiere uses the ILOG Java rules
engine currently for creating accounting transactions and pricing
decisions. Complex logic is easier maintained with rules than with
procedural logic. This also allows  sophisticated users to extend the
functionality. The rules are compiled for maximum runtime performance.
 
Deployment Options
Compiere has the following main components:
.	Client 
o	Java Application 
o	Java Applet 
o	HTML based 
.	Servlet Server for HTML based Application 
.	Application Server 
.	Database Server
All application components can be deployed on all Java enabled
platforms: Windows (NT, 2000), UNIX, Linux.  Mac, etc. 
A variety of configurations are supported. Where communication bandwidth
allows, the Application Client can  be deployed as Windows Application
or Java Applet. The Java Applet and the Java Application are
functionally identical. A communication bandwidth of 128 kbps is
sufficient for the Windows Application. 
For the HTML client, a Java Servlet and JSP (Java Server Pages) Server
is required. Options include JRun.  In addition to the standard HTTP
Internet communication, the SSL secure protocol could be used. The Java
Application Server is based on Enterprise Java Bean (EJB) or Remote
Method Invocation (RMI)  technology and could be deployed as a
stand-alone tier in the Oracle Application Server or other EJB  servers.
The secure standard IIOP protocol is used. The Database Server hosts
data and application logic and is accessed by the standard JDBC (Java
Database  Communication) protocol. Functionality at the database level
is implemented in PL/SQL and Java Stored  Procedures. In Oracle 8i the
database includes a CORBA and an EJB server. Since the majority of
functionality is data  intensive, eliminating an additional level
reduces overhead and improves performance. With Oracle 8.1.7, the
database includes also a Servlet & JSP server The portability and
hardware independence allows for easy deployment and rollout reducing
the hardware and  administrative overhead. Depending on the environment,
a simple two-tier deployment might be sufficient with the option to
migrate  anytime to a multi-tier deployment environment.