Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I am currently trying to incorporate an open-source business-process-engine (Activiti) into another application from my company but I am uncertain how to do this in a distributed manner. The application shall use certain function of Activiti that can not be provided by itself.
In a previous step I got this running locally by just importing the required jars of Activiti into the application project in Eclipse and making my function calls in the project after importing the right packages.
The next level now aims at running the application independently in its own Tomcat server and own database and to call certain functions from Activiti which is startet in its own JVM as well via network. Up to now I found RMI to be (probably) the right tool for this kind of distributed computing but I am uncertain on where to run Activiti. Another Tomcat server? Even though Activiti is not intended to have any frontend but merely to provide the necessary classes and methods to perform some actions that are by intention not provided by our application? How is the setup practically?
Honestly, I have not fully dug through the documentation of Tomcat yet, but I would appreciate even a short answer whether or not I am on the right track.
EDIT: To put it into a single question: On which platform can I run Activiti in my case?
Best,
Steffen
Yes, you can definitely run Activiti engine on independent Tomcat Server. You can than communicate with this standalone Activiti Engine using Activiti REST API.
But bevare all processes runing on this standalone Activiti Engine need to have all utilized java delegates or spring beans etc. deployed together with Activiti Engine WAR package. They have to be in the same class loader as Activiti Engine itself.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I am using Java Spring Boot for micro-services. I have multiple micro-services called:
Auth Service
User Service
Account Service
Api Gateway Service
Discovery Server
Config Service
UI Service
etc...
I have to download these micro-services as a one-time installation file. How is it possible. What I really needed is to download and install my microservice project into multiple client's systems. It would be a Windows or Linux system environment. So how can I combine all services into one installation file?
No you don’t - if you would have written microservices architecture you would have known the answer to your question:)
anywho what is microservices? These are independent services running most commonly on different servers but even if on the same server still as separate instances/containers so what does that tell you? You deploy them to the server. So there is no windows installation like program that will do that for you. Definitely not many different microservices at the same time.
You could write a script which is responsible for containerising these into Docker and then running them in containers but first you should learn how to deploy at least one application just to understand the process. Here is a little guide https://javamondays.com/deploying-spring-boot-on-aws-for-newbies/
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.
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.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
we are creating an appraisal system ,in which there will be a no. of validations and computations. Team leader decided to use web services for most of their logic ,which we are going to write.
I am just curious ,when we can moreover when we should web services and when we should avoid using it?
The team leader decided to use web services for most of their logic.
I would not advise putting the logic in web service code. Put it in a business logic layer, that can then be exposed via, for example, web services.
When should web services not be used?
When they are unncessary - without a specific scenario it's difficult to give a more meaningful answer.
Avoid using web services for method invocations that can be resolved locally (on the same JVM). Otherwise, use them.
Web services are the best/easiest way to do distributed operations. For example central server and many clients. If you have that sort of architecture then you need either web services or a web application.
If everything is stand-alone and local though then you don't need them and they will be less efficient than just doing things directly.
Web services and web application..
web services provide a standard means of interoperating between software applications.
When all major platforms could access the Web using Web browsers, different platforms couldn't interact. For these platforms to work together, Web-applications were developed.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I've recently learned about Tomcat 7's feature to allow multiple versions of the same webapp deployed at the same time:
http://www.tomcatexpert.com/blog/2011/05/31/parallel-deployment-tomcat-7
http://www.javacodegeeks.com/2011/06/zero-downtime-deployment-and-rollback.html
Our sites regularly get 10-20,000 user sessions per day, and quite a lot of them are transactional/stateful type of webapps. Parallel deployment seems perfect for what we want, but I haven't really heard much about people's experiences using it on their servers.
If you use this feature of tomcat 7 in production, have you had any issues with it so far? Have you had to make any changes to your webapps to "play nice" with this Tomcat feature?
I didn't use this feature in production. My first thougths are:
What if you apply database schema changes? You'll have two applications running on same schema with different database handling (for example different JPA entities).
What if you have some scheduled tasks? They'll run paralell. Your application must be ready for this.
What if you apply some very important bugfixes? You'll have good and buggy application running together. They'll together make changes to database until all old sesions expires.
Why do you want your users to see old version of an application if you apply some new features or bugfixes.
Your application must be prepared the same way you prepare it to run on cluster with sticky sessions. It's just the same, but on same Tomcat.
Are you sure your application can be redeployed on Tomcat without well-known perm gen issues? I heard they say it can be done now. I still restart Tomcat with each redeploy.
We didn't have much luck getting this to work consistently in our test environment, so no way we'd consider it for production.
The question is, do you need the ability to do hot upgrades in your environment? Often this is theoretically nice but not needed.