The Wizard of SOA

Created by Susan Miltenberger (Maryland Institute College of Art) on February 02, 2007
I spent all day yesterday at an Oracle Fusion Middleware: Higher Education Oracle SOA Workshop. It was a great opportunity to get an introduction to SOA methodology and the Oracle toolset. In a past life (for about five minutes) I pretended to be a programmer and application developer (OK, even a DBA). But really, I just knew enough to break stuff. 
 
The first part of the workshop was thrilling. I had one of those “a-ha” moments where suddenly everything you’re working on and technology finally align;  and in that one perfect moment everything comes together in absolute clarity!
 
A few weeks ago we launched an initiative at Maryland Institute College of Art called “MICA Connected”. The goal of this two year project is to re-define our web presence and our web services – to connect all of our systems and processes in a way that is much more accessible to our communities --  and in a way that greatly improves our business and the services we offer. (Reminder: this is a blog. I work in the Technology department – not PR or Communications. This is my characterization of the project; not an official statement from Maryland Institute College of Art.)
 
Some key components to MICA Connected are:
  • Web site redesign (I hesitate to use the phrase “web site” because we’re really talking about every aspect of our web presence)
  • Oracle upgrades (Learning Solutions 8.1 to 9.0; Enterprise Portal 8.4 to 9.0; Financials 7.5 to 9.0 – all completed by June 2008)
  • Portal redesign (If you want to know more about the future of portals, come to Gettysburg College in June for a fantastic conference
For more than a year, I’ve been absolutely convinced that this vision of MICA Connected is the direction we need to go in (from a technology perspective). However, I have such a minimal understanding (OK….no understanding) of the current tools and methodologies that can be used to make this a reality. My “a-ha!” moment came today when we were talking about SOA and standards based communications. The concept that components of our Oracle system (PeopleSoft Enterprise is what they’re calling it these days) can be exposed and accessible so that we can seamlessly integrate information into Blackboard, Resource25, our public website, WebTMA, Diebold and anything else we could hope for. In the first two hours of this class it was as if all the grand forces aligned to deliver a real solution to our goals. 
 
I didn’t see it coming, and it was…of course…to good to be true.
 
The next four hours of the class were a lab where we got to build our own SOA services using data from an Oracle/PeopleSoft Learning Solution database. I cannot overstate the value of this kind of hands-on work. Even though we followed templates and utilized some shortcuts – the experience of building not one; not two; but three SOA applications in the lab environment was terrific. For me, however, this also paralleled Dorothy’s experience of seeing the wizard revealed.
 
Here’s what’s behind the curtain:
  • BPEL processes only work if you pay extra money to Oracle to license the BPEL process manager (or monitor or something like that. Yes, I KNOW you’ve already licensed their application server).
  • Oracle is touting SOA as this “change oriented” architecture – and I do get that. But those of you who have experience with PeopleSoft; hear me now: any SOA applications you develop are customizations. These programs exist outside your Oracle/PeopleSoft system, but presumably plug into those systems.   What happens when Oracle changes your table definitions; or changes the underlying logic of their applications?  It’s back to the drawing board for your developers – without any delivered tools to that alert you of the changes you’ll need to make in your SOA applications.  
  • Remember workflow in PeopleSoft release 7.5?  
Disclaimer: my comments are not reflecting those made by Oracle or any of its employees. They are my own distillations based on direct experience and feedback during the workshop. I’d appreciate any comments of correction.
 
I understand that software applications that build in “best practice” services don’t work for many institutions (we’re all unique, I know). SOA provides us with a great opportunity to really integrate systems and impose our unique business logic on our applications without violating the integrity of the underlying application. 
But this is what I don’t get:  a) we have to pay for it (licensing more products) and b) we have to develop it (and development of SOA applications seems overly complex to me)
 
Some of these questions may not matter to larger institutions who already have teams of developers/resources committed to integrations. But I think the impact on smaller institutions is significant. My initial reactions to SOA:
  • It is too complex! Not only does it require several smart and experienced people on your staff, it requires on-going care and feeding
  • The Oracle suite seems buggy and not integrated.   I have no experience with any other SOA developer tools but we had problems in our lab because we didn’t save things at the right time – or we had to close and reopen our project to get things to work. There were at least three different logins that we needed to use in order to access all the components of application. That’s so Windows 95.
  • I don’t see how SOA is any more portable and adaptable than other architectures – sure the built-in accessible is huge. (I mean, HUGE). However, the code and programs are still dependent on all the underlying applications. In this respect, how different is it from Cold Fusion, SQR, Application Engine, HTML, etc.? If those underlying applications change, we still need to update our SOA (or Cold Fusion or SQR, or HTML) application.
  • And as far as tweaking or re-tooling applications, we made an error in one of our project components – yet we were allowed to build all the sub-components; save the project and only at run-time determine that there was a mistake. After fixing the initial mistake, we then realized that we had to fix all the sub-components (which had inherited the mistake, but not the fix) Hmmmpf!
I truly don’t know if this is my lack of understanding or an unrealistic expectation – but isn’t there an easier way? Shouldn’t our enterprise software vendors be providing us with more than just tools that we need pay additional license fees for; that require significant retraining and significant maintenance? How much do higher ed institutions spend on these systems, and shouldn’t it be reasonable to expect that vendors provide us with innovative, practical, manageable solutions that give us room to adapt to individual needs; but also include a basic set of operating principles? Isn’t is reasonable to expect that someone in my role – comfortable with technology and fairly savvy with the systems we’re using -- should be able to improve the way our systems perform business without having to create a project, dedicate a developer and dedicate several months for development?
 
Perhaps I’m just grumpy because I thought tools and technology finally caught up with my utopian notion of the way systems should serve businesses. I just can’t escape feeling disappointed and mislead that something really great was on the horizon – something that wouldn’t take us back; but would propel us forward.
 
Disagree? Tell me – tell me that I’ve got it all wrong and this is the reason why managers should never try to be techies! Or share your thoughts of commiseration….