I'm not sure if this is the best forum for this discussion, but it's a good discussion and I also can't really think of a better forum!

So....

On Jan 22, 2008, at 5:31 PM, Ahmad Khalifa wrote:

There are various commercial vendors doing this sort of thing. Most are aimed at having doing infrastructure for a centralized ASP- style environment, ie where there is one big application and people build or extend apps through web-based interfaces and everything lives on the server. The ultimate in lock-in, and an nice enabler of over-centralization (which I think most open source proponents realize the danger and downside of...). That's a good motivation for database driven business data structures, logic, screens, etc.


What could be considered as lock-in or over-centralization from one
perspective, could be looked at as being simplifying things or reducing
costs from another perspective.

Yes, the siren song.... From a due diligence perspective the promise of ease causes a good investigator to be all the more wary of what is lost in order to get that ease. It's easy to forget that compromises made in the name of ease often lead to more compromises and eventual full compromise.

Think of CRM/ERP/Accounting/Payroll/HR/etc.. just compressed into one
system, this would certainly promote less Excel sheet usage :)

Agreed, very valuable. This is one of the very important things we are doing with OFBiz.

The basic model of having 1 repository of customers is inherently better
than having multiple repositories at several systems, with data
fragmented allover, and backend migration/integration processes running.

This is another thing we are doing with OFBiz. The focus is on a single architecture and set of lower level business artifacts that you can build anything with. For companies that can afford the customization this means they have the ERP/CRM/ecommerce/etc/etc that they want. For companies that can't afford the customization there is already a growing set of vertically oriented solutions that are more tuned for out-of-the-box usage.

As you mentioned, yes, there *are* various commercial vendors doing
this, but no open source has this capability.

I'd be interested to hear more of what you had in mind for "this capability".

Consider a small-medium business that has an ERP system, and one day
decides that they want to get a CRM system to track their sales force.
Which would be the best scenario of those?
(A) - A typical CRM implementation with data migration/integration work,
     user training, More systems to support.
-OR-
(B) - A small CRM implementation with no data migration/integration, not
     much user training, no more systems to support.

You've lost me a bit here.... It is definitely nice to avoid things like data migration and integration and user training and support of systems.

- Realistically you have to pay someone to support systems even if you don't do it yourself (and this is a good thing to pay someone to do... hosting companies that have expertise for different apps are a genius business model).

- The only way to reduce user training that I know of is to have applications that are built to guide users through the processes the business wants. That means the applications must be tuned to the specific business and if that business wants to change it must change its apps, or at least written for a particular type of business and leave in a bit of flexibility and require a little bit of training.

- If you have a good, complete system you don't need too many integration efforts, but some are almost always needed. For example very few companies do payment processing or shipping on their own, but fortunately once you have a small set of integrations in place additional work is not needed.

- If you can find clients that don't need data migration count yourself lucky! Usually unless you have a new company or a company that has serious budget limits and can't afford it, you'll need to get the data from the old system(s) into the new system (hopefully singular there...).

BTW, Compiere actually works more or less this way. Ie, things are heavily database-driven.

Yup, but they're mainly ERP, and they work with Oracle databases and
some postgreSQL fork. Plus, they don't have the extreme customization
abilities discussed.

Yeah, Compiere is an "interesting" project. The architecture is mostly old-school client-server style (ie client apps talking to a database, the only centralized logic is in stored procedures). There are also many quirks, as is natural when the design and development is mostly done by one person. It is admittedly impressive given its background though.

If you get to the point where you start looking at data modeling and the logic tier stuff, feel free to collaborate with us at OFBiz. More eyes on this stuff is always a good thing! Okay, well 98% of the time. ;)

What do you mean by 'start looking at data modeling'?

What I mean is actually designing how to store information for things like products, orders, invoices, payments, shipments, customers/ employees/suppliers/etc, quotes, requests, and so on.

Or is your intent to just create a framework and not get into business level artifacts? Don't read too much into that question: that's a very common and valid approach and I don't mean to suggest that you should if it's not your intent.

Are you still skeptical about using database to store application
objects? Consider moving the component-load.xml file to the database
and having a load-on-demand button somewhere. How much easier would it
be for users to activate/deactivate/upgrade components? and no downtime!
This would be exactly like Drupal's Module management system.

I am still skeptical about it, yes. It definitely sounds nice at first, but I've been through cost/benefit comparisons for doing this with all sorts of different types of data and even tried a number of these things. Some things just seem to work better in files and other things seem to work better in database records.

Of course, with enough design an engineering I have strong faith that we as humans can make anything work, and work well. In other words it should be possible to build tools and such so that you get all of the benefits that are inherent with files (and all of the tools we have for working with them) with your data stored in the database. BTW, I'm using the term "data" very loosely there to include code, data structure info (meta-data), templates, etc.

Anyway, I really hate the idea of having /Yet Another Framework/, but as we discussed, there is no open source alternative. This is only found in
commercial applications.

In spite of my biases I am VERY for diversity in approaches and good efforts to explore the viability of each. I'd love to see other frameworks developed in the open source world that compete with the OFBiz Framework. There certainly are many out there, but I mean really compete and give the tools we're using a good drubbing when evaluated for productivity in design, implementation, maintenance, and customization. One of the big metrics there is the volume and complexity of the business level artifacts. That's where using tools that are special purpose for business applications provides a huge win over generic tools, like making everything a Java class.

Eventually one starts feeling something like: "if I have to map one more thing to an object that isn't anything like an object just to make it possible for that to work with all of these other things that are mapped to objects but really aren't anything like an object, I'm going to lose it!" In that case losing it could mean sanity, but if often also means flexibility and understand-ability because as concepts are mapped to something that is not the same, some things don't make it through the mapping and the capabilities are simply "lost in translation".

I think you're looking at going in the same direction that we are with OFBiz. That's a great thing to see even if, or rather especially if, the approach for getting there is very different.

I don't know about others in the OFBiz community, but for my part if I see technology that does lead to smaller and less complex business level artifacts I'll take a close look at it and evaluate other things related to efficiency and productivity for development, maintenance, customization, et cetera and if it beats the OFBiz Framework then it's time to replace the OFBiz Framework.

So, whatever you do, please don't let my comments discourage you, and I hope they don't come across as too confrontational. I really wish you the best success with your efforts and I hope that you'll be able to succeed where so many have failed in really designing and building something that delivers on this intent.

And I'm guessing you'll agree that doing so in the Apache way with a focus on collaboration through community building is the route most likely to get your there.

-David



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to