28 May, 2007
Mash it up, eh?
Posted by Kazimieras Pociūnas under Business, General info, SOA - Business perspective[3] Comments
“Mashing it up” is nice. “Mashing it up” is cool. “Mashing it up” is the way to go.
Or not.
At least in some cases most of the buisiness use-cases .
Why? I’ll tell (or rather write) you why… Maby I’m pesimistic, but yet, its my view and thank God im not in Russia so I can elaborate on this topic.
The idea struck me after reading Jelenas post about mash up of our projects. Its basically a flood of information for the end user and on a side note – a lucky case of possitive flood. They say its nice, becouse you can create. Yes, I agree. But then again – I want to be very strict in the sense, that if you create something, and it is not art
– then it must be usable AND usefull. And created.
I’m leaning towards this: mash-it-up is ok in several cases, like: “I like it”, “I like to explore”, “I’d like to make a proof of concept”. And on the contrary – if you have to work with”mashed-up” things – you get a pain in … you head.When the free map will display the locations of “easy-going-girsl” next to the location where you invite your business partners, what then? If you life depends on the map – what do you choose: shiny MapPoint WS or standalone MapPoint application providing the same functionality? If my words don’t sound true to you – check it. Map point is sold as a standalone application, although you can get all of it online. Why? Becouse using WS’es is not good enought, although its beutifull. And if you STILL don think so – remember our presentations, some services failed us…
I dont know of a way to effectively control risks using SOA and there are defined methods to control risks in the case of usual applications. That is the main reason, why most business’es will stick to traditional applications, and partially ignore SOA island as a whole. Its like lego – easy to create very functional stuff from basic components (shiny, breath taking feature), but if you use lego to create stable platform for you HDD inside your PC box – well… lets just hope it wont crash and break some cable connector on our motherboard (as I AM hoping right now
)
I dont think i said something new, but the question must be asked: how do you guarantee, that it will work after 5 years? Will you pay me, if it fails and I will have to remake it? Standalone apps WILL work until new generation of Windows(c) break (with a little “if”) them
And its more likely, that hardware will break those apps, whereas considering WS – HW is not the main enemy.
Thus i just want to stress it – building on a shoulder of giant is not enought to make the house stand. The giant may move and you wont be able to stop it. It’s a giant after all.
How to control risk of using SOA? Why choose bigger risk, when all i need is a stable performance? Which cost is lower and why do you think so (the cost of WHOLE project, which achieves the same result): the SOA and the risk it brings or the more-or-less risk-free standalone app?
I encourage you to answer my question in the comments and you can try to change my oppinion.
Two reasons to do that:
- I like soa (LEGO was THE toy when i was a kid) , and I would like to hear your answers, so i can like and understand it even more.
- Most likely comments will be seen as an active participation in the blog
P.S. Talking about the people, who are afraid of gay meetings in public places, heres an idea:
“Any society that would give up a little liberty to gain a little security will deserve neither and lose both.”
Benjamin Franklin
3 Responses to “Mash it up, eh?”
Leave a Reply
You must be logged in to post a comment.
May 28th, 2007 at 3:41 pm
I see you are mostly concerned about reliability in the long-term perspective. The way I see it, is that SOA by itself does not increase or decrease reliability compared to traditional applications and it’s the concrete service and service provider that you’re dealing with that matters. I would like to present a few counterarguments why SOA at times could be more reliable or why only short term realiability is important:
1. Most powerful and feature-rich services are hosted at big and well-organized companies that care about their reputation, such as Microsoft, Google, Yahoo, etc. They wouldn’t let their services go down or change APIs unpredictably. They know how big is the community using their services and, believe me, they do care about all those dependent little projects.
2. You get what you pay for. If you still hope to get something that would serve your business-, time-, and mission-critical goals and wouldn’t cost a penny, think again. In traditional computing, there’s open source and freeware, too, but you wouldn’t choose them to be used at nuclear power plants, would you? Likewise, in SOA, if you pay for a service, its reliability, unchangeability is defined contractually and legally. If you use something free, all you can do is hope for the best.
3. The world is changing too quickly. If all you need is to display a video on your website, fine – use youtube and it works today. If your website is relevant, has a number of visits, you will be motivated to keep it going. If something changes in the video displaying scheme, you will be motivated, to incorporate these changes and keep everything working. If not, the community will be motivated. And if neither of you are, this usually means that your website is just an old deserted archive which has outdated info and is of little use.
4. SOA allows using hosted environments that you would never ever be able to host yourself using traditional applications. That is, can you imagine the vast amount of data that is stored on flickr, youtube or google maps? And it takes only a few WS calls to incorporate this functionality into your software or website. What would it take to deploy all this as a client application? Why duplicate the functionality that already exists somewhere in the world? Reuse it, share it, let’s leave a few centralized, well maintained sources of important information that are cared after by those who can do it. That’s what it’s all about.
5. Yes, in SOA world, connectivity becomes much more important, communication channels need to be up and running and if you’re not connected, there’s hardly anything you can do. But it’s a question of implementation (backups/redundant links/etc.) and not of conceptual architecture.
6. And lastly, there’s a tool for every job. And you are not obliged to use google maps to control your space shuttle launch station. In every situation, use what works best – even code in assembly language if unmatched performance and efficiency is what you’re after. The power lies in knowing what’s available to you and being able to choose what’s best in a certain case. I believe that the big fans of traditional architecture and haters of SOA have a lot of prejudice against it and refuse to try it out or at least open their eyes and see what the world has to offer. Being stuck in your ignorance is a bad, bad thing.. And don’t forget to assess all aspects of your choices – money, speed, quickness of implementation, maintainability, functionality and reliability, etc. The decision might sometimes be unexpected.
That’s it for my insights on the lack of reliability in mashups. Stay positive
May 28th, 2007 at 5:07 pm
Hi,
The first thing that crossed my mind reading this article was: „ I’ve got a lot of people who know about JAVA, but actually when you say to them Web Services, they go “ehhh…, what’s that about?”… The real need in the eCommerce industry – it’s the creative technologists who understand business“, Jonathan Briggs (05 12). Yes, we all know him
After that lecture I was ready mash the net all over, but suddenly I‘ve got problem like yours: „what if one or several things, that I use, on the net will fail?“. But you‘ve got to ask your self a question: „when was the last time you saw the youtube isn‘t working? Google.maps isn‘t working?“ and a lot of other free services you can get on the net… You‘ve got to take in consideration that it‘s free, but when you get a account that you are paying for – you get to another level with these companies (you will never see “easy-going-girls”
). They don’t fail when you are using them for free, so you think they will fail when you are paying to them? I think you already got the answer.
So no internet connection – no maps, but the WS is not about getting a map to you (in some cases maybe) – it’s about that you can get (remember the example that Jonathan Briggs showed) points on the map, it’s about real time automated system, that helps you to get latest information. If you have an internet provider that doesn’t satisfy your needs – get a better one!
“How do you guarantee, that it will work after 5 years?” – Who guaranties that company providing MapPoint after 5 years will exist? Google was founded in 2000-2001, so like six years. Can you imagine your world without Google today? No one knows what is going to happen in 5 years, I don‘t think you or someone else knows what is going to be even after 2 years. You just choose the best you can get now. E.g. you need to develop system. You can fins tools on the net or you can get them as apps to you computer (system). The thing is that on-line services are cheaper (usually a lot). So let’s say that the price in five years for Web Service is equal to apps cost today. If you by app you are limited for five years to use it, and as you know in five years anything can happen. At this point you make flexible decision, witch in some business cases may be crucial.
Moreover on reliability you can make mixed system: on-line + standalone app, but you don’t want to know the effort and cost of it, neither the client does.
And at the end – the beginning. Jelena has got a new idea! No one got that idea and she becomes the first of this kind Mash-up’s provider. Today she’s talking to managers explaining her idea of great business possibilities and you still developing one Web Service (or something) that will “never” (can you give 100% ?) crash…
I agree that this idea is not the best business plan I’ve saw, but it’s a start and can serve as an example for everybody – how you can create something new with minimum effort.
May 29th, 2007 at 8:21 am
The examples you named are few and IMHO they are more as an exceptions to the general rule. And as the saying goes – exceptions only prove the rule.
New ideas are great, but they are great for new things, for the pioneers. Being a pioneer in business is very expensive and even then, if you are not IBM – you have to be bold. And as they say – there are old pilots, and bold pilots, but there are no old bold pilots. Same goes here – business CAN take risk in basically two ocasions: a) they are starting from ground up (a.k.a. google), their everyday life is associated with providing something new (a.k.a. MS, IBM). But they tend to minimize it on the way to “global domination” (as some lab-rats from a cartoon used to say), e.g. MS uses monopoly bullying, IBM finances whole bunch of new things, so some work and they go hurray!
So clarifying my point – there are not very many business applications, where i would be willing to accept additional risks connected with communication as opposed to standalone local application, which can always be restarted and managed directly.
Small business SHOULD use WS like data backuping, but tell me why should i do that, if i’m a 500+ company, going multinational AND i CAN have a ready to use storage WITHOUT any risk of a force majeure associated with comunications? The argument “it is the same risk in both cases” is a bad one, becouse the WS like approach to something like data backuping IS less secure than local copy it the main vault of the local bank.
Talking about business applications – if any specially crafted software is outdated in 5 years – imho it was crafted badly. I’ve seen several cases where application is used far more than 5 years (more like 10+) and its core functionality is unchanged (improved – yes, but never made an U turn).
I liked the idea about real time data aquisition. Its a mega advantage of WS. But analyzing that data? Using it? No internet connection will be faster than corporate intranet (if its not a wishfull thinking
)
Another idea, which I overlooked (silly me) is ready-to-use components. Although – correct me if im wrong, but the same goes for SAP? Then again – you cant mash-up SAP. But then again – why would you want to mash-up SAP?
I am not questioning the benefits of SOA concepts, i am questioning SOA usability in specialized situations in variuos parts of industry, where specialized applications thrive (e.g. CAD, manufacturing control). Why would you use WS for manufacturing cars? Becouse you can mash-it-up with … err… maps?:)