+1

2012/3/15 Tom Burns <tramseybu...@yahoo.com>

> Adrian / Jacopo
>
> While thinking about a refactoring the OFBiz Architecture you
> may want to look at http://www.aosabook.org/en/intro.html. The book is all
> about Open Source architecture. In particular see the chapter on Eclipse,
> the
> ultimate open source component framework, Eclipse is the perfect
> environment to
> implement Adrian's ambitious vision.
>
> However the most pressing problem in OFBiz, given the
> available resources, is not the architecture, rearranging the components
> or refactoring
> of what in Moque would be the Core / Mantel (i.e. a scripting framework
> etc.).
>
> Rather the problem, as your most recent post to this thread
> suggest, is the short comings in the OFBiz Crust. OOB the user facing
> applications are difficult to understand, quirky and do not support needed
> business
> requirements. Just ask yourself would you go into a meeting with Steve
> Jobs ghost
> with these applications?
>
> On the OFBiz home page "What is Apache OFBiz" the
> focus is clearly ERP. The bullet points advertise OOB application
> functionality. The business applications should be easy to use, robust,
> and well
> documented. This will require more attention to business requirements,
> providing a consistent set of defined services, adherence to documented UI
> best
> practices and well written and better presented user help.
>
> All of this is possible without doing more additional work
> on the Core / Mantel.
>
> I would be happy to contribute to an effort to improve the
> user facing applications if there is support from the committers.
>
> I see these applications as falling into two categories. Applications
> that are common to most businesses and domain specific applications. This
> follows the pattern laid out in the two DMR Books. The former, more
> general,
> category should get the most attention. Those applications include:
> Common Business - Requirements common to most businesses
>  Accounting
>  Human Resources
>  Marketing
>  Work Effort
>  Reporting
>  Document Management
>  E-Commerce
>  Others to be
> identified
>  I would like to start with Human Resources. Is anyone interested?
>
> Tom
>
>
>
> ________________________________
>  From: Pierre Smits <pierre.sm...@gmail.com>
> To: dev@ofbiz.apache.org
> Sent: Wednesday, March 14, 2012 5:53 PM
> Subject: Re: Rethinking the structure of the OFBiz Applications Components
>
> 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
> >>>>
> >>>>
>



-- 
I am hongs

Reply via email to