Thursday, February 7, 2008

IT run-around crowd can't bypass the need for 'real' web services

I just finished reading a post by Patty Seybold in her Outside Innovation blog. In this post she bemoans the looming mashup hype, but notes that it's about time mashups enter the mainstream.

Too true.

Seybold goes on to say that mashup vendors are trying to convince potential customers that they don't need IT. In Seybold's words, these vendors are saying,

You don't have to wait for your IT department to wrap your back-end application functionality into real Web Services, you can "cheat" by extracting data in the form of reports and turning them into RSS feeds, which you can mash up with graphical user interfaces and tools.
She is implying, although she doesn't come out and say it outright, that this view of mashups is flawed. In this I completely agree.

Consider the sort of 'application' you can create with this approach. You can pull together data, you can bring in interesting visual elements, you can consolidate information, and you can look at it in a unified GUI. But you can't do anything. The data and visual elements aren't in the context of a business activity.

Clearly these mashups aren't going to be the killer apps Hinchcliffe notes are necessary for mashups to become a valuable enterprise tool.

Sorry, IT run-around crowd (Seybold's term) but any mashup vendor saying you can bypass IT and get what you need through RSS feeds, screen scraping and widgets isn't considering that you will need access to back-end enterprise services to get the most out of your mashup investment.

Let's consider an example. Let's say your sales manager wants to keep track of important news cross-referenced to either existing accounts, or opportunities in the pipeline. This could be put together by mashing up CRM data, available through reports and screen scraping, with RSS news feeds, all without the help of IT. That would give the manager some great data, but he can't do anything with it unless he hops out of the mashup and into the CRM system.

The real killer application would allow the sales manager to action the data within the mashup. So, for example, if the manager sees that a company in his pipeline just hired a new COO, the manager could push a button to create a TODO item in the CRM system requesting the account manager arrange an introductory call with the new executive. That sort of interaction isn't enabled by RSS feeds. It is enabled by services connected to back-end systems controlled and managed by IT.

What mashup platforms will do is reduce your dependence on IT to construct new applications. IT can take on the role of a trusted partner rather than gatekeeper, but you still need them. Any mashup vendor who says otherwise doesn't understand your business.


Wednesday, February 6, 2008

More 2008 predictions from the 'unnamed analyst'

Let me start out by congratulating Encanvas. They have joined JackBe in the illustrious group of mashup vendors who won’t let me review their mashup tools for this blog. Here’s what they had to say when I asked.
As Serena is a close competitor to Encanvas I’m not sure that would be appropriate but we have the greatest admiration for any organization that is encouraging agile computing and it’s great to have competition - so keep doing good things.

The funny thing is that as far as I can tell, Serena’s never been in a deal against Encanvas. Competition. It’s all in the mind.

And now for something completely different

The 2008 prediction machines are still at it, although I assume now that we are into February we will see them less often. One leading analyst firm, whose name I can’t give you since they would require I run this post through their vendor relations department, has made Web 2.0 predictions for 2008. Hint: They aren’t Gartner. As in the past, I’ll just call them the Unknown Analyst. (UA)

Here’s their 2008 mashup predictions.

  • Mashup vendors will start seeing a return on their investment in 2008, but at the expense of other Web 2.0 technologies.
Bloomberg at ZapThink already made a similar prediction. And just as I did before, I must disagree. 2009 will be the year of mashups rather than 2008. I hope to be wrong, but I don’t think I will be. Web 2.0 is just emerging into the enterprise, and mashups will be at the tail end of Web 2.0 spending. RSS, wikis, blogs and social networks are all going to be on the short list for 2008, with mashups entering the list in a big way in 2009.

  • Enterprise mashups will come out of the closet, and the vendors who influence standards boards and best articulate mashup value will set market expectations.
My take is that standards boards aren’t going to make a big difference. If mashups were stressing technology to IT customers, then standards would be important. But we need to remember that mashup customers will likely come from the business side of the house. Business users don’t give a hoot about mashup standards for security, widgets, REST contracts, etc. These are vendor problems the vendors need to solve.

However, while I disagree with the notion that standards board leadership will make much of a difference in market leadership, I completely agree that articulating mashup value will make a difference. If I can convince you that mashups will help you leverage your SOA investments to build those applications now languishing at the bottom of IT’s priority list, then I will likely get your business. If I can't convince you, then I won't.
  • Vendors from adjacent markets such as EAI and portals will enter the mashup fray in 2008. Pure-play Web 2.0 vendors will be the losers because big players like Microsoft, IBM, Oracle and HP will Web 2.0-enable their current offerings.
This is a very interesting prediction. In effect it says that stand-alone Web 2.0 technologies don’t matter as much as Web 2.0 technologies in the context of existing business problems. So will I need a social network solution in my company if my BI vendor puts one in the reporting portal? Do I need a stand-alone enterprise RSS solution if my existing reporting tools, Sharepoint and CRM vendors add the ability to export notifications as RSS or Atom feeds?

I think, for the most part, the answer is ‘no.’ Enterprises will be able to make do with Web 2.0 features added to existing vendor offereings. At least when combined with open source readers, wikis and blogs.

But mashups? I don’t think so.

Consider a scenario. Assume you want to pull your financial information together with lead data from CRM, marketing program plans from MRM and historical statistical information from BI. You also want to wrap a process around these data to calculate whether a program will generate the number of leads necessary, and alert Marketing to take action when it looks like a program will not meet expectations. If you were depending on one or the other of these tools to provide a mashup platform, you wouldn’t have a unified end-user experience, your process would be dictated by the host tool you happened to choose, and you would end up with the same point-to-point integration problems that have been causing headaches since the dawn of applications development.

In other words, you would have an integration, not a mashup.

So while I agree that some Web 2.0 technologies such as social networking, wikis and blogs may not be good long-term product strategies for independent pure-play vendors, I think mashups have a chance.

Right up to the point where they are purchased by one of those big guys, something not predicted by UA.

Tuesday, January 22, 2008

What would George Carlin say about the Ten Mistakes Companies Make When Implementing SOA?

In Paul Callahan’s recent eWeek article he lists ten mistakes companies make when they implement SOA Projects. It’s a pretty good list, and I’ll summarize it here, but I’d like to do some tweaking.

Do you remember George Carlin explaining how the Ten Commandments could be boiled down to two, with another added for good measure? If not go take a look. That’s what I think about this list. It isn’t bad, but it needs some tweaking.

Let’s take a quick look at the ten first, and then I’ll discuss how I would consolidate.
  1. Taking a Shotgun Approach. That is, SOA-enable everything, regardless of whether there is a business need for the resulting services. LogicLibrary’s Brent Carlson likes to call this A Bunch of Services. (ABOS) and is one of the most common pitfalls of Big SOA.

  2. Failing to Involve Business Analysts. Technologists tend to think of SOA as a technology initiative rather than a business initiative. When that happens, not only do the wrong things get built, but it is unlikely the organization will ever see the sort of ROI promised by these technologists.

  3. Spending More Time on SOA Products Than SOA Planning. Given lack of business direction, IT will tend to think that SOA is something that you buy rather than something you do.

  4. Tackling the Largest Projects First. Sure it is inviting to make a big splash with your SOA initiative. But isn’t it better to try to walk before you run?

  5. Forgetting that SOA is a Business Problem. It’s not about the technology; it’s about the solution to a problem.

  6. Treating Identity as an afterthought. Readers of this blog will know that this is one I take very seriously. Security and identity are the soft underbellies of SOA, and we need to build for security and identity up front.

  7. Buying New Products When Existing Investments Suffice. This is a special case of thinking of SOA as a technology rather than a business solution. You don’t always need to buy new stuff, no matter how much you are told to do so by vendors.

  8. Misunderstanding Company Key Players. We live in a world of silos, and if you want to play in a sandbox belonging to someone else, you’d better ask first. Don’t assume you will be allowed to SOA-enable legacy systems, deploy to servers or install clients. Find out first, ask, and then get to work.

  9. Expecting the SOA Project to Spread Quickly. This isn’t just an issue for SOA, but for any enterprise project where the success or failure of a project is tied to ‘the enterprise’ rather than to a specific project.

  10. Lacking Necessary Elements. Embarking on Big SOA without Big SOA resources.

Here’s how I would rework the list. Numbers 1, 2, 3, 5, 7, 9 and 10 are actually different manifestations of the same problem: Treating your SOA rollout as a technical rather than a business problem. If you focus on your business issue, you won’t have ABOS, you will include business in the discussions, you won’t try to ‘buy SOA’ rather than solve your problem, you won’t think it’s a necessity to buy new stuff, you will tie the success of your SOA rollout to a specific business problem and you won’t go down the Big SOA path if you won’t be able to carry through with it.

So now we have four remaining issues.

Numbers 4 and 8 belong together as well. Both are saying the same thing: Start small. Organizations that start small won’t try to tackle the big, high-profile problems first. They also won’t run into the problem of stepping on somebody’s toes. Or at least the likelihood will be much less.

That leaves number 6, treating identity as an afterthought. I’d like to expand this a bit and say that treating scalability, security and identity management as an afterthought is the real mistake.

I’d also like to add an additional mistake. Forgetting your consumers. Effective SOAs will have multiple consumers, and multiple types of consumers. Design your SOA so it can be used by composite applications developers, BPM process gurus, portal programmers and mashers. Then you will be able to get the ROI you need to make your SOA investment an unqualified success.

So like George, I’d like to restate the items in a positive light.
  1. Always remember that you are solving a business problem.

  2. Start small and scale up as you learn.

  3. Design for scalability, security and identity management up-front.

  4. Remember your consumers.

Of course, if I really wanted to be true to George I’d add a 5th to the effect that I should keep my &^%$# opinions about SOA to myself.

Friday, January 11, 2008

Linthicum on Mashup Governance...over the top?

I usually agree with David Linthicum of ZapThink when he writes about SOA. He understands the problems faced by organizations moving to SOA-based applications development. He gets that organizations need to put governance in place to avoid SOA turning into merely A Bunch of Services. (ABOS) I'm a fan.

But I think his recent article on mashup governance in the SOA Institute newsletter was off the mark. Not completely, but I think he's making the mistake that many of us make in thinking that mashups need the same level of governance, the same rigor, as composite applications developed within IT.

Here's my take: Not only don't they need the same level of governance, they won't get it.

So let's take a look at what Linthicum has to say. He's right when he says that mashups blur the line between the web-at-large and the behind-the-firewall enterprise. In his words, "...We could find that we soon live in a world where it's difficult to determine where the enterprise stops and the web begins. Now that's scary and exciting at the same time."

I completely agree.

Next he talks about how organizations need to prepare for mashups. Linthicum says that organizations need to design their SOA with mashups in mind, and on this point we also agree. Although SOA has come to be synonymous with the WS-* standards, it need not be. In fact, early SOAs were completely custom, and even today there are a number of competing SOA standards. Yes SOAs need to be designed around standards, but not just any standards. They need standards that make the services and widgets usable by many different SOA consumers.

Let's consider an example. I happen to know of a company that created SOAP-based services to expose some of their products capabilities. However, these services were built in the image of their old API. When it came time to use these services in a BPEL orchestration, never mind within a mashup, it was extremely difficult. These services weren't built with their end use in mind. More services by techies and for techies.

When it comes time to adopt your SOA standards, keep in mind that you will have many different SOA consumers. Not just by coders in VS .NET or Eclipse, but portals, BPM, and even mashups. And when it comes time to implement your SOA, remember that you may have multiple consumers about which you know little to nothing. So architect for flexibility, scalability and security.

Linthicum goes on to discuss mashup governance in some detail, and I'm afraid here is where he and I disagree. Readers will recall I've written about mashup governance before. I believe mashup governance is necessary. Mashers need version control. Mashers need some form of feedback loop to manage defects and enhancements. Mashers need to practice safe scraping and need to be aware of the provenance of the data they use in their mashups.

However, Linthicum believes mashups should be governed with the same rigor as Big Applications developed by R&D.

"So, what do you need to do to prepare for mashups? It’s a matter of addressing the following areas: Requirements, Design, Governance, Security, Deployment, and Testing. In essence, these are core architectural activities that are required to get you to the Promised Land of mashups on top of your existing activities when you create a SOA."


Nice in theory, but impractical in practice. Mashups are to be built by subject-matter experts, not IT professionals. Think Ultra-Agile rather than Waterfall when putting together a framework for mashup governance.

Requirements? How about "build it," "try it," and, "change it." In Big Applications this may be a license for creep. The on-ramp to disaster. But for mashups, inherently smaller and more agile applications, formal Requirements Management is nothing but unnecessary overhead.

Design? Those of us with Big Applications pedigrees, myself included, will cringe, but a formal design process for mashups seems like overkill. If it works, it's probably good enough. If it stops working, then fix it. Will some mashups be inefficient? Perhaps some mashups will be slow. So what? If the mashup is going to be mission critical, if it will service a large number of transactions, then it will likely be developed by IT, not as a mashup. If it's being assembled by a subject-matter expert, it's likely that inefficiencies won't be a problem. When you bet, figure pot odds.

Governance I've already talked about, as well as security. While Linthicum and I may disagree about governance, we completely agree about security. If an organization is going to over-govern any aspect of mashups, my choice would be security. Unlike SOA's notorious performance issues, security breaches have the potential to materially harm organizations. Jail time? Wall Street disfavor? Stockholder uproar? All these have resulted from IT security problems. 'Nuf said.

Deployment is an interesting issue because it should be easy, but can be difficult. After all, what's the harm in allowing a masher to put a mashup into production? A mashup can't hurt the operational environment, right?

Clearly some governance is necessary. I suggest IT provide mashers with a secure and stable deployment platform, distinct from any mission-critical applications, and then leave mashup deployment to the mashers. IT should not attempt to require the same deployment gates for mashups that they do for SAP upgrades, changes to the financial system, or updates to eCommerce. Once the secure and stable environment is in place, leave mashers to mash.

Testing, testing, testing. I think testing falls into the same category as requirements. Should mashers test all possible configurations, scenarios and error conditions? Sure. Will they? Hardly. Putting gates in place to force mashers to test will only put mashers in an awkward position. Should they ignore the testing gates, or falsify the documentation? Darwin and sheer embarrassment will take care of quality control in the long run. That may not be optimal, but quality control will be more effective if it is instituted as a bottom-up rather than a top-down requirement.

My take-away is that mashers need to develop their own governance practices. Trying to force-feed Big Application lessons to mashers will only result in resentment and eye-rolling. Just as with Agile teams, let mashers define their own rules, and let them modify these rules as they learn, discover and create.

ZapThink Predictions for 2008

Continuing in my series on the 2008 mashup predictions made by others, I'd like to talk about a recent ZapThink article by Jason Bloomberg. He makes several predictions about the future of SOA in 2008, to include the sale of ZapThink itself. I won't comment on the acquisition discussion except to say that it seems a bit odd for ZapThink to tack up a For Sale sign like that. I can only guess they are already in the final stages of negotiation and want to boost their price with a little self-promotion, or perhaps want to get an idea of how their current clients will react to the sale.

Whatever the reason, good luck with it.

In addition to ZapThink’s future, Bloomberg makes some straightforward predictions about SOA and mashups. To summarize: The economic downturn in 2008 may cause some businesses to slow down or cancel their SOA initiatives, especially if they are struggling with ways to define the ROI. This will be good for businesses that have already turned the corner on SOA, but bad for the businesses that cancel.
"...For those organizations, we do predict cancellations of SOA projects and deferments of SOA spending, to their detriment. Because after all, their competition might very well be leveraging SOA to be more successful during a downturn, leaving the unsuccessful companies out in the cold."

I agree with both points...to a point. In difficult economic times, businesses will tend to cut back on strategic spending, especially if the ROI is a bit ephemeral, as it can be in Big SOA initiatives. So yes, I suspect we will se a number of SOA initiatives delayed or cancelled.

However, I think this only applies to Big SOA, not to Guerrilla SOA. Guerrilla SOA projects will likely continue forward because their ROI is tied to the success of a specific business initiative, not to some hard-to-define measure of enterprise IT effectiveness. Organizations with Guerrilla SOA projects in the works will still be able to leverage their investment, "...leaving the unsuccessful companies out in the cold." See my previous post on the subject, as well as predictions made by Hinchcliffe and Chappell.

Later in his post, Bloomberg defines a mashup as a "...governed, managed composition of loosely coupled Services within the context of a rich, collaborative, Internet-based environment." Except for the fact that he left out human interaction, that's a pretty good definition. He goes on to say that "...enterprise mashups are what organizations actually do with SOA."

Spot on.

Organizations leverage their SOA investments in many ways. Old-style programmers can boot up Eclipse or VS .NET and use java, C# or other languages to build applications. When used this way the services available in the context of a SOA are really just another API. I'm sure to get hate mail for this, but for an organization trying to maximize their SOA investment, relying on old-style programmers won’t do the trick.

What about portals? Once the portal framework is in place, end-users can customize at will, without depending on expensive IT resources. Making use of a SOA infrastructure will help increase an organization’s SOA ROI. Unfortunately, portals don’t scale as well. Most people want one portal, or if necessary, two or three, but only under duress. See Oracle’s comments on portals. Portal proliferation is a problem that needs to be solved, so trying to increase your SOA investment's ROI by increasing the number of portals is a losing bet.

Another way to leverage SOA investments is through BPM initiatives. BPM and SOA have been joined at the hip for several years. Before SOA, BPM tools could define a process, but executing the process was something else. With integrated SOA BPM end-user could do their jobs while actually in the BPM tool. No more application-hopping. Additionally, with SOA the BPM vendors had a workable standard for integrations. Not every install had to have a unique set of adaptors built specifically to integrate the BPM tool with back-end systems. No more introspecting DLLs to figure out how to talk to home-grown applications. Give the BPM system a WSDL and it could move the world.

As with portals, BPM solutions don’t scale. They are big systems, mostly behind the firewall, built for process gurus to build big supply-chain-type solutions. BPM practitioners need to have training, they need Big IT support and they need to spend a lot of money to install and maintain BPM systems. So while BPM does help businesses get a bit closer to the sort of ROI the EA team promised as a result of Big SOA, it isn't enough.

Now let's talk about mashups. Specifically, business mashups. Mashups are easy to assemble. They are easy to deploy. They scale down beautifully, but scale to the enterprise as well. With new mashup platforms coming on the market, anyone with enough tech savvy to build Excel macros or administer a wiki can build a mashup. Better yet, mashups can take advantage not only of the SOA, but of the WOA as well, opening up the entire world to mashers. Best of all, business mashups put the aggregated data and display elements into the context of an actual business activity. You have the data you need, when you need it, and can take action on the data without having to jump from application to application.

So when Bloomberg says that enterprise mashups will become the killer use-case for SOA in 2008, I want to agree, I really do. But I don’t. First, I think business mashups are actually the killer app, not enterprise mashups. This isn't just a war over verbiage. Enterprise mashups don't include human workflow, but human workflow is a vital part of most applications. Maybe 2008 will be the year that the term 'enterprise mashup' starts to include human processes. If so, then I'll stop harping on business mashups. Until then I'll continue to make the distinction. Second, I think 2008 will be the year mashups get mindshare outside of IT. However, the business won't actually start cranking out mashups until 2009.

I hope I'm wrong and Bloomberg is right.

Good luck, ZapThink, on your pending sale. And thanks, Bloomberg, for your 2008 predictions

Here's a man excited about mashups

You can tell just by looking at this guy how excited he is about mashups. Energy and excitement just rolls off his picture in waves.

Really, Tim's a great guy, and spoke to India's Express Computer about business mashups. The gist is that organizations have too many portals and too many applications that suck up too much of IT's operating budget.

The benefits of aggregation into a portal are lost if end-users then have to remember URLs and passwords for multiple portals. Mashups in a portal context allows users to aggregate aggregations so they don't have to jump around from portal to portal.

The effects of too many applications are twofold. First, just as with portals, end-users have to jump from application to application to get anything done. The second is that there is no budget to work on new and innovative applications because IT's budget is already being spent maintaining existing apps. Mashups help with application aggregation, and because they can be developed without writing code, tech-savvy end users can build these apps themselves.

The article doesn't offer a lot of new and deeply technical information, but it does summarize nicely the view of mashups by vendors such as Serena Software and Oracle, as well as Gartner's Dave Gootzit. At the risk of being tagged as a member of the lazysphere, I'm just going to point you at the article rather than commenting on it.

Cheers.

Tuesday, January 8, 2008

Hinchcliffe and Chappell Predictions for 2008 Part 2 - Mashup Governance

Welcome to Part 2 of my series on 2008 mashup predictions made by Dave Chappell and Dion Hinchcliffe. In Part 1 I discussed how both are predicting the end of Big SOA. If you are interested, read the original posts and circle back to my comments. If you aren’t interested in the death of Big SOA, but are interested in mashup governance, read on.

Both Chappell and Hinchcliffe note that organizations will start pushing for mashup governance in 2008. We all cringe at the G-word, linking it with over-governance as mandated by legalistic process Nazis. Too much governance and you bring innovation to a standstill. Not enough and you have chaos. Light-handed governance can be a great help, insuring that security is in place, that there are recovery procedures, that everyone knows the lines of responsibility.

I’ve written before about how IT and business need to work together to make sure mashers have a secure and reliable mashup platform. Now let’s take a look at what Chappell and Hinchcliffe have to say along the same lines.

Chappell believes it's only a matter of time until a business-critical mashup fails. Some feed you didn’t even know you used will go away, some 3rd party service will change endpoints, somebody will change the mashup on Friday evening and then leave to hike the Inca Trail for two weeks. What happens? As Chappell says, “…many will be scrambling to figure out who is supposed to fix it, and who to point the finger at.”

He goes on to say that by the end of the year, driven by these mashup failures, mashers and IT alike will understand that mashup governance has to be put in place. Does it need to be as rigorous as the rules and processes surrounding making changes to the SAP ERP Financial system? Probably not. But neither can it be ignored completely.

Hinchcliffe makes similar predictions, but believes the demand for governance won’t happen because of a catastrophe, but because IT will start voicing loud concerns. "...it will likely be widespread grassroots behavior outside of IT that will drive the need for these solutions within IT departments." Security will become an issue as mashers pull data from many sources behind the firewall, from SaaS applications, and even from the web-at-large leveraging Web-oriented Architecture. (WOA) Mashers should ask questions about these data. Are the data reliable? Are the data available? Are the data to be used appropriate for the audience? After all, you don't want sensitive financial data leaked to the wild by a clueless masher.

While mashers should ask these quesions, it is likely that IT will be the one doing the asking. IT will make noises to govern access to mashable data within the enterprise. Additionally, IT will demand a SOA governance infrastructure that will provide security, policy enforcement and scalability across both on premises and SaaS mashup platforms and data sources.

Unfortunately, I’m just not sure whether any SOA governance solution can put the necessary controls in place without unduly interfering with masher innovation. Let’s take it as given that in a SOA world IT will be able to control access to services. Will these same controls work in a WOA world? I doubt it, at least not without cutting off access to uncontrolled services and data. Frankly, I doubt if the business would stand for these tight restrictions.

As I've asked before, what's to be done?

While IT may not be able to enforce governance outside the firewall and known SaaS applications, it can act as an advisor, explaining to mashers why reliable data sources are important. Why it might not be a good idea to use the Unreliable News RSS feed as input to a mashup for the CEO. Why scraping content from a random web site may land him in trouble. In the end the masher will mash, but IT can at least help the masher understand the risks.

Besides the SOA Governance infrastructure Hinchcliffe believes will be put in place by IT, I believe there are some actions that IT and the business can take together to implement safe mashing in the enterprise.

  • Agree up-front who owns the mashup and who is responsible for maintenance, updates and enhancement requests. Who is backup in case the responsible masher goes on holiday? The lines of responsibility should be documented before you have to send a helicopter down to the Andes to airlift your masher back to NY so he can fix the mashup.

  • Define the deployment and rollback plan and rules of engagement. What is IT's involvement in a mashup deployment? What is the masher's involvement? What is the rollback plan in case a deployment fails?

  • Give the masher access to a version control system. Mashers will be generating code, XML, a model, or some other artifact that defines the mashup. That code, model, etc. has to be saved so when the production copy needs to be modified or recovered, the masher doesn’t have to start from scratch. Hint to mashers: a copy sitting on your machine isn’t reliable version control.

  • Work with IT to make sure your mashup platform is scalable, reliable and secure. IT should put a registry and a repository in place so mashers know what services are available, the SLAs for the services, and any security, scalability and reliability concerns for their use.

  • Require the masher document the data sources before allowing mashups into production. I know, documentation sucks, but so does getting pulled back from your vacation to explain why you've been getting market sizing information from astrology.com

These recommendations won't cover all the bases, but they will provide a framework for governance, even in a world where there is, in Hinchcliffe's words, "...still too much steering committee and not enough operating governance infrastructure." And most importantly, they will help mashers understand that when they mashup a business application, it isn't just a cool science project. It's serious business.