I wish to inquire if there is any concern from UiPath in regards to the threat posed by the Apache Log4j vulnerability (https://amp.theguardian.com/technology/2021/dec/10/software-flaw-most-critical-vulnerability-log-4-shell). I know UiPath orchestrator runs on MS IIS and wanted to know what logging framework is used.
regarding this post in the UiPath forum Robots and Orchstrator are using NLog, which is a different framework.
Also it is mentioned that UiPath Insight is using Log4j. They are currently evaluating the impact. See here
I am evaluating options for a new messaging system. I have been looking at spring integration, mulesoft and camel. Key to any framework is it's industry footprint and support. I haven't been able to find any good indication of the spring integration module being used widely and searches return blogs and the like from the early 2010s not more recent.
Does spring integration have a significant industry footprint?
Thanks
This survey is a few years old. The framework is still very actively developed and used. One gauge of that would be to look at the question history here. We get several tens of questions per month.
It now has a popular Java DSL and no longer requires XML configuration (although that is still supported for those who prefer it).
Disclaimer: I am a previous project lead and still a committer, but the DZone survey was independent.
Its a Spring Integration application.I have a requirement where I need to persist to DB and then post to Queue/Topic. This should be part of a single transaction. I am planning to use the JTATransactionManager. Application Server is Tomcat. Would someone please provide some sample configuration code required for this implementation.
You need a third party stand-alone XA transaction manager such as Atomikos. Tomcat doesn't have one.
You might also consider alternatives to using full-blown 2pc.
we are building a distributed Java system (should be scalable ;-) ) that is connected only with JMS (ActiveMQ). I studied Spring Integration and I am not sure what the advantage would be if we use it. I think we are better off with using the JMS-Templeate from the Spring Core Project as we send only messages from a JavaService to another JavaService and so on.
Use Spring Integration (or any other framework) if you think the extra abstraction that it buys you is worth the cost. It should give you a more solid foundation on which to build your application. Software written by Spring is better than anything you or I would write from scratch.
All frameworks have a cost. There are additional dependencies. Sometimes greater abstraction can obscure too much.
You should prototype with and without Spring Integration to see if it's worth the cost.
If you're not a Spring user already, I'd recommend that you learn Spring before jumping into a big enterprise project.
SpringIntegration will give your Enterprise Integration Pattens ready to use.
Are you going to need splitters, routers, filters, gateways, aggregators, transformers, etc?
If the answer is no, go for plain Java+ActiveMQ.
If you need a really powerful system integration tier, then you should use Spring Integration - it's an additional level of abstraction which may help when your system will grow. With SI it's a matter of seconds to add new integration processing rule between two systems.
From the other hand, I've worked on some SpringIntegration+ActiveMQ project, and it was almost impossible to configure this broker to work with SI in the reliable way. So if you decide to use SI I'd recommend HornetQ as a JMS broker - this one works fine.
Security always tends to take the last place in a new project. Or you use a framework like Spring where security is already build-in and can be switched on easily.
I try to find an open security framework that can be plugged-in to both Swing and Web applications (and JavaFX?), maybe easy to digest. I looked at plain JAAS, JGuard and JSecurity but its just too complicated to get started.
Any recommendations or experience to share ?
I am working with NB, Glassfish and MySQL.
Thanks
Sven
I have just taken a view of this http://shiro.apache.org/
Apache Shiro is a powerful and
easy-to-use Java security framework
that performs authentication,
authorization, cryptography, and
session management. With Shiro’s
easy-to-understand API, you can
quickly and easily secure any
application – from the smallest mobile
applications to the largest web and
enterprise applications.
I would strongly recommend learning JAAS. It really isn't that difficult to pick up, and there are some useful tutorials and a reference guide on the Sun web site.
In my experience, JAAS is pretty widely used, so it's definitely something you'll be able to reuse once you're learnt it. It also happens to be one of the building blocks for the Glassfish authentication mechanism!
I have done a similar research in JAAS for web application and has ran into a "mind roadblock" until I finally realize JAAS is a framework addressing security at a different "layer" then traditional web applications in the Java World. It is build to tackle security issues in J2SE not J2EE.
JAAS is a security framework build for securing things at a much lower level then web-application. Some example of these things are code and resources available at the JVM level, hence all these ability to set policy files in the JVM level.
However, since J2EE is build on top of J2SE, a few modules from JAAS was reuse in J2EE security such as the LoginModules and Callbacks.
On the other hand, Acegi, aka Spring Security, tackles a much higher "layer" in the securing web-application problem. It is build on top of J2EE security hence J2SE hence JAAS. Unless you are looking to secure resources in the J2SE level (classes, System resources), I don't see any real use of JAAS other than the using the common class and interfaces. Just focus on using Acegi or plain old J2EE security which solves a lot of common web application security problems.
At the end of the day, it is important to learn which "layer" of the J2EE-J2SE security issue you are tackling and choose the write tool(s) for the problem.
I would recommend you take a look at OACC (http://oaccframework.org). OACC was designed for solving the problem of application security. Unlike most frameworks OACC is able to store/manage the authorization relationships in your application. OACC's authorization model is more powerful that Shiro or Spring Security.
There is alternative from JBoss. A new version for PicketBox. More information here:
https://docs.jboss.org/author/display/SECURITY/Java+Application+Security
apache shiro miserably fails when you stress a web application under JBoss (say 2 million requests of a simple GET with a concurrency of 50 threads).
was very dissapointing to find out this.
it happens when you use filters.
You can read http://code4reference.com/2013/08/guest-posttop-java-security-frameworks-for-developing-defensive-java-applications/
It gives 1000mile view from various Java Security framework, such as JAAS, Shiro or Spring Security. All are depended on your requirements and technology stacks that you choose