Equinox p2 for an arbitrary OSGi application? - osgi

I am designing a software system which I think I am going to implement on an OSGi platform. It is going to be a software system running on self-service terminals. OSGi idea suits well for my demands of managing devices and end-user related functionality.
I think I am going to use Equinox as the OSGi implementation. So I came up with a question that I cannot find answer to: is it possible to setup the Equinox p2 to manage updates to my system on distributed terminals? I'd like to update lots of terminals from one place and keep track of which was updated and which was not updated and which terminal is running what version of the software system. I understand that Equinox p2 can be used to manage updates for an Eclipse RCP application but what about an arbitrary application running on the Equinox platform?
Thank you.

My question was answered on the Eclipse Equinox forum, and thank those guys very much.
A very interesting screencast that shows the answer to my question:
Remote provisioning with p2

Just to complete the list, here is another presentation (in 2 parts) about using/programming against p2 by Ian Bull.

Related

How to set a software updating strategy for remote customers

I have to say I am fairly new to CI/CD and how to automatically update softwares.
I am developping a monitoring software for industrial customers. We have come to the point where we need to think about an updating strategy to make it easier to deploy our newest version to customers. However, my knowledge on the matter is quite poor and I don't really know where to start.
Our main idea is to have some sort of launcher where, on startup, the software detects that a new version is available and asks the customer if he wants to download it. The problem is that I don't know where to start to put in place that strategy.
Prior to my researches, I had come accross kubernetes, docker, Jenkins, and GitLab but can't figure out if they do actually what I want. Furthermore, I have looked at Microsoft's Configuration Manager but it seemslike you can only update softs that are on your network.
Feel free to ask for any info.
Thank you in advance for your help ! :)

Seam app with JBoss 'minimal' Config?

I'd like to improve the performance of my Seam apps and JBoss appserver, particularly by removing things that aren't necessary in the standard configuration. Ideally, I'd like to be able to run it using the "minimal" profile. Can anyone give me any guidance as to what is needed to run a Seam app using "minimal"? Here are the kind of things my app requires:
JPA, using Hibernate with a PostgreSQL backend
EJB3
JSF (RichFaces/Facelets)
E-mail, eventually, although not required at this particular moment
I'll be developing my app using JBoss Tools on Eclipse, so I would also need anything that is required by the tools for development and deployment. I've found that the default configuration just has too many additional components and features installed by default, and that greatly affects performance when I'm trying to develop. Any help you can give would be great! Thanks!
If you want to improve performance of Seam then you should utilize the functionality in Seam to do that.
If you create a minimal setup of JBoss, that mostly improves the startup time.
If you are interested in slimming JBoss for Seam, you can have a look here
This should cover JBoss 4.x and 5.x.
If you want to speed up your Seam apps, you should learn to use #ByPassinterceptors and utilize #Factory and #Unwrap more.
Dan Allen has a great 2 part post that covers how you can speed up your Seam apps if you are using JSF. You can find the articles here
For development
If you really want to boost development speed, you should definitely use JRebel.
This prevents so many restarts and hooks into the JVM directly to hot-deploy even your EJB's(!).
#Arbi has a great post that shows how you can install JRebel here
This should be a good start....
If you can't justify JRebel's cost try out FakeReplace
http://code.google.com/p/fakereplace/
It's not as reliable as JRebel, but it works for the majority of code changes.

CouchDB on Windows?

