Saturday, November 21, 2020

Which is the best server-side framework in java?

I would recommend Web Firm Framework. It provides Java classes for all HTML5 tags and attributes. Using it we can build the UI so the developer has full control over the UI building which is very important for building the best UI/UX. You don't have to write web services to send and receive data from the server, the framework has inbuilt support for it, you can develop the UI just like a client-side application.

The latest version supports multi-threading, i.e. you can use multiple threads to build different parts of the UI. It is also the best choice for building a highly reactive application.


Checkout its API doc for a full list of classes.

Is there any framework to handle authentication and authorization in Java?

Yes, Apache Shiro™ is the solution if you are looking for an independent framework, i.e. it has no dependency over the application framework. You can use it on any web or desktop application. Some server-side frameworks like Web Firm Framework highly recommend it, you can read it here.

Thursday, June 25, 2020

Architectural Design to track covid-19 patients using GPS embedded wrist bands









Web portal
It contains a user registration and device registration functionality.
The users with their covid-19 status will be registered in this portal. The device registration is any device which communicates with the server, eg: GPS enabled band.
Web portal will also contain registration for users who want to analyze data, do some official operations, etc.. such accounts will be used by staffs. There will be different types of users having different roles.
There will be a cluster of servers to run web portal app.

GPS band
It can send geolocation to the server using a rest call. There will be a device registration in the web portal for this GPS band. Once the device is registered in the portal it will generate a unique user_id and unique API key, this API key may be considered as an authorization key. The GPS band will be sending the geolocation info along with the user_id and authorization key to the secure server in specific interval of time.


Data from other devices
There will be OCR which converts images of physical documents to readable data after going through different stages of data processing. Such processed data will be sent to the server and will be saved in db/repository. Using OCR it will be able to generate files in the format of pdf, HTML5 and ePub.

API gateway
Every request first goes to this gateway server where the API url and internal load balancer is mapped. This gateway server decides which api request to forward to which server. There could be multiple load balancers in future even if the diagram contains only one.

Load balancer
The role of load balancer is to split http traffic to different servers to achieve horizontal scalability.

Node
A node is an independent server. There will be a cluster of nodes. Each node will contain a docker environment. This makes it possible to run programs in different programming languages. Node also acts as a REST server for capturing data from geoband, sending data to/capturing data from web portal app etc.. The captured data will then be saved in db. This is done by java applications. The data saved in the db will be taken for other data science operations for the purpose of visualization etc..
The REST service exposed by the node is not directly accessible in public it will be accessible within that VPC.

VPC
All nodes will be under a Virtual Private Cloud to maximize security.

Database
To save relational data, mysql RDS (Arora) may be a good choice. To save NoSQL data there are lot of solutions like Cassandra, DynamoDB, Elastic Search etc.. and it may be chosen based on the task.




Want to download code for microservice using spring boot + REST + oauth2 + mysql? Contact the Architect Visruth+91-9895154767, visruth.online@gmail.com