Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace EntityService with new DocumentService #192

Closed
rsoika opened this issue Aug 24, 2016 · 1 comment
Closed

Replace EntityService with new DocumentService #192

rsoika opened this issue Aug 24, 2016 · 1 comment

Comments

@rsoika
Copy link
Member

rsoika commented Aug 24, 2016

As a result of issue #191, we come to the conclusion, that we can not optimize much on the database side by changing the OneToMany relationships or fetch types. Performance slows down in case of a lot of equal key-value pairs in the table textItem (e.g. more than 10.000 entries of same $modelVersion).
But after all we see that Lucene is still able to solve such complex queries very fast.

New approach for version 4.0.0:

We will follow now a complete new approach for version 4.0.0:

  • Lucene becomes an integral part of the imixs-workflow engine (EntityService).
  • We will drop all oneToMany relationships from the Entity JPA Bean.
  • The EntityService will be replaced with a new DocumentService
  • The DocumentService will index each entity during the save method (lucene)
  • We can skip the lucene -adapter project and also the lucen plugin
  • We provide new Finder Methods in the DocumentService using the Lucene Query Builder
    *We provide a migration service bean which implodes old Entity jpa objects and migrate them into Document jpa objects and adds them into the lucene index.

Finally we need to refactor all JPQL statements used until now.
Also we need an admin interface to re-index entities on some simple criterias (e.g. type, $modified, $created)

@rsoika
Copy link
Member Author

rsoika commented Aug 24, 2016

Migration Notes 4.0.0

This are comments concerning the migration from Imixs-Workflow version 3.x.x to version 4.x.x.

Packages

The following java packages are deprecated in version 4.0.0 but still available to support the migration:

  • org.imxis.workflow.jee.ejb
  • org.imxis.workflow.jee.jpa
  • org.imxis.workflow.jee.util
  • org.imxis.workflow.plugins.jee

The following new packages are introduced with version 4.0.0 :

  • org.imixs.workflow.jpa - contains the persistence JPA classes
  • org.imixs.workflow.ejb - contains the services EJB classes
  • org.imixs.workflow.plugins - contains all plug-in classes

Persistence

With version 4.0.0 we introduced a new persistence layer. There is now only one single JPA entity bean class 'org.imixs.workflow.jpa.Document'. The Document class replaces the deprecated Entity Class with all additional index classes.

The package 'org.imxis.workflow.jee.jpa' is still available in version 4.0.x to support the migration path. We will drop this package with version 4.1.x finally.

EJBs

All Imxis Service EJBs are moved into the package 'org.imixs.workflow.ejb'. The EntityService EJB was replaced with the new DocumentService EJB.

rsoika added a commit that referenced this issue Aug 24, 2016
rsoika added a commit that referenced this issue Aug 24, 2016
rsoika added a commit that referenced this issue Aug 25, 2016
rsoika added a commit that referenced this issue Aug 25, 2016
rsoika added a commit that referenced this issue Aug 25, 2016
rsoika added a commit that referenced this issue Aug 26, 2016
rsoika added a commit that referenced this issue Aug 26, 2016
rsoika added a commit that referenced this issue Aug 26, 2016
rsoika added a commit that referenced this issue Aug 26, 2016
rsoika added a commit that referenced this issue Aug 27, 2016
rsoika added a commit that referenced this issue Aug 28, 2016
rsoika added a commit that referenced this issue Aug 28, 2016
rsoika added a commit that referenced this issue Aug 28, 2016
rsoika added a commit that referenced this issue Aug 29, 2016
rsoika added a commit that referenced this issue Aug 30, 2016
rsoika added a commit that referenced this issue Aug 30, 2016
@rsoika rsoika added the testing label Sep 2, 2016
rsoika added a commit that referenced this issue Sep 2, 2016
rsoika added a commit that referenced this issue Sep 2, 2016
rsoika added a commit that referenced this issue Sep 2, 2016
@rsoika rsoika closed this as completed Oct 9, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant