Tuesday, November 27, 2007

Extending SOA

It has been quite a while ... lots of things have happened that have stopped me from writing ... but today reviewing my posts I thought about something important:

SOA only looks after ONE aspect of a business solution.

And it is not that this aspect is not important: a "service oriented" design will enhance all aspects of a business solution, "architecture" ... well this word is so misused it is difficult to find it within this context.

If using an analogy, I.T. business solutions were construction, the 'end-to-end' solution (software, hardware, costs of operations) would be THE CONSTRUCTION -. So you wouldn't call a plumber a "PIPING ARCHITECT" nor you would call an electrician an "ELECTRICAL ARCHITECT" (what about a "PLASTERING ARCHITECT?") ... your plumbing would be done by a DESIGNER that understand how the PIPING DESIGN fits in your overall ARCHITECTURE.

And the same with SOA - I have seen in plenty of situations how misunderstandings from 'Service Orientated Architects' can cause havoc in an organisation - thinking only of conceptual without any context into real building blocks for a solution (typical examples are proxying, security, synchronous vs asynchronous and pure design vs real life compromises), what happens ? The business doesn't perceive SOA as an enabler - because the P.R. people ('architects') understand only one aspect of what 'enabling' really means.

So what would be an 'extended' or 'expanded' SOA - one that considers ALL services (think about utility computing?): networking is a service, virtualisation is a service, processing power is a service, operating system is a service, application servers are a service, business logic is a service ... at the top of all this, you have your 'Service Oriented Design' which are expressed in a language that the business can understand (or could closely understand, like BPEL?).

This would obviously be a more compelling 'SOA' proposition to non-technical people ...

Thursday, April 12, 2007

More interesting stuff on SOA

See "5 Things to Consider Before you start your SOA Project" by Dave Linthicum, makes a lot of sense and compliments what the thoughts i have related to Robin Harris' one:

  1. Consider the people. Most SOA projects die due to lack of talent, not lack of need or resources. Make sure you have the right people on the job, and they are trained properly. As Ron and I discussed on the Podcast this week, the SOA talent shortage is hurting this emerging area of technology.
  2. Consider the Buy-in. Most SOAs only live with approval and support from the top. Thus, projects that don't have sponsors in the right places are doomed, typically due to politics, not technical failure. SOA is a huge change in the way you approach IT, and this change requires resources and support. If you don't have them, don't try SOA.
  3. Consider your own needs. Most SOA implementers have tendency to dash out there and select technology before understanding the problems they are looking to solve. Your needs, for your enterprise, are unique and require solutions that are customized for your issues. One size does not all…SOA is something you do, not something you buy.
  4. Consider the approach. You can't iterate your way to a successful SOA, and you need a good definition of the project steps before beginning your own SOA project. Typically this means discovering metadata, services, processes, etc., and then defining your own SOA that's meets your needs.
  5. Consider the business case. While most people think SOA is always a fit, in some cases it won't have the impact required to justify the cost. Thus, you need to stop and think about the business cases at some point, and this will help you establish creditability with the sponsors, as well as shine a profitable light on the project when asking for resources.

SOA Management Misconceptions

Interesting article published by Actional that lists the top 10 misconceptions. Particularly:

  • Perception: a multitude of services comprises an architecture.
  • Reality: services built as part of an SOA initiative need to be managed, governed, and secured or else the result is scattered and poorly integrated services working against each other.

Tuesday, April 10, 2007

SOA - Stir Oats & Acknowledge

It has been a while, but I have been busy expanding my photography collection (which can be seen following this link), so I have been away from the computer most of the Easter week. But it is good - refreshing ! - gives me good perspective to analyse Robin Harris's article on SOA and why is it dead from inception.

At first, I found it a bit strange to start an article about SOA referring to ILM, that is until I saw where is that Robin Harris' expertise lies: he is in charge of ZdNet's storage sections.

