||Subscribe to riisbrich.dk
Send me an email
© Copyright 2017
Powered by: newtelligence dasBlog 2.0.7180.0
Wednesday, 13 February 2008
|Is SOA spelled with a Web Services|
To follow up on the post about SOA from the other week, one of the SOA related things I find myself discussing with customers / colleagues / people in general, again and again is whether there is an equal sign between SOA and Web Services?
Put in another way – do you have to have Web Services in your architecture to be able to give it the big SOA label?
… as such the post could end there, but OK, let’s dig a little deeper into things.
Am I against Web Services? No, that’s not it. Web Services are great and the right solution in many scenarios. They are easy to implement and have the ability to work across platforms – when implemented correctly.
The problem is that for years already whenever there was a need to expose a service there has been a tendency to default to achieving this through implementing a Web Service. Often without considering what’s already there.
I have even seen cases where a certain operation existed within a legacy system but because it wasn’t exposed in a satisfactory way (read through a web service) and that wasn’t possible from the legacy system – the entire operation was reimplemented and exposed in the wanted way.
As I wrote the other week, to me, one of the important points when designing a SOA architecture, is to utilize existing functionality. This also goes for interfaces. If there is a way to access existing functionality – be it through an old API, a stored procedure or even exchanging files – if it meets the requirements utilize the existing interface.
Of course the old interfaces will often come short some way or the other when presented with an up to date set of requirements, and then we can implement a new interface and if there is really no other way, the entire operation behind the interface.
And then I agree that web services might be the better, faster approach to a new interface … or is it!? WCF is looking good, more on that in the future.
|Wednesday, 13 February 2008 16:14:13 (Romance Standard Time, UTC+01:00)|
Monday, 28 January 2008
|The SOA mindset|
These days I get to talk a lot about SOA and it excites me – it truly does – so I keep on talking.
To me one of the most important things when defining a SOA architecture is not really to do with technical aspects at all but the entire mindset around it. Unlike a pattern or a best practice I don’t think there is a step by step way of getting from ‘We want a SOA architecture’ to ‘We got a SOA architecture’. Instead you have to get your mind on the right track and think the right thoughts in a number of ways.
I have the following suggested guidelines that we always try to go by when approaching a new project at Vertica A/S – also none SOA ones, so feel free to apply the approach across all your customer engagements.
Think in business processes and in how to support and optimize them. Think in combining and utilizing different services and operations from across the IT landscape to help make the processes flow.
Utilize the existing components already found within the running systems. SOA is very much about exposing and utilizing already existing functionality from within legacy systems instead of re-coding. Involve people who know these systems.
Involve the business users as early and often as possible. No matter how much you try to see things from their perspective you’re never going to be as good at it as they are themselves.
Ask their opinions and get their requirements directly from their own mouth – yes meet with them! Try to explain things to them so they actually understand what’s going on. More often than not this will help the project as you might discover things that aren’t really making any sense because you simply can’t explain them.
Ensuring the involvement of business users this is normally one of the best ways to ensuring an actual feeling of value and success in the business.
Support real needs but prepare for the future when defining a scope for your project and designing a solution to support it. Do not insist on implementing a lot of not needed features, but listen to the customer and meet their actual requirements all the while you’re not allowing the existing needs be too much of a limitation for your design and always suggest improvements where you see fit.
It’s all about finding the very thin line – and remembering that no matter how flexible a solution you implement there will be unforeseen surprises in the future.
I am aware that being a consultant you have a wish to sell as many hours as possible but more often than not delivering the right solution is better than delivering the biggest solution – in the long run this will typically give you a happy customer who keeps coming back.
Challenge the customer whenever you can and have a valid and well argumented reason. You’re job is to ensure the customer the best possible solution – not to accept everything they say! It is always going to be healthy to be challenged on your ‘beliefs’ also for your customer.
Take things in small steps if you can as opposed to a ‘big bang’ approach. Deliver often and focus on the areas where there is the most to gain. Choose one business process / use case and implement (if needed) and expose the needed services to support that. Do not insist on building up a complete service library for all process in your customer business before deploying anything to production.
At the end of the day SOA is little more than a new label to, what I believe has always been the core of the IT business. Working together with the customer on getting even more value out of their IT systems – existing and new ones.
Perhaps the most important part is the strong focus on exposing operations and services – again existing and new – and combining them across systems to support the processes of the business.
|Monday, 28 January 2008 15:35:46 (Romance Standard Time, UTC+01:00)|
Sunday, 16 December 2007
|On bikes, mud holes and clearing the head|
A couple of months ago I bought a new bike, a mountain bike, specifically a Scott Scale 40, 2006 model (link to 2007 model). It’s fantastic, absolutely fantastic. It has a very nice frame, excellent suspended Fox 32 F100RL fork and great gears from Shimano. All in all a fantastic new toy.
Throughout the years I have tried lots of different sports, I play or have played football, badminton and tennis; I have swum, kayaked, gone to the gym and I still regularly run. To me the key thing across all of these is that I have to have fun doing them. If not I just can’t get myself out the door. And riding my new bike is so much fun! Don’t get me wrong, it’s hard (we are talking “having to stop and catch your breath and fight the urge to through up” kind of hard) but fun – that’s the beauty of it.
Just to underline, I had a trip a few weeks back where I spent a couple of hours beating myself up on the bike in the forest and had my first crash, rode through my first pool of mud and almost ran in to a deer! How great is that!
And all the time I had fun and although I was in the middle of a lot of work and had my head full of too many things I totally ‘forgot’ it all for a couple of hours. The trip actually took place the day before I went to a potential client to present an important proposal. And finally we are closing in on the point of this post – yes there was one, right from the start – the clearing of heads.
I believe that clearing your head is one of the most important things you can do. I believe that letting everything go for a while is one of the healthiest things there is. To walk away from an obstacle when having stared at it long enough. If you have been digging in to a problem and simply can’t seem to find a solution; let it go; think about something else and come back later – more times than not this will help. I now it does for me.
Now for this to work your head needs to be cleared as much as possible and right now my bike does that for me. How you do it is up to you – go clear your head!
|Sunday, 16 December 2007 16:50:02 (Romance Standard Time, UTC+01:00)|
Wednesday, 28 November 2007
|XPath and Namespaces|
When you work with BizTalk, you work with XML, and when you work with XML, you are bound to run in to the need to do simple queries against an XML file. The answer of course is XPath queries; essentially just a matter of indicating a path through an XML file leading to a specific element – or set of elements – you want to extract.
As is the case – again when working with BizTalk – these files will typically have one or several namespaces. I created two very similar XML files for the sample (full links to all files are found at the end of the post). The files are invoices and have a standard items loop with some references at the item level that I will be accessing. In overview the files look like the following.
What I want is to find the value of the reference to the order number for the first Item. That is the value of the ReferenceValue element when the sibling ReferenceType element has a value of ‘OrderNumber’.
XML with one namespace
1 <?xml version="1.0" encoding="utf-8" ?>
2 <ns0:Invoice xmlns:ns0="http://XPathTest/Schemas/Invoice">
For our file with one namespace this is quite simple as XPath assumes all elements in our query are from the default namespace – because nothing else is expressed. Therefore we only have to include the name of the elements in our query which ends up looking like the following.
I am applying two different filters; the index filter to get the first Item element out of a number of repeating elements and a value filter to get the Reference element where the child ReferenceType element has a specific value.
With two namespaces
1 <?xml version="1.0" encoding="utf-8" ?>
2 <ns0:Invoice xmlns:ns0="http://XPathTest/Schemas/Invoice">
4 <ns2:Item xmlns:ns2="http://XPathTest/Schemas/Item">
For our file with two namespaces we have to indicate the namespaces for all the elements not found in the default namespace of the file which strongly affects the readability as can be seen from the resulting query. (Where I have added line brakes for readability only)
2 /*[local-name()='Item' and namespace-uri()
3 /*[local-name()='Reference' and namespace-uri()
4 /*[local-name()='ReferenceType' and namespace-uri()
='http://XPathTest/Schemas/Item' and .= 'OrderNumber']
6 /*[local-name()='ReferenceValue' and namespace-uri()
2. The index filter is applied in the same way as with the file with one namespace.
4. For the file with one namespace we applied the value filter at the level of the Reference element where we could indicate we only wanted that element when the child called ReferenceType had a specific value.
For the file with two namespaces we have to move down to the actual ReferenceType element and indicate we only want that element when it has a specific value.
5. Then we move back up to the parent of the – the Reference element.
6. Because we really want to move back down to the ReferenceValue element – which is want we wanted to find.
If you want to grab the files and test for yourself:
File with one namespace
File with two namespaces
Text file with the two XPath queries
|Wednesday, 28 November 2007 20:50:19 (Romance Standard Time, UTC+01:00)|
Thursday, 08 November 2007
Safely back from the SOA and BPM Conference in Seattle with a head full of new ideas and still tired from jet lag, this is just a quick post to summarize the conference and show some of the promised pictures.
As expected it was a great conference with lots of good sessions. After a first day, full of high level keynotes giving a good preview of Microsoft’s visions for the future on several aspects of the SOA world, it all got a bit more technical on the following days.
I saw an excellent session deep diving into the new WCF adapters for BizTalk Server 2006 R2. It was hosted by Aaron Skonnard and although it was on fast forward – an hour really isn’t much to go through WCF and the new adapter framework – it gave a good impression on how it will make BizTalk an even better backbone for a service oriented solution. The easy exposing of services through WCF combined with the strength of the technology together with BizTalk seems a really nice approach to inter service communication. I will try to post a little further on this in the coming weeks.
Another great session was on testing BizTalk solutions, held by Darren Jefford, one of the writers of the book, Professional BizTalk Server 2006. The session was really a walkthrough of best practices, and most of it can be found in that very book. It is always nice to have things repeated though and especially when it is something you just need to know on a subject most of us probably neglect – testing.
Finally there were two sessions on the ESB guidance by Marty Wasznicky. I think I have already used ‘fast forward’ in this post, but that’s ok because the term really doesn’t begin to describe these two sessions. In the first one Marty had just gotten the final build of the guidance and did a complete install as a demo including running a couple of the included samples. I really must say they have gone a long way from the earlier CTP builds I have looked at and I am looking forward to getting my hands on this final build and installing it on my machine – another thing there will probably be further postings on in the future.
Finally I just wanted to include one last picture, actually from the conference of ’06 and not this year. Take a look at the guys computer – I really like the picture.
|Thursday, 08 November 2007 10:12:41 (Romance Standard Time, UTC+01:00)|
Thursday, 01 November 2007
Wednesday, 31 October 2007
|SOA and BPM Conference - Day 1, Oslo unveiled|
After spending a couple of days sightseeing in the Seattle area (sorry no pictures yet – didn’t bring the cable for my digital) and desperately trying to adjust to the time difference (sorry no luck there either, still waking up at 5 in the morning) the conference was finally kicked of yesterday.
One day down of the most important thing to come out of it is Microsoft’s announcement of their vision for the future around working with SOA and services in general.
They call it Oslo and more than just being a name for a new product it is an overall vision for the next wave of products with the promise to help us cross lots of the boundaries we meet when implementing solutions today. They want to help us solve the problems we all have when we find us selves’ communication with other trading partners or even other departments within our own company. They want to help us break out of the silos which today too often stand in the way of truly cooperating towards the better solution.
They will deliver new unified ways of working together all the way from modeling our services across requirement gathering, specifications, designing, implementing and deploying. For this they will launch an all new tool actually demoed in the key note, called Universal Editor – a just about broad enough name. The tool will allow people involved in a project to work together on modeling the new solution indifferent of their unique approach – as it is a universal editor. All the time working on the same base of data and information stored in a new repository they will also be launching.
All in all, in spite of the very early and overall introduction to their visions it promises well for the future.
ISB (Internet Service Bus)
Another heavily discussed topic of the day was the ISB – the Internet Service Bus – which will bring the good ideas and loosely build architecture of the ESB to the internet. Extending the values gained from the ESB all the way to the external trading partners.
For simplicity the ISB can be seen as a hosted ESB, allowing for ‘everybody’ to utilize it’s publish/subscribe capabilities to expose and consume services. From the start Microsoft will host an ISB and it is actually their approach that smaller companies can communicate across this – how ever there is no reason why others shouldn’t host their own, a thing that in my mind is probably more likely to happen.
Finally Microsoft also launched their all new SOA website this morning.
|Wednesday, 31 October 2007 14:46:37 (Romance Standard Time, UTC+01:00)|
Saturday, 27 October 2007
|SOA and Business Process Conference|
I am Excited! I am sitting in the Copenhagen Airport feeling a little strange after a very overpriced spaghetti bolognaise, looking at a good eleven hours flight ahead of me – and still I am exited!
I am heading to the Microsoft SOA and Business Process Conference, held by the BizTalk team, right there on the Microsoft campus in Redmond. I was lucky enough to attend the same conference last year and it was great.
There were a lot of really good speakers talking about interesting things that they actually knew something about. A fine mix between sessions with business, architect and developer approaches to the world of service oriented solutions and process management. And I even got to see a couple of quite deep technical ones as well. Another overall thing I liked about the conference was that all the speakers had a realistic and practical approach to what service orientation is and how it can be utilized. No sales talk – at least not too much – and no “SOA is the answer to all the questions you can come up with”.
And the conference was the first time I heard (I think this goes for most people) about the ESB guidance from Microsoft – I saw two excellent presentations on it given by Marty Wasznicky and Richard Seroter the masterminds behind the project. I think it is safe to say that even though the solution behind the guidance is big and quite a mouthful it contains so many good ideas and approaches that there should be something in there for everybody working with BizTalk solutions at a certain level.
Anyway I am heading back to the conference again this year and am really excited to be going. And although I admit that I due to quite a heavy workload in the last couple of weeks haven’t looked as much at the agenda and sessions, I know that there will be a lot of good stuff this year as well.
I hope to be posting throughout the conference so come back anytime for an update.
|Saturday, 27 October 2007 12:33:51 (Romance Standard Time, UTC+01:00)|
Friday, 26 October 2007
|Welcome to Riisbrich.dk|
My name is Troels Riisbrich Underlien. I am an IT Consultant / Developer / Trainer / Microsoft BizTalk 2006 Technology Specialist (if you look at my Microsoft certifications) / Solution Architect – call me what you like – I work in IT.
At the end of the day I am a geek, I drink Coca Cola, the reel kind, not the diet stuff, I get lost in technicalities and like to. Obviously it is important to add that a geek is a positive thing in my world (as it would have to be). A geek to me is someone who knows his trade and is good at it – someone who is passionate about what he does; passionate in general.
One of the most important things in life is passion – together with excitement; the ability to get excited about everything in life, even the small things. Appreciate both wherever you come across them. Behind these two is the craving for knowledge and expanding your horizon.
Oh, and the existence of geeks is in no way limited to my line of work – we are everywhere.
I work at Vertica which I founded with a couple of friends in 2001 right when the .com rollercoaster ride was coming to an end, the IT World and entire trade was under pressure and companies were closing around us at a dizzying speed.
Coming from one of these companies we started Vertica with a simple – fell free to add naive – mindset; to actually deliver what the customers needed; deliver true value; solve real problems – and have fun doing it.
Vertica is a solution provider within the Microsoft world. We focus primarily on Commerce, Application / Business Integration and Process Management Solutions. Personally I am involved in the integration and process management parts as the leader of the team handling those solutions.
I want to work with exiting and passionate people – the two abilities again. I want to know my colleagues beyond “hello” in the morning. I want to be challenged by them and by the tasks given to me. I want to learn and expand my horizon – also outside the technical world. And I want to feel as if I am making a difference to the customers. We do our best to make Vertica a place where these statements can be met and I try to do it every day myself.
This is not an easy task – at any level. For the company it basically requires the right people to start with; secondly to work towards a matching united mindset. Personally it requires a certain attitude from me; an approach to everything I do and towards my colleagues and customers. It’s a tough one – but I believe we are getting there.
Enough about me and my world for now – I hope that you have gotten some impression of both and I hope you will be coming back. I will be writing about technicalities, yes; BizTalk, yes; but also about all sorts of other things – I really can’t say what will excite me enough tomorrow or next week that I will post it here.
So you really have to come back to find out – ‘till then, go get exited!
|Friday, 26 October 2007 14:48:33 (Romance Standard Time, UTC+01:00)|