Showing posts with label Workflow. Show all posts
Showing posts with label Workflow. Show all posts

Wednesday, July 24, 2019

Pinaka - Basic Modules

Pinaka, would have some basic modules that would perform the following activity


DB, Authentication and Authorization and Workflow Layer:

The core of the product, this will run as one binary.

DB Layer: This module will act as the component that makes data available to the Rest API and Workflow for consumption and will use Hibernate to keep the solution DB independent.

Authentication Layer: The authentication and authorization layer , uses Spring Security modules to define authentication mechanisms (OAuth, DB, etc) and define what Forms, Data and Rest API's are accessible to which component/user.

Workflow Layer: Drools based workflow capability that will be fired for 5 triggers when a record is

Created
Updated/Merged
Retrieved
Multiple Records are Retrieved
Deleted

(CRUDM) = Create, Retrieve, Update and Delete operations

the record data will be available for the workflow to manipulate/use.

The rest of the services will run as Microservices

Email Service: This module will provide the capability to send a email notification via a workflow action.

Similarly it will also allow for CRUD operations of data just by sending a email to this module.

This module will be able to perform these actions by acting like a SMTP/IMAP/POP3/MAPI client.

Approval Service: A service that will allow for writing Approval rules to provide for Automated OR Manual routing of approvals based on predefined rules before a state/data of the record is modified. This will use Drools Rule engine  and a Visual interface to define rules.

Assignment Service: A service that determines who a record gets assigned to based on Assignment rules. This will use Drools Rule engine  and a Visual interface to define rules.

Reporting Service: A service that will allow for creating and running interactive reports and allow for export of the same to various targets like PDF, Doc etc.

This will also allow for exporting a report at the specified schedule.

This will use a ODA driver and BIRT for reporting.

Plugin Service: This will allow for writing ones own plugins in Java (and possibly other languages later) that can be called from the workflow engine to extend the capabilities of the solution.

Form and Workflow Designer: 

We would use grape.js to design a Form and Workflow Designer. The use of Angular UI components in the designer to show the final rendered UI will make it easier to have a standards based Designer.

More about UI Frontend and API gateway in the next post.




Wednesday, June 5, 2019

Pinaka, an open source Business Logic and Rapid Application Development platform


Yet another  Business Logic and Rapid Application Development platform!

It is said that "Necessity is the mother of invention", that is certainly true in this case.

One of my friends who runs a startup and has an Application that allows Medical Staff and Patients to schedule an appointment with a Doctor and provide real time information on delays in the appointment times has a been a boon for people who are busy as well as makes wait times bearable.

The other day a conversation with this friend went like this

Friend: Software Development requires time and is costly.
Me: But as you using Java + Spring Boot + React, that should be easy (that's the developer in me speaking)
Friend: Writing an app is Java + Spring Boot + React makes it  easier, but still it not easy enough as well as costs quite a bit.
For a small startup like ours its a big pain on the path to profitability.
Me: Have you tried Sales Force OR BMC Remedy.
Friend: Those solution's are very costly and require substantial training.
Me: What about Business Process Management tools, may be the open source ones?
Friend: It takes care of the cost, still have to learn a lot.
Me: hmm
Friend: I need something that is easy and open source at the same time, setup time should be minimal and should be intuitive enough. Yet powerful enough to allow us to write our business logic.

Thus was born this idea.

A Open Source Business Logic and Rapid Application Development platform that will be extremely easy, be usable on most OS's and Open Source yet not sacrificing flexibility or power.

Thus Pinaka was born.

More in my next post.

Do and Dont's while getting your Home Renovated

DO's 1) Ask for a 3D design of the interior design 2) Look at actual laminates / colors and choose accordingly rather than rely on the r...