us site
developer center
search

Archive for the ‘Java’ Category

The Data Window Makes PowerBuilder Sticky!

Wednesday, February 17th, 2010

PowerBuilder has been around and successful for almost two decades now and after many discussions with PowerBuilder developers, it has become apparent to me what the marquee feature of PowerBuilder really is.  Some developers would comment on the ease of report creation, and others on the presence of client-side processing capabilities, but most only wanted to talk about their beloved Data Window.  After taking a look at what makes the DataWindow tick, it is truly the power of the DataWindow that makes developers’ lives easy.

Over the last 18 months, I’ve gotten to work with a variety of PowerBuilder versions, and had first-hand experience with the Data Window. When you look at it, it is a fantastic piece of tech.  For those of you who don’t understand the concept and what it does, let me try to explain.  The DataWindow is a group of user interface elements that can easily be tied to the database using the PowerBuilder IDE.  What makes the DataWindow so sticky is that once the interface has been defined and the SQL statements have been written, the two-way data connection can be made. Two way data means that if the data is updated on the UI and saved by the user it will be persisted to the database, and if the data changes on the database, upon refresh of the UI that data will be sent back. Developers love this because it is a minimal amount of code to begin developing screens that map to their business requirements quickly. This allows them to focus on the solving the business problem at hand because they do not have to worry about application infrastructure.

Unfortunately, there are number of architectural elements of PowerBuilder that severely limit its ability continue to be a viable option for continued IT support. Most prominently is its lack of support for a rich web environment that can recreate the performance, client side processing capabilities, and UI widgets that are considered standard in today’s Web 2.0 frameworks and delivered in a centrally managed, no-install medium. Also, finding resources to maintain and enhance PowerBuilder are severely hindering the IT department’s ability to continue support these applications as they age. The customers I’m working with are in need of a solution for the deployment issues, legacy language/skillset issues, diminishing support for PowerBuilder, and the need to move to a more open codebase like Java.

To help these customers, we’ve built Java technology that should be an easy transition for current PowerBuilder developers and Java developers interested in building a Java web app that gives that “Desktop Application in a Browser” feeling. In addition to building technology that can meet or exceed the client side capabilities of a PowerBuilder application in the web, Nexaweb has developed a semi-automated process that can quickly cut the process of moving from PowerBuilder to J2EE with greater functionality, flexibility and maintainability.

Modernizing to J2EE from PowerBuilder will be our focus in a demo today (Wednesday, February 17 at 2 p.m. EST) during our webinar with Sierra Atlantic.  I would definitely recommend checking it out.  You can register here: https://www1.gotomeeting.com/register/798601449.

A Guide to Java MessageFormat (or, How I Learned to Stop Worrying and Love Macros)

Wednesday, December 10th, 2008

While working on an application for a client, I encountered some issues with Java’s MessageFormat. In particular, I needed to pass MessageFormat a string that contained single-quotes and curly braces that would be treated literally. This is an issue, because single-quotes and curly braces are special characters in MessageFormat land.

MessageFormat is designed to allow you to dynamically create a string based on a static pattern and a set of inputs. For example, this is from the MessageFormat JavaDoc:

 Object[] testArgs = {new Long(3), "MyDisk"};

 MessageFormat form = new MessageFormat(
     "The disk \"{1}\" contains {0} file(s).");

 System.out.println(form.format(testArgs));

 // output, with different testArgs
 output: The disk "MyDisk" contains 0 file(s).
 output: The disk "MyDisk" contains 1 file(s).
 output: The disk "MyDisk" contains 1,273 file(s).

(more…)

Tutorial: Hibernate, DWR and dojo.E

Monday, October 6th, 2008

I just presented a tutorial on Friday on using Direct Web Remoting, Hibernate and dojo.E.  It’s a very simple demo, but demonstrates the power of these three technologies combined to create simple, dynamic Java applications very quickly. The tutorial is available on SlideShare.

DWR, Hibernate and Dojo.E - A Tutorial

View SlideShare presentation or Upload your own. (tags: tutorials tutorial)

Note that there is a bug that obscures the URL for the SVN project.  The URL is http://source.nexaweb.com/svn/repos/trunk/tutorials/ajax/DWRExample/.

You can check out the project via SVN using this URL.

Also, to copy and paste the code snippets, download the document and open directly in PowerPoint. When copying and pasting, watch out for “smart quotes”. Some of the quotation characters in the PPT have been replaced with “smart quotes”, which are not recognized by XML parsers.

This will get even more exciting with the new features of DWR 3.0, which will add a RESTful layer to DWR’s remoting.  To learn more about DWR 3.0, I recommend Joe Walker’s presentation from The Ajax Experience last week.  He’s the lead developer for DWR.

Joel Barciauskas

Nexaweb Advance Getting Plenty of Attention

Tuesday, March 11th, 2008

Legacy applications are an even bigger headache than was originally thought. The announcement of Nexaweb Advance has generated huge attention in the media and has caused a 400% jump in traffic to www.nexaweb.com over a normal 5 day period. Check out some of the coverage below:

(more…)

New version of Studio - beta available

Monday, March 3rd, 2008

We’ve been working hard on a new version of our development environment and we’re releasing a beta into the world.

Some highlights:

  1. Data, data, data - all work flows that interact with data integration have been overhauled
  2. Supporting users that have their own Eclipse environment and don’t want ours
  3. Editing our “macros” - declarative modification blocks that can be executed on the client
  4. Supporting JSON visualization for data sources
  5. Results from usability testing has been added in
  6. and more…

If you would like to take the beta for a spin, email our support department.

Rob Gagne