What could be very interesting would be to add new language to OfBiz. It
could be some 4GL which would bring many interesting features: First it could be service writing languge. It could be static language which would make it types based on entities and services (maybe services could be more entity coupled) and could be more user freindly than XML mini language. Second it could be system repository manipulation language. Currently Ofbiz has XML repository of entities services and forms. But imagine that we store it in database or just as serialized java object. Now add to this manipulation language like this: ALTER CLASS Invoice ADD PROPERTY AdditionalDescriptions BEFORE:Description TYPE: Text LENGTH: 400 END REPLACE SETTER TRIGGER MyTrigger PHASE:BEFORE LANGUAGE: OFBIZ TARGET: AdditionalDescriptions CODE TaxId = Nip END END ADD SERVICE TRIGGER CompleteAdditional TARGET : Complete PHASE: AFTER LANGUAGE: JAVA CLASS :org.apache.ofbiz.addins.InvoiceJMSNotification END END; ALTER CLASS Order ALTER ACCESS RIGTH Access ALTER ROLE Marek READ: TRUE WRITE TRUE DELETE: FLASE END END END ALTER FORM Invoice ALTER GROUP Main ADD RENDERER AdditonalDescription END END END ADD TRANSLATION LANGUAGE:pl_PL KEY: Invoice.AdditionalDescriptions END Some parts of language could be client available like validation rules for example. It would be something like dynamic application server. You could alter the main code whch would make platform very good for components.Anyone could easly alter componetns for its needs. Another great thing would be use of Ofbiz with some ORM, the best would be OpenJPA but it currently works only on class level (no support for Map entites). Best regards, Marek |
There are applications like Compiere that use this. so Why change ofbiz?
Also how about addressing some of the inherited features like UI and DB(at least the adds) change when entities changes Then there is the automatic Creation of CRUD services that get built from the Entity. Triggers are covered under ECA's Also the ECA's let you model your business flow the way a clients needs. For those that need java the services can be written in Java with just a simple service interface. Marek Mosiewicz sent the following on 5/15/2009 3:24 AM: > What could be very interesting would be to add new language to OfBiz. It > could be some 4GL which would > bring many interesting features: > > First it could be service writing languge. It could be static language > which would make it types based on entities > and services (maybe services could be more entity coupled) and could be > more user freindly than XML mini language. > > Second it could be system repository manipulation language. Currently > Ofbiz has XML repository of entities services > and forms. But imagine that we store it in database or just as > serialized java object. Now add to this manipulation language like this: > ALTER CLASS Invoice > ADD PROPERTY AdditionalDescriptions > BEFORE:Description > TYPE: Text > LENGTH: 400 > END > REPLACE SETTER TRIGGER MyTrigger > PHASE:BEFORE > LANGUAGE: OFBIZ > TARGET: AdditionalDescriptions > CODE > TaxId = Nip > END > END > ADD SERVICE TRIGGER CompleteAdditional > TARGET : Complete > PHASE: AFTER > LANGUAGE: JAVA > CLASS :org.apache.ofbiz.addins.InvoiceJMSNotification > END > END; > ALTER CLASS Order > ALTER ACCESS RIGTH Access > ALTER ROLE Marek > READ: TRUE > WRITE TRUE > DELETE: FLASE > END > END > END > ALTER FORM Invoice > ALTER GROUP Main > ADD RENDERER AdditonalDescription > END > END > END > ADD TRANSLATION > LANGUAGE:pl_PL > KEY: Invoice.AdditionalDescriptions > END > Some parts of language could be client available like validation rules > for example. > It would be something like dynamic application server. You could alter > the main code whch would make platform very good > for components.Anyone could easly alter componetns for its needs. > Another great thing would be use of Ofbiz with some ORM, the best would > be OpenJPA but it currently works only on > class level (no support for Map entites). > > Best regards, > Marek > -- BJ Freeman http://www.businessesnetwork.com/automation http://bjfreeman.elance.com http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro Systems Integrator. |
In reply to this post by Marek Mosiewicz-2
but don't let me stop you from developing it to show to the community.
:D BJ Freeman sent the following on 5/15/2009 9:26 AM: > There are applications like Compiere that use this. so Why change ofbiz? > Also how about addressing some of the inherited features like UI and > DB(at least the adds) change when entities changes > Then there is the automatic Creation of CRUD services that get built > from the Entity. > Triggers are covered under ECA's > Also the ECA's let you model your business flow the way a clients needs. > For those that need java the services can be written in Java with just a > simple service interface. > > > > > Marek Mosiewicz sent the following on 5/15/2009 3:24 AM: >> What could be very interesting would be to add new language to OfBiz. It >> could be some 4GL which would >> bring many interesting features: >> >> First it could be service writing languge. It could be static language >> which would make it types based on entities >> and services (maybe services could be more entity coupled) and could be >> more user freindly than XML mini language. >> >> Second it could be system repository manipulation language. Currently >> Ofbiz has XML repository of entities services >> and forms. But imagine that we store it in database or just as >> serialized java object. Now add to this manipulation language like this: >> ALTER CLASS Invoice >> ADD PROPERTY AdditionalDescriptions >> BEFORE:Description >> TYPE: Text >> LENGTH: 400 >> END >> REPLACE SETTER TRIGGER MyTrigger >> PHASE:BEFORE >> LANGUAGE: OFBIZ >> TARGET: AdditionalDescriptions >> CODE >> TaxId = Nip >> END >> END >> ADD SERVICE TRIGGER CompleteAdditional >> TARGET : Complete >> PHASE: AFTER >> LANGUAGE: JAVA >> CLASS :org.apache.ofbiz.addins.InvoiceJMSNotification >> END >> END; >> ALTER CLASS Order >> ALTER ACCESS RIGTH Access >> ALTER ROLE Marek >> READ: TRUE >> WRITE TRUE >> DELETE: FLASE >> END >> END >> END >> ALTER FORM Invoice >> ALTER GROUP Main >> ADD RENDERER AdditonalDescription >> END >> END >> END >> ADD TRANSLATION >> LANGUAGE:pl_PL >> KEY: Invoice.AdditionalDescriptions >> END >> Some parts of language could be client available like validation rules >> for example. >> It would be something like dynamic application server. You could alter >> the main code whch would make platform very good >> for components.Anyone could easly alter componetns for its needs. >> Another great thing would be use of Ofbiz with some ORM, the best would >> be OpenJPA but it currently works only on >> class level (no support for Map entites). >> >> Best regards, >> Marek >> > -- BJ Freeman http://www.businessesnetwork.com/automation http://bjfreeman.elance.com http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro Systems Integrator. |
In reply to this post by Marek Mosiewicz-2
Actually, we already have a 4GL - it's called mini-language. To quote one of the project's founders (paraphrased) "Understand the design before you try to change it." -Adrian --- On Fri, 5/15/09, BJ Freeman <[hidden email]> wrote: > From: BJ Freeman <[hidden email]> > Subject: Re: OfBiz 4GL > To: [hidden email] > Date: Friday, May 15, 2009, 7:02 PM > but don't let me stop you from > developing it to show to the community. > :D > > BJ Freeman sent the following on 5/15/2009 9:26 AM: > > There are applications like Compiere that use this. so > Why change ofbiz? > > Also how about addressing some of the inherited > features like UI and > > DB(at least the adds) change when entities changes > > Then there is the automatic Creation of CRUD services > that get built > > from the Entity. > > Triggers are covered under ECA's > > Also the ECA's let you model your business flow the > way a clients needs. > > For those that need java the services can be written > in Java with just a > > simple service interface. > > > > > > > > > > Marek Mosiewicz sent the following on 5/15/2009 3:24 > AM: > >> What could be very interesting would be to add new > language to OfBiz. It > >> could be some 4GL which would > >> bring many interesting features: > >> > >> First it could be service writing languge. It > could be static language > >> which would make it types based on entities > >> and services (maybe services could be more entity > coupled) and could be > >> more user freindly than XML mini language. > >> > >> Second it could be system repository manipulation > language. Currently > >> Ofbiz has XML repository of entities services > >> and forms. But imagine that we store it in > database or just as > >> serialized java object. Now add to this > manipulation language like this: > >> ALTER CLASS Invoice > >> ADD PROPERTY AdditionalDescriptions > >> > BEFORE:Description > >> TYPE: Text > >> LENGTH: 400 > >> END > >> REPLACE SETTER TRIGGER MyTrigger > >> > PHASE:BEFORE > >> LANGUAGE: > OFBIZ > >> TARGET: > AdditionalDescriptions > >> CODE > >> > TaxId = Nip > >> END > >> END > >> ADD SERVICE TRIGGER > CompleteAdditional > >> TARGET : Complete > >> PHASE: AFTER > >> LANGUAGE: JAVA > >> CLASS > :org.apache.ofbiz.addins.InvoiceJMSNotification > >> END > >> END; > >> ALTER CLASS Order > >> ALTER ACCESS RIGTH Access > >> ALTER ROLE Marek > >> > READ: TRUE > >> > WRITE TRUE > >> > DELETE: FLASE > >> END > >> END > >> END > >> ALTER FORM Invoice > >> ALTER GROUP Main > >> > ADD RENDERER AdditonalDescription > >> > END > >> END > >> END > >> ADD TRANSLATION > >> LANGUAGE:pl_PL > >> KEY: Invoice.AdditionalDescriptions > >> END > >> Some parts of language could be client available > like validation rules > >> for example. > >> It would be something like dynamic application > server. You could alter > >> the main code whch would make platform very good > >> for components.Anyone could easly alter componetns > for its needs. > >> Another great thing would be use of Ofbiz with > some ORM, the best would > >> be OpenJPA but it currently works only on > >> class level (no support for Map entites). > >> > >> Best regards, > >> Marek > >> > > > > -- > BJ Freeman > http://www.businessesnetwork.com/automation > http://bjfreeman.elance.com > http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro > Systems Integrator. > > |
In reply to this post by Marek Mosiewicz-2
learning the design was my thought behind the invitation.
:D Adrian Crum sent the following on 5/15/2009 7:15 PM: > Actually, we already have a 4GL - it's called mini-language. > > To quote one of the project's founders (paraphrased) "Understand the design before you try to change it." > > -Adrian > > --- On Fri, 5/15/09, BJ Freeman <[hidden email]> wrote: > >> From: BJ Freeman <[hidden email]> >> Subject: Re: OfBiz 4GL >> To: [hidden email] >> Date: Friday, May 15, 2009, 7:02 PM >> but don't let me stop you from >> developing it to show to the community. >> :D >> >> BJ Freeman sent the following on 5/15/2009 9:26 AM: >>> There are applications like Compiere that use this. so >> Why change ofbiz? >>> Also how about addressing some of the inherited >> features like UI and >>> DB(at least the adds) change when entities changes >>> Then there is the automatic Creation of CRUD services >> that get built >>> from the Entity. >>> Triggers are covered under ECA's >>> Also the ECA's let you model your business flow the >> way a clients needs. >>> For those that need java the services can be written >> in Java with just a >>> simple service interface. >>> >>> >>> >>> >>> Marek Mosiewicz sent the following on 5/15/2009 3:24 >> AM: >>>> What could be very interesting would be to add new >> language to OfBiz. It >>>> could be some 4GL which would >>>> bring many interesting features: >>>> >>>> First it could be service writing languge. It >> could be static language >>>> which would make it types based on entities >>>> and services (maybe services could be more entity >> coupled) and could be >>>> more user freindly than XML mini language. >>>> >>>> Second it could be system repository manipulation >> language. Currently >>>> Ofbiz has XML repository of entities services >>>> and forms. But imagine that we store it in >> database or just as >>>> serialized java object. Now add to this >> manipulation language like this: >>>> ALTER CLASS Invoice >>>> ADD PROPERTY AdditionalDescriptions >>>> >> BEFORE:Description >>>> TYPE: Text >>>> LENGTH: 400 >>>> END >>>> REPLACE SETTER TRIGGER MyTrigger >>>> >> PHASE:BEFORE >>>> LANGUAGE: >> OFBIZ >>>> TARGET: >> AdditionalDescriptions >>>> CODE >>>> >> TaxId = Nip >>>> END >>>> END >>>> ADD SERVICE TRIGGER >> CompleteAdditional >>>> TARGET : Complete >>>> PHASE: AFTER >>>> LANGUAGE: JAVA >>>> CLASS >> :org.apache.ofbiz.addins.InvoiceJMSNotification >>>> END >>>> END; >>>> ALTER CLASS Order >>>> ALTER ACCESS RIGTH Access >>>> ALTER ROLE Marek >>>> >> READ: TRUE >>>> >> WRITE TRUE >>>> >> DELETE: FLASE >>>> END >>>> END >>>> END >>>> ALTER FORM Invoice >>>> ALTER GROUP Main >>>> >> ADD RENDERER AdditonalDescription >>>> >> END >>>> END >>>> END >>>> ADD TRANSLATION >>>> LANGUAGE:pl_PL >>>> KEY: Invoice.AdditionalDescriptions >>>> END >>>> Some parts of language could be client available >> like validation rules >>>> for example. >>>> It would be something like dynamic application >> server. You could alter >>>> the main code whch would make platform very good >>>> for components.Anyone could easly alter componetns >> for its needs. >>>> Another great thing would be use of Ofbiz with >> some ORM, the best would >>>> be OpenJPA but it currently works only on >>>> class level (no support for Map entites). >>>> >>>> Best regards, >>>> Marek >>>> >> -- >> BJ Freeman >> http://www.businessesnetwork.com/automation >> http://bjfreeman.elance.com >> http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro >> Systems Integrator. >> >> > > > > -- BJ Freeman http://www.businessesnetwork.com/automation http://bjfreeman.elance.com http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro Systems Integrator. |
In reply to this post by BJ Freeman
Compiere does not do this in elastic way. There is no way to alter service
definition as it is normal java method. There is no language to make change. All changes must be done in database via GUI. I do not thing there is problem with UI changes. The UI could be altered in same way as entity (there is just important sequence of fields so some positioning keywords should be available). I know that there is alredy infrastructure in OfBiz to do this. That it is why I write here. Best regards, Marek ----- Original Message ----- From: "BJ Freeman" <[hidden email]> To: <[hidden email]> Sent: Friday, May 15, 2009 6:26 PM Subject: Re: OfBiz 4GL > There are applications like Compiere that use this. so Why change ofbiz? > Also how about addressing some of the inherited features like UI and > DB(at least the adds) change when entities changes > Then there is the automatic Creation of CRUD services that get built > from the Entity. > Triggers are covered under ECA's > Also the ECA's let you model your business flow the way a clients needs. > For those that need java the services can be written in Java with just a > simple service interface. > > > > > Marek Mosiewicz sent the following on 5/15/2009 3:24 AM: >> What could be very interesting would be to add new language to OfBiz. It >> could be some 4GL which would >> bring many interesting features: >> >> First it could be service writing languge. It could be static language >> which would make it types based on entities >> and services (maybe services could be more entity coupled) and could be >> more user freindly than XML mini language. >> >> Second it could be system repository manipulation language. Currently >> Ofbiz has XML repository of entities services >> and forms. But imagine that we store it in database or just as >> serialized java object. Now add to this manipulation language like this: >> ALTER CLASS Invoice >> ADD PROPERTY AdditionalDescriptions >> BEFORE:Description >> TYPE: Text >> LENGTH: 400 >> END >> REPLACE SETTER TRIGGER MyTrigger >> PHASE:BEFORE >> LANGUAGE: OFBIZ >> TARGET: AdditionalDescriptions >> CODE >> TaxId = Nip >> END >> END >> ADD SERVICE TRIGGER CompleteAdditional >> TARGET : Complete >> PHASE: AFTER >> LANGUAGE: JAVA >> CLASS :org.apache.ofbiz.addins.InvoiceJMSNotification >> END >> END; >> ALTER CLASS Order >> ALTER ACCESS RIGTH Access >> ALTER ROLE Marek >> READ: TRUE >> WRITE TRUE >> DELETE: FLASE >> END >> END >> END >> ALTER FORM Invoice >> ALTER GROUP Main >> ADD RENDERER AdditonalDescription >> END >> END >> END >> ADD TRANSLATION >> LANGUAGE:pl_PL >> KEY: Invoice.AdditionalDescriptions >> END >> Some parts of language could be client available like validation rules >> for example. >> It would be something like dynamic application server. You could alter >> the main code whch would make platform very good >> for components.Anyone could easly alter componetns for its needs. >> Another great thing would be use of Ofbiz with some ORM, the best would >> be OpenJPA but it currently works only on >> class level (no support for Map entites). >> >> Best regards, >> Marek >> > > -- > BJ Freeman > http://www.businessesnetwork.com/automation > http://bjfreeman.elance.com > http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro > Systems Integrator. > > |
Hi,
My 5 cents. What about AspectJ http://www.eclipse.org/aspectj/ as implementation of "your" language? ya Dňa Št, 2009-05-21 o 20:58 +0200, Marek Mosiewicz napísal: > Compiere does not do this in elastic way. There is no way to alter service > definition as it is normal java method. There is no language to make change. > All changes must be done in database via GUI. > > I do not thing there is problem with UI changes. The UI could be altered in > same way as entity (there is just important sequence of fields so some > positioning keywords should be available). > > I know that there is alredy infrastructure in OfBiz to do this. That it is > why I write here. > > Best regards, > Marek > > ----- Original Message ----- > From: "BJ Freeman" <[hidden email]> > To: <[hidden email]> > Sent: Friday, May 15, 2009 6:26 PM > Subject: Re: OfBiz 4GL > > > > There are applications like Compiere that use this. so Why change ofbiz? > > Also how about addressing some of the inherited features like UI and > > DB(at least the adds) change when entities changes > > Then there is the automatic Creation of CRUD services that get built > > from the Entity. > > Triggers are covered under ECA's > > Also the ECA's let you model your business flow the way a clients needs. > > For those that need java the services can be written in Java with just a > > simple service interface. > > > > > > > > > > Marek Mosiewicz sent the following on 5/15/2009 3:24 AM: > >> What could be very interesting would be to add new language to OfBiz. It > >> could be some 4GL which would > >> bring many interesting features: > >> > >> First it could be service writing languge. It could be static language > >> which would make it types based on entities > >> and services (maybe services could be more entity coupled) and could be > >> more user freindly than XML mini language. > >> > >> Second it could be system repository manipulation language. Currently > >> Ofbiz has XML repository of entities services > >> and forms. But imagine that we store it in database or just as > >> serialized java object. Now add to this manipulation language like this: > >> ALTER CLASS Invoice > >> ADD PROPERTY AdditionalDescriptions > >> BEFORE:Description > >> TYPE: Text > >> LENGTH: 400 > >> END > >> REPLACE SETTER TRIGGER MyTrigger > >> PHASE:BEFORE > >> LANGUAGE: OFBIZ > >> TARGET: AdditionalDescriptions > >> CODE > >> TaxId = Nip > >> END > >> END > >> ADD SERVICE TRIGGER CompleteAdditional > >> TARGET : Complete > >> PHASE: AFTER > >> LANGUAGE: JAVA > >> CLASS :org.apache.ofbiz.addins.InvoiceJMSNotification > >> END > >> END; > >> ALTER CLASS Order > >> ALTER ACCESS RIGTH Access > >> ALTER ROLE Marek > >> READ: TRUE > >> WRITE TRUE > >> DELETE: FLASE > >> END > >> END > >> END > >> ALTER FORM Invoice > >> ALTER GROUP Main > >> ADD RENDERER AdditonalDescription > >> END > >> END > >> END > >> ADD TRANSLATION > >> LANGUAGE:pl_PL > >> KEY: Invoice.AdditionalDescriptions > >> END > >> Some parts of language could be client available like validation rules > >> for example. > >> It would be something like dynamic application server. You could alter > >> the main code whch would make platform very good > >> for components.Anyone could easly alter componetns for its needs. > >> Another great thing would be use of Ofbiz with some ORM, the best would > >> be OpenJPA but it currently works only on > >> class level (no support for Map entites). > >> > >> Best regards, > >> Marek > >> > > > > -- > > BJ Freeman > > http://www.businessesnetwork.com/automation > > http://bjfreeman.elance.com > > http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro > > Systems Integrator. > > > > > |
AspectJ gives chance to override business logic. That is true. But what I
would see is some kind of object database with stored proedure language. That would be ultimate solution for many places where lot of customizations is needed. You could override any thing you need. Either column, form field or business logic. In fact what is closest to my mind is the SQL99 where there is standard language and quite nice object features. But unfortunetly it is still not implemented except DB2. Marek ----- Original Message ----- From: "Ján Valkovič" <[hidden email]> To: <[hidden email]> Sent: Friday, May 22, 2009 11:03 AM Subject: Re: OfBiz 4GL > Hi, > My 5 cents. What about AspectJ http://www.eclipse.org/aspectj/ as > implementation of "your" language? > > ya > > Dňa Št, 2009-05-21 o 20:58 +0200, Marek Mosiewicz napísal: >> Compiere does not do this in elastic way. There is no way to alter >> service >> definition as it is normal java method. There is no language to make >> change. >> All changes must be done in database via GUI. >> >> I do not thing there is problem with UI changes. The UI could be altered >> in >> same way as entity (there is just important sequence of fields so some >> positioning keywords should be available). >> >> I know that there is alredy infrastructure in OfBiz to do this. That it >> is >> why I write here. >> >> Best regards, >> Marek >> >> ----- Original Message ----- >> From: "BJ Freeman" <[hidden email]> >> To: <[hidden email]> >> Sent: Friday, May 15, 2009 6:26 PM >> Subject: Re: OfBiz 4GL >> >> >> > There are applications like Compiere that use this. so Why change >> > ofbiz? >> > Also how about addressing some of the inherited features like UI and >> > DB(at least the adds) change when entities changes >> > Then there is the automatic Creation of CRUD services that get built >> > from the Entity. >> > Triggers are covered under ECA's >> > Also the ECA's let you model your business flow the way a clients >> > needs. >> > For those that need java the services can be written in Java with just >> > a >> > simple service interface. >> > >> > >> > >> > >> > Marek Mosiewicz sent the following on 5/15/2009 3:24 AM: >> >> What could be very interesting would be to add new language to OfBiz. >> >> It >> >> could be some 4GL which would >> >> bring many interesting features: >> >> >> >> First it could be service writing languge. It could be static language >> >> which would make it types based on entities >> >> and services (maybe services could be more entity coupled) and could >> >> be >> >> more user freindly than XML mini language. >> >> >> >> Second it could be system repository manipulation language. Currently >> >> Ofbiz has XML repository of entities services >> >> and forms. But imagine that we store it in database or just as >> >> serialized java object. Now add to this manipulation language like >> >> this: >> >> ALTER CLASS Invoice >> >> ADD PROPERTY AdditionalDescriptions >> >> BEFORE:Description >> >> TYPE: Text >> >> LENGTH: 400 >> >> END >> >> REPLACE SETTER TRIGGER MyTrigger >> >> PHASE:BEFORE >> >> LANGUAGE: OFBIZ >> >> TARGET: AdditionalDescriptions >> >> CODE >> >> TaxId = Nip >> >> END >> >> END >> >> ADD SERVICE TRIGGER CompleteAdditional >> >> TARGET : Complete >> >> PHASE: AFTER >> >> LANGUAGE: JAVA >> >> CLASS :org.apache.ofbiz.addins.InvoiceJMSNotification >> >> END >> >> END; >> >> ALTER CLASS Order >> >> ALTER ACCESS RIGTH Access >> >> ALTER ROLE Marek >> >> READ: TRUE >> >> WRITE TRUE >> >> DELETE: FLASE >> >> END >> >> END >> >> END >> >> ALTER FORM Invoice >> >> ALTER GROUP Main >> >> ADD RENDERER AdditonalDescription >> >> END >> >> END >> >> END >> >> ADD TRANSLATION >> >> LANGUAGE:pl_PL >> >> KEY: Invoice.AdditionalDescriptions >> >> END >> >> Some parts of language could be client available like validation rules >> >> for example. >> >> It would be something like dynamic application server. You could alter >> >> the main code whch would make platform very good >> >> for components.Anyone could easly alter componetns for its needs. >> >> Another great thing would be use of Ofbiz with some ORM, the best >> >> would >> >> be OpenJPA but it currently works only on >> >> class level (no support for Map entites). >> >> >> >> Best regards, >> >> Marek >> >> >> > >> > -- >> > BJ Freeman >> > http://www.businessesnetwork.com/automation >> > http://bjfreeman.elance.com >> > http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro >> > Systems Integrator. >> > >> > >> > > > |
In reply to this post by Ján Valkovič
and how ofbiz mini lanquage not support this?
seems your stating what ofbiz does. How about some concrete examples, comparing ofbiz minilanguage to what you propose. Marek Mosiewicz sent the following on 5/23/2009 8:32 AM: > AspectJ gives chance to override business logic. That is true. But what > I would see is some kind of object database with stored proedure language. > That would be ultimate solution for many places where lot of > customizations is needed. You could override any thing you need. Either > column, > form field or business logic. > > In fact what is closest to my mind is the SQL99 where there is standard > language and quite nice object features. But unfortunetly it is still > not implemented except DB2. > > > > Marek > > ----- Original Message ----- From: "Ján Valkovič" <[hidden email]> > To: <[hidden email]> > Sent: Friday, May 22, 2009 11:03 AM > Subject: Re: OfBiz 4GL > > >> Hi, >> My 5 cents. What about AspectJ http://www.eclipse.org/aspectj/ as >> implementation of "your" language? >> >> ya >> >> Dňa Št, 2009-05-21 o 20:58 +0200, Marek Mosiewicz napísal: >>> Compiere does not do this in elastic way. There is no way to alter >>> service >>> definition as it is normal java method. There is no language to make >>> change. >>> All changes must be done in database via GUI. >>> >>> I do not thing there is problem with UI changes. The UI could be >>> altered in >>> same way as entity (there is just important sequence of fields so some >>> positioning keywords should be available). >>> >>> I know that there is alredy infrastructure in OfBiz to do this. That >>> it is >>> why I write here. >>> >>> Best regards, >>> Marek >>> >>> ----- Original Message ----- From: "BJ Freeman" <[hidden email]> >>> To: <[hidden email]> >>> Sent: Friday, May 15, 2009 6:26 PM >>> Subject: Re: OfBiz 4GL >>> >>> >>> > There are applications like Compiere that use this. so Why change > >>> ofbiz? >>> > Also how about addressing some of the inherited features like UI and >>> > DB(at least the adds) change when entities changes >>> > Then there is the automatic Creation of CRUD services that get built >>> > from the Entity. >>> > Triggers are covered under ECA's >>> > Also the ECA's let you model your business flow the way a clients > >>> needs. >>> > For those that need java the services can be written in Java with >>> just > a >>> > simple service interface. >>> > >>> > >>> > >>> > >>> > Marek Mosiewicz sent the following on 5/15/2009 3:24 AM: >>> >> What could be very interesting would be to add new language to >>> OfBiz. >> It >>> >> could be some 4GL which would >>> >> bring many interesting features: >>> >> >>> >> First it could be service writing languge. It could be static >>> language >>> >> which would make it types based on entities >>> >> and services (maybe services could be more entity coupled) and >>> could >> be >>> >> more user freindly than XML mini language. >>> >> >>> >> Second it could be system repository manipulation language. Currently >>> >> Ofbiz has XML repository of entities services >>> >> and forms. But imagine that we store it in database or just as >>> >> serialized java object. Now add to this manipulation language like >>> >> this: >>> >> ALTER CLASS Invoice >>> >> ADD PROPERTY AdditionalDescriptions >>> >> BEFORE:Description >>> >> TYPE: Text >>> >> LENGTH: 400 >>> >> END >>> >> REPLACE SETTER TRIGGER MyTrigger >>> >> PHASE:BEFORE >>> >> LANGUAGE: OFBIZ >>> >> TARGET: AdditionalDescriptions >>> >> CODE >>> >> TaxId = Nip >>> >> END >>> >> END >>> >> ADD SERVICE TRIGGER CompleteAdditional >>> >> TARGET : Complete >>> >> PHASE: AFTER >>> >> LANGUAGE: JAVA >>> >> CLASS :org.apache.ofbiz.addins.InvoiceJMSNotification >>> >> END >>> >> END; >>> >> ALTER CLASS Order >>> >> ALTER ACCESS RIGTH Access >>> >> ALTER ROLE Marek >>> >> READ: TRUE >>> >> WRITE TRUE >>> >> DELETE: FLASE >>> >> END >>> >> END >>> >> END >>> >> ALTER FORM Invoice >>> >> ALTER GROUP Main >>> >> ADD RENDERER AdditonalDescription >>> >> END >>> >> END >>> >> END >>> >> ADD TRANSLATION >>> >> LANGUAGE:pl_PL >>> >> KEY: Invoice.AdditionalDescriptions >>> >> END >>> >> Some parts of language could be client available like validation >>> rules >>> >> for example. >>> >> It would be something like dynamic application server. You could >>> alter >>> >> the main code whch would make platform very good >>> >> for components.Anyone could easly alter componetns for its needs. >>> >> Another great thing would be use of Ofbiz with some ORM, the best >>> >> would >>> >> be OpenJPA but it currently works only on >>> >> class level (no support for Map entites). >>> >> >>> >> Best regards, >>> >> Marek >>> >> >>> > >>> > -- > BJ Freeman >>> > http://www.businessesnetwork.com/automation >>> > http://bjfreeman.elance.com >>> > >>> http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro >>> >>> > Systems Integrator. >>> > >>> > >>> >> >> >> > > -- BJ Freeman http://www.businessesnetwork.com/automation http://bjfreeman.elance.com http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro Systems Integrator. |
One difference would be that it would be statically typed language.
It would recognize entities as classes (not java classes, but it would use internally map as it is now). That is difference compaing to current java or mini language where entities names and properties are strings. The language it self would be generic PL/SQL similar language with support for many query languages SQL/EJB3/???. Second difference would be way of defining objects (entities, forms, menus, roles,code, translations). There would altering language for it. The whole object repostiory would be created from some kind of langugage. That would give power to customizations becouse all definitions and code could be altered. In fact it would be some kind of object database but which could be alterable. The power of altering is great. Third object repository would be faster than parsing tons of xml files. it could be dbms like in case of Compiere/Adempiere/OpenERP (the best becouse the whole language could be applied to both metaobjects and entities) or serialized object. Current Compiere user experience is not good becouse compiere does not use repository/dictionary cache, but this is mainly due to not well designed transaltion tables which can not be easly cached without context. And the most important thing. From my experience there is currenty huge problem with business applications. Even if there is reusable business logic on the server side it can not be generic purpose. Business logic can be: -line centric where all entities inserted and treated just as table lines -gui centric where business logic is correspond to user interface -document centric where entities are treated as documents First one is easy to create but not friendly to developer. Second one is easy but not very reusable or scalable e.g. batch mode when we want for exmaple import entities. third one is optimal but unfortunetely currently not well supported becouse: -it must reimplement the gui logic (e.g default values) -The all checks from gui must be reimplemented. All rules must be applied in case we do not trust our client -It is difficult to find changes compared to saved version in case of update. So the best way would be to create framework which would operate on changelog of entity. In some scenarios the changelog would be created by gui in some scenarios changelog would be created based on database state of entity. Then we would apply set of rules/triggers on this changelog. The rule can be applied for example to remove of order item. The rules could be reusable on gui and server side. GUI would send us direct changelog made by user and we would reapply it on server. In case of batch mode we would create changelog comparing new state to db state and also apply rules. Rules would opearte on documents so there would be no uncessery database traffic. The whole language would be change log based. Eg. replace|create|drop|update form [id] as add panel name as [replace] row name before anotherPanel as renderer OrderDate; renderer OrderStatus; end end end create entity Invoice as property InvoiceDate date; property Description string; service Complete as param force boolean optional true default false; param ignoreWarning optional true default true; code as code goes here. end end end update Invoice 435245 as update Party 'CUST1000' //this would resolve party by id calculated MechCont 'CUST1000_1' //calculated keyword would indicate that it is not updated from gui. update lines as replace line 10 //seqeunce id product 'GIMZO'; //this would resolve product by id quantity 10; end add line product name 'Best Gimzo' end //this would resolve product by 'query by example' quantity 10; end end calculated taxes as end end The whole language would XML like but more readable with following rules Optional ?? create/replace/drop/update/calculated keyword to indicate operation on object. As keyword to indicate block start. Before/After keywords to indicate position. end keyword to indicate block end. ; to indicate one line end; object type after create/replace/drop/update keyword to indicate what to change. It would also determine inline options for line [id of object and other options; In fact what is new compared e.g. to Groovy builders is that it is alter aware language. It would be nice both in metaobjects updating as in entities updating. Cheers, Marek ----- Original Message ----- From: "BJ Freeman" <[hidden email]> To: <[hidden email]> Sent: Sunday, May 24, 2009 1:28 AM Subject: Re: OfBiz 4GL > and how ofbiz mini lanquage not support this? > seems your stating what ofbiz does. > How about some concrete examples, comparing ofbiz minilanguage to what > you propose. > > Marek Mosiewicz sent the following on 5/23/2009 8:32 AM: >> AspectJ gives chance to override business logic. That is true. But what >> I would see is some kind of object database with stored proedure >> language. >> That would be ultimate solution for many places where lot of >> customizations is needed. You could override any thing you need. Either >> column, >> form field or business logic. >> >> In fact what is closest to my mind is the SQL99 where there is standard >> language and quite nice object features. But unfortunetly it is still >> not implemented except DB2. >> >> >> >> Marek >> >> ----- Original Message ----- From: "Ján Valkovič" <[hidden email]> >> To: <[hidden email]> >> Sent: Friday, May 22, 2009 11:03 AM >> Subject: Re: OfBiz 4GL >> >> >>> Hi, >>> My 5 cents. What about AspectJ http://www.eclipse.org/aspectj/ as >>> implementation of "your" language? >>> >>> ya >>> >>> Dňa Št, 2009-05-21 o 20:58 +0200, Marek Mosiewicz napísal: >>>> Compiere does not do this in elastic way. There is no way to alter >>>> service >>>> definition as it is normal java method. There is no language to make >>>> change. >>>> All changes must be done in database via GUI. >>>> >>>> I do not thing there is problem with UI changes. The UI could be >>>> altered in >>>> same way as entity (there is just important sequence of fields so some >>>> positioning keywords should be available). >>>> >>>> I know that there is alredy infrastructure in OfBiz to do this. That >>>> it is >>>> why I write here. >>>> >>>> Best regards, >>>> Marek >>>> >>>> ----- Original Message ----- From: "BJ Freeman" <[hidden email]> >>>> To: <[hidden email]> >>>> Sent: Friday, May 15, 2009 6:26 PM >>>> Subject: Re: OfBiz 4GL >>>> >>>> >>>> > There are applications like Compiere that use this. so Why change > >>>> ofbiz? >>>> > Also how about addressing some of the inherited features like UI and >>>> > DB(at least the adds) change when entities changes >>>> > Then there is the automatic Creation of CRUD services that get built >>>> > from the Entity. >>>> > Triggers are covered under ECA's >>>> > Also the ECA's let you model your business flow the way a clients > >>>> needs. >>>> > For those that need java the services can be written in Java with >>>> just > a >>>> > simple service interface. >>>> > >>>> > >>>> > >>>> > >>>> > Marek Mosiewicz sent the following on 5/15/2009 3:24 AM: >>>> >> What could be very interesting would be to add new language to >>>> OfBiz. >> It >>>> >> could be some 4GL which would >>>> >> bring many interesting features: >>>> >> >>>> >> First it could be service writing languge. It could be static >>>> language >>>> >> which would make it types based on entities >>>> >> and services (maybe services could be more entity coupled) and >>>> could >> be >>>> >> more user freindly than XML mini language. >>>> >> >>>> >> Second it could be system repository manipulation language. >>>> >> Currently >>>> >> Ofbiz has XML repository of entities services >>>> >> and forms. But imagine that we store it in database or just as >>>> >> serialized java object. Now add to this manipulation language like >>>> >> this: >>>> >> ALTER CLASS Invoice >>>> >> ADD PROPERTY AdditionalDescriptions >>>> >> BEFORE:Description >>>> >> TYPE: Text >>>> >> LENGTH: 400 >>>> >> END >>>> >> REPLACE SETTER TRIGGER MyTrigger >>>> >> PHASE:BEFORE >>>> >> LANGUAGE: OFBIZ >>>> >> TARGET: AdditionalDescriptions >>>> >> CODE >>>> >> TaxId = Nip >>>> >> END >>>> >> END >>>> >> ADD SERVICE TRIGGER CompleteAdditional >>>> >> TARGET : Complete >>>> >> PHASE: AFTER >>>> >> LANGUAGE: JAVA >>>> >> CLASS :org.apache.ofbiz.addins.InvoiceJMSNotification >>>> >> END >>>> >> END; >>>> >> ALTER CLASS Order >>>> >> ALTER ACCESS RIGTH Access >>>> >> ALTER ROLE Marek >>>> >> READ: TRUE >>>> >> WRITE TRUE >>>> >> DELETE: FLASE >>>> >> END >>>> >> END >>>> >> END >>>> >> ALTER FORM Invoice >>>> >> ALTER GROUP Main >>>> >> ADD RENDERER AdditonalDescription >>>> >> END >>>> >> END >>>> >> END >>>> >> ADD TRANSLATION >>>> >> LANGUAGE:pl_PL >>>> >> KEY: Invoice.AdditionalDescriptions >>>> >> END >>>> >> Some parts of language could be client available like validation >>>> rules >>>> >> for example. >>>> >> It would be something like dynamic application server. You could >>>> alter >>>> >> the main code whch would make platform very good >>>> >> for components.Anyone could easly alter componetns for its needs. >>>> >> Another great thing would be use of Ofbiz with some ORM, the best >>>> >> would >>>> >> be OpenJPA but it currently works only on >>>> >> class level (no support for Map entites). >>>> >> >>>> >> Best regards, >>>> >> Marek >>>> >> >>>> > >>>> > -- > BJ Freeman >>>> > http://www.businessesnetwork.com/automation >>>> > http://bjfreeman.elance.com >>>> > >>>> http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro >>>> >>>> > Systems Integrator. >>>> > >>>> > >>>> >>> >>> >>> >> >> > > -- > BJ Freeman > http://www.businessesnetwork.com/automation > http://bjfreeman.elance.com > http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro > Systems Integrator. > > |
Free forum by Nabble | Edit this page |