New proprietary ERP software based on the OFBiz data model

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

New proprietary ERP software based on the OFBiz data model

deyan
Hello,

my name is Deyan Tsvetanov, I’m the founder and CEO of Moveltix.
Moveltix OOD is a self-funded startup company, based in Sofia, Bulgaria.

We spent the last two years in implementing a new software stack around the great OFBiz data model.

Few days ago we reached public beta state, so we decided to celebrate the event by launching our company web site with free demo access that requires no registration :)

I’d like to invite you to test our product: moveltix ERP II (beta):

This instance (DEMO) contains the original OFBiz demo data (most of)
https://demo.moveltix.com/login/auth?username=guest&password=guest <https://demo.moveltix.com/login/auth?username=guest&password=guest>

This one - CHERRY - contains demo data that we have populated ourselves. The demo data in Cherry is more multi-lingual, although in only 2 languages: Bulgarian and English.
https://cherry.moveltix.com/login/auth?username=guest&password=guest9543 <https://cherry.moveltix.com/login/auth?username=guest&password=guest9543>

I’d like to also give you some background information and technical details about the project.

We wanted to create the ERP II type of software, that OFBiz is designed to be. An ERP II type of software contains not only sub-systems/modules of record, but also systems of engagement.

The other requirements that we set for the software were:

- multi-tenant - so we can provide SaaS and license it to customers, who’d like to retain ownership of their data
- multilingual - not only for the UI and the content (as in OFBiz), but also for all textual data, with global full-text search capabilities at database level
- zero-conf - all the configuration, custom code, encryption keys and so on are stored in the database. The only file configuration that is needed is the database datasource.
- unlimited scalability - that means clustering, auto-scaling and multi-master database replication
- cool responsive ui - to allow access to the complete functionality from any device
- capable to talk to online services - such as social networks, banks, payment operators, IaaS & PaaS providers and other B2B
- enterprise features - like advanced encryption and digital signing of content, advanced access log, security model and all the requirements by standards, such as ISO27001:2013 and PCI-DSS
- multi-master database asynchronous replication capabilities - to allow setting up of local servers at remote locations with semi-real time replication until there is network connectivity. Useful for POS
- SDK for custom stuff: custom web sites, portals and apps, b2b integration to business and cloud services, scheduled background services, custom entity listeners/trigger, workflow status transition rules and trigger actions and others
- use NoSQL for big tables, such as AcctgTransEntry, CommunicationEvent, access & system log entries, gps coordinates and so on
- no proprietary software or libraries under „business-bad" licenses inside ! :)
- SSO with Active Directory, OAuth, etc

The platform that we used is Grails. De described the data model as grails domains, created new grails scaffolding templates and generated HTML5 CRUD interface and AJAX API.
We purchased this bootstrap3 theme (https://bootstraphunter.com/smartadmin-product.php <https://bootstraphunter.com/smartadmin-product.php>)  and used it for our back-end UI. We could, of course, switch easily to other theme, plain twitter bootstrap, or even enable several, completely different themes in parallel.

Moveltix ERP II is built using Grails 2.4.4 ( latest & greatest ). By default, Grails ships with Hibernate. Instead, we used EclipseLink and standard JPA annotations and queries.
It requires Java 8 and Tomcat (latest) or any other J2EE container. The database engine that we use and recommend is MySQL (latest and greatest, InnoDB with Full-Text Search indexes).
Moveltix ERP is a single .war file, monolithic application. It runs on 4GB of RAM, but at least 8GB are recommended for production use. Moveltix ERP utilizes EclipseLink’s L2 Cache, which dramatically reduces the database hits.

Moveltix ERP II is also multi-tenant. Each tenant has his own JDBC connection string, which could point to anywhere, SSL is supported. Each tenant is identified by his virtual host name.
The security control is performed using flexible security permission rules, which allow us to configure almost any type of access, such as:

- Parties (employees, contractors, partners, customers, etc) log into to the standard backend admin UI and are able to see only their own stuff: invoices, payments, agreements and other data, related to them. The same applies to the menu. Any other URL would produce an access denied message.
- Fine grained control for APIs , exposed to other B2B partners
- Access to both UI and API using digital certificates, custom rules and conditions per controller and action to specify the mandatory use of a certificate.

 The SDK:

Moveltix ERP II WEB SDK lets developers with basic skills create:
- custom web sites, portals and web apps. Our web site runs in moveltix ERP :)
- expose and consume web APIs (XML, JSON, etc)
- scheduled background services
- grails domain/entity event listeners: pre* and post* for create, update and delete. Any chained custom domain listener can throw an exception and force rollback of the transaction, resulting in a nice, localized custom error message and no messed data in the database.