So I remember ILM - and I am still waiting to see who has the money to implement it - multi-tiered storage is still very expensive to implement (for the average enterprise at least), and it solves a problem (ever heard of the reasons for SoX compliance for traceability and accountability or the case of the email lost by Intel): you keep relevant data for your business AWAY from your service delivery platform - until it is required and then move back again to where it needs to be processed. And yes, you can claim that applications could be developed to take the life cycle of information into consideration - but that would make them more complex to implement, so rather than increase the complexity in the software layer, let's implement information life cycle as a different aspect in a different dimension (storage handles it on behalf of the applications).

The demand side of the equation
But enough of ILM, he talks about SOA. So if we start from the beginning - if the enterprise is not developing software, it means that it requires no change - hence it doesnt'need SOA. But problem is, most enterprises have delivered solutions with timescales, mostly poorly designed, with budget constraints (see "Why projects fail"), projects have been failing since before SOA and CORBA - and shamefully most will continue failing after SOA and CORBA (See the "CHAOS Report" from 1994 by the Standish Group). Failures are not only the ones listed above, it is the fact that solutions are thought tactically and developed tactically, when they should be thought strategically and developed tactically.

No way to show a return
SOA is all about evolution - and decoupling design from implementation (remember - "highly cohesive, loosely coupled"), you don't pay for SOA 'upfront' ... you pay for the technology - the same way you pay for a database - not for the data models!!!! OOP failed at the big scale because the granularity is too fine, each department had it's own agenda and schedule - it is like blaming Java or C for failures because enterprises use a mixture of not only languages, but operating systems, repositories, methodologies & IDE tools.
Assessment: you will show as much return on a SOA effort as you can show on any new project - if the project lacks business case, SOA lacks business case for your organization.

SOA increases execution variability
Once a service has been developed it is possible to get a average response times under different loads - the implementation of the service is the same as an API in C++, EJB in Java or stored procedure inside a database - if the design gives room for non-deterministic behaviour, you will get it, disregarding the fact that it COULD be implemented in a highly deterministic way (obvious room for some peaks under different circumstances during different scenarios).
Assessment: if your software executes with high variability - it will do disregarding of SOA, it is a problem in your design and/or implementation, don't go blaming the technology.

“They make you feel cool. And hey. I met you. You are not cool.” Almost Famous
Obvious, the usual enterprise IT is not - see the case of customer relationship management - everyone thought they were unique, needing to treat customers in a unique, bespoke way - increased costs of development, lacked standardization, created highly customised pieces of software - a new release came and ... you guessed ! all the software had to be thrown as it wasn't portable due to the bespoke, unique customisations. But as a matter of fact, what is so different in the insurance market ? 90 to 95 percent should be the same standard business processes (see in telecommunications eTOM, NGOSS, etc.) ... the fact is that if you create a pattern, your software becomes commodity ... THAT IS WHAT IS COOL - making your software behave like bricks for the organisation.
Assessment: I can't save this one, lacks fundamentals - iPods and SOA are unrelated, period.

The Storage Bits take
Here the point of SOA is hit, only if briefly - you can estimate more accurately the development of a business enabling service (i.e. of the type "createSubscriber" that non technical people will understand and can trace through their use cases). Once you have elaborated on the business components that this service touch, you can give a cost assessment ("LOB dollars") - but one advantage of the decoupling is that once you have created (if you know how) a service with a version, all your applications depending of that specific service and specific version can continue being operational when new versions come along, you can do this in any technology (i.e. CORBA), but truth is that the platform agnostic web services are the ones that give you a method that really achieves this flexibility.
Assessment: As I said, touches the point of SOA, only if briefly.

Tuesday, April 03, 2007

Hobby ...

Just have been posting some photos on my flickr account, go and have a look,


Monday, March 19, 2007

Google on the Groove

