Archive for July, 2009

Two Handy Tools: Firebug & Poster

Thursday, July 30th, 2009

Firebug and Poster are two very useful tools for web development.  Both are Firefox plug-ins.  (Gotta love open source.)
Poster is a simple http client that enabled me to test the RESTful web services before building the UI.  This is a great programming model.  Encapsulated, reusable services…but so much easier to build and use than the […]

Configuration Examples (Cont.): MDMS Handler Model

Thursday, July 30th, 2009

The MDMS Handler model maps the RESTful web services invoked by sMash to MDM Server services.  Here is an example of the handler for the “person” resource.
/public/handlers/personModel.json:
{
“model”: “personModel”,
“CREATE”: {
“request_type”: “addPerson”,
“is_new_style_doc”: false,
“service_type”: “Tx”,
“wrapper_input”: “mdmPerson”,
“wrapper_output”: “mdmPersonSearch”
},
“DELETE”: {
“request_type”: “deletePerson”,
“is_new_style_doc”: false,
“service_type”: “Tx”,
“wrapper_input”: “mdmPerson”,
“wrapper_output”: “mdmPersonSearch”
},
“LIST”: {
“request_type”: “searchPerson”,
“is_new_style_doc”: false,
“service_type”: “Tx”,
“wrapper_input”: “mdmPersonSearch”,
“wrapper_output”: “mdmPersonSearchResult”
},
“RETRIEVE”: {
“request_type”: “getPerson”,
“is_new_style_doc”: false,
“service_type”: “Tx”,
“wrapper_input”: “mdmPerson”,
“wrapper_output”: “mdmPersonSearch”
},
“UPDATE”: {
“request_type”: “updatePerson”,
“is_new_style_doc”: false,
“service_type”: “Tx”,
“wrapper_input”: “mdmPerson”,
“wrapper_output”: “mdmPersonSearch”
}
}

Configuration Examples (Cont.): MDMS Wrapper Model

Thursday, July 30th, 2009

The “wrapper” binds the sMash resource model to the MDM Server BObj, matching model attribute names to BObj xpaths.  This is the wrapper (represented in json like the resource model) for the TCRMPersonObj.  The sMash file editor insures correct json syntax, but I created this by typing it in manually.  In addition to attribute mapping […]

Configuration Examples: sMash Resource Model

Thursday, July 30th, 2009

This is what a sMash resource model looks like.  Models describe resource attributes and optionally define collections and filter conditions.  This is a model for a “person” which would correspond to an MDM Server TCRMPersonBObj.  sMash provides GUI tools to create these models.  For my MDM Server application in this environment, I’m creating one resource […]

Move Over CICS, Think MDM Server

Wednesday, July 29th, 2009

Here’s a video that really captures the kind of development methodology and application architecture that, I think, works extremely well for MDM Server.  Rob Nicholson of IBM uses WebSphere sMash as a web 2.0 development platform that can call back end like transactions, like CICS.

The video, starting at about the 2:55 mark, starts illustrating the […]

Keeping Track Of Loose Ends

Wednesday, July 29th, 2009

Just keeping track of the things I need to come back to:

MDM Server doesn’t like the TCRMPartyContactMethodBObj’s in my addPerson XML.  I could add the phone number, but not the e-mail address.  It complained that I was using either an incorrect contact method category or contact method type.  My entries matched the code tables as […]

Adding onAdd()

Wednesday, July 29th, 2009

I’ve now wired the second of the RESTful web services, onAdd().  My demo application can now retrieve a list of Persons and add new Persons (by executing MDM server transactions that have been mapped.) No changes need to the UI since the Dojo widgets implicitly support the CRUDL actions.  I still need to add support […]

Handling The Handler

Tuesday, July 28th, 2009

Every resource needs a handler to perform the RESTful web services.  By convention, WebSphere sMash will look for a file with the same name (as the resource model ) in the app/resources directory, except with a .groovy file extention rather than .json.
But I don’t want to script custom handlers for each resource.  So, I can write […]

Issue With ZRM Data Store - Unnecessary GETs

Monday, July 27th, 2009

The ZRM Data store called by UI Dojo widget appears to be making unnecessary GETs to the resource handler.  I noticed this initially by watching the traffic flowing over the RMI Gateway.  I saw three searchPerson service invocations every time I loaded or refreshed the index.html page.
One of the developers on the Project Zero forums […]

Zero Programming - Demo #1

Friday, July 24th, 2009

Success!  Well, at least a successful first step.  My first application retrieves person data from MDM Server (calling the searchPerson service) and presents the result list in a Dojo data grid and form:

More importantly, this required zero programming.  I did some configuration and built several application artifacts with tools.  That’s all. The key, high level […]

My “Zero Programming” Experiment Begins

Friday, July 24th, 2009

I’ve been writing, implementing, and now selling enterprise software for quite awhile, and I’m still perplexed by the complexity of it all.  Does it all really need to be this difficult?
I don’ think so.  Powerful scripting languages and new web 2.0 tools and technologies can radically simplify software development.  So I began to wonder, can […]