The skills, required for the SDK:

- Java8 + Groovy
- JPA with EntityEngine extensions using either JPQL or using a CriteriaBuilder
- FreeMarker
- HTML5 + CSS3 + JQuery + any other favourite front-end technology, even plain HTML code works :)

Since the custom client source code is stored in the database, and afterwards compiled and executed by the JVM, we have enforced additional security restrictions: moveltix ERP II executes only digitally signed groovy code, signed with a special certificate, issued by our PKI. For additional security, all custom code runs in a sandboxed environment, with a custom class loader and other restrictions.

And since the IDE environment is entirely in the web browser, moveltix ERP II would simply ask the developer to sign the code with his certificate, before saving. Most of the custom groovy code is stored as Content and then as ElectronicText records. And since the Content entity supports versioning of its DataResources, the custom source code is also being versioned, so we can rollback to a working state, when something is messed up :)


The data model is enhanced.

Our servers for our SaaS offer run in AWS. All the files (uploaded docs, generated PDFs,etc) are stored in a S3 bucket (either client-side encrypted or not), which is per-tenant configurable. It can also run in AWS Elastic BeansTalk, Jelastic, Microsoft Azure and so on.

AWS support is built-in, so even on-premises customers could benefit from S3, SES, even if the application server is running on other PaaS or on-premises.

So - have fun, any feedback is welcome :)


Deyan Tsvetanov
CEO
Moveltix OOD
www.moveltix.com <http://www.noveltix.com/>
Reply | Threaded
Open this post in threaded view
|

Re: New proprietary ERP software based on the OFBiz data model

deyan
P.S.

1) The guest access to the demo and cherry instances is read-only.
2) The correct link to our web site is www.moveltix.com , there was a typo in the href in my email signature :)

Best regards,
Deyan
Reply | Threaded
Open this post in threaded view
|

Re: New proprietary ERP software based on the OFBiz data model

deyan
In reply to this post by deyan
P.S.2

The servers might be rebooted from time to time, to deploy a newer version.
The reboot takes approx. 4 minutes.

Reply | Threaded
Open this post in threaded view
|

Re: New proprietary ERP software based on the OFBiz data model

Wei Zhang
In reply to this post by deyan
Fantastic!
程序羊
Reply | Threaded
Open this post in threaded view
|

Re: New proprietary ERP software based on the OFBiz data model

Gavin Mabie-2
In reply to this post by deyan
Hi Dyan
Sweet - Good job.  Perhaps you can post details about your implementation
on the wiki?

Gavin

On Sat, Feb 28, 2015 at 10:45 AM, deyan <[hidden email]> wrote:

> P.S.2
>
> The servers might be rebooted from time to time, to deploy a newer version.
> The reboot takes approx. 4 minutes.
>
>
>
>
>
> --
> View this message in context:
> http://ofbiz.135035.n4.nabble.com/New-proprietary-ERP-software-based-on-the-OFBiz-data-model-tp4664399p4664401.html
> Sent from the OFBiz - User mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

Re: New proprietary ERP software based on the OFBiz data model

deyan
Hi Gavin,

thanks ! ;)

Sure, I’d love to post some details on the wiki.
I’ve already posted most of the details. What would be more interesting for the community are some details about the multi-lingual enhancements of the data model.
The rest is just Grails, JPA and OOP.

I’ll spend some time next week to prepare a document and will forward it to you. Still, we can’t reveal everything, its a competitive world :)

