Deciding Architecture for a Commercial Product

Hello Developers out there,

Developing a commercial product of own is a dream of every developer. Mostly this product takes the form of a web faced product with typical backend and frontend design.

Now, instead of buying building tools, developer thinks to start from scratch with his own choice of technologies.

Well yes, this brings security as well since developer will choose his own tools rather than relying on other building tools which will have their own vulnerabilities.

So,, how to design and what to use to build a Web based Product.  Below architecture can be used as a basic framework design:

Frontend:
- Use Angular if you want an MVC based architecture at frontend side as well.
- You get to create your own modules and directives, controllers to proper design your app.
- Combine it with Node, that serves as a backend of frontend.
- Request a socket or a http call from frontend that goes to node which actually executes http async request to the backend API and thus serving as an integration to backend.
- Thus the design typically becomes: Frontend<> Node <>. Backend.
-React can also be used for a typical SPA and more modularity.
- Use Redux to maintain a strict unidirectional flow for your app.

Backend:
- Well you have Java, with variety of frameworks to support security like Spring Security.
- Create APIs which Node will call and thus your app gets integrated.
- I like Java since you have ultimate control over security and it has strict standards as sell.
- Other technologies can also be explored.

So yes this summarise a basic design for a typical app from a developer perspective.

Technology is vast and we have other technologies as well to serve the purpose.


  • Do let your thoughts on this post as well as the design you may recommend for a product !!

Comments

Popular posts from this blog

How to Install CCSM ( compizconfig settings manager ) in UBUNTU

Connecting JSP page with MS Access :: JDBC ODBC Connectivity

Adding TTS ( Text to Speech ) to your website