Category Archives: SOA

Recommended SOA reading

Following is the list of very good books on SOA topic. I have used them as a reference and methodology for SOA.

Enterprise SOA:
Service-Oriented Architecture Best Practices

By Dirk Krafzig,
Karl Banke,
Dirk Slama
………………………………………..
Publisher: Prentice Hall
Pub Date: November 09, 2004
Print ISBN-10: 0-13-146575-9
Print ISBN-13: 978-0-13-146575-6
Pages: 408

 

Service-Oriented Architecture (SOA): A Planning and
Implementation Guide for Business and Technology

By Eric A. Marks , Michael Bell
………………………………………..
Publisher: Wiley; 1 edition
Pub Date: April 28, 2006
Print ISBN-10: 0471768944
Print ISBN-13: 978-0132344821
Pages: 384

SOA in Practice:
The Art of Distributed System
By Nicolai M. Josuttis
………………………………………..
Publisher: O’Reilly
Media, Inc.
Pub Date: August 24, 2007
Print ISBN-10: 0596529554
Print ISBN-13: 978-0596529550
Pages: 342

 

Service-oriented Architecture Compass:
Business Value, Planning, and Enterprise Roadmap
By Norbert Bieberstein, Sanjay Bose, Marc Fiammante, Keith Jones, Rawn Shah
………………………………………..
Published by FT Press, 2005
ISBN 0131870025, 9780131870024
232 pages
 
http://books.google.com/books?id=NISyExeJ5mAC&printsec=frontcover

Technical vs. Business interface in SOA

keyboardmouseThere was a powerful interface that has been introduced on  early days of computers – Mr. Keyboard. The keyboard was very proud on himself since he could handle any technical commands that were necessary to control the computer. However later  with introducing of graphical screens a new interface came – Mrs. Mouse. Mrs. Mouse always argued that she is much more better than keyboard since she can quickly navigate and click over the windows and move objects quickly. Drag’n’drop was her favorite benchmark and higher granularity interface of mouse gestures was alpha and omega. Mr. Keyboard was frustrated, however he knew that there will be always need for precise command and control and that command line is a second nature of computers. Later on some engineers came and suggested to unite those two interfaces into one. They called it ‘One Input’ the result of the project was mouse covered on each of her button with small keys to handle commands. – it was called – “Keyboardmouse” ..the reason for this device was clear – we want to have just one interface into computer and be able to switch between advanced keyboard and easy to use mouse just by one hand button…There was a big show of this new approach showing connected/disconnected mode – when the mouse is on desk – you are connected and can use the mouse functionality, however when you lift mouse up, you can’t use anymore mouse functions since you are disconnected, but then you can use keyboard as ‘remote control’ device ;) …it really exist just I can’t understand why this marriage  haven’t reached yet wide adoption…

 

The point:

 

The Keyboard – this is a technical (Service Provider) interface

The Mouse – it is a business (Service Consumer) interface

they just can’t live on one port….

SOA reincarnation

First of all – don’t worry –  if Anne Thomas Manes is saying SOA is dead, she means that SOA has already reincarnated under different ‘Avatar’. [This is  replay to Anne Thomas Manes blog “SOA is dead;Long Live Services” on http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html. ]
SOA term is heavily overloaded (and misused) and the term ‘SOA’ means different things for different people.  

SOA is service-centric approach with FWTH :  First WHAT (service) and Then HOW (the service will be implemented). Sounds simple but how many time have you heard that you must first start with processes first (the HOW) ? Example: you can wish to have a nice car, you can wish to have a key, fuel and you can master the process of enetring the car and driving. But unless the driving itself is your objective, your aim is to be in some place in right time. So first set your objective (location and time in this example), then deal with HOW (by car, by plane, teleport [star trek], clone yourself [?!] , etc..)

 

focusonwhat

fig.1 Focus on "WHAT" - focus on services

 

for the  blog statements:
 

I  agree with following statements:

“…the requirement for service-oriented architecture is stronger than ever”
“Organizations desperately need to make architectural improvements to their application portfolios. Service-orientation is a prerequisite for rapid integration of data and business processes; it enables situational development models, such as mashups,; and it’s the foundational architecture for SaaS and cloud computing.”
 

“SOA needs to be part of something bigger. If it isn’t, then you need to ask yourself why you’ve been doing it.”
 

I would just comment following statement:

“SOA is not simply a matter of deploying new technology and building service interfaces to existing applications; it requires redesign of the application portfolio”

 ..first note that in prior statement she is talking about IMPROVEMENTS to the application portfolio, but then, here is talking about REDESIGN
(redesign require more resources and investments than improvements)
 This statement is the idealistic SOA, or it is in contrast to the statement that SOA is renovation, not revolution – you don’t destroy whole building just to build from scratch new one. Not at all – you need to do smart renovation to reuse prior investments.

..moreover  we must start somewhere, defining contracts and stable service interfaces is the first step towards flexibility in refactoring service providers as well as consumer applications that are using those service contracts.

 …also she is not taking into consideration in this statement appliantization.  Appliance = Service host + Service Provider that implements service contracts. Appliance is new higher granularity service in fact. Virtualization uses the term ‘partitioning of hardware’ – the technique that allocates certain hardware resources for some software needs (consider software services). Virtualization doesn’t require HW vendors to completely throw away their architecture and build new one, it just enables you to effectively use whole potential of the current HW investment. The same applies for  original(legacy) applications – we need to do some ‘partitioning’ to enable flexible services without redesigning whole application architecture.  Of course for new projects/solutions the story is different – you can build up new architecture from scratch if you have enough resources – but this is usualy not the case of the current ‘financial asteroid’. In this respect I believe current economic climate just boost services, SaaS business model, cloud computing, virtualization and appliantization to maximize reusability of prior investments and fully utilize the hidden potential of current applications in production…all of that is based on principles of SOA (and Anne is somehow mentioning that in her prior statements)

 ..finally I am missing more  ‘mashups’ of siloed IT knowledge  to get some really BIG PICTURE of IT (and it’s support for  business)- something that Nick Carr is touching  (from very high perspective) in his book “The Big Switch”

