The "official" Konsensys weblog

DreamBeansTM is rapid servlet development and JSP prototyping technology. Version 1.2 Beta is now available.


Wednesday, February 27, 2008

 
Version 1.2.2442 is a major redesign from 1.2.2338. The new design stores session information in the web page (client-side) rather than saving the session information of each user on the server. This new design has two major advantages:
  1. Reliability/Security -- Context/state switching between users is rock-solid (no chance of someone accidentally seeing your information on your web page). And, if a server goes down for some reason, the context/state is not lost. When the server is back up or failover to another server will read the context/state from the web page request.
  2. Scalability -- The new design is visibly faster (roughly twice as fast). And, performance will degrade much more gracefully when there are a large number of concurrent users.

I didn't want to implement the new design until version 1.3, but I ran into a serious context switching bug that would be very difficult to fix using the old design. So, I decided to bite the bullet and add the new design. You can expect a few bug fixes over the new week or two to stabilize the new design.

-George


posted by George 10:03 AM


Wednesday, March 07, 2007

 
I've been looking at the latest versions of technology like Java Server Faces, AspectJ, Hibernate, Spring Framework, and Seam to determine if DreamBeans can make use of them.

Java Server Faces is pretty good. It finally provides JSP pages with some higher level constructs to quickly create a user interfaces with data bindings. And some IDEs like NetBeans and JBuilder provide nice GUI's to contruct the user interface and generate the JSF code. I am considering having DreamBeans generate JSF code rather a Java servlet. No decision has been made yet.

AspectJ might have some application in DreamBeans for logging and database transactions.

I would love to take advantage of something like Hibernate to leverage the work of others in abstracting away JDBC ideosyncracies of various databases. But Hibernate is basically for persistance of Java objects, treating each member of a class as field in a relational table. The problem is that this makes it nearly impossible to do something like:

Join joinTable = new Join(department, person);

And DreamBeans has that capability. In fact, each relational operation in DreamBeans is a class, e.g., Join, OuterJoin, Union, etc. But, this would not be possible if layered on Hibernate.

Spring and Seam provide "frameworks" for generating "enterprise" applications. The idea is that certain design patterns make it possible to create these "enterprise" applications quickly. Both are seriously flawed in design, with result that you end up writing a lot more code and XML to wire objects together into an application than if you just wrote some code using some well known design patterns.

Spring and Seam require writing a lot XML, besides writing a lot code. Only, masochists like writing XML. Normal people, just want point-and-click, have the something generated (and don't care if is XML or something else). I don't even like read XML, let alone write it. That's one of the reasons I developed DreamBeans, it generates the web.xml, server.xml, etc. automatically. I got better things to do with my time than performing mundane tasks like writing XML, when there is no good reason why it can't be generated automatically.

A "simple" example in Seam's getting started documentation using JSF takes half hour to an hour to code in Java and XML. The same application can be created in 2 or 3 minutes in DreamBeans without writing a single line of code or XML. DreamBeans generates all the Java code and XML for you. It looks like Seam and Spring are steps backwards.

I plan to open source version 2 of DreamBeans (version 1 was grown organically and needs to be rearchitected underneath). I think at that point, retro techologies like Struts, JSP/ASP, Seam, and Spring are going to become forgotten technologies.

http://www.konsensys.com
-George

posted by George 4:32 PM

 
DreamBeans is starting to get pretty stable (some fairly large applications using a dozens of database tables and dozens of forms with trees and tables are all working well). Everything basically works except a new feature, XY_Table, that is displayed in icon palette but not yet documented. The XY_Table will documented after development is complete.

http://www.konsensys.com

-George

posted by George 4:24 PM


Thursday, January 18, 2007

 
The reason why FeatureRequest, etc. have not gone into beta test yet, is that that there are still some compatibility issues, particularly with Firefox (AJAX-bug) and Oracle (JDBC cursor issue), for which I need to find work-arounds.

In the mean time, a new maintenance release of DreamBeans with many fixes should be posted in a couple of weeks. And I may decide to release FeatureRequest and just put in the release notes that it does not work with Oracle and FireFox due bugs in their products.

-George
http://www.konsensys.com

posted by George 10:27 AM


Monday, October 16, 2006

 
Version 1.2.1879 beta release of DreamBeansŪ contains fixes 62 bug fixes since the last note. A new version of DreamBeansŪ with one or two fixes are being posted every week or two.

The reason why FeatureRequest, etc. have not gone into beta test yet, is that that there are still some compatibility issues, particularly with Firefox (AJAX-bug) and Oracle (JDBC cursor issue), for which I need to find work-arounds.

posted by George 10:57 AM


Saturday, May 27, 2006

 

Version 1.2.1817 beta release of DreamBeansŪ contains mostly fixes to the user interface.

DreamSuite has been delayed due to several reasons:

  1. An ill-fated attempt to portDreamBeansŪ source code to the lanugage c#. I was hoping to make DreamBeansŪ more attractive to the Windows developer, who doesn't know anything about Java and Java webservers. But, Microsoft's code to translate Java to C# left so many things to be fixed that the task was too daunting for the current level of resources.
  2. Embedding a webserver (Jetty) directly into DreamBeansŪ. Now, image buttons and other graphics display properly for a complete What-You-See-Is-What-You-Get (WYSIWG) experience.
  3. A redesign of the FeatureRequest and DefectTracker so that the two are more tightly integrated. Product components and features entered into the FeatureRequest component, are visible in the DefectTracker (once a feature is marked as implemented in FeatureRequest, then problem reports can be filed against the feature). Further, the new design provides a basis for some project management (resource and schedule estimation and tracking). Work on FeatureRequest and DefectTracker is now active.

posted by George 10:01 AM


Saturday, January 07, 2006

 
Version 1.2.1761 beta release of DreamBeansŪ contains mostly fixes to work with Oracle and a few minor generic fixes.

DreamSuite is delayed due to delays in testing DreamBeansŪ because the DreamSuite is developed with DreamBeansŪ.

posted by George 9:30 PM


Sunday, November 27, 2005

 
Version 1.2.1744 beta release of DreamBeansŪ adds three new features, which break backward compatability. It was decided to beak backward compatability now before the number of customers and DreamBeans applications became so large, that it would be too painful for customers to break backward compatability.

1) Many companies use some convention for naming all their primary and foreign keys. For example, some companies always name the primary key of a table "ID" and name the corresponding foreign key (link field) something like table_name_ID. The new "PK_naming" property allows you select one of several common conventions for naming the primary key (and foreign keys). One of those naming conventions is the old naming used by the previous versions of DreamBeans (primary key has the same name as the table). But, you will have to select it explicitly, because the default convention is now to give the primary key the name "ID".

2) Most companies also make the primary key the first column in their tables. And DreamBeans now creates the primary key as the first column rather than the last. If you wish to load in a table created with a previous version DreamBeans you will either need to: a) Use the ImportedBaseForm bean rather than the BaseForm bean. Or, b) Before starting up the new version DreamBeans, you can use a tool that comes with your SQL database to add a new primary key column at the beginning of your old table and delete the old primary key in last column.

3) The third feature change is the method of specifying the table containing the choices to display in a "ChooseOne" field (which displays either a menu list or set of radio buttons). The new change requires using the "Add" button in the DreamBeans IDE to add a BaseForm containing the choices to the ChooseOne field (and removes the previous "choices_table" property). This was done to allow you specify in a property field, the name of the field in the BaseForm (table) to use for the list of choices.

posted by George 1:03 PM


This page is powered by Blogger. Isn't yours?

back


archives