Very interesting article, but there are plenty of conditions that have changed between the pre-Microsoft era (and their subsequent 'golden period' of win95-win2000) to what Google faces today, before the Internet took off it was easier to have "control" over your peers and partners - today's everything is so connected that your worst business nightmare might be incubating around the corner, or around the clock - and the fact that it is a so connected world not only enables faster rate of change, also enables to have stealth mode developments whilst bigger companies have to continue with the traditional publicity.

It is conspicuous the reference 'What can Google do to make its growth strategy fit better into a long term Googley development "groove"?' ... is Ballmer referring to Ray Ozzie's GROOVE ? Maybe in the 21st century, Microsoft 'grooves' there :)

Saturday, March 10, 2007

And the toy of the moment is ...

The delicious Sony vaio VGN-UX (1XN in the UK):


I've been using it for a week and my only complain so far is the fact that in extremely light conditions, you will get a headache if you need to do some work (I've been using it from the hotel room at night and with dim lights it is great fun!).

Obviously to write some serious document, nothing beats the external keyboard - but even with my 17" laptop, i find after 30 minutes my wrists are aching, so the external keyboard is necessary then as well !

Monday, February 26, 2007

Impressive Device

Having a look at some lightreading articles ran into Jeff Han's "interface-free," touch-driven computer screen, which can be manipulated intuitively with the fingertips, and responds to varying levels of pressure, quite an impressive piece of kit !

On top of all the potential (i.e. the usual sex driven devices!) i think his point around data visualisation is a key one - plotting complex data mining information and allowing the end-user to manipulate it using a tool like that will make understanding of the internals of businesses easier (hopefully).

Kudos to Jeff ! and hope to see it in the iPhone soon ;)

Wednesday, February 14, 2007

My new heroine, KUDOS

Oh wow ... I like how Joanna Rutkowska writes ... she's my new online heroine! In a virtual battle she would kick Mark Russinovich’s bottom !

And she's a cutie patootie:

Thursday, January 25, 2007

P & NP ... linear & nonlinear ... the wonderful world of mathematics

I had a bit of (*cough*) spare time yesterday and had a quick scan around the Clay Mathematics Institute links ... all in the aim of solve "some" of the millennium problems (buahaha!) ... but it kept me thinking all the way throughout my work out ... dinner and even whilst trying to sleep ... basically I cannot find a type of mathematics that would make calculations in a "batch" way; to get actual solutions within sets, mathematics has just operations that are iterations across a set. What appears to be required is "parallel" operations that operate on the sets themselves. Abelian groups are described in a "sequential fashion" - discrete - (as the theory of element X is member_of set Y "for each" X1...Xn that behaves in a certain way, blah blah, all that can work in one operation, but when you have the actual "Xi" that is a different story!).

My question is: "union" is a no brainier, as it is just one iteration to obtain the desired result (oversimplified - OK, but hope you get my point); but what about "intersection" and "difference" (which are the principles required by all NP problems), is there any field in mathematics that is working on "parallel" execution ? I assume it requires a a totally new branch of mathematics - and a total new way of thinking ? - as our brain is used to go throughout each element in the input side to generate the corresponding result on the output side - as opposed to get a whole set of elements, apply one single operation "a la quantum computing" and get back all the solutions required. (OK it was more of a paragraph than a question :))

Sunday, January 21, 2007

Genius misquoted ...

Someone found an interesting interview with Bjarne Stroustrup and seems that everyone has focused on one statement of the interview [(1), (2), (3) amongst others].

In his interview, immediately after the quote everyone is so effusive about ("There are more useful systems developed in languages deemed awful than in languages praised for being beautiful--many more."), he makes some very important assertions:
  1. "Elegance is essential, ..."
  2. "I think we should look for elegance in the applications built, rather than in the languages themselves."
  3. "To use C++ well, you have to understand design and programming technique."
  4. "C++ is designed to allow you to express ideas, but if you don't have ideas or don't have any clue about how to express them, C++ doesn't offer much help."
  5. "The main reason for C++'s success is simply that it meets its limited design aims: it can express a huge range of ideas directly and efficiently."
