Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta. developer.okta.com

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

WebORB: Have you ever heard of it?

A colleague sent me an e-mail today and asked me if I'd ever heard of WebORB today. Since I hadn't, I figured I'd write this post and see if any of you have heard of it? If so, what is it and what does it do? It it similar to Appcelerator, but server-side only? Or is it more like Granite DS?

One thing's for sure - their license for the Java version looks like you can't have any fun with it.

1. RIGHT TO USE / RESTRICTIONS ON USE: The Software is provided in and is licensed for use in object code form only. CUSTOMER may make copies of the Software for archival or backup purposes, but any and all copies must include LICENSOR's copyright notice, and are fully subject to the terms of this Agreement. CUSTOMER may not reverse engineer, disassemble, decompile, translate or otherwise attempt to create the source code from the Software or create derivative works of the Software or any portion thereof, including for reasons of error correction or interoperability. At CUSTOMER's request and at LICENSOR's election or as may be required by applicable law, LICENSOR will make commercially reasonable efforts to make available to CUSTOMER certain interface specifications so that CUSTOMER may develop software interfaces to provide interoperability with the Software. CUSTOMER is forbidden (i) from using Evaluation Software for Development or Production Use, CUSTOMER may not (ii) publish or provide any results of benchmark tests run on the Software to a third party without LICENSOR's prior written consent, (iii) disclose, distribute or otherwise make available the Software to any other party or permit others to use it, except employees and agents of CUSTOMER who use it on CUSTOMER's behalf, if CUSTOMER is an entity, or (iv) remove or alter any trademark, logo, copyright or other proprietary notices, legends, symbols or labels in the Software. CUSTOMER may not rent, lease, sublicense, assign (except as provided herein), grant a security interest in or otherwise encumber, or otherwise transfer rights to the Software. CUSTOMER may not bundle Software or a derivative of it as part of a software development environment such as, but not limited to, JBuilder, WebGain, IDEA or VisualAge. Note that this restriction is targeted at IDE vendors, and does not prevent developers from loading Software into an IDE and using it for the evaluation purposes. CUSTOMER may not integrate Software or a derivative of it into a software infrastructure platform or products such as, but not limited to: EJB Application Servers, Enterprise Application Integration products, Business to Business Integration products, Web Services Platforms, Web Services Management products, Process Control products, Business Process Automation products, Process Orchestration products, Distributed Computing Infrastructure products or platforms, Messaging Middleware products or Web Server products. Note that this restriction is targeted at software infrastructure vendors, and does not prevent developers from using and bundling Software with higher level applications that run on these platforms. CUSTOMER may not use Software or a derivative of it on a device which is not a standard PC or server. Examples of such devices include, but are not limited to, cell phones, PDAs, vehicles, factory controllers, routers and printers. The CUSTOMER agrees that CUSTOMER must contact LICENSOR in advance to determine whether any specific use is prohibited by this Agreement, if the right to use the Software in such manner is unclear, vague or ambiguous.

BTW, what's up with the reference to WebGain and VisualAge? It sounds like this is a license from 5 years ago. ;-)

Posted in The Web at Feb 13 2008, 01:42:38 PM MST 12 Comments
Comments:

Oh yes, someone did pluck that old license agreement off our website and it is dated. We'll be replacing that soon because we know you've been having fun with WebORB for Java even with the old licensing plan in place. So really, whoever posted that should learn to play well with others. We do...we let you have fun with Java, .NET, PHP and Ruby on Rails and you get your toys for FREE. Wanna play?

Posted by Kathleen Erickson on February 13, 2008 at 04:45 PM MST #

WebORB for Java is going to be pretty much obsolete here in a couple of months. It was basically created just as GraniteDS was, to be a free alternative to the Adobe Flex DataServices. But since Adobe has decided to spin off the Flex portion of this into it's own open source project called BlazeDS (http://labs.adobe.com/technologies/blazeds/), it won't be relevant for much longer.

Posted by Jeremy Anderson on February 13, 2008 at 05:49 PM MST #

Thanks Jeremy - that's what I suspected. Does BlazeDS cover other backends or just Java? Here's what I wrote my colleague before I read your comment:

I?ve never heard of it until you sent this e-mail. It appears to be a product that allows you to easily expose your server-side objects to Flex/Flash and they?ve recently added support for Ajax. An open source product that might be similar is Granite Data Services:

http://www.infoq.com/news/2008/02/granite-data-services

The above article also talks a bit about BlazeDS, which is Adobe?s product that does something similar. Adobe recently announced they will be open-sourcing BlazeDS.

http://www.adobe.com/aboutadobe/pressroom/pressreleases/200712/121307BlazeDS.html

If you?re thinking about developing RIA applications, I think the leading UI Frameworks for this are Flex, GWT, OpenLaszlo or Appcelerator (in no particular order). For the backend, using a RESTful backend is often the most efficient way to develop.

I'm looking for enlightenment, so let me know if you disagree with any of this.

Posted by Matt Raible on February 13, 2008 at 05:56 PM MST #

Well...at least you have a sense of humor Jeremy, but your facts are a little off. WebORB for Java wasn't created as a free alternative just like GraniteDS, but rather it was initially created several years ago as a fee for license product that supported the customers Adobe was not supporting. As we've moved forward with development, creating a Java product that supports Flex, I can say that the difference between BlazeDS and WebORB for Java will be something like this: BlazeDS is a scaled down version of Live Cycle. WebORB for Java is scaling up in feature set to be a compatible alternative to Live Cycle. Live Cycle costs something like $20k a box or perhaps it's still CPU. WebORB for Java is FREE and will remain FREE.

