Can anyone recommend a Java workflow engine that has good EJB integration?
By EJB integration I mean automatically deploying process definitions when the EJBs are deployed as well all the ability to call EJBs during process execution.
The reason I'd like to do this is to centralize workflow on the business layer and make it available to any component/application that needs it.
So far I have tried Activiti which has brilliant Spring integration but I struggle to get it to work in an EJB environment unless I embed it into a web application..
JBPM is another library I have some experience using but Im not well integrated it is to the EJB environment.
Any comments/suggestions are welcome. There are dozens of workflow engines out there so I thought I would ask more experienced people for their suggestions in addition to online searching.
Thanks
Related
I understand that there is an API... but how do I implement it? I have a working node.js application but now I have to bring it over to asp.net. I think working from scratch on my asp.net web app is the best option now but I do not know how to start.
I agree that knowing the exact issues you run into will help us give a better answer, but to get you started here is the .net sdk
https://github.com/watson-developer-cloud/dotnet-standard-sdk
and the standard api reference with examples
https://console.bluemix.net/apidocs/assistant
We have a plain java web project with some servlets, some JPAs and our logic.
We want to move to Cloud Foundry . I have learnt that Spring boot comes up with a lot of nice cloud foundry features out of the box like support for CF environment variables parsing, CF service broker API implementation.
Now i don't want to move to Spring MVC since we already have the application running with plain java web framework.
Can i still use Spring cloud foundry related projects to take advantage of Cloud Foundry related features like parsing of env variables ?
Are they internally dependent on Spring core, spring mvc projects ? Will including the Spring Cloud Foundry project bloat my total deployable war size due to all internal spring dependencies.
Best Regards,
Saurav
A lot of this depends on exactly which features you want to use. The awesomeness you get from Spring Boot requires Spring & so it won't transfer to your app unless you embrace & use Spring. The same goes for Spring Cloud.
You specifically mentioned parsing service information from environment variables (i.e. VCAP_SERVICES & VCAP_APPLICATION). This is the one exception that comes to mind. You can use Spring Cloud Connectors in a limited capacity without Spring. See this link for details. It's not as full-featured as what you'd get if you were using Spring & Spring Boot, but it will give you some help.
If you don't want to use SCC, you can always parse the environment variables yourself and use the data. It's conceptually very easy. Both VCAP_APPLICATION & VCAP_SERVICES are environment variables and the value is a JSON blob so all you need to do is parse the JSON and locate the information that you need.
Hope that helps!
I am new in Asp.net Core and trying to clear my concept on web api. I have basic knowledge on web api. I can do CRUD operation using web api by running that web api project and calling it in other web application project at a time.
My problem is,
I add an web api in a web application project named "Api_BusinessUnit".
How can I call this web api in a controller named "BusinessUnitController" shown in below image. My confusion is, Both are in a same project, I can run one project at a time. So how can I use this web api in "BusinessUnitController" ?
Thanks in advance.
Why do you want to have one Web API call another in the same project? If you need to communicate between parts of your project, you can do so directly without having to over the web, which will be much better from a performance perspective and will be more reliable as well.
That said, looking at your image, I think you have two separate web projects in the same solution which isn't the same thing at all (you may wish to update your question if this is the case). To have one project communicate with the other project, you should determine the URL of the destination project and call it as you are doing. You also will need to ensure both projects are running, of course. You can launch multiple projects at once when you hit F5/ctrl+F5 as shown here:
http://ardalis.com/how-to-start-multiple-projects-in-visual-studio
For me, I am a Scott Allen fan and he explains the project structure for the particular structure you are trying to create here.
https://odetocode.com/blogs/scott/archive/2013/07/01/on-the-coexistence-of-asp-net-mvc-and-webapi.aspx
However, I am a fan of best practices and SoC, so the proper way, IMHO, is to have one solution with multiple projects and either keep the entire solution in version control, or have the project solutions separate, build and deploy to a directory will all of them for testing.
Then the key factor to running MVC and WebApi as different projects in the same solution, besides making sure that Microsoft.AspNet.WebApi.Core is installed, is that the start up project is the MVC and the WebApi references that MVC. Then you're off to the races.
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
For a large company (web) project, do you recommend using Spring MVC or Spring-Boot?
Spring-Boot, in terms of configuration, is very easy compared to Spring MVC.
I wonder if I use Spring-Boot can have the same advantages of Spring MVC?
What do you recommend?
My personal advice is to definitely use Spring Boot for many reasons.
The first is that Boot is the "future of Spring". That means that with Boot
you can benefit from many commitments of the Spring community. Most of the
Spring projects today are completely
integrated with Boot, even the community starts to develop many
applications based on Boot. For example for managing and monitoring.
I can suggest to see Spring Boot Admin
With Spring Boot you can benefit from very nice and useful features such as
actuator and remote shell for managing and monitoring, that
improves your application with production ready features that are very
useful.
Very nice and powerful properties and configuration controls - you
can configure your application with application.properties/yml
and extend the boot in a very simple and impressive way, even the
management in terms of overriding is very powerful.
It is one of the first micro-service ready platforms, and in my opinion
nowadays it is the best! Even if you don't build a micro-service
project with boot you can benefit of using a modern approach in which
you have a auto-consistent jar that can benefit from all the features
that I described above or if you prefer you can impose the packaging
as a classical war and deploy your war in any of the containers that
you want.
Use of an intelligent and convention over configuration approach that
reduces the startup and configuration phase of your
project significantly. In fact you have a set of starter Maven or Gradle dependencies
that simplify the dependency management. Then with the
auto-configuration characteristic you can benefit from a lot of
standard configurations, that are introduced through the Conditional Configuration framework
in Spring 4. You can override it with your specific
configurations just defining your bean according with the
convention that you can see in the auto-configure JAR of the Boot
dependency. Remember that Spring is open-source and you can see the code. Also the documentation in my opinion is good.
Spring initializer is a cool tool attainable at this link:
https://start.spring.io/ is a very cool tool just to create your project in a very fast way.
I hope that this reflection can help you decide what is the best solution.
Spring Boot uses Spring MVC! It's just autoconfigured and ready to use when you import the spring-boot-starter-web jar. So you'd basically are talking about whether to use Spring Boot or manually setup your Spring Application...
You can definitely go for Spring Boot. We have already started using Spring Boot for building enterprise application. It has lot of advantages, listing few below here:
Your project configuration will be pretty simple. No need to maintain XML file, all you need to know is how efficiently you can use application.properties file.
Gives lot of default implementation, for instance if you need to send an email, it provides default implementation of JavaMailSender
Spring Hibernate and JPA integration will be pretty simple.
Like this there are many, you can explore based on your needs.
You can use Spring MVC with spring boot as #kryger said, they are non exclusive between them, and the configuration will be easier, also I recommend you to use http://www.thymeleaf.org/ which is template framework. Working with that is like working with JSP but thymeleaf integrates seamlessly with HTML, so your code will look very clean and you can add a lot of useful features.
I think Spring Boot is more useful than the MVC, as it has many advantages and inbuilt features which make it more reliable than MVC. In Spring Boot most of the things are auto configured and there is no need of writing those xml as we do in the MVC, which can save time.
Spring Boot bundles a war file with server run-time like Tomcat. This allows easy distribution and deployment of web applications. As the industry is moving towards container based deployments, Spring Boot is useful in this context as well.
Spring MVC is web application framework. While you can do everything in Spring without Spring Boot, but Spring Boot helps you get things done faster.
Spring boot simplifies your Spring dependencies, no more version collisions,
can be run straight from a command line without an application container,
build more with less code - no need for XML, not even web.xml, auto-configuration, useful tools for running in production, database initialization, environment specific config files, collecting metrics.
Basics of Spring Boot can be found here
I have an application in mind which I want to develop. I am targeting the application for a big user base, consider it as a social app. But I am not
sure whether to write it with Servlets or Spring MVC.
I have a good grip on Servlets, it would be easy for me to develop, but when it comes to Spring I am still novice.
I am not clear what difference would it make if the app is developed on Servlets rather than Spring MVC.
Scalability or some factors like that?
Any advice would be appreciated. Thanks
It might take you some time to learn Spring but..., once you do, it will provide powerful tools to code.
Its always good to go for Spring framework as it provides:
Dependency Injection support
Spring MVC: easy to customize
Data access support
Spring Security
AOP support etc..
Clearly, Spring provides more functionality than servlets. But if your app is very simple enough, you can go for Servlets.