Eric Knorr on ZDNet provides a brief look at some of todays tools and framework offerings to simplify J2EE development, including Altoweb and Wakesoft, as well as the latests IDE's and other companies helping in the tools area.
Read Raising the J2EE platform to another level
This article is especially relevant considering Dion Almaer's recent article on TheServerSide: Future of EJB's: Tools are Catching Up
I'm not sure if Eric has actually used any of these tools, or if he just read their marketing blurbs. There wasn't much substance to the article - I personally would like to see an article by someone who has built and deployed an application on verstata or altoweb, and can give some real insight - more like Dion did in the other tools article.
I had a chance to see versata few months back. Versata Logic Server runs as an ejb inside the application servers. I could make a vauge comparison to BC4J of oracle. Each table is mapped as an entity bean (as far as the client is versata presentation components, versata doesn't use entity bean in pure term. i.e., it doesn't make remote calls to accessing entity bean data) But if you want other clients like JSPs to access it, then each table would have to be mapped to entity bean.
For implementing certain business rules, you would have to change the database design. (which is a bit nasty)
Their Presentation Logic Server was not good to work with. they have their own technology (not JSP). You have very poor control over the development. The tool restricts your vision to its capability.
The developers needs to be equipped with database, application server, IDE in one machine. Synchronization between the developments from various developers would be a problem as it framework doesn't fit into version controlling.
Overall, its good to practice few demos and develop similar applications that comes with the product. But in reality i didn't find it useful at all.
These kind of tools doesn't consider 'design phase' in any application development.
Hi VJ D,
one a short reply to your comment's about the Versata Product's. I think you NEVER worked with one of these Products and your statements are completely wrong ...
If somebody has a real intrest in Versata Product's, please look into the commet's of Joey Stephenson. I do not know him, but it seems that he knows the our Product's ...
or have a look on Versata.com
I've been a Wakesoft customer for over a year and have been extremely happy with both the product and the company. We were looking to build multiple, enterprise class J2EE applications and needed to get it done quickly and in a way that those applications could be quickly changed to meet changing business requirements. I had a background in application development and J2EE architecture and knew the importance of frameworks.
The product - the Wakesoft Architecture Server - is easy to use for the power that it offers. The key for this product is that is provided a lot of powerful architectural features, valuable amount of automation with out sacrificing flexibility and control
- Got my team productive very fast.
- Helped us inplement best design practices (Design Patterns, etc.)
- Really simplified API, easy to learn and extend
- Makes my apps easy to change
- Let me start building my apps knowing I could change stuff as I moved forward (the Persistence Framework makes it easy to switch from Entity beans to DAOs for example)
- Great support
- Does NOT come with its own IDE but works with any of them (my team loved it for this reason, I had a team that used vi, Café and everything in between)
- Documentation was a poor at first, but they are catching up.
- I was initially concerned about "buying" my architecture and adding another layer, as was my team - but it turned out to be a good decision. It allowed us to focus on delivering functionality.
All in all, I have been very happy with Wakesoft.
A few months back I was looking for a framework to both speed up my development as well as buy some confidence for what I was building...
OptimalJ from Compuware seemed really buggy and had a huge GUI I didn't like (maybe that's why it was so buggy)
AltoWeb was also buggy and took to much control away from me and my team. I could see it being useful for teams that have little if any J2EE experience. The install was pretty smooth, but I had to talk with someone to get an evaluation license (pet peeve).
I loved using Struts and would recommend to everyone - but it is not a total solution like the others, and it wasn't a viable solution for my big co.
I downloaded Wakesoft's free 30 day trial and it took a while to get it configured. The WL6.1 version was much easier to get running. Support was helpful. Their framework (they actaully call it 10 frameworks - seems pretty confusing to me, but I'm not a marketing pro) seemed pretty thorough and really worked well. There is no GUI, just API - which I like.
I looked at Versata a while back (years) and never was that impressed.
hope this helps. I actually have some experience in this area and am happy to share it.
Seems strange that some writers here find anything with a GUI "buggy". They're probably the sort of person who also prefers notepad to an IDE. Slamming products such as AltoWeb without any specifics other than that it has a GUI is more a reflection of the writer than the product. Check it out for yourself.
Developers get up and running and building J2EE applications in AltoWeb faster BECAUSE of the GUI which enables the runtime pieces. GUIs in general are created to increase productivity of users no matter what the product.
Perhaps I should have been more blunt and stated that I plain old didn't like AltoWeb - variety of reasons, technical and otherwise.
I rarely reply to flame-bait, but when a vendor comes out like that, I have to reply.
I do like GUIs, I like them a lot. In fact I use them so often that I, frankly, don't have the time to learn another one.
Sorry to offend the AltoWeb folks and Russell - didn't mean to "slam" your product. Just giving my overview.
I found it of little use to my J2EE projects and chose not to buy it.
I'm sure it's right for some people, maybe even some notepad users? apologies, for the sarcasm.
Hi Gary, thanks for your comments. We always appreciate feedback whether positive or negative.
To clarify things, though, we have no-one working here called Russell Peters, but maybe we should track him down and employ him :)
I would be interested to learn when you downloaded our product and any more feedback you have. Perhaps you could email me at swilkes at altoweb dot com with more details.
We are attempting to lower the bar to J2EE to enable non-experts to be able to build and deploy J2EE applications very quickly - often not even knowing they are building on J2EE. This does not always appeal to J2EE experts, because you may feel you are losing control.
But once you get to know our product you will realize that there are many ways of extending our framework, and that taking care of mundane tasks - like database access, web service creation, etc. really frees you up for more complex coding problems.
I've used Versata for a number of years now, and on a number of projects. Here's a summary of what I think about it.
--THE TOOLS... (quick summary)
Versata just released some new versions of the product-suite, including the Versata Interaction Server (VIS) which is a process logic engine that can be used in combination with the Versata Logic Server (VLS) or standalone. Lots of improvements have been added into the studio which makes it much better on bigger projects and team-development.
If you believe in the power of business and process rules, this suite can make a remarkable difference in software development. When you start thinking in these terms you really need to write less code, or just include bits and pieces into it.
So I believe in it :)
--HOW IT WORKS... (explained in ten lines)
You write your business components and front-end components separately. On the business components (that are written from scratch or reengineered from an existing model) you add your business rules. You can add code by adding events or subclassing or just adding some methods.
If you are done, you deploy your business components in a database (if necessary) or write your own persistency connector (see below). Your business objects are deployed as entity beans or as classes into your app-server. This is all a few clicks and it is done.
With the Interaction Server you can create a process flow and combine your business objects into it.
If you wish you develop your front-end app in the Studio as well.
--SO WHAT... (we've seen this before)
Even though Versata generates the famous 90% of the code for you it does not stop you from changing it into the way you want. You will always have that last 10% right?
Versata would then be stupid if they would not allow you to subclass, add events, methods, or just change the whole generation process. But luckily I have not found many places where they don't allow you in, though people said you have no control here and there. That's probably because you are not supposed to go there, and even more probably don't need to go there.
I agree the environment is probably not very strong in the front-end, but the strength, IMHO, IS in the logic-backend. However, again, you are not restricted to the front-end Studio here, but you can use any Java-environment to connect to a Versata Logic Server.
To show this a number of (free of cost) toolkits are available that can be downloaded. Examples are an asynchronous XML-adapter, a JSP and Webservices adapter. I've seen more examples of integration of a VLS into a different UI-component like BroadVision.
There is transparancy between dataobjects and the persistent storage through an extensible connector architecture that strongly resembles JCA (and will probably move towards it!). Support for the standard database vendors is there of course. But also, a lot more (exotic) connectors are available, like OpenAdaptor, Verity, etc. Basically anything that can be viewed with a relational mapping can be disclosed through the connector-layer so that business objects can be built on top of them with all the business rules attached.
Additionally, the Versata Interaction Server can, in combination with VLS, orchestrate the various entities into a process flow, which is pretty cool. Using the same kind of business rules designer process logic can be implemented.
--BUT... (every good thing has it bad things too)
To work successfully with the product you need to consider a number of things:
-You should understand the power of business rules and process rules and what it can mean for you.
-You have to think about it in a mindset that is somewhat different, but allows huge reductions in time and effort to deliver your applications.
-You must like a tool that generates a lot of the code for you that runs in a runtime in the appserver. It adds another layer to your system, but with all the standard performance patterns the VLS and VIS have this can be a real benefit.
-Openness of the product
*any HTML editor or Java-editor can be used with the tool, though there is an integrated editor as well (which is okaydokay for everyday use)
*support for the major appserver vendors and standards (BEA, IBM, CORBA)
*Open, extensible environment. Rules can be extended with Java, etc. Subclassing, etc is allowed.
*XML based repository, that allows any filebased source control tool to work with it.
-Automated deployment to the appserver is really powerful and saves a lot of time
-Great improvements in documentation, and online resources and support.
and some con's:
-User interface of Versata Studio is a bit clunky
-HTML Front-end development is okay, has become better, has an MVC architecture, resembles Struts, but is just not really that.
-Learning curve is still a bit too steep, but that is improving
-Business Rules are again not the Holy Grail for all development. You still need to consider the architecture of your application deeply.
-I've seen projects being wasted because the product was not used properly (because the product lacked functionality that was needed or people with the wrong mindset used it).
-But in general this means you are (in a way) held within the paradigm of the product: rules. Though they can be bent and tweaked to a pretty deep extent.
-Strong databinding between front-end and mid-tier (if you built your UI in the Studio). This can be a disadvantage.
Hope this helps.
I agree with Scott that the article gives us an overview of the products with regards to the J2EE arch. I think a key issue and decision for Integration architects and developers is a study/in-sight into some good frameworks of J2EE.I can always find hundred products for j2ee where each one has their own arch. But that doesn't help me. I would like to see someone who has developed, integrated and deployed a tru J2EE application using a framework that they studied. Having said that I would like to know why they chose that specific framework for their project over the others.
I did not see any pros/cons of frameworks in the article.
I'm sorry but it seems that you guys seems to have forgotten some frameworks in this rewiew :
The best(IMHO) from a design point of view
As most who read the article, I was completely surprised to see it provided absolutely no guidance or substance towards giving the reader an in-depth understanding of these products. I contributed an article in the August edition of the JDJ titled "A J2EE Application Framework Checklist", which gave an impartial set of criteria one may want to consider in evaluating a 3rd party J2EE framework.
As CTO of realMethods, I was initially surprised the article didn't consider our framework, but in retrospect, the level of review provided wouldn’t have done our product justice against the others.
Unlike the other commercial efforts, we provide the 10's of 1000's of lines of source code that make up our framework, to prove our adherence to the core J2EE design patterns we advertise to support. Equally important, the other commercial vendors will be hard pressed to match our current Enterprise price of $3,995 which includes an unlimited # of developer seats and deployments.
Oracle's J2EE Framework BC4J got left out of the article, too. Simplifying J2EE and EJB development with BC4J
explains what it does.
While some in this thread have mentioned that the *lack* of tools to go with your J2EE framework is a benefit, we tend to think that having visual tools for BC4J tightly integrated into our full-featured JDeveloper9i IDE -- no longer a derivative of Borland JBuilder in our 9i Release! -- is quite an additional productivity win. The framework works with other tools, J2EE app servers, and even non-Oracle databases, too.
JDeveloper Dev Team
Has anyone had experience with realMethods framework? What is your opinion about the framework? What are the pros and cons?
TDC Kabel TV