Man, I think all quoting him should at a minimum use [3] & [4] as part of their statements. The quote should actually consider:
  • There are many projects, most of them fail ... because of poor design, no matter which language is used (assertion 3 & 4)
  • There are many programmers, most of them dislike to share their knowledge (or is it just their egos driving?) making API's and code as cryptic as possible ... that adds to poor maintainability (how many of you have been involved in a "code hand-over" ... it is never a bed of roses!)
  • Using standards and libraries (lets say hungarian notation, stl, and even smart pointers) software can be written in C++ that is efficient, elegant, and maintainable.
It is obvious that the guys that like quoting have only worked in small projects and/or really like just liaising at the code level.

Wednesday, January 17, 2007

One ring to rule them all ...

Wired has published an interesting article - I suppose it has the story has all the potential to be used in future MBA courses that focus on change and/or technology - "How Yahoo Blew It", and how Yahoo answers to the article. What I find the most amusing is the closing statement: "But now we have empirical evidence: At Yahoo, the marketers rule, and at Google the engineers rule."

I think the statement can be expanded ... it is not "marketers" that rule, it is most probably a group of people that understand business but lack the knowledge of technology (i.e. what is there and where are we going?) - This is a more general statement, not specific to yahoo, as this is the kind of thing that you hear in companies all over -. One of the most common cycles of "growing pains" is when the start-up mentality is over thrown by the "businessmen", core knowledge moves on to greener pastures, new management comes and faces the void of "what is there, and how to move to the next stage"; think of the analogy of a sports team, the 90's Chicago Bulls was in a start up position to build a franchise, keeping the engine well oiled they created history, Michael Jordan was at the 'center' - is it true that no single person is irreplaceable? Tell that to a guy that still generates more revenue than most of "Corporate America" :) -. But always remember, it was a team with A & B players - not all were super stars (think "Los Galacticos" failure in Real Madrid!) . I believe that Google managed - smartly- to avoid this stage, by having equilibrium between "mature" and "start up" management, they shift gears faster than any one else in the market. Google has a "Michael Jordan" somewhere - be it a team or a concept - that allows for the winning attitude to remain at the top of the curve. (I still yet to know if Google's criteria for recruitment has A & B players focused around other aspects, they seem to recruit technical A players across the board ... so there should be another aspect(s) that categorises employees).

Now ... you can also see how Microsoft is gathering their own "Wilt Chamberlain" team, just have a look at the recent hire of Donald Ferguson to be a member of Ray Ozzie's team ...

It is a shame that as opposed to Basketball, corporate competition is a much slower game, much like a slow motion chess!, we will know the results not before the next 5 years (optimistic!) ... and many other players might yet be incubated that can change the balance in any direction!