I started exploring CouchDB and I am interested in following:
Is there or will there be a Windows install?
If there is, is there a shared hosting provider that offers CouchDB?
Not knowing much about it, can it be somehow embedded in my application or bin deployed (don't laugh).
The most reliable source is the CouchDB download page
There are several places offering CouchDb hosting. Besides Cloudant, you can use most Infrastructure-as-a-Service parties like Google, AWS, etc.
This question was asked (and answered) elsewhere on StackOverflow here and here.
There's a Windows version now, available on CouchIO (http://www.couch.io/get) blog.
Download & Unzip
Double-Click bin\couchdb
Relax!
Visit http://127.0.0.1:5984/_utils
There's been a fully compatible Windows build of CouchDB shortly after every source release, since the initial 1.0.0 release over 18 months ago. You can get this directly from the Apache CouchDB mirrors http://couchdb.apache.org/ now.
NB the embedded test suite is actually for developer testing; due to subtle timing constraints not all tests will pass first time round on every machine. In the next release of CouchDB, the tests will be done outside the browser which will be both simpler and more robust.
Please up-vote this so we have the right information to hand.
Since this question was posted, there is a Windows download available at https://couchdb.apache.org/ .

Anything better than CruiseControl for .Net CI? [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 7 years ago.
Improve this question
I've been asked to set up yet another CruiceControl environment for yet another client. I realized that I've been using CC for years without really looking around for competitors. Is there anything else that's sprung up that does the job equally well or better for .Net apps?
TeamCity is a very good CI server. (and the "Professional" edition is free)
I've been using it for over a year for building .NET projects, and I must say it's way better than CC.NET IMHO.
Strong points are:
Very easy to configure (web based GUI)
Distributed system (you can have several build agents on multiple machines to distribute the build process)
Built-in support for many source control systems
... check the website. The product is awesome ...
If you haven't seen it you might want to check out the Continuous Integration Feature Matrix which lists virtually ever CI server out there.
I work on the Java version of CruiseControl and these days I work for Urbancode who makes AnthillPro. From that perspective the right tool depends on the scope of what you're looking for. If you're just looking for fast feedback after a build lots of tools will work. If you're looking to setup a build grid then a there's a smaller group of tools. If you want to track dependencies between projects and deployments to multiple environments then you're in an even smaller group.
AppVeyor CI is worth looking at. It's a hosted Continuous Integration service for .NET developers and it's free for open-source projects.
Bamboo is an alternative... it also is provided as part of a integrated toolset or cloud service. They include Subversion, Jira (task/bug logging), confluence (WIKI), and other coding tools - see the link.
The are available as a managed service or you can purchase the suite and run it internally. Their packages are extended to use a single sign on system and centrally administrated.
TeamCity is really a good solution.
Hudson is also a really great tool, and even if it is essentially dedicated to Java projects, it can be used on .Net or C++ projects quite easily now...
Why not MSBuild if you are building .Net projects?
Do you have a TeamFoundationServer, if so, TeamFoundationBuild and MSbuild are a definite possibility.

Project Management + SCM for techies and non-techies? [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 3 years ago.
Improve this question
I've recently begun evaluating a few project management projects for the company I work for. It's the classic case - growing company looking for the right solution (meaning, free or really cheap). It's a combination shop - Windows, Macs, and Linux on the desktop. The tech savviness, of course, ranges from newbie to unix guru.
I have yet to find anything really close to a total solution. I don't expect to find one, but I am looking for suggestions/guidance/any sort of feedback based on people's experience.
What I'm looking for:
web based
methodology independent (not looking for an agile solution, etc.)
free or really cheap
document management
timelines and milestones
task tracking and assigning
reporting
source control
development wiki
I've looked at Trac, Projectivity, Basecamp, JIRA, RT, XPlanner, and SharedPlan. I've stayed away from Bugzilla due to previous unhappy experiences with it. None of these things really does everything - some are extendable, but I'd check here before going down that path.
Thanks,
Read through Edward Tufte's long-running Ask E.T. topic Project Management Graphics (or Gantt Charts). There is no consensus answer, but a lot of things have been evaluated.
link text
Trac - integration of tickets / wiki / commit-comments is great.
Caveat: installation can be PITA...
Check out Jira Studio. All of Atlassian's apps, hosted for you.
http://www.jira.com/
You get wiki/tracker/svn browser and more.
Have a look at Redmine, it's a Rails app. Haven't used it yet myself, but thinking about moving to it from activecollab. This applications seems to be evolved quite fast last year.
My experience of Jira (with Confluence for the wiki) has been rather good, although it is quite pricey the support people were very responsive and helpful. The place where I used that had svn for version control, and the two played together OK. On the other hand I found Xplanner to be a very odd app - really inflexible if you don't want to be doing XP, and surprisingly documentation-centric for an XP shop.
If you don't mind doing a bit of configuration yourself and have a windows server somewhere in your shop then you could set up your very own customized project management system in SharePoint.
* web based
* methodology independent
* free or really cheap
* document management
* timelines and milestones
* task tracking and assigning
* reporting
* source control
* development wiki
The source control system is not a part of SharePoint so it is really a question whether that requirement is paramount or not. But besides that you will have all of the above for free if you install WSS (comes free with a 2003/2008 server)
There is even a book from O'Reilly about how to set up a PMIS in SharePoint
One solution for the more visual of us would be to use Drupal 6x. with the Project and Subversion (now Version Control) modules. I prefer Joomla with ProjectFork, but until its modded with a repo browser, this will have to do.
Hope this helps.
http://drupal.org/project/project
I looked hard at Alfresco and Joomla.
None met my needs because I wanted the ultimate in simplicity. But, you seem to prefer having the kitchen sink included (while keeping it easy to use, I guess), so either one of these might be right for you.
Currently, I'm throwing together my own using Django, keeping only the project-deadline, forum and file-versioning concepts.

Resources