Best regards,
Deyan


Deyan Tsvetanov
CEO
Moveltix OOD
www.moveltix.com <https://www.moveltix.com/>


On Feb 28, 2015, at 11:32 , Gavin Mabie <[hidden email]> wrote:

Hi Dyan
Sweet - Good job.  Perhaps you can post details about your implementation
on the wiki?

Gavin

On Sat, Feb 28, 2015 at 10:45 AM, deyan <[hidden email]> wrote:

> P.S.2
>
> The servers might be rebooted from time to time, to deploy a newer version.
> The reboot takes approx. 4 minutes.
>
>
>
>
>
> --
> View this message in context:
> http://ofbiz.135035.n4.nabble.com/New-proprietary-ERP-software-based-on-the-OFBiz-data-model-tp4664399p4664401.html
> Sent from the OFBiz - User mailing list archive at Nabble.com.
>



Reply | Threaded
Open this post in threaded view
|

Re: New proprietary ERP software based on the OFBiz data model

Pierre Smits
In reply to this post by deyan
Interesting advertisement/testimonial.


Pierre Smits

*ORRTIZ.COM <http://www.orrtiz.com>*
Services & Solutions for Cloud-
Based Manufacturing, Professional
Services and Retail & Trade
http://www.orrtiz.com

On Sat, Feb 28, 2015 at 7:50 AM, Deyan Tsvetanov | Moveltix <
[hidden email]> wrote:

