As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am currently using BlazeDS and covet the features of LCDS, but am never going to ask my customers to pay the $$$. Therefore I am considering starting to build these capabilities myself, using third party tools (dpHibernate?) or switching to GraniteDS.
Since, we are coming up on the two year anniversary of the last time this question was asked, I thought I'd ask it again.
Since that time, Spring-Flex has added Hibernate serialization support to BlazeDS to avoid lazy init exceptions. There is also a new BlazeDS configuration option to serialize read-only properties.
On the other hand, the Tide capability of GraniteDS seems to be maturing.
Plus the servlet 3.0 spec has been out for a while and maybe the additional support for NIO makes a difference for those who need push-type messaging.
So what's the latest?
As of today (February 29, 2012), the GraniteDS community is still very active, the product evolves with new features on a regular basis and you can get developer and production support if you run into technical issues (see here) or just want a kind of insurance for critical deployements.
GraniteDS' messaging is based on asynchronous servlets, it is mature (introduced late 2007), proven in demanding production environments and much more scalable than the BlazeDS messaging stack (based on classical servlets).
I've never used GraniteDS in production, but in my opinion it will always have more goodies than BlazeDS..unless some company will decide to make money from BlazeDS, like adding features, offering paid support & professional services. I think that Farata Systems is doing that but probably they are doing custom development for various clients..and not adding features into the mainline.
So probably from a productivity point of view GraniteDS can be a good choice - before choosing it I will double check if the community is quite active, if you receive answers to your technical question on their forums and most important if it's easy to understand the GraniteDS source code in case you run into technical difficulties.
Related to messaging I assume that if you wish a professional solution you will not choose niether BlazeDS not GraniteDS - there are dedicated solutions on the market. If not both should be ok (BlazeDS has a little bit more options from what I know).
By professional solutions I mean LCDS, Lightstreamer, Kaazing (and probably more). Some important features from LCDS which are not included BlazeDS: reliable messaging, message throttling, the ability to deploy the solution in architectures where DMZ is a must (http://www.lightstreamer.com/architecture.htm), the ability to connect also to non Flex clients (HTML).
Actually we (Farata Systems) continue improving our open source offering that works nicely BlazeDS. The latest version (4.2) of our tool called Clear Data Builder can generate CRUD applications in minutes based on Hibernate or POJOs. We hooked up Spring framework too - all BlazeDS client's requests are processed by Spring's DispatcherServlet.
Here's the Wiki Page http://cleartoolkit.com/dokuwiki/doku.php. There are screencasts and a workshop at the bottom of the main Wiki page that takes you step-by-step through the BlazeDS with Hibernate process and you'll also see how easy it is to connect the Spring Security module. We support data synchronization, hierarchical data collections, transactional updates, pagination, and more.
Apparently, we need to make more noise to make this nice (and free) product more popular :)
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
For distributed computing using java stack, how can these frameworks or libs can fits in these categories.
documentation
adoption
easy to use and integrate with well widely used technologies like spring, orm and web frameworks
fault tolerant
security.
EJBs could replace all these new kids on the block for distributed computing, scalable and fault tolerant system architecture?
EJB 3 are designed to be easy to use and easy to integrate, there is a lot of documentation and they are the Java standard for distributed computing.
The EJB container provides the transaction management and the security based on standard specification. The container itself is provider by many companies with enterprise support or free use (IBM, JBoss, Oracle)
Your software can become fault tolerant without modification to the code is you follow the EJB specs, you can just put the servers in cluster (there are many cluster strategies) and can scale horizontally without effort is you use stateless session beans
The other frameworks/.technologies you mentioned are very valid but none can provide all these features
You're asking a too general question.
EJB is been used for many years now , and is widely documented, perhaps more than all the technologies you mentioned altogether, and more mature.
You can use JAAS for authorization and authentication (when it comes to security).
For example, I'm using the Krb5LoginModule at the oVirt open source project I'm one of its maintainers.
You can use secured HTTP when accessing the web container of the application server.
At oVirt we're using the JBoss application server, and you can use JBoss-cluster to achieve clustering. You can use infinispan to get a scalable shared data structure (data grid) across nodes.
We use Spring components at our application (for injection you can use CDI) - for LDAP queries, for working with the DB (we currently prefer Spring-JDBC over JPA due to performance reasons).
I've been using a stack of web application that looks up beans that are injected with EntityManager and perform CRUD operations using JPA (and hibernate as the JPA provider) for several years, prior to my current working place
I'm sure you can achieve all this using spring - for example - use a stack of spring-mvc + spring-orm.
I don't think any of the technologies will give you a distributed system in a "magical" way, and you will still have to invest time on development, design, testing of scalability, etc..
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I need something that is competitive to Volusion/Magento in terms of features. Cost is not an issue.
Thanks
I've been watching the situation around shopping carts for past 5 years very closely. Imho the only carts that are worth trying :
jadasite
konakart
shopizer
Broadleaf Commerce
ofbiz
I've used all of them now. The first 3 are sort of out-of-the-box. I prefer jadasite and shopizer, because they are opensource projects and you have all the Konakart's paid features for free in Jadasite. And from what I know they are even better. You can install these shopping carts and go.
If you are skilled developer and want to spend a month or two playing with a nice technology, or you need a solution for a middle - big businesses, try ofbiz, because ofbiz gives you a platform for building enterprise class e-commerce solution.
Finally, Broadleaf Commerce is somewhere in the middle. I blogged about it recently. Great technology stack, very experienced project lead. You have to have at least a year of java dev experience, because the way of integration and customization has "integration" nature, based on Spring beans/services/controllers or persistence entities overriding/merging/adding ... But it is very simple principle and I was able to work on a custom shopping cart even the same day when I checked out the code from svn.
http://ofbiz.apache.org/
ofbiz includes;
Open Source ERP, Open Source CRM, Open Source E-Business / E-Commerce, Open Source SCM, Open Source MRP, Open Source CMMS/EAM, and so on.
ATG is an outstanding package. It is highly extensible, completely skinnable and very scalable. It is used by many of the largest online retailers, has a strong network of partners and support is quite good. ATG provide training courses for developers and architectural consultancy services. It includes integrations with advanced search, CRM, trouble ticketing and many allied functions.
All that having been said, it is closed-source, obtuse, complex, expensive and has a steep learning curve. It uses a proprietary ORM that mimics Hibernate and other language constructs that parallel J2EE or Spring such as dependency injection, but in it's own special way. Don't assume that your average J2EE or Spring developer will be able to pick it up quickly.
You do need to be careful of some of ATG's implementation partners, some of them are stacked with developers that have barely completed the standard ATG training program and you would be better off training your own staff. Check their references and make sure you actually speak to past clients.
Standard disclaimers apply, I have no affiliation with ATG, caveat emptor.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
There has been a lot of movement in the Scala based web framework community of late. Coming from Rails, Rake, ActiveRecord and migrations - which is a good Scala framework to build production sites in ?
A small hit in performance is acceptable if it gives a much better maintainable code. It would also be nice if collaboration features are built in - e.g. something like DB migrations, etc.
(moderator edit: David Pollak is the founder of the Lift framework)
If you want a nice simple Scala web framework for doing CRUD and a few pages, Play would be my suggestion. It's got a nice development cycle and it's simple and approachable.
If you're building an app that is going to grow and handle lots of traffic, Lift is my recommendation ;-)
Lift supports a variety of ORM systems. Mapper is much like ActiveRecord. Rather than using migrations, Mapper uses Schemifier to read the schema definition from the Mapper definitions and updates the RDBMS accordingly.
If you're building any kind of Ajax or Comet app, Lift is the right choice. Lift's Ajax support is simple... just associate a function on the server with an Ajax control. When the user clicks the button, pulls down the select, etc. the function gets invoked.
Lift has the best server-push (Comet) support of any framework. Please check out http://liftweb.blip.tv/file/2033658/ for a flavor of the Comet support.
In terms of performance and scalability, Lift powers Foursquare and other very high traffic sites.
In terms of concise code, Lift is very concise, yet type-safe (the same is not true of Play and other frameworks that represent variables with String names). So, you get the kind of type-safe, very maintainable REST support that's also very concise demonstrated here: http://www.assembla.com/wiki/show/liftweb/REST_Web_Services
Play with scala module is far better than lift in my opinion, scala is a first class citizen in play. Stateless, fast, simple, powerful, in production use, have scalate module, have active users/developers, full stack framework including caching, db, logging,...
Look this video: http://vimeo.com/7731173
The current (and quite likely the future) star of the Scala web frameworks is Lift, although you can use any other Java framework like Play with Scala, too.
You don't have to fear any performance hit when moving from Ruby to Scala/Lift, expect it to run faster (I heard numbers between 600% and 2000% faster than Ruby on Rails), but it depends on what you are doing.
Here are two short explanations from the creator of Lift about what Lift does and why it might be interesting for people coming from Rails.
For migrations see Scala Migrations
Lift has no builders (yet), but I think play framework has that. However Lift is probably the way to go if you are developing enterprise sites.
Lifty is a builder/processor for Lift
For an introduction to Lift have a look at Lift in Action (prerelease) and The Definitive Guide to Lift: A Scala-based Web Framework. The latter is also avaliable at Google Groups see file "master.pdf"
Lift
Supposed to be like Ruby on Rails and is prefered by many.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I work in an Oracle shop. There's a toolset that consists of roughly 1000 Oracle Forms (using the Forms builder from 6i, early 90's software) with Oracle 10g on the back end. It's serving roughly 500 unique people a month, with 200 concurrent connections at any given time during the work day.
Obviously this is something that needs to be addressed to get rid of the Forms runtime and move to a web based solution. The tools need to be accessed from Windows, Linux, various UNIX's, VMS and Solaris.
What options out there exist that would be feasible to migrate to? Not only does it need to be feasible for migration but the development will need to be done by 8 or so engineers who support the tool set (and many of which who would prefer to stay put and not modernize this tool set).
Oracle offers a few solutions that convert Oracle Forms into a crappy Java Applet (it's a very terrible temporary solution).
My solution of choice has been migrating to Ruby on Rails (which I'm a big proponent of Rails) but this will involve a learning curve (which we'll hit with any solution) for other developers. Also, the other difficulty in this is converting some very complex forms to HTML forms.
Has anyone tackled such a solution? Are there any packages offered by anyone outside of Oracle?
Any specific Java Web frameworks?
Would GWT, jQuery UI, ExtJS or any other JavaScript UI frameworks offer the rich user experience needed?
.NET is a consideration but a last resort (mostly because of license costs, there's no room in the budget in addition to what we're paying for Oracle licenses).
That's exactly what I am currently doing using...
Oracle Application Express
The learning curve is much smaller than most web-based alternatives for Forms developers, as all the code is in PL/SQL (unless you start getting fancy with Javascript, which you can). Also, in the latest release of Application Express (3.2), there is a tool to convert Forms applications to Apex.
It comes free with Oracle versions since 9.2.
I'll +1 for Oracle Application Express -- I think that there are some significant advantages in your situation.
Free licensing
It may bean attractive option to the current staff, if they are Oracle bigots like me.
It's 100% web, and in 11g doesn't even require a web tier.
A really late answer, but relevant. The upcoming V3.2 release of Oracle Application Express adds an Oracle Forms migration tool, which you might find improves your productivity even further.
You should check out this site http://www.forms2net.com/ it's Migration Tool of Oracle Forms to .Net. It's pretty good stuff!
In The Netherlands QAFE ( http://www.qafe.com ) is becoming a populair alternative. They have been around for a couple of years now, serving companies outside Europe as well.
Their claim to fame
Automatically convert and reuse 60-70% of the code
Apply filterrules to make the output cleaner (remove all no longer applicable / needed code). A new feature to improve the quality of the output code.
Use the output and edit/run directly in QAML Builder
Provide your styling (by means of CSS)
Bulk process Forms after a ruleset is defined
Forms Analysis for a better impact analysis
Render to any web technology you want (also to yet to be developed technologies) without the hassle - because the presentation layer is separated from the 'logic'
I work for the company that developed this platform so do not take my word for it, try it yourself and let me know what you think; I think these guys made the best package outside of Oracle.
Oracle maintains a list of vendors who all specialize in doing exactly what you need to do.
This is a very common and popular topic due to the large installed base of Oracle Forms. If you do a simple Google search there are lots of accounts of making this transition.
In my personal experience, we had luckily structured our Oracle Forms applications to have nice PL/SQL APIs. It was simple to re-use all the existing PL/SQL in our transition to J2EE, which we did manually. It sounds like you have too many Forms to do that efficiently, though.
Oracle Migration Assistant is free. It pretty much does exactly what PITSS does for the Migration. PITSS offers some neat things that can be used going forward, which will justify the cost. But if it's a Forms Migration you need, Migration Assistant does the same job.
But if you do purchase PITSS, you could easily write a script to rename a set of forms to something repeatable and write a log of what the names where. Load under names like 1.fmb, 2.fmb, etc. Perform the changes. Then rename them back using another log file that references the log file. Then repeat for another set of forms. Could save you thousands per 100 forms.
And the reports migration is a waste of time. You will have to open each form anyway and reposition fields, especially on the parameter form. That's all you would have to do without the PITSS tool.
Try contacting the folks at ATX about this: http://www.atxtechnologies.co.uk/java/forms2java/. J2EE Java plus Adobe Flex means that the licensing is probably free (unless you want Flash Builder as well). If it's like Forms2Net, the conversion rate will be fairly high and you'll get good quality Java code afterwards.
Hi i have done a similar work using GWT/springs/ORMS combination, the results are fantastic ,how ever it also depends on the complexity of business process mine was a very very complex business process, what i did was segragate all the layers and treat each layer as a service , in the process i made an application which every one goes wow and at the same time is eligible for many certifications , but if you want to do it more faster and not change the front end u can use exodus
cheers
vasem
vasem_want#yahoo.co.uk
I have found that PITSS.CON, developed by PITSS ( http://www.pitssamerica.com ) is the best out there Oracle Forms Migration. Instead of doing this manually, where you can spend up a few months with a couple hundred forms or a couple years with over a thousand, PITSS.CON, enables one to migrate from any 2.3 to 10g in a matter of days. Its unbelievable what this tool can do.
Hi I work for PITSS (pitssamerica.com), and I want to elaborate on what gwoods1412 stated. You can migrate from any version of Oracle Forms 2.3, 3.0, 4.0, 4.5, 5.0, 6i, or 9i to 10g. The tool also migrates your Oracle Reports, and we have a solution to cure the issue with using the Reports parameter form. Oracel Forms and Reports 10g is a Web Based Solution, so you don't have to bite off the expense of a migration to another platform.
APEX is free to use, but it isn't free to migrate to. And the migration tool only extracts the fields (items), it does not take the Business Logic. So you are not getting your real investment out of your forms, you are getting a query and field description.
If you use a tool like PITSS.con, you will be testing you application on the web in a few days. Your developers will be working on other projects, and all will be right in the world. Oh yeah, you can interoperate with APEX, ADF, Java, .NET, etc once you are in 10g too. That means new development can be done in a new toolset. You start a gradual methodical migration to a new technology. Pretty nice to not have a huge launch party in two years when you can have one this month.
And APEX isn't really an enterprise solution. Here's a quote from David Peake who is Oracle APEX Product Manager:
"One of my key goals is to not over sell APEX conversion capabilities and ensure that attendees understand that converting Forms requires significant investment and is not going to be easy, no matter what tool you are converting to."
I stole that quote from Grant Ronald's (Oracle Fusion Middleware Product Manager ) blog which can viewed at Grant's Blog
You really need to check out the Forms Conversion utility from TurboEnterprise. I do not use Oracle Forms but a friend of mine has used their software to covert Oracle Forms and he loves it. They also have a free version on their website too i think. www.turbo-enterprise.com
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
We are using ActiveMQ 5.2 as our implementation of choice and we picked it a while ago. It performs well enough for our use right now. Since its been a while, I was wondering what other Java Message Service implementations are in use and why? Surely there are more than a few.
Before delving into JMS, consider AMQP as well - might be a new standard.
JMS providers I worked with (in varying degrees):
TIBCO EMS - very quick and robust, good API support, Java friendly, native C API exists. Best commercial choice I've used.
Websphere MQ (and its JMS implementation) - so, so. Pub/sub not exactly quick, many configurations options and choices are 'strange' and overly complex from the long history of that product. Just look at the amount of documentation...
Solace JMS - very high throughput (the JMS broker is built in hardware !), good choices of connecting protocols (MQTT, AMQP, XML over http as admin protocols)
Fiorano MQ - used to be agressive in marketing but lost a lot of market share, maturity concerns
Sonic MQ - solid product, also supports a C API
Active MQ - if you want to go with an open-source product (unexpensive support, great community, limited add-on products, limited enterprise features) this is probably your best choice. Works out of the box and is the backbone of several tools like Apache Camel, for example.
We rely on AMQ (5.1) via the Camel framework, and there haven't been any issues. AMQ 4 was a tad more fishy.
WebLogic JMS provider when using WebLogic. Works great.
TIBCO EMS. It's a commercial message service with Java/JMS, C, .net, and other bindings for it.
Sun's Open source OpenMQ (https://mq.dev.java.net/). You can get free and paid support for the same.
See this blog post about some comparison with ActiveMQ, etc -- http://alexismp.wordpress.com/2008/06/06/openmq-the-untold-story/.
I've heard that OpenMQ is more stable.
ActiveMQ is more flexible. as in, you can use it with more languages. There are probably more people on ActiveMQ's mailing list than OpenMQ.
In one of the recent projects I was in we used Sonic MQ. Good overall implementation with good bindings to .NET.
We had a little of scalability problems, but I have to admit that the scalability requirements were very strict: if I can recall correctly, something like 20,000 messes a second with no delays allowed between the 200 different clients (every client had to receive every message at the same time).
I've used JBossMQ, which comes with JBoss app server up to version 4, and which is solid but limited. JBoss Messaging was the replacement, comes with JBossAS 5, and is a huge improvement.
ActiveMQ I have a real dislike for. The developer(s) seem to have gone for performance and features to the detriment of stability, and it's phenomenally buggy. Given that it's the JMS fabric for Geronimo, I worry.
IBM WebSphere MQ 5 and 6
Active MQ 5.2.0
Also Check out Micro QueueManager at http://codingjunky.com/page5/page4/page4.html It is small, easy to install and use for smaller projects.
I have used ActiveMQ in production for a couple of years but I was never happy about its stability (specially with it clustered-enabled). Never looked back after switching to OpenMQ. You might want to look into RabbitMQ or ZeroMQ.
We are using SonicMQ, JBossMQ and the "micro broker" of Lotus Expeditor Integrator. We are using them for different purposes:
-JBossMQ is used internally and to communicate out of all our Java EE applications which run on JBoss.
-Lotus Expeditor is used in "remote sites" where we do only have limited resources and IT staff
-SonicMQ is our Messaging backbone, we use it for connecting central systems, but also to connect remote systems in approx. 1000 sites.
We are having good experiences with all of them, but our experience is also that with a more complex environment you have to do a more active administration of the Messaging system. This became especially true with SonicMQ at our site :-) . From a performance perspective we made the best experiences with SonicMQ especially in Queue based persistent messaging.