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 via email to