Software + Services: The convergence of SaaS, SOA and Web 2.0

my outlines of  Beat Swegler (Microsoft) presentation  “Software + Services: The convergence of SaaS, SOA and Web 2.0”,

 

 

Trends in IT

            SaaS – you have off premise software, you are outsourcing that

SOA – it is about service composition – you  assemble solution from different artifacts, how you build them, how you sell them

 

Web2.0 – multiple people able author and multiple to consume: internet applications that explicitly leverage network effects. Not necessary tight to Web Browsers but to applications

 

“Data is the next Intel Inside” – VE, Google Earth – every one can get images – the data what people put on top of the underlying data – this is the value.  It is not enough to think only about functionality.

“Software above the level of the single device”

 

 

Business Models:

Subscription/License based model: Models are based on the book “Place to Space” by Peter Weill

 

 

SaaS – is about service delivery

SOA – about service composition

Web 2.0 – economics + UX

 

all together S+S

 

 

S+S Lifecycle;

monetize (-license fees)->build (single tenant)->run -> consume (smart client)

 

Example : Outlook &Exchange

 

        Per user storage of data

        On/Offline capability

        Calendar/Folder

        Support different client types

 

 

Business Models

S+S Examples

S+S Platforms

 

 

Example: Eve Online

        leading Massive Multiplayer Online Game

        All users play in one single virtual world

        Graphics engine running on client

 

Monetize _>Build (highly scalable SQL server cluster) ->Consume (smart client leveraging GPU) ->Run

 

Command based –sending commands to objects in the game.(ships) to minimize network traffics

 

Photosynth – get value from data but also nice UX

 

        Cloud based service

        Consumed by rich application

 

HardRock sample (deepzoom technology) – memorabila.hardrock.com

British Library – five treasures

 

 

Platform for S+S:

 

1.     Live Service – targeting consumers, no IT involvements, Consumer oriented

2.     Online services – targeting businesses

 

Microsoft Service portfolio: (see above)

 

Oslo : will become our platform for building services that range from on premise to cloud space – you build stuff and later you decide how you gonna host the stuff. it is service delivery platform that come with some service creation aspects.

 

Exploring services:

Build Services:

1.     fundamental thing is scalability  – linear proportional between added resources and performance gained. I know how much performance I get if I get one box.

 

2.     Cost efficiency – because I can switch providers – competitors are on clouds as well

3.     Customizable – enterprise want to customize much more than SMB

4.     integration cap. – how do I integrate with my services

5.     Multi tenancy vs. Virtualization – do I want to create a fix instance for every tenant. or in a way that multiple tenants run in one instance.

 

ð more economical sense !

 

From Mega Hertz to Mega Watt – how many megawatts we use. ?

 

 

If you have well run data center – you are carbon neutral

Hosting choice

        On-premise

        Partner hosted

        Cloud based

 

Reducing carbon footprint:

        e.g. Quincy is carbon neutral

        consumer gets carbon unit credited

 

 

Consume – Criteria

SMB

            greatest potential for SaaS

        reduced IT management

        Relevance of the application – must for SMB

        Affordability

 

Enterprise

        reduce IT management

        Relevance of application

        Customizability and integration capabilities

        SLA

        TCO

 

 

Consumer Expectations:

Consumer:

        Free, ad funded or small fee

        can live with downtimes

SMB:

        affordable service delivery

Enterprise:

            – SLA with predictable maintenance . windows

 

 

 

SLA :

how can we become more reliable and HA than internet infrastructure.

 

        Internet availability challenges:

o    application avail vs. internet infras. avail

o   how to get more 9s than the electricity providers

        Requires an integrated and holistic operation-management story

 

 

 

Dealing with Service Outages:

        leverage cloud services as geo-backup

        duplicating cloud providers

 

 

Monetize

        license fee based model

        transaction fees (more in SaaS)

        Subscription fees

        Freemium (advertized sponsored)

 

Example : Amazon S3

S3 Simple Storage Service

        write, read, and delete objects (1 byte to 5 gigabytes each)

        objects are stored in buckets and retrieved via unique keys

        provided REST and SOAP based interfaces

o   Rest: (follows web pattern) Get, PUT ,Delete

o   SOAP (RPC way) : CreateBucket(),,,,

 

Amazon – enable scalability

 

The risk of cloud computing:

        problem with authentication overload and DoS  – 2 hours outage. (from 1 month it is within 10%)

 

Example BizTalk Services:

        Messaging

o    message routing and identif. in cloud

o   identity provides simple access control

 

        Identity

 

 

 

        Pub/Sub via URIs

        directional messaging via URIs

 

interesting for cloud interaction/integration services

 

Popfly (yahoo pipes?)  tool for mashing up:

what will happen if we have smooth transition between application -cloud

 

 

  

 

Closing :

        cloud based services will become more important

        some application are born to live in the cloud, others definitely not. – what drives you to put something in cloud – scale ? data ? you can gain ?

        future services platforms will provide a broad range of deployment choices. –

o   my dream would be: write application and define how you gonna host it (later in deployment decision)

 

Q&A:

        how you get the services into your operational and management story

        cloud services are for SMB most appropriate.