Wednesday, September 30, 2015

Excel turns 30 !

 

One of the most popular and widely used software utility, the backbone of countless projects ,graphs, and computations, turned 30. No, this is not about JAVA or any other programming language. I am talking of Microsoft's gift to the modern software engineer: MS Excel. According to Wikipedia, Microsoft released the first version of Excel for the Macintosh on September 30, 1985, and the first Windows version was 2.05 (to synchronize with the Macintosh version 2.2) in November 1987. The reason they released it first for Mac was due to the huge popularity of Lotus 123, the king of spreadsheets at that time. Gradually though, Excel has worked its way up and today is the default spreadsheet application of choice.

Its surprising that even the most die-hard fans of Excel do not know of this little bit of trivia, and Excel continues to be the downtrodden, faithful servant it has always been. Excel's history is really colorful, they started with copying off the features of Lotus 1-2-3, but then started adding features of their own, adding a mountain of functions to VBA, its automation script tool, and even changed the file format multiple times to incorporate new features. Today, it is even available on the cloud, and Google too has taken a few ideas for their Google sheets system. But what had set Excel apart is the Recalc feature, instead of re-computing the values of every formula cell, Excel smartly re-calculates only the values of cells required, nothing more. The original project team members reveal that this was done for optimization and speed, but only a handful of people knew the exact underlying workings.

My first tryst with Excel  was in circa 1993. We had to learn computer applications in school, and Lotus 1-2-3 was the software of choice, both in offices, as well as in school curriculums. I quickly figured out that Lotus 1-2-3 had this nifty macro system, which could be used to write quick and small functions to automate tasks. It was difficult to write the macro code, I remember one had to use the '=' key to access macro functions. But someone had installed MS Excel on the school machine assigned to me, and I found what I thought was the newer and improved version of Lotus. It had mouse support and had more colors for its graphs, and was faster. Way faster. It was fun to use, and easy to learn. Even in my wildest dreams, I could not foresee that this little piece of software would end up being the main part of my day-to-day work as a Software Engineer. I have built various tools during my work on Siebel and BIP using VBA macros, and maintain project information and even my loan and finance details on good ol Excel. Who would have thought that a simple idea of maintaining data in rows and columns would be the best way to start out any project.

history-of-excel-time-line

Tuesday, September 15, 2015

Fusion HCM: Integration woes

 

Looks like Oracle does not want customers/consultants to integrate other applications to its new fusion cloud based applications. There is close to NO documentation available on Oracle SupportWeb about setting up and invoking webservices, the only information available is on some Oracle blogs, and even they don't cover the full extent of APIs. Some Oracle champs have shared information on using REST services of some Oracle cloud apps, but it is clear that each of Oracle's cloud offerings have a different topology and architecture driving the integrations. I have been playing around with the Fusion HCM webservices for some time now, and I have to say that Oracle definitely needs to work on their documentation.

All of Oracle's cloud apps are following a standard approach: they will not (read cannot) consume a WSDL of another system, but they expose a WSDL/REST service of their own, which has to be invoked from outside to get the integrations working.

Consider the Fusion HCM Wsdl, the location of which has to be taken from Oracle repository. Using the get/find methods in the WSDL proved easy, but using the create/update methods proved to be a different challenge.

Problem 1: Every element in the WSDL is optional !. Check out the CreateWorker service, which is meant to be used to create the employee records in the HCM system. Usually the XSD/WSDL gives a good understanding of the structure of the system's data model, the required fields are marked so the end system has an idea of what fields to send to create a record. In  Oracle's Fusion HCM wsdl, every element is marked as optional, even the name elements. This means the developer/consultant has to have an in-depth knowledge of the HCM system to start using the wsdls. cleartext.blogspot.com

tmpE738

Really, Oracle ? cleartext.blogspot.com

Problem 2: No useful/meaningful validation me ssages. As soon as one starts triggering the methods of the HCM wsdl, the errors come back. Or, shall we say, NO errors come back. Looks like Oracle developers have not handled every exception properly.

tmpBF7D

WTF is  "JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null: null" supposed to mean ?

cleartext.blogspot.com

Problem 3: No documentation whatsoever. Oracle has two kind of cloud applications running now. One is the group of apps they have acquired, like Taleo, Rightnow CX etc…The other are cloud applications built by Oracle from ground up, from square one. For the former group of apps, the original developers have , thankfully, provided considerable documentation of the APIs. But for Oracle's own offerings, they have decided that less is better, and there is no detail documentation of the APIs. On these new cloud applications, the APIs are the only way to interact with the system, in traditional On-Premise systems, you could always have access to the application, filesystem and even database.

 

cleartext.blogspot.com