PS: Overall, Microsoft, Google & Yahoo have enormous market values, and this is just evaluating an aspect (mainly technology and how it integrates into the business). But, today (17th of Jan'07) Yahoo has a market value just over 1/3 of that of Google, Google has also just over 1/3 of the market value of Microsoft ... (Yahoo is obviously 1/9th of Microsoft).

Tuesday, January 09, 2007

Enterprise 2.0 ????

Interesting article written by Dion Hinchcliffe "Enterprise 2.0: Ten Predictions for 2007" regarding an unclear (or undocumented?) transition from "1.0" to "2.0" - the term "enterprise" because of its widespread misuse. I quite like the TOGAF definition:
  • "enterprise" is any collection of organizations that has a common set of goals and/or a single bottom line. In that sense, an enterprise can be a government agency, a whole corporation, a division of a corporation, a single department, or a chain of geographically distant organizations linked together by common ownership.
So, lets try to dissect Dion's predictions:

10. Despite the potential for other types of applications, blogs and wikis will dominate the Enterprise 2.0 landscape in 2007. : Whilst this might be true, the purpose of an enterprise is to delivery products of services - if all the employees will spend their time writing blogs and wikis, then "2.0" is just synonym for "disaster". This is pretty much an acknowledgement that 2.0 is associated with "surf the web more".

9. A number of Enterprise 2.0 projects will see lower than expected returns due to excessive structure and low social interaction: this one is a no-brainer ... introduction of new technologies (thinking of SOA in this iteration) will always deliver (in the context of the average enterprise) less than expected returns - there are models of SOA that explain how as projects (services released and shared) progress the ROI increases.

8. Compliance tools will get the rug pulled out from under them as users flock to easier tools out of desperation: yet another no-brainer ... SOX is a burden over the average enterprise, think of the complexities of implementing non-regulatory processes (CMM, Price, TOGAF, Zachman) and why it is so expensive (in human resources & money) to not to have the "rug" pulled out of them, SOX compliance will be more of a miracle!

7. It will be a make or break year for the first round of Enterprise 2.0 tools that add a process aspect: "add a process aspect" ... don't quite get that one ... BPEL ? content flow ? both are new technologies ... or are this business processes within the enterprise ? head hurts by now ...

6. Not a dent will be made in 2007 in the installed base of pre-existing collaborative tools such as e-mail, telephone, and IM. : is this a prediction ? a lot of enterprises are consolidating platforms, a lot of telephony systems have just been installed, IM technologies are still emerging and corporates hardly understand how they operate - even users are still too colloquial to spot something extremely useful about IM, it is just another way of sending emails, when emails are too short - ... doubt much will change for a while.

5. Consumerization of the enterprise will continue apace and will help drive Enterprise 2.0 adoption at the grassroots level. : uhmmm don' t quite get this one! if an employee 'blogs' publicly, it will be sanctioned. 'private' blogging, and wikis are not understood - people still prefer documents that can be printed (kill the rain forest!!!) and print as many as versions are published ! cooperative environments are still too futuristic (i remember my collaborative/groupware seminar back in 1996 ... still a lot of that hasn't seen the light within the "1.0" scope)

4. A surprisingly fierce battle will ensue between the big software makers and the small Enterprise 2.0 startups.: are we talking about dotcom 2.0 ? ... the battle will be mainly in terms of over priced startups (most of them, not all) and how enterprises will try to mitigate costs of acquisition ...

3. Effective enterprise search will emerge as a key prerequisite for Enterprise 2.0 success.: good ideas are pre-requisites of success of any enterprise - search is just a tool to find information! Good search engines, good search queries and good documents are all requirements to make good use of the information, one of them missing (mainly "good documents") and it doesn't matter how smart you make your search infrastructure - information will be misplaced.

2. A few high-profile misuses of Enterprise 2.0 will crop up but will fail to put much of a damper on things.: and this is just by using the law of averages ... ?

1. Enterprise 2.0 and Office 2.0 will face off as leading new terms for online business software and no one will win: "Enterprise 2.0 is a broad a term" ... I say "enterprise is a broad term" ... office is just a tool (again) that enables - "office 1.0" has been misused - and "office 2.0" will also be misused - bad architectures give bad results, the "think tactical, develop tactical" paradigm used by most enterprises is what dooms themselves !

I guess that article was written for the pure of heart ... I am sorry!

Wednesday, January 03, 2007

The holidays are over

OK ... I've been too busy to post, mainly because of the perils of work ... mainly too tired to post from the hotel room!

Whilst I've been busy not posting, been entertained by reading ... finished "The Equation That Couldn't Be Solved: How Mathematical Genius Discovered the Language of Symmetry" by Mario Livio ... half the way through the book, it started to come back ... the Abelian groups, incredible to remember them as I've not actually ever had to use them in practice, but anyway ... that was it. Now have moved on to my next concurrent set of books (i read a few pages of some of them every night, the most entertaining one or a "priority one" is coming with me on the plane for faster reading):
Also suffering from a mild cold :( shame shame !