This post originally appeared on a web services demo site.
Jack is my 2 year old son.
My UltiPro Web Services Development Experience
By Jack Allard, Four Leaf Foods Inc.
“Four Leaf Foods.com” didn’t happen overnight. It has been a life-long dream of mine to bring this portal to fruition, and only recently has technology caught up to my imagination.
It all started an eternity ago. It feels like it’s been three weeks, but logic tells me it’s probably only been a couple days. I was taking a much-deserved break from lining up my matchbox cards on the living room table and pointing at things, when I stumbled across a fascinating red device with white knobs buried beneath a pile of rubber dinosaurs and an assortment of stuffed animals. What was this strange relic, and how had it escaped my notice for all of this time? I started to dig it out, feeling as though it were beckoning me, calling out to me.
At last I had it. I instinctively shook it and enjoyed the noise, as if a pile of granular objects had been upset, then settled, cleaning the slate for a new drawing. I spent several minutes gazing at its magnificence from every angle, learning to appreciate its power and elegance. This device is a work of art, and it needed to be appreciated. After a respectable amount of time, I tentatively started to work the shiny white knobs with my fingers and opposable thumbs. My eyes danced with glee as each movement, no matter how subtle, produced results on the slate. Surely the world had never seen a device such as this before. This is clearly the technology to change everything.
Then I drooled on my shirt and took a nap.
Upon waking up in what has been described as a wholly unnatural position, I cast a glance towards my matchbox cars. While still fascinating and deceptively stackable, I’m sad to say that their allure had been tarnished. My eyes had been open, and all I could think about was the Etch-A-Sketch… the shiny red Etch-A-Sketch, and it’s potential impact on my entrepreneurial efforts with Four Leaf Foods. The high-res tablet device seemed to be the perfect medium on which to deliver up to the moment content to everyone interested in the happenings of Four Leaf Foods and its affiliates. It would simply be a matter of drawing the content on a pre-determined number of Etch-A-Sketches and distributing to our customers in secure-unshakeable boxes. It was so simple and so obvious, I couldn’t believe it had already been done. I immediately began to whiteboard the idea using crayons on the wall next to a white board.
It was as if I was living for the first time. My brain was 93% focused on this exciting new endeavor; 3% was allocated to essential life functions, and the remaining 4% was dedicated to finding dangerous places to put my fingers. (It turns out that ELETRICAL OUTLETS, while aesthetically pleasing, should be avoided.) I scribbled. I diagramed. I pouted. I overcame obstacles. I adapted. I worked the problems and created new problems.
Seconds turned to minutes. Minutes turned into several minutes. Several minutes turned into almost 10 minutes. The wall was a disaster. The whiteboard was still clean. My hair was in shambles. I was missing ½ a crayon and my nose hurt; I still think those last two are related but have been unable to prove it. Despite my best efforts, I had come to a hurtful but unavoidable conclusion: the Etch-A-Sketch Tablet Computer is not such a great means of sharing content with my customers.
The impact of this realization was devastating. All that I had worked for was lost. It had all been a waste; for naught. How could I have gone from such exuberance to such despair so quickly? How could I have been so silly? What was it all for? Was the problem that I was overzealous and ahead of my time, or that visions of grandeur were sadly mislead? These are questions that I could only ask, for I was too depressed to try to reason answers.
My little sister Ellie happened upon me during my darkest time. She crawled into the room and sat across from me looking at me inquisitively, sensing that something was wrong but unable to express her concern. But she tried. She commenced incoherent babbling and arm flailing. I studied her trying to discern the meaning of it all. What was she trying to express? Was the sneeze part of the message or just a coincidence? I wanted to understand, and I wanted a tissue.
Then we shared a moment that I will never forget. Ellie used a futon to pull herself into the standing position, then let go of the futon. She stood there, shakily, uncertain, for a solid 5 seconds before falling backward onto her bum. She didn’t cry. She didn’t complain. She reached for the futon again, and pulled herself into the standing position and let go. She stood as long as she could, maintaining eye contact, then fell on her bum again. She repeated it a third time to drive the point home, and suddenly her meaning became clear: The reason we fall down is so that we can pull ourselves back up. (© Batman Begins, 2005).
Ellie was right, and I was ashamed for needing the reminder. But that’s what family is for, I guess. To get us over the bumps. I was invigorated once again! Ellie saw the dawning of understanding on my face and nodded approval. Her job was done. She got on her knees and crawled out of the room leaving me to my new found enthusiasm. Thank you Ellie.
My thoughts were running rampant. So the Etch-A-Sketch Tablet Computer didn’t work out so well as a global communications medium. Perhaps the internet held more potential? Would this be a good use of a website? Had anyone tried using a website for this type of thing before? I found a new wall to scribble upon, and scribble I did. I scribbled the night away. I scribbled through story time. I scribbled through that time of day when I’m given food to throw onto the floor. I was an unstoppable scribbling machine, each scribble contributing to the greater good, the final result of which became clearer with each scribble. I didn’t know what it was all leading to, but I knew it was going to be good. I didn’t have the same concerns that I had while working the Etch-A-Sketch Tablet Computer problem; I knew this was going to work out just fine. Better than fine, in fact. It was going to be perfect. Revolutionary. Legendary. Some might even say Epic.
As the scribbling progressed, the damaging effects of black crayon became exceedingly obvious, as did the final solution to that which had plagued my thoughts. When at last all of the metaphorical fog had been lifted, I stopped scribbling and looked at that which I had created. Correction: Not that of which I had created, for it was always there, I just had to chip away the pieces (© Rambo 3, 1989).
I stepped back to examine and appreciate the result. I wish Ellie were there to share the moment for it was she who got me to this point. Even though she was absent, I knew that she was elsewhere in the house, probably gnawing on a piece of furniture, knowing that I had succeeded.
It was so obvious! In retrospect, the whole Etch-A-Sketch Tablet Computer thing was a silly idea. Heck, it doesn’t even have Wi-Fi. SharePoint is so much better for tens of reasons. For example, I can put a weather widget on the page. That’s right, weather right there on the page. Now, I don’t’ have to watch the local news to get the weather, I can just look at our portal, and there it is. When it’s sunny out, it shows a sun. When it’s raining out, I bet it shows clouds or something. That’s so much better than looking out the window. The winds of change are upon us, and they shall be embraced!
But what about non-weather related functionality? While I agree it’s going to be hard to beat the weather widget, I’d be remiss if I didn’t try.
Four Leaf Foods uses UltiPro as its HRMS solution. UltiPro is loaded with all kinds of good information about me and my team (although, sadly, it lacks a weather widget). I would really like to display some UltiPro information in my shiny new SharePoint portal. Can such a crazy dream be realized, or will my imagination once again be limited by the confines of technology?
I quickly consulted my UltiPro counterpart at Ultimate Software. While four weeks my senior, I found the representative to be easy to talk to despite our age difference, and knowledgeable in all things UltiPro. We had a good laugh about the Etch-A-Sketch idea, and then exchanged some colorful anecdotes regarding our favorite flavors of Play-Dough. It was a pleasant and informative experience, and I’d like to think that we both left the conversation as better toddlers.
It turns out that UltiPro now exposes a variety of SOAP 1.2 web services. That’s right, 1.2. Not 1.1. Take a moment to let that sink in. They’re not pulling any punches. They’re using the latest and greatest standards as defined as recently as April 2007. No dinosaurs here.
The services allow my portal to query data and display it in pretty grids throughout the site. (And “Pretty” isn’t an objective term. They are factually, indisputably pretty. Don’t argue with me on this one.) I can also edit and save the data via the services. This allows me and my team to get common things done in UltiPro without logging into UltiPro. Weird, right? Plus, we can keep our eyes on the weather.
The following services are now available:
And more are on the way!
Accessing a service is a two-step process, and it takes just a little bit of work. That’s the price of security. We wouldn’t want just anyone downloading our personnel photos.
Steps to calling a service
Call the authentication service to get a secure UltiPro token. You pass in the following information:
a. User name – for you
b. Password – for you
c. User Access key – for you. This is, basically, a system assigned password. You can get it from the “Web Services” page in UltiPro.
d. Client Access Key – for your company. You can get this on the “Web Services” page in UltiPro.
2. Call the service. Each time you make a service call, you pass in the following as SOAP headers:
a. The token you obtained in step 1
b. Your company’s client access key.
That’s it! Once you have the token, you can reuse it for all subsequent service calls. Our SharePoint portal makes use of several of the services on the main page, keeping me up to date with all things of interest. Because it’s SharePoint, I can add and remove things on a whim. As new UltiPro services come online, I can write new web parts to consume them. All is right in the world.
It’s been a wonderful journey that I will never forget. I woke up a few days ago with plans to do nothing more than dump cereal over my head. I had no idea how quickly things could change. Not only do I have cereal on my head, but now I also have a spiffy new SharePoint portal that tells me the current weather and shows me a picture of myself. I learned about consuming web services and, more importantly, I learned a little something about myself. When the going gets tough, I don’t just throw in the blankie. I try again. I once again must thank Ellie for that reminder.
Now it’s time to move on to my next journey. I don’t know what it will entail, but I suspect it will involve more web services. Yay for UltiPro Web Services!