System architecture : design considerations. Java vs Django vs RoR [closed] - java

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I'd like to designing new web application with few requirements and considering which language/framework I should choose.
Requirements:
Web based solution (web UI and backed)
Fast deployment and setup <- by this I mean just run by single command,
no configuration needed for total beginner. Similar to
Jenkins
java -jar jenkins.war
or Gerrit.
Some kind of que to run tasks asynchronously.
No code protection
Due to the fact that I want to be simple to run and deploy (without initial configuration needed) I am considering using Java EE/Spring framework.
Initially I was considering Django or RoR since deploy is pretty easy and development is way faster than Java but those
frameworks need some kind of scheduling framework like Celery + some kind of broker so additional configuration is needed.
I am not limited to any language,(besides PHP since I just do not like it :P)
If any of you have any thoughts about my design and want to share let's do it.
Thanks a lot for any kind of question/ answers.

It is a very open question and there is really no right answer for it. Rails is really great framework for web development, there are gems basically for everything but deployment is not as straightforward as java -jar and also it does not shine that much when you have SPA on the frontend.
If you're planning to build Single Page Application with one of the modern frameworks you may want to consider Spring Boot. Main benefits:
very ops friendly (java -jar), metrics, health checks
whole application config just in one file
great MVC framework for exposing REST endpoints
implementing tasks running in background is trivial.
few programming languages to choose from: Java, Groovy, Kotlin.
Grails 3 looks also promising but since I haven't used it yet I can only suggest having a look.

Related

