Nexus or Artifactory for OSGI based applications - nexus

We are developing an OSGI based Soa Solution and about to set up a maven repository manager. I read that Nexus has OBR support and Artifactory does not seem to have - firstly, is this true? Secondly, since this is my first OSGI application development I am not really sure what are the disadvantages of choosing a repository not having OBR support in this case?
Thanks and regards,
Priya

Related

Update API specs in different business groups

In Anypoint Platform we have two business groups org1 and org2. In org1 group, I have updated the existing RAML API specification and same changes should be apply to org2 group API spec as well. Like this I have to update lot of applications. Is there any best method to update changes in one group to other?
Any tool suggest or any options in Anypoint Platform itself?
I understand that you have updated RAML files and you need to apply those changes to your Mule applications that are deployed in different business groups in Anypoint Platform.
Short answer: No, there is no existing tool to do that.
Long answer: updating files in your applications is done outside Anypoint Platform, for example in the IDE (Anypoint Studio) or whatever editor or development tools you have. In Anypoint Platform you use Runtime Manager to deploy updated applications. Runtime Manager doesn't has features to update files or any other changes inside your applications. This is a separation of concerns. Also Business Groups in Anypoint Platform are independent of each other. Each application deployed in Anypoint Platform is also independent of other deployments, even if the use the deployable file. So there is no way to say to Runtime Manager update this application file in all applications that use it. Having said that, you could probably use Anypoint Platform REST APIs and tools (like Anypoint CLI) to create your own tool to automate this kind of update, totally or partly, like when implementing a CI/CD deployment pipeline.

Spring MVC or Spring Boot [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 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

Javee EJB workflow

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

Using EHCache with ASP.NET?

I have heard of .NET APIs for memcached.
Is there any equivalent for EHCache?
I am envisioning a cluster of linux machines running EHCache, serving cached objects for a farm of ASP.NET webservers. Is this practical? Can this be done without installing Java on the ASP.NET servers?
Well, there is the James Webster's Ehcache.NET - that gives you access to ehcache server through REST API. Guys at Terracotta are promissing that .NET API for their enterprise level caching solution will be avaiable sometime soon...
I'm afraid that in order to use ehcache you will need Java on your boxes, after all it is written in Java, runs on top of JVM etc..
This article discusses the memcached architecture in more detail: How memcached works.
Can this be done without installing
Java on the ASP.NET servers?
Nop

What is the best way to rollout web applications?

I'm trying to create a standard way of rolling out web applications for our company. Currently we do it with zip files, vbscript/javascript, and manual some steps.
For thick client installs we generate MSI installers using Wise/Wix. We don't create installers currently for websites as in general they are just xcopy deploy. However we have some config files that need to be changed, verify that certain handlers are registered in IIS... The list goes on.
Do most people use MSI installers for web applications as well, or some other tool/scripting language?
I recently spent a few days working on automating deployments at my company.
We use a combination of CruiseControl, NAnt, MSBuild to generate a release version of the app. Then a separate script uses MSDeploy and XCopy to backup the live site and transfer the new files over.
Our solution is briefly described in an answer to this question Automate Deployment for Web Applications?
Do consider MSDeploy, that is the direction Microsoft will be investing in the future for deployment of web applications...
Know more about the future direction at Overview Post for Web Deployment in VS 2010
We have been using FinalBuilder (www.finalbuilder.com) for this purpose for long time and for some time also using InstallAce (www.Installace.com) for build deployment on the Web Farm.
You may want to look at:
How do I get a deployable output from a build script with ASP.NET
Step by Step ASP.NET Automated Build/Deploy
We use MSI to create basic installers for our web projects too, often using the Web Setup Projects in VS and sometimes completely custom installers. You may also want to look at MSDeploy.
We're moving to an MSI for our installs, so far with mixed results. I'm a control freak so I would personally prefer a series of scripts that I had more direct control over. I've used ANT in the past with good results.
Have you checked out NAnt and CruiseControl?
Combined, they can provide an easy and automated way to build and deploy your web apps.
I work for a state agency and we do all our deployments using a product called RepliWeb.
It works good because as dev's we have no control over the webservers. But we can deploy to a deployment area and run the RepliWeb job to do the deployment. Not sure on pricing though...

Resources