Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Does anyone know of an open-source equivalent to Amazon SNS? Maybe something that supports a similar pub-sub interface but that can be run on a closed or private network.
Presumably you are looking for a ready to install packaged solution? There is none I know of, however, in case you are comfortable with assembling some readily available components with a modest amount of custom code, you could build yourself a dedicated solution by means of the extremely versatile Apache Camel framework, which is a powerful open source integration framework based on known Enterprise Integration Patterns.
It includes an ever growing list of components out of the box to interface with existing tools/protocols/APIs/etc., e.g. for cloning the Amazon SNS functionality:
Mail Component - provides access to Email via Spring's Mail support and the underlying JavaMail system
HTTP4 Component - provides HTTP based endpoints for consuming external HTTP resources (as a client to call external servers using HTTP)
SMPP Component - provides access to an SMSC (Short Message Service Center) over the SMPP protocol to send and receive SMS
AWS Components - even those are available, in case you'd like to use them as well still
SNS Component - For Messaging with Amazon's Simple Notification Service (SNS) service
SQS Component - For Messaging with Amazon's Simple Queue Service (SQS) service
Assembling the components is remarkably simple indeed, and there are lots of Examples available, see for example the walkthroughs for configuration via Spring DSL (XML based) or via Java code
Granted, assembling a decently performing and scaling system like so will still require a fair amount of knowledge, but Apache Camel at least removes the burden regarding many of the involved tasks already.
Realize this question is a little old, but came across this recently:
http://www.slideshare.net/openstack/open-source-versions-of-amazons-sns-and-sqspptx
You might want to have a look at the Java Message Service, aka JMS, a message oriented middleware
Related
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 9 years ago.
Improve this question
I'm an old C++ / algorithm guy who is making a first attempt at building a web application. I could use the community's help in making correct architectural / tech stack decisions. Here's what we're trying to do:
There is a simple relational model for the data. Most of the application is simple CRUD, with a high usability and variety of UI controls needed to match a fairly complex workflow a company follows. Often data from multiple tables need to be displayed / edited in one page - think of an editable dashboard that takes full advantage of large monitors (grids, drag-drop, tree displays of data, etc.). There is a bit of server-side text processing to be done as well, with Python being the company's processing language of choice.
The company wants to use open source where possible but wants the best UI controls/widgets and will pay for a commercial UI package. They want to make sure there is a good-sized community of developers who use all the technologies involved so they never have trouble finding someone else to maintain/enhance the app once it has been built. There will be under a dozen concurrent users.
I've read various questions/answers here, done some research on my own, and talked with a few colleagues who build web apps in an effort to decide on a proper technology stack for this application. Here is what I've come up with:
Sencha ExtJS for the UI
JSON for data transmission
Django as the web application framework on the server
Apache as the web server
MySQL as the RDBMS
Linux as the O/S
Github for the development repository
Webfaction for the app hosting (full shell access, long-run process support, Linux/Apache/MySQL/Django support, etc.)
Authentication via username/password in database
I'd love to get this tech stack validated by a few experienced people. If you've built high-usability CRUD-style web apps, please let me know what you think of my intended choices, and also please let me know if I am leaving anything important out.
Thanks!
Ron
It will come down to what you are comfortable with as you go along -- don't lock in your combination too early. I believe you've listed a very usable stack. I don't have any experience with Sencha ExtJS, but the rest is solid stuff. Django is a beautiful thing, and even if you don't have Python experience it is really easy (and fun!) to learn.
But as you go you will find some things don't feel right just because of your background, or because of the way it fits with other pieces of your stack, and may find something more suited to your situation.
I've actually come to the conclusion that these days, the pieces available for a web stack are so well evolved and so well explored that you (almost) can't go wrong -- what is far more important is the application design. People tend to get wrapped up in technology decisions and lose focus on the app itself.
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
Anyone have any special issue when using WSO2. I'm still looking forward should I use WSO2 or Talend for Integration framework. Anyone have experience using one of them or both?
Selecting an enterprise service bus (ESB) for integration work needs to be done based on few important factors.
Performance - as the ESB becomes the central hub, it better perform
Kinds of services to be integrated - do you have all adopters that you need supported by the ESB, like SAP, FIX, HL7 etc.
Integration language - for e.g. do you need to write Java code or is it easy to deal with using config languages like XML
Support for monitoring and management
Development tools
WSO2 ESB is strong in all these fronts, as proven with eBay case study and more over it is open source. You should compare the equivalent aspects in Talend before making a choice.
We tried WSO2 stack and found we were spending way too much time in just trying to get all the parts and pieces to work together and get installed. Then once we got it up and running, we couldn't figure out how to expose simple database calls as RESTful services. After a few weeks we gave up and tried Talend ESB. We found a demo and lots of others using it and great videos. We got installed and our hello world rest service up in less than 1 hour.
So if you are making a smaller solution, I strongly recommend Talend so far. It also handles load balancing and high performance; however, we haven't gotten that far. BTW, at work I use Oracle SOA suite, and I am a SOA Architect with more than 5 major SOA platforms under my belt such as TIBCO, WebMethods, and GenTran.
Just my humble 2 cents.
Ebay the esb casestudy is a case study which shows how eBay using WSO2 ESB to process more 1 Billion transactions per day...
I faced some compatibility issues while using with CXF client stack.
some of the WSO2 ESB / Synapse examples doesn’t work with CXF client while they work fine with Axis2 client. You have to make sure you are using WSO2 ESB supported namespaces for WS-Security , WS-Addressing m WS-Trust etc on client side. As WSO2 ESB/ Synapse is based on Axis2, If you services and/or clients are based on CXF or Sun Metro, it may be easy and less problematic using Talend or Fuse ESBs.
Being based on WSO2 carbon platform WSO2 esb provides a lot of security features such as authentication, authorization, confidentiality etc .. as well.
Following articles shows how to do the service integration and apply security with WSO2 ESB.
WSO2 ESB by Example - Service Chaining,
Integrate Business Rules with BPEL,
Securing Web Service Integration
Basically when comes to opensource ESBs available, wso2 offers you comprehensive package which you can utilize to solve your day today business use cases, by glance wso2 esb comes with variety of features such as.
Connecting Anything to Anything
Routing, Mediation & Transformation
Message, Service, API & Security Gateway
High Performance, High Availability, Scalability & Stability
pls visit:
http://wso2.org/library/articles/2012/03/performance-benchmarking-wso2-esb-different-message-transfer-mechanisms
Lightweight, Developer Friendly and Easy to Deploy
Manage & Monitor
for further details please visit to http://wso2.com/products/enterprise-service-bus/
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 9 years ago.
Improve this question
Google says there are:
Jenkins ( first impression: not lightweight )
Cruise control ( first impression: not lightweight )
Bitten ( seems to be dead, last ticket >8 months old)
BuildBot
But BuildBot seems a bit outdated, offering no statistics, not very intuitive to configure... Features we are interested in are:
Multi platform support for build slaves: Linux, Mac OS X, Windows
Easy build slave setup
Mercurial support with branch sensitivity
Scheduled builds
Commit-hook builds
Email notification with full debug output
Trac integration would be nice but is not a must-have feature
Edit:
I favour Jenkins over Hudson by now, since its the real open source fork of Hudson. Oracle just failed.
Hudson is my recommendation. It's easy to setup and use, it's free, there are a large amount of third-party plugins and good community support.
TeamCity by JetBrains.
Google says there are: [...]
There is a huge wikipedia page on CI software comparison:
http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software
Personally I am also using buildbot and I think it could fulfill all of your requirements. It's a bit of work to setup because it is a distributed application but frankly as pyfunc said it's a breeze to setup a new slave once you know what two commands to type (one is an "easy_install", the other one a "buildbot create-slave" with the right options).
Also it is still under heavy development and I chose it because it is easily extensible, whereas XML-based tools are confined to the types of build specs which were coded in the tool: perfect for Java/Ant/Maven projects but it can be limited for slightly more complex ones (e.g., involving DB, or embedded software, etc.).
Hope it'll help.
Cheers,
Christophe.
= The act of automating doesn't solve problems, it just automates them --Joseph Weizenbaum =
I have used Hudson with Mercurial and found it to be excellent. The Feeds, web site, status reports, etc. were all "just the right size" for us in a 20 person shop. Just run it in a VM and forget about it; we did.
I have used BuildBot. My experience has been good with it. Installation is a breeze. It uses configuration to setup the master, slave and has various means for communicating result from publishing on web to mail integration.
http://buildbot.net/trac
I have blogged about the buildbot setup. I find it easy. There are few dependencies like twisted that needs to be taken care of.
http://pyfunc.blogspot.com/2010/09/using-buildbot-for-continuos.html
[Edit: I tried to put together a post on how to configure BuildBot - master.cfg]
http://pyfunc.blogspot.com/2010/10/setting-up-buildbot-customizing.html
As others have recommended, Hudson satisfies your list of requirements. There's also a plugin for Trac integration.
Regarding "lightweight", Hudson configuration is not XML hell. You can do everything via the Web interface. So it's very easy to get up and running.
Hudson's plugin architecture provides a lot of extension points and integration with other tools. (Although it can be a pain to sort through all the possibilities for the plugin that has the behavior you need.)
You can also script it through the remote access API. This is a powerful way to introduce new behavior for your environment without needing to dive into writing a plugin.
Our free hosted CI environment (fazend.com) is powered by CruiseControl 2.8.3, which is a free open-source product, written in Java. One of its benefits (for us) is that it doesn't need any database, everything is in files.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I’ve been looking at Open Source GIS tools. In particular MapServer and GeoServer.
The problem I’m seeing is that to actually deploy these to the public you can’t use a regular $5/ month (or free) hosting service because you have to install these services on the server in ways that are not accessible in the average hosting scheme. So you either have to use a host that has MapServer installed (many of which look unreliable) or have a dedicated server or VPS. All of these options have a significant cost barrier ($30 - $200/month). I’m just doing this for fun.
Are there any free or inexpensive ways to have your GIS services hosted? Or are there any products that install in a way that you don’t need to access the root structure of the server?
I have tried OpenLayers and GeoExt but I don’t think a client side option will work for me because of the size of the datasets I am using. My base data will be vector data not WMS data (or something similar). I haven’t tried Google maps yet, but I will be looking into it.
Also, any thought on using SVG for GIS purposes?
Thanks
Any language preferences?
If you use Python then have a look at http://mapfish.org/ - this includes GeoExt (I think they'll mergre soon) on the client, and then a Pylons framework on the server. If you prefer .NET there is SharpGIS.
There is always the option to just use a spatially enabled database (PostGIS, SQL Server 2008 - pretty much any modern database), and create your own queries and web handlers for searching and selecting. As mentioned in another replyAzue, which now has spatial functionality, could be an option here.
I find MapServer invaluable for WMS services, but if you are only using vector then you can server data direct from a database (KML, GeoJSON, GeoXML). For display of the features you can styles, icons etc. to vector features when in OpenLayers.
SVG used to be popular, but always required the Adobe plugin, so dropped in popularity. Maybe HTML5 will change that, but in the meantime KML seems to be a more widely used format (and has also become an open standard).
What about just using something like Amazon Web Services and creating a custom AMI that includes the software stack you desire. This should keep the costs down, unless you get a spike of usage.
How about using google app engine with their spatial data store
http://code.google.com/apis/maps/articles/geospatial.html
So while not open source, it should be free.
I am not sure what Azure has to offer but I am pretty sure I heard it was backed by SQLServer which also has a spatial data model. Might be a good place to look as well.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
To ease our release testing, we're looking for a system to automatically build and (unit) test our software projects on a variety of architectures. Our constraints are:
The code to build is written in several languages, including Python, Java and C.
We have several distinct deployment architectures.
We have multiple projects, which we would like to build and test independently.
Our source control system is Subversion, and the system should integrate with that.
The solution should ideally be open source.
We've looked at:
Artifactory + Continuum: Nice in some ways, but is heavily Java-centric, with limited or non-existent Python support.
Buildbot: This gives us almost all the functionality we need, except it doesn't support multiple projects, which is a deal-breaker for us.
What would you recommend? What do you use?
Take a look at TeamCity. Works like a charm for us.
Have you looked at Hudson? I've used it on .Net projects with a lot of success even though its a somewhat Java centric tool. It supports subversion and has an active and diverse plugin community which enables it to work with a lot of different languages. Its open source and it runs on many platforms.I found it to be relatively easy to configure and manage.
Since moving away from buildbot i've been using cruisecontrol and i've been happy with it to certain degree. My current projects consist of building c++ & ruby (with some c extensions) to multiple architectures and and only gripe with is that most features do require ant. And currently single instance of cc is building roughly 40 different projects.. Build phases we have do consist of running unittests, some functional tests, getting code coverage and making a report of those, updating package database, irc integration, software packaqge creation and repository update (debian)
Only gripe is that most of the fancier features would require that (Atleast when inside cc build loop) build is happening with ant.
I've also evaluated hudson, it seems to be somewhat more flexible than cruisecontrol but i dont personally like the configuration interface of it.
I'm a developer on CruiseControl and I work for Urbancode who makes AnthillPro, so I can speak to the strengths of those. I'm also one of the organizers of CITCON so I'm pretty familiar with almost all the offerings in the space.
CruiseControl or Hudson are both pretty good open source CI tools. I find CC really easy to customize and extend and there are lot of plugins that have been added over its 8 year lifetime. Hudson is newer and easier for most people to get started; it is dead simple to get your first project running using the GUI configuration while CC requires mucking about in XML files. Hudson also has an active plugin community and is rapidly adding new capabilities.
However depending on the complexity and requirements of your projects you might find a commercial tool like AnthillPro would be a better fit. The reasons upgrade from CC or Hudson to AHP vary from company to company but some typical answers include the ability to setup self-service deployments with access control by environment, the desire to chain multiple builds/workflows together, the built in dependency management, the artifact repository, or the ability to pull together data from a bunch of different tools & builds across the lifecycle.
Not everyone needs those capabilities but the people who do find the upgrade to be worth the money.
Why not also take a look at CI Factory.