UI recommendation in Netbeans for a Maven web application [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I've always been a backend C/C++ developer. Working on a Java project (Netbeans), and I am trying to figure out how to do the front-end/UI. While I am a pretty good back-end dev, I haven't really been keeping up with the latest and greatest in frameworks, etc. for the front-end.
The Java back-end component can communicate with JSON over websockets. I am trying to figure out what front-end framework I should use. I also don't want to recreate my project, and would just like to add to my current Maven web application project.
So what's the verdict? What's hip and cool these days? HTML5? JQueryUI? (are they even mutually exclusive?)
Should also mention that I just want to make a quick UI, b/c I am planning on handing off the task to another programmer for a "proper" front-end component later on. At the same time, I do want my version to be "decent". So, in a nutshell, I want something that is easy to use, but still capable.
Thanks!
Assuming this a web app, Angular is getting popular and Bootstrap has been popular for a while. Use pre-built templates you can find for free or at a site like http://themeforest.net . Don't waste your time trying to code your own, unless its super simple.
You probably want to also think about how the backend will communicate with the front if you haven't already. For example, will it use Servlets, or a framework like Spring Roo? You can also build the front in a completely different language, like PHP, as PHP outsourcing is cheaper and easier to find than Java . PHP is a server side language like Java, but I'm talking about a situation where the website's backend communicates with the java backend via an API or sharing a DB. PHP has many MVC frameworks such as Symfony and Laravel.

Similar web framework to Grails but that uses Java not Groovy? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Are there any Java Web Frameworks that are very similar to Grails but use pure Java instead of Groovy?
I really like the look of Grails, but at this moment want to focus solely on improving my Java skills, so do not want to use Groovy.
I have looked at Spring MVC and Play Framework but I only plan to develop quite simple personal applications, which is why Grails appealed to me as these seem quite heavyweight.
Play, Spring Roo and Spring Boot are the closest Java frameworks I know of. I don't like Spring Roo's code-generation approach, don't know much about Play, so my personal preference would be Spring Boot. It seems to be under very active development at the moment and you can use some of the nicest parts of Grails in a Spring Boot app, e.g. GSP, GORM.
I don't know about "similar to Grails," but the most basic Java web framework is the Servlets and JSP spec from Oracle. If you want to get started with Java, grab that and a copy of Netbeans and you can get started.
You can use pure java if you still wish to utilize the Grails framework. Since Groovy is based on java, you cam use both at the same time too if you like.
Other than this, you will probably have to look into pure Servlets combined with jsp's to achieve the same thing, but it won't be as straightforward as Grails.
Take a look at Spring Roo
This will allow you to generate simple Java web applications that use a database which you can then modify.

JAVA EE web application and big traffic [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I choose java to make my web application with maven + hibernate + spring MVC + apache tomcat server (Java EE).
My web application will have many users and many visitors every day.
But my friend told me that web application with java don't support a lot of connections and it's made just for Intranet and business application with network within an organization.
So is it true apache tomcat can't handle all that traffic ?
i'm not looking for who is the best between java, php and .NET i want just know if web application with java can handle a big traffic ?
also explain me if there is some other negative points of using java and apache tomcat server.
The Java based technology stack you describe is extremely scalable, if you want it to be, and I would have no worries about using it for high traffic applications.
You may want to look at distributed hosting and load balancing, to make things more reliable. Lots of high traffic applications use Java and Spring stacks.
using plain old jsp/servlets are faster than spring and hibernate because spring or hibernate have a middle tier with classes which renders the page slowly and takes more memory at the server.
For production environs with huge scale applications you will end up writing plain jsp/servlets as they are a breeze to write and maintain.
Also i would like to add that struts library(jar file) had some security vulnerabilities in late 2013 only. Stay away from Struts and Spring.
People may be down voting but there is truth behind what i have actually experienced.

WebSocket: best solution for back-end [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Evented web apps are an hot topics these days, but it appears there is not a unique solution for that. Especially for the back-end side, independently from the programming language.
I open this topics to discuss about the various solutions offered to the community.
I tried Atmosphere, but the experience was a bit frustrating.
I spend a lot of time playing with this framework and I ended up that it was not completely developer-friendly. First of all is a maven-based project: in addition to the documentation a developer has to learn (or at least to know) how maven works and what's a pom.xml is.
Concepts looks easy, but it's plenty of java annotations, that in my opinion tends the make things too complex. The strength of this framework is that is able to decide and use the protocols supported by the client.
From what I have read node.js appears to be the more developer-friendly.
What do you think about these technologies?
I am the project leader of CometD, which is a web messaging framework that is transport agnostic (websocket with fallback to http) and ships a lot of features like message acknowledgement and clustering and many others.
CometD is also based on Maven, but its artifacts can be consumed with any other build system you already have (Ant, Ivy, Gradle, etc.).
CometD concepts are pretty simple, and you can write services that are either annotated or use inheritance.
CometD scalability is awesome: a single server in our load testing was able to handle 200k websocket clients, and other people reached even more (https://twitter.com/myBuzzNight/status/388024046027161600).
The CometD learning curve is quite low, from the reports I have.
One guy setup e-chat.co in few days.
You can setup a skeleton CometD project with a one liner or even use a pre-made skeleton project used by the CometD tutorials.
JavaScript being the language it is, you'll probably find that if your project grows beyond a certain size you want to stay with a statically typed language like Java for its refactorings, tools, IDEs, etc., not to mention the tools that are available for the JVM for monitoring/management, etc.
The scalability of the JVM in multithreaded scenarios like server-side event-driven applications is well known.
Like other solutions, CometD is backed by a company in case you need professional support.
I highly recommend node.js.
It's coded in javascript, and I personally really like being able to stick to web languages.
Also, you can use socket.io, which implements websockets using node.js.

How to get a webinterface for a small Java program? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
Actually I have a Java application running on a Linux server as daemon. Now I'll provide a simple web-based configuration page. I have no clue how to solve this without using big frameworks.
What I fell that I don't want is to use Java EE or sth like this. A "small" free (for commercial use) library is ok.
Any ideas?
I would recommend you to use Jetty(it is probably most Java lightweight server) with pure Servlets and JSP. If you need only one or two pages with few configuration options then any framework seem to me like unnessecary overkill.
I can recommend play framework if you want to stay in the java space or if you are adventurous you might consider any number of microframeworks/environments in other languages.
flask(python)
scalatra(scala)
meteor.js(javascript)
node.js(javascript)
twisted(python)
sinatra(ruby)
All of these offer very lightweight web servers(Often allowing you to create dynamic web content in just a few lines) in conjunction with languages that have os integration that will allow you to manage the configuration and status of your application.
You can use Apache Tomcat or Jetty.
Look into com.sun.net.httpserver if you are using the jre. It's already there any very easy the embed.
For configurations you can also use JMX. The jconsole can easily access your application and there is also a JMX HTTP adapter. This adapter allows you to monitor the setting and also change them. This gives you a web page for free but of course its not a "pretty" page.

Categories

Resources