On February 25th 2009, there was an interoperability workshop in Madrid where I have presented “Intergraph SOA solutions for European SDI”.You can download it right here: http://www.ign.es/ign/home/cen_tc/documentation/11_Intergraph.pdf
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
There 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..)

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.