Adapt a currently available implementation to use Akka.
$250-750 USD
Paid on delivery
Database Metadata must be collected using Akka.
Currently, the implementation is not getting the metadata concurrently or streamed to the client. Thus, for huge databases gaining the metadata takes too long. First, it takes too long to calculate the metadata and second, the whole database metadata is calculated and than returned as to the client as a big (json-)object. This implementation must be changed to adapt and use Akka for getting and returning/streaming the metadata to the client. The available implementation is very good structured as a maven artifact (multi-modules).
The idea is: the root actor should take care of highlevel metadata of database (for instance: "database name", "driver version" etc.) and create children actors to collect metadata of underlying database objects (for instance: tables, constraints). This strucutured actors system should allow returning the chunks of metadata as a stream to the the requesting client. Each time an actor finishes metadata calculation, it will return this data to the parent actor and so on. The parent will stream this (self-contained and completed) metadata to the client i.e. not half metadata of a table but the complete table metadata.
This is an spring boot project. You will need just to create the actors/structure and adapt the current implementation to it. Please, take care of good OO- and Architecture-design principles. The most important: Don't implement against an implementation, use instead Abstraction (Interfaces or Abstract classes). There is an api and an impl module: put your artifacts accordingly.
You should have (very) good expertise in: Spring (boot), Spring java configuration, Akka (Stream), Jdbc, Git. A java senior developer or software architect is required for this task.
Project ID: #8385735
About the project
3 freelancers are bidding on average $624 for this job
Hi, I am Saravanan. I have 8 years’ hands on experience on Web /Desktop Application Development, Automation/Scraping and Testing using Java Technologies. I went through your requirements, I am interested to work on More