As for using RESTful, from what I understand RESTful is great for data oriented applications that focus on CRUD type scenarios and basic security. However, from what I've been reading about RESTful, it wouldn't be the protocol of choice for more complex applications with advanced behaviors and greater security requirements. For the more advanced applications we recommend a remoting protocol. WebORB supports both remoting and web services. Also, I'm not quite sure how much coding is required to create the integration piping in a RESTful environment. When you use WebORB, the integration piping is created for you using the code generation tool.

Posted by Kathleen Erickson on February 14, 2008 at 09:18 AM MST #

@Matt

Actually RESTful may be one of the easier ways to develop RIAs but the performance isn't anywhere near what you would get using the AMF protocol, which is what BlazeDS uses. You can see a comparison here (http://www.jamesward.org/wordpress/2007/12/12/blazebench-why-you-want-amf-and-blazeds).

BlazeDS is only for Java backends, if you are looking to do .NET or Rails, you'll have to look at either FluorineFX or WebORB (this version is not free) for .NET, or RubyAMF for rails.

@Kathleen

Sorry, I'm sort of new to the world of RIAs again. I still don't see what WebORB offers that BlazeDS will offer. Sure it's only a subset of what you get from LiveCycle, but it's the Flex portion of LiveCycle, so unless you're trying to integrate with their Forms Server or Policy Server, you don't need that extra overhead. As far as I know BlazeDS will do everything I need it to do.

Posted by Jeremy Anderson on February 14, 2008 at 11:45 AM MST #

I suppose we both need to do a side by side comparison of WebORB vs BlazeDS. From what I understand, the data management console alone provided in WebORB just makes it easier for developers to automatically generate the code they need to provide the integration piping and I think scaling is an issue with BlazeDS as well as Live Cycle. But...I am speaking from what I hear from our customers and haven't actually downloaded BlazeDS yet. As for .NET not being free...I did mention in my previous post that our toys are free and our website needs to be updated. :-) Those interested in getting started with .NET should contact me.

Posted by Kathleen Erickson on February 14, 2008 at 11:57 AM MST #

Just my 2 cents worth - I've done a bit of research into the BlazeDS vs. WebOrb debate and can tell you that WebOrb is a stronger option at this point in time. Their admin console is a great feature and enables you to auto-generate server (java) / client (actionscript) classes based on DB schema/model. WebOrb is also deployable in a single jar (Blaze is not). In addition, the documentation and community support seems to be far better with WebOrb at this point in time.....I'm sure this will evolve over time with Blaze. WebOrb is comparable to features offered in Adobe's commercial LiveCycle suite, several of those features are not available in Blaze DS.

More Info on Blaze vs. LiveCycle DS: http://sujitreddyg.wordpress.com/2008/01/31/blazeds-and-lcds-feature-difference/

Matt, have you done much with Adobe Flex yet? I would just be curious on hearing your thoughts.....I'm just diving into Flex with Java....as an average Java developer, I'm loving Flex so far.

Posted by Ryan Schulz on February 20, 2008 at 11:54 AM MST #

That's great to know Ryan. Also, if I may update on a previous post of mine, we just released WebORB for .NET 3.4 and now WebORB for .NET is FREE. http://www.themidnightcoders.com/weborb/dotnet/index.shtm Still haven't updated that license agreement yet, but it's almost done. Just know we are building in a provision that allows re-distribution, re-deployment, SaaS, blah blah blah for those that need to be able to do that.

Posted by Kathleen Erickson on February 28, 2008 at 03:48 PM MST #

Matt,

You might have played with weborb already, since this post was from long time ago. Yes - Weborb is still alive.

I have some experience using Weborb. The Console, Documentation, samples, Code generation, generic destinations, deployment, Spring integration are some of the things I have experimented with. Their architecture layers look modular and extendable. It has pluggable handlers. I like the business model, a free product with fee for support. It is worth looking at. LCDS is expensive, but growing strong with Portal Integration etc.

Santhi

Posted by Santhi Peyathevar on February 10, 2009 at 02:06 PM MST #

Maybe a bit stupid reply'ing on a 2 year old article but anyways....

BlazeDS does not (yet) support lazy loading and is therefore often not an option.

GraniteDS is more or less an open source alternative to LCDS, supporting lazy-loading and a bunch of other features.

Posted by Jochen Szostek on March 26, 2010 at 07:45 AM MDT #

Glad you revived this conversation Jochen as it gives me a reason to provide an update. WebORB 4.0 (on par with LCDS, with the exception of sticker price) is coming out with even more developer productivity tools, like:

-integration with Data Modeler in Flash Builder v.4
-pluggable user-defined code generators
-updated code generator for Cairngorm and PureMVC
-new code generators for Mate and Swiz frameworks
-all code generators support auto-creation of Flex Builder project files
-support for .NET RIA Services (experimental feature) (WebORB for .NET only)
-pluggable user-defined service browsers for the Management Console
-service browser for XML/SOAP web services
-service browser for WCF services
-support for AMF behavior for WCF services
-support for client/server property renaming via .NET attributes and Java annotations
-improved code generation to support multiple namespaces and class hierarchies
-support for IExternalizable (WebORB for Java only)

WebORB 4.0 will be released in beta in April. There are three versions for WebORB for .NET and WebORB for Java - 1) WebORB running Development Mode (Free), 2) WebORB Community Edition (Free) and 3) WebORB Enterprise Edition (not free).

Posted by Kathleen Erickson on March 26, 2010 at 08:00 AM MDT #

@Kethleen I think, WebOrb still doesn't provide support for Lazy loading, which GraniteDS claims so. Can you please tell about it.

@Jeremy Though, you have not been here since long, if you could see this comment, what are your opinions now :p

Posted by the saint on June 17, 2010 at 01:07 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed