Yesterday ends on La Rambla fully packed with Glasgow Rangers fans. I hope the Rangers will win today because I want to see something in Barcelona but just the burnt out city. But let's back to the conference itself. Below you can find some information about sessions I attended and I think are worth to be mentioned.
Service Taxonomy: A Common Language for SOA
It wasn't exactly what I was expecting but that was maybe even better. Shy Cohen presented his idea for service taxonomy. I'm not yet sure if I will agree with that. Most of peoples had the same feelings and Shy had to limit questions to be able to finish the session.
What is service taxonomy? Shy realised that different services works in different way and also should be treated differently. When we are thinking about services it's in their most generic meaning. Not just default web services. Shy suggest creating four categories: Communication, Utility, Application and Framework.
Communication services, according to Shy, are working only as communication bridge exposing interfaces for management and monitoring. They can be (or should) not secured and all errors are handled on network level. They should also expose generic schema-agnostic interface for clients. Examples are routing, publishing etc.
Utility services are ... utility. We have here everything from discovery, through STS up to services us schema translation. Generally there are all services that are not related to any business. They should contain error handling and reporting.
Application services are the biggest group which is pretty obvious as this group contains all services related to business or system functionality. Shy group them into entity, availability, capability and process. Entities are just CRUD services. Their function is to handle some entity and work with data store. They are "nouns". Quite similar are ability services. Their role is to read and return datasets without even strong types. Other group are capability services, "verbs", which offer some action. They have some precise role to do, such as making order, creating customer etc. Roles offered by capability services are simple, atomic and they are used by last process services. Process services are like a sentence, which uses "nouns" (entities) and "verbs" (capability) to create business process. They are basically workflows. Applications services are the mission critical for the whole system. They can have state, transactions etc. They should be monitored and managed and error handling is usually defined by business conditions (SLA).
Life Beyond Distributed Transactions: An Apostate's Opinion
That was Pat Helland in distributed transaction mode. For those who didn't saw Pat's ideas for distributed transactions (like me) that was great time. Generally conclusion is that local transactions are great but distributed transaction sucks. It's hard not to agree with that opinion when you consider all consequences of distributed transaction. I will not explain whole Pat's idea here. Topic is bit difficult and not as easy as looks like so I don't want to explain something wrong. You should rather wait for recorded session and see all that yourself.
Understanding Claims-Based Identity
I'm just learning about SSO, Federation and all that stuff so that was the topic of the day for me. Keith Brown slipped into the topic that is not easiest in the way that makes everything so easy. First he explained what claims are and how identity works. Then, with few simple examples he show how to build services that uses claims. Big part of the presentation was also focused on tokens and implementing identity across the boundaries. Bad news is that we have to write our own STS. Details of that session would be too long so if you are interested take a look to the recording.
11-07-2007 8:59 AM