Hi Adrian,

Could you list the applications you comment out in your production
implementations? I think that would help creating insight.

Regards,

Pierre

Op 14 maart 2012 18:33 schreef Adrian Crum <
adrian.c...@sandglass-software.com> het volgende:

> Understood.
>
> As a service provider, I regularly comment out unused applications and
> build hot-deploy components to replace OOTB OFBiz components. I override
> service definitions, redefine entity definitions, etc - all in an effort to
> take what's good in OFBiz, and replace what's not-so-good. I seem to be
> doing a lot more of it lately - mostly due to components being added that
> break every other component. At least with a component approach, that sort
> of thing can be isolated and dealt with.
>
> -Adrian
>
>
> On 3/14/2012 5:22 PM, Jacopo Cappellato wrote:
>
>> Thank you Adrian.
>>
>> Just to clarify that I was not talking about the architecture of the
>> framework (topic for another day) but only for the layout of the
>> applications and it is not based on what I think it is best in general but
>> instead about what I think it is best to represent what we have right now:
>> what we have right now is *one* big application (made of mostly all the
>> components under the "applications" folder) that is split into chunks (the
>> components) where each chunk is not built to be used alone.
>> I would be really interested to know from the users of the "applications"
>> how many of them are removing (or not deploying) the components they do not
>> need in their business.
>>
>> All in all I am trying to better represent (in a more convenient,
>> cheaper, easier to maintain way) what we already have, not to suggest how
>> the perfect application built on OFBiz should be. The approach that you are
>> suggesting on the other hand, that is inspiring, implies a complete
>> refactoring and redesign (also in terms of features) of the applications.
>>
>> Jacopo
>>
>> On Mar 14, 2012, at 6:09 PM, Adrian Crum wrote:
>>
>>  That approach sounds very monolithic, and I tend to avoid monoliths.
>>>
>>> I gave this subject a lot of thought about a year ago when I was working
>>> on a vision for a new framework (https://cwiki.apache.org/**
>>> confluence/display/OFBADMIN/**Another+Framework+Vision<https://cwiki.apache.org/confluence/display/OFBADMIN/Another+Framework+Vision>).
>>> In particular, I was trying to devise a way for us to build a new
>>> architecture for OFBiz out of well-defined and self-contained parts - with
>>> the ultimate goal of using OSGI to connect them all together.
>>>
>>> That goal led to only one pattern that seemed to work: Hub-and-spoke.
>>> Hubs can be suspended, replaced, and restarted without too much disruption
>>> because they affect only the spokes connected to them.
>>>
>>> It sounds like what you're proposing is a layered pattern - like a wall
>>> built up of many bricks, but with an all-covering capstone on top.
>>>
>>> I don't have a strong opinion on which approach is best, but I tend to
>>> favor modularity.
>>>
>>> The discussion is worthwhile, and I appreciate you starting it.
>>>
>>> -Adrian
>>>
>>> On 3/14/2012 2:37 PM, Jacopo Cappellato wrote:
>>>
>>>> In the eraly days of the project, the OFBiz applications have been
>>>> designed as independent components to make them more reusable and because
>>>> they were designed to be a set of reusable and generic artifacts, each of
>>>> them based on a specific domain of the data model (order, party, product
>>>> etc...).
>>>> They were not intended to be ready to be used out of the box; they were
>>>> not intended to implement complete ERP workflows (mostly all complete real
>>>> World workflows encompass several domains) but rather to provide some
>>>> common artifacts (screens, forms, basic business rules) to facilitate the
>>>> implementation of custom applications.
>>>> However over the years, they have been implemented to be used as being
>>>> part of the same big suite of ERP applications: i.e. the building blocks of
>>>> a specific instance of an ERP system.
>>>> Some (parts) of them have become "ready to be used" out of the box (for
>>>> certain specific business models) by implementing more specific workflows
>>>> (based on some real World requirements coming from companies): because of
>>>> the fact that there was not a central design and coordination (which
>>>> industry/business to implement etc...) and because for the same task
>>>> (shipping, receiving etc...) there are thousands of different valid
>>>> worflows we have now several workflows in OFBiz that implement similar
>>>> features but in different alternative ways.
>>>> It is off topic here to say if this is good (the company user can
>>>> choose between a series of choices based on the nature of its business and
>>>> then customize/clean/complete them) or bad (a lot of duplicated code, the
>>>> applications seem to deal with everything but they are not really really
>>>> good for anything): however it is a reality that the applications are now
>>>> more a suite of ERP application (one application) rather than reusable
>>>> generic artifacts that can be plugged together.
>>>> In fact the OFBiz Applications are now a set of OFBiz components that
>>>> are strictly interdependent at several layers (data model, service, ui).
>>>>
>>>> In their current status I believe that it would be better to merge them
>>>> into one big component, the "Apache OFBiz ERP" (or a better name).
>>>> The component will contain:
>>>> * the complete data model for the OFBiz application
>>>> * all the services (Java, Minilang)
>>>> * all data
>>>> * one web application (merged from the existing ones); even if
>>>> initially we could do this in steps and keep them separated as they are now
>>>> but under the same component
>>>> * one aggregated and consolidated set of ui labels
>>>>
>>>> Even in one component we will have several mechanisms to categorize our
>>>> artifacts (file names, folders) even if I would suggest to rethink them
>>>> based on new rules (and only if we need the categorization).
>>>> We could merge a lot of files (data preparation scripts, screen
>>>> definitions, service definitions etc...) to make them more consistent. We
>>>> would also resolve some of the issues with inter-application links and
>>>> navigation.
>>>> I am pretty sure that we could end up with less code and easier to
>>>> organize and maintain.
>>>>
>>>> It will also be more practical to reuse this component and extend it
>>>> from an external hot deploy component: you will have to extend one webapp
>>>> and then reuse from the official component what you like.
>>>>
>>>> This is just the rough ideas and there could be some variants to it: we
>>>> could isolate all the data model and services into one component and all
>>>> the applications (ui, screens, controllers, data prep scripts and
>>>> templates) into another one. etc. etc. etc...
>>>>
>>>> It is a lot of work but we are a big community and we like to keep us
>>>> busy.
>>>>
>>>> What do you think?
>>>>
>>>> Jacopo
>>>>
>>>>

Reply via email to