> Hello,
>
> my name is Deyan Tsvetanov, I’m the founder and CEO of Moveltix.
> Moveltix OOD is a self-funded startup company, based in Sofia, Bulgaria.
>
> We spent the last two years in implementing a new software stack around
> the great OFBiz data model.
>
> Few days ago we reached public beta state, so we decided to celebrate the
> event by launching our company web site with free demo access that requires
> no registration :)
>
> I’d like to invite you to test our product: moveltix ERP II (beta):
>
> This instance (DEMO) contains the original OFBiz demo data (most of)
> https://demo.moveltix.com/login/auth?username=guest&password=guest <
> https://demo.moveltix.com/login/auth?username=guest&password=guest>
>
> This one - CHERRY - contains demo data that we have populated ourselves.
> The demo data in Cherry is more multi-lingual, although in only 2
> languages: Bulgarian and English.
> https://cherry.moveltix.com/login/auth?username=guest&password=guest9543 <
> https://cherry.moveltix.com/login/auth?username=guest&password=guest9543>
>
> I’d like to also give you some background information and technical
> details about the project.
>
> We wanted to create the ERP II type of software, that OFBiz is designed to
> be. An ERP II type of software contains not only sub-systems/modules of
> record, but also systems of engagement.
>
> The other requirements that we set for the software were:
>
> - multi-tenant - so we can provide SaaS and license it to customers, who’d
> like to retain ownership of their data
> - multilingual - not only for the UI and the content (as in OFBiz), but
> also for all textual data, with global full-text search capabilities at
> database level
> - zero-conf - all the configuration, custom code, encryption keys and so
> on are stored in the database. The only file configuration that is needed
> is the database datasource.
> - unlimited scalability - that means clustering, auto-scaling and
> multi-master database replication
> - cool responsive ui - to allow access to the complete functionality from
> any device
> - capable to talk to online services - such as social networks, banks,
> payment operators, IaaS & PaaS providers and other B2B
> - enterprise features - like advanced encryption and digital signing of
> content, advanced access log, security model and all the requirements by
> standards, such as ISO27001:2013 and PCI-DSS
> - multi-master database asynchronous replication capabilities - to allow
> setting up of local servers at remote locations with semi-real time
> replication until there is network connectivity. Useful for POS
> - SDK for custom stuff: custom web sites, portals and apps, b2b
> integration to business and cloud services, scheduled background services,
> custom entity listeners/trigger, workflow status transition rules and
> trigger actions and others
> - use NoSQL for big tables, such as AcctgTransEntry, CommunicationEvent,
> access & system log entries, gps coordinates and so on
> - no proprietary software or libraries under „business-bad" licenses
> inside ! :)
> - SSO with Active Directory, OAuth, etc
>
> The platform that we used is Grails. De described the data model as grails
> domains, created new grails scaffolding templates and generated HTML5 CRUD
> interface and AJAX API.
> We purchased this bootstrap3 theme (
> https://bootstraphunter.com/smartadmin-product.php <
> https://bootstraphunter.com/smartadmin-product.php>)  and used it for our
> back-end UI. We could, of course, switch easily to other theme, plain
> twitter bootstrap, or even enable several, completely different themes in
> parallel.
>
> Moveltix ERP II is built using Grails 2.4.4 ( latest & greatest ). By
> default, Grails ships with Hibernate. Instead, we used EclipseLink and
> standard JPA annotations and queries.
> It requires Java 8 and Tomcat (latest) or any other J2EE container. The
> database engine that we use and recommend is MySQL (latest and greatest,
> InnoDB with Full-Text Search indexes).
> Moveltix ERP is a single .war file, monolithic application. It runs on 4GB
> of RAM, but at least 8GB are recommended for production use. Moveltix ERP
> utilizes EclipseLink’s L2 Cache, which dramatically reduces the database
> hits.
>
> Moveltix ERP II is also multi-tenant. Each tenant has his own JDBC
> connection string, which could point to anywhere, SSL is supported. Each
> tenant is identified by his virtual host name.
> The security control is performed using flexible security permission
> rules, which allow us to configure almost any type of access, such as:
>
> - Parties (employees, contractors, partners, customers, etc) log into to
> the standard backend admin UI and are able to see only their own stuff:
> invoices, payments, agreements and other data, related to them. The same
> applies to the menu. Any other URL would produce an access denied message.
> - Fine grained control for APIs , exposed to other B2B partners
> - Access to both UI and API using digital certificates, custom rules and
> conditions per controller and action to specify the mandatory use of a
> certificate.
>
>  The SDK:
>
> Moveltix ERP II WEB SDK lets developers with basic skills create:
> - custom web sites, portals and web apps. Our web site runs in moveltix
> ERP :)
> - expose and consume web APIs (XML, JSON, etc)
> - scheduled background services
> - grails domain/entity event listeners: pre* and post* for create, update
> and delete. Any chained custom domain listener can throw an exception and
> force rollback of the transaction, resulting in a nice, localized custom
> error message and no messed data in the database.
>
> The skills, required for the SDK:
>
> - Java8 + Groovy
> - JPA with EntityEngine extensions using either JPQL or using a
> CriteriaBuilder
> - FreeMarker
> - HTML5 + CSS3 + JQuery + any other favourite front-end technology, even
> plain HTML code works :)
>
> Since the custom client source code is stored in the database, and
> afterwards compiled and executed by the JVM, we have enforced additional
> security restrictions: moveltix ERP II executes only digitally signed
> groovy code, signed with a special certificate, issued by our PKI. For
> additional security, all custom code runs in a sandboxed environment, with
> a custom class loader and other restrictions.
>
> And since the IDE environment is entirely in the web browser, moveltix ERP
> II would simply ask the developer to sign the code with his certificate,
> before saving. Most of the custom groovy code is stored as Content and then
> as ElectronicText records. And since the Content entity supports versioning
> of its DataResources, the custom source code is also being versioned, so we
> can rollback to a working state, when something is messed up :)
>
>
> The data model is enhanced.
>
> Our servers for our SaaS offer run in AWS. All the files (uploaded docs,
> generated PDFs,etc) are stored in a S3 bucket (either client-side encrypted
> or not), which is per-tenant configurable. It can also run in AWS Elastic
> BeansTalk, Jelastic, Microsoft Azure and so on.
>
> AWS support is built-in, so even on-premises customers could benefit from
> S3, SES, even if the application server is running on other PaaS or
> on-premises.
>
> So - have fun, any feedback is welcome :)
>
>
> Deyan Tsvetanov
> CEO
> Moveltix OOD
> www.moveltix.com <http://www.noveltix.com/>