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

A Meeting About Importing APIJSON to A CRM System #145

Open
TommyLemon opened this issue Sep 20, 2020 · 0 comments
Open

A Meeting About Importing APIJSON to A CRM System #145

TommyLemon opened this issue Sep 20, 2020 · 0 comments

Comments

@TommyLemon
Copy link
Collaborator

TommyLemon commented Sep 20, 2020

Introduction

APIJSON is a JSON based internet communication protocol exclusively for API design and an ORM library based on this protocol. APIJSON can largely simplify the process of API development. It helps developers to build an automatic API with functions like CRUD, data search.

By saving communication time between front-end and back-end developers and hours of API development work, it largely reduces costs of API development.
APIJSON is recommended to small to medium web applications that have seperated front and back ends, such as startup company projects or company internal use projects.

APIJSON has been honored by Gitee as the Most Valuable Project in 2019.

See more information on https://apijsondocs.readthedocs.io

Our CRM System is a new small project and its backend is being written by Java.
That means we can easily use the Java implementation of APIJSON for the system.
After that, a lot of workloads for CRUD functions will be reduced and we can focus on the business logic,
And because of its good stability according to the bug report by Pinpoint
(https://github.com/APIJSON/APIJSON/issues/48),
we can also largely avoid the risk of creating bugs without manual coding.
Therefore, we can finally complete our project soon and deliver it to our customer more quickly before the deadline.

So let’s import APIJSON to our CRM System. Any questions?

Argumemts

1.What’s the principle about its CRUD functions? Generating code? Come on, that’s not a good way! I’ve already used a lot of tools like Mybatis-generator, you still need to add or modify code for specified CRUD situations with different conditions, different formats and so on.

Apply: The front-end developers can make a JSON text from client and send it to an APIJSON server, then the server will automatically parse the intention for getting/setting data in a target database configured, and generate a SQL to operate the database for getting a result set, then the result set will be transferred to another JSON text for sending back to the client.

2.How can we add business logics with APIJSON? We have to implement business logics on the server, don’t tell me let the front-end colleagues do these things instead. Trust me they won’t agree and what’s worse is that its very dangerous to run the business logics on the client.

Apply: Rest assured that APIJSON supplies remotion function calls, we can add remotion functions on the server side and let the client call the functions in a JSON text.

3.Does it safe enough? Our system stores many important and secret information, if they were leaked out by SQL injection or operation without authority, our company could pay for a huge cost.

Apply: Yeah it does be safe enough for our project. APIJSON supplies prepared statements for avoiding being injected in bad SQLs. And it also gives RBAC authority validations to reject the unauthorized request.

4.How about its performance? Our system needs a good performance. If the server responds slowly, the user experience could be hurted.

Apply: APIJSON usually performs better than other ORM libraries like Hibernate, because it can run on the sever without serialization and deserialization, and that saves part of the duration from receiving requests to returning responses. And it also optimizes the SQL generated for a good performance without writing any code.

5.How should our front-end and back-end engineers use APIJSON? They need to spend a lot of time for learning a new skill, right?

Apply: Make sense. But there’s no skills you can get without learning. We learn the skills because we can use them to solve our problems and the profit we get can cover the cost. Obviously, APIJSON is one of such kind of skills and it’s worth learning.

Conclusion:

OK, since there’s no other unconfirmed questions, and the positive side has won the negative side, now I declare the conclusion for this meeting:
We need and will import APIJSON to our CRM system.

http://apijson.org/

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