Sharing new technologies and best practices

 
alt

Chris Connor

 
Follow ChrisJConnor on Twitter
Chat with me

Relational XPages access for Hybrid Application access

Chris Connor  April 19 2012 03:39:11 AM
Reaching out to the community as I am looking to canvass opinion on the best options for a project I am considering. Preference of technology is XPages. This fits with my clients ambitions and skills although they have some experience in Spring MVC and Websphere Portal (options that I can help with too).

Keen on the idea of a hybrid option with XPages. By that I mean

NSF / Domino
1. Workflow support (using standard Java OSGI libraries we have developed)
2. Rapid Application Development
3. Flexible Data Storage for Forms type processes
4. Built in Domino Data / Security

RDBMS
1. Best for storing transactional type data
2. Good for storing / working with data that relies on relationships
3. Good at handling large volumes of data

To me a hybrid model with XPages makes sense.For this piece I see there being a few options

1. Use the new Extension Library tools made available via the extension library
2. Use JDBC to process the data (not great option - memory leaks, boilerplate code etc)
3. Explore the use of Hibernate (not really a "supported" configuration)

Reporting being a key part of this can be handled over NSF and / or RDBMS with the traditional "servlet" type approach in XPages, Spring MVC or Websphere Portal. This means pushing the output to Excel / PDF.

Or do we look at another platform? Spring MVC / Websphere Portal (the technologies of choice).

Appreciate your thoughts / comments and experiences!
Comments

1Michael  04/19/2012 5:44:26 AM  Relational XPages access for Hybrid Application access

Have a look at domSQL from openNTF to help reporting on domino data. Basically allows of SQL Queries on Domino data.

For all the rest, it really depends on so many criterias...how much of "relational" versus "non relational", etc etc...

PS : I've yet to met a project where Websphere Portal would make any development easier ;-p

2ChrisC  04/19/2012 7:00:34 AM  Relational XPages access for Hybrid Application access

Michael,

Thanks - will have a look. I know only too well about what you mean with the Portal Comment. Whats your thoughts of XPages vs Portal?

3Michael  04/19/2012 9:10:16 AM  Relational XPages access for Hybrid Application access

well, I don't know the app you're trying to build but, a general "rule of thumb" I use is "Portal is there to integrate apps, not to support the runtime of them".

So if you feel XPages is right for your app, go with it and you'll always be able to integrate them in portal if you need.

The only downside for xpages is if you wanted to use Hibernate. Some Hibernate patterns (sessioninview for ex) require servlet filters that are not practical to achieve within an xpages app. Sometimes you also need access to web.xml, which can be done in some kind of domino plugins (I remember I saw a prez by David Taieb at LS2012) but that's not the most common thing in the xpages world.

4Janey Cringean  04/19/2012 9:20:48 AM  Relational XPages access for Hybrid Application access

We've just completed an XPages project with the extension library and a relational back-end. We're at the stage of customer sign-off. We've been really impressed with the capabilities. It took some learning at first to know how to get it working and there is not much documentation. Despite that, though, we've had a really good experience. The end result is really slick.

We've had experience with vanilla Dojo and Ajax on other projects, but XPages wraps it up in a very easy-to-use way which takes away a lot of the headache.

Standard Domino authentication has been used with Roles for access.

We have workflow in our application. It took some time to work out the best way to code it - and a bit of a change of mindset as to how to order things - but it's working fine now.

The rowset stuff in the extension library is really good. My main gripe is that you don't currently get much feedback if there is an error saving a rowset. However, once you get it working it's great. We then had to port it to a database that doesn't implement rowset. That was painful but has worked nicely using the @Jdbc functions.

5ChrisC  04/19/2012 9:27:48 AM  Relational XPages access for Hybrid Application access

Michael,

Thanks for the comments. I tend to agree re the approach and role for portal. A web app (in whatever language) should be able to stand alone. I dont really think Hibernate or JDBC will be sensible choices tbh. Interested in seeing what other folks in the community are doing around this.

One observation though is that the XPages experience over the last few years made the transition to portlet / portal development fairly straight forward (I guess thats the whole point from an IBM perspective)

6ChrisC  04/19/2012 9:36:25 AM  Relational XPages access for Hybrid Application access

Janey,

Thanks for the excellent feedback. I reckon the Extension Library approach will be great for this organisation as it will allow them to develop using a single skill set and build further re-usable assets along the way.

Of course the deployment / dev cycle, flexible security, workflow, NSF capabilities really open up some interesting opportunities. Oh yeah - no local websphere / websphere portal and Rational Application Developer to download, configure and consume all your resources!

Will keep an eye out for the rowset saving stuff when I come to it...

Hopefully blog about the experience as I progress...

7ChrisC  04/20/2012 7:32:27 AM  Relational XPages access for Hybrid Application access

Hmm,

Initial question - does this support stored procedures? Looks like it does not - at an initial glance...

8ChrisC  05/10/2012 2:50:04 AM  Relational XPages access for Hybrid Application access

Jeremy Hodge tells me that it should - so thanks to him! Will test out over the next week or so and post back.

About Me

Java / Web Development consultant with 17 years experience. Focus on XPages, Java / JSF / J2EE, Websphere Portal, Spring / Hibernate, RCP, jQuery, Dojo, RCP, Eclipse, RAD, Phonegap and general Mobile development. Experienced public speaker at several global events.

My day job is building Web applications for my customers using the best technologies for the job. This blog discusses the issues in delivering these modern collaborative solutions.

I am available for hire through my business BSS IT Solutions. We are an IBM Business Partner based in Scotland serving the UK and beyond!