<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>Riisbrich.dk - SOA</title>
    <link>http://www.riisbrich.dk/</link>
    <description>virtual playground</description>
    <language>en-us</language>
    <copyright>Troels Riisbrich Underlien</copyright>
    <lastBuildDate>Wed, 13 Feb 2008 15:14:13 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7180.0</generator>
    <managingEditor>troels@riisbrich.dk</managingEditor>
    <webMaster>troels@riisbrich.dk</webMaster>
    <item>
      <trackback:ping>http://www.riisbrich.dk/Trackback.aspx?guid=5a6cdfe8-6e84-45ed-b3ae-b76bf8e571b7</trackback:ping>
      <pingback:server>http://www.riisbrich.dk/pingback.aspx</pingback:server>
      <pingback:target>http://www.riisbrich.dk/PermaLink,guid,5a6cdfe8-6e84-45ed-b3ae-b76bf8e571b7.aspx</pingback:target>
      <dc:creator>Riisbrich</dc:creator>
      <wfw:comment>http://www.riisbrich.dk/CommentView,guid,5a6cdfe8-6e84-45ed-b3ae-b76bf8e571b7.aspx</wfw:comment>
      <wfw:commentRss>http://www.riisbrich.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=5a6cdfe8-6e84-45ed-b3ae-b76bf8e571b7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
To follow up on the <a href="http://www.riisbrich.dk/2008/01/28/TheSOAMindset.aspx">post
about SOA</a> 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? 
</p>
        <p>
Put in another way – do you <i>have to have</i> Web Services in your architecture
to be able to give it the big SOA label? 
</p>
        <p>
No. 
</p>
        <p>
… as such the post could end there, but OK, let’s dig a little deeper into things. 
</p>
        <p>
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 – <i>when</i> implemented correctly. 
</p>
        <p>
The problem is that for years already whenever there was a need to expose a service
there has been a tendency to <i>default</i> to achieving this through implementing
a Web Service. Often without considering what’s already there. 
</p>
        <p>
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. 
</p>
        <p>
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. 
</p>
        <p>
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 <i>then</i> we can implement a new interface
and if there is really no other way, the entire operation behind the interface. 
</p>
        <p>
And <i>then</i> I agree that web services might be the better, faster approach to
a new interface … or is it!? <a href="http://msdn2.microsoft.com/en-us/netframework/aa663324.aspx" target="_blank">WCF</a> is
looking good, more on that in the future.
</p>
        <img width="0" height="0" src="http://www.riisbrich.dk/aggbug.ashx?id=5a6cdfe8-6e84-45ed-b3ae-b76bf8e571b7" />
      </body>
      <title>Is SOA spelled with a Web Services</title>
      <guid isPermaLink="false">http://www.riisbrich.dk/PermaLink,guid,5a6cdfe8-6e84-45ed-b3ae-b76bf8e571b7.aspx</guid>
      <link>http://www.riisbrich.dk/2008/02/13/IsSOASpelledWithAWebServices.aspx</link>
      <pubDate>Wed, 13 Feb 2008 15:14:13 GMT</pubDate>
      <description>&lt;p&gt;
To follow up on the &lt;a href="http://www.riisbrich.dk/2008/01/28/TheSOAMindset.aspx"&gt;post
about SOA&lt;/a&gt; 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? 
&lt;p&gt;
Put in another way – do you &lt;i&gt;have to have&lt;/i&gt; Web Services in your architecture
to be able to give it the big SOA label? 
&lt;p&gt;
No. 
&lt;p&gt;
… as such the post could end there, but OK, let’s dig a little deeper into things. 
&lt;p&gt;
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 – &lt;i&gt;when&lt;/i&gt; implemented correctly. 
&lt;p&gt;
The problem is that for years already whenever there was a need to expose a service
there has been a tendency to &lt;i&gt;default&lt;/i&gt; to achieving this through implementing
a Web Service. Often without considering what’s already there. 
&lt;p&gt;
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. 
&lt;p&gt;
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. 
&lt;p&gt;
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 &lt;i&gt;then&lt;/i&gt; we can implement a new interface
and if there is really no other way, the entire operation behind the interface. 
&lt;p&gt;
And &lt;i&gt;then&lt;/i&gt; I agree that web services might be the better, faster approach to
a new interface … or is it!? &lt;a href="http://msdn2.microsoft.com/en-us/netframework/aa663324.aspx" target="_blank"&gt;WCF&lt;/a&gt; is
looking good, more on that in the future.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.riisbrich.dk/aggbug.ashx?id=5a6cdfe8-6e84-45ed-b3ae-b76bf8e571b7" /&gt;</description>
      <comments>http://www.riisbrich.dk/CommentView,guid,5a6cdfe8-6e84-45ed-b3ae-b76bf8e571b7.aspx</comments>
      <category>SOA</category>
    </item>
    <item>
      <trackback:ping>http://www.riisbrich.dk/Trackback.aspx?guid=f0202ad1-2d9d-4d3f-92bb-b39406d557fa</trackback:ping>
      <pingback:server>http://www.riisbrich.dk/pingback.aspx</pingback:server>
      <pingback:target>http://www.riisbrich.dk/PermaLink,guid,f0202ad1-2d9d-4d3f-92bb-b39406d557fa.aspx</pingback:target>
      <dc:creator>Riisbrich</dc:creator>
      <wfw:comment>http://www.riisbrich.dk/CommentView,guid,f0202ad1-2d9d-4d3f-92bb-b39406d557fa.aspx</wfw:comment>
      <wfw:commentRss>http://www.riisbrich.dk/SyndicationService.asmx/GetEntryCommentsRss?guid=f0202ad1-2d9d-4d3f-92bb-b39406d557fa</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
These days I get to talk a lot about SOA and it excites me – it truly does – so I
keep on talking. 
</p>
        <p>
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 <i>got</i> a SOA architecture’. Instead you have to get
your mind on the right track and think the right thoughts in a number of ways. 
</p>
        <p>
I have the following suggested guidelines that we always try to go by when approaching
a new project at <a href="http://www.vertica.dk" target="_blank">Vertica A/S</a> –
also none SOA ones, so feel free to apply the approach across all your customer engagements. 
</p>
        <p>
          <b>Think in business processes</b> 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. 
</p>
        <p>
          <b>Utilize the existing </b>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. 
</p>
        <p>
          <b>Involve the business users</b> 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. 
</p>
        <p>
Ask their opinions and get their requirements directly from their own mouth – <i>yes
meet with them!</i> 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. 
</p>
        <p>
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. 
</p>
        <p>
          <b>Support real needs but prepare for the future</b> 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. 
</p>
        <p>
It’s all about finding the very thin line – and remembering that no matter how flexible
a solution you implement there <i>will</i> be unforeseen surprises in the future. 
</p>
        <p>
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 <i>right</i> solution is better than delivering
the biggest solution – in the long run this will typically give you a happy customer
who keeps coming back. 
</p>
        <p>
          <b>Challenge the customer</b> whenever you can and have a valid and well argumented
reason. You’re job is to ensure the customer the best possible solution – <i>not</i> to
accept everything they say! It is always going to be healthy to be challenged on your
‘beliefs’ also for your customer. 
</p>
        <p>
          <b>Take things in small steps</b> if you can<b></b>as opposed to a ‘big bang’ approach.
Deliver often and focus on the areas where there is the most to gain. Choose <i>one</i> 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. 
</p>
        <p>
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. 
</p>
        <p>
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.
</p>
        <img width="0" height="0" src="http://www.riisbrich.dk/aggbug.ashx?id=f0202ad1-2d9d-4d3f-92bb-b39406d557fa" />
      </body>
      <title>The SOA mindset</title>
      <guid isPermaLink="false">http://www.riisbrich.dk/PermaLink,guid,f0202ad1-2d9d-4d3f-92bb-b39406d557fa.aspx</guid>
      <link>http://www.riisbrich.dk/2008/01/28/TheSOAMindset.aspx</link>
      <pubDate>Mon, 28 Jan 2008 14:35:46 GMT</pubDate>
      <description>&lt;p&gt;
These days I get to talk a lot about SOA and it excites me – it truly does – so I
keep on talking. 
&lt;p&gt;
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 &lt;i&gt;got&lt;/i&gt; a SOA architecture’. Instead you have to get
your mind on the right track and think the right thoughts in a number of ways. 
&lt;p&gt;
I have the following suggested guidelines that we always try to go by when approaching
a new project at &lt;a href="http://www.vertica.dk" target="_blank"&gt;Vertica A/S&lt;/a&gt; –
also none SOA ones, so feel free to apply the approach across all your customer engagements. 
&lt;p&gt;
&lt;b&gt;Think in business processes&lt;/b&gt; 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. 
&lt;p&gt;
&lt;b&gt;Utilize the existing &lt;/b&gt;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. 
&lt;p&gt;
&lt;b&gt;Involve the business users&lt;/b&gt; 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. 
&lt;p&gt;
Ask their opinions and get their requirements directly from their own mouth – &lt;i&gt;yes
meet with them!&lt;/i&gt; 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. 
&lt;p&gt;
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. 
&lt;p&gt;
&lt;b&gt;Support real needs but prepare for the future&lt;/b&gt; 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. 
&lt;p&gt;
It’s all about finding the very thin line – and remembering that no matter how flexible
a solution you implement there &lt;i&gt;will&lt;/i&gt; be unforeseen surprises in the future. 
&lt;p&gt;
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 &lt;i&gt;right&lt;/i&gt; solution is better than delivering
the biggest solution – in the long run this will typically give you a happy customer
who keeps coming back. 
&lt;p&gt;
&lt;b&gt;Challenge the customer&lt;/b&gt; whenever you can and have a valid and well argumented
reason. You’re job is to ensure the customer the best possible solution – &lt;i&gt;not&lt;/i&gt; to
accept everything they say! It is always going to be healthy to be challenged on your
‘beliefs’ also for your customer. 
&lt;p&gt;
&lt;b&gt;Take things in small steps&lt;/b&gt; if you can&lt;b&gt; &lt;/b&gt;as opposed to a ‘big bang’ approach.
Deliver often and focus on the areas where there is the most to gain. Choose &lt;i&gt;one&lt;/i&gt; 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. 
&lt;p&gt;
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. 
&lt;p&gt;
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.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.riisbrich.dk/aggbug.ashx?id=f0202ad1-2d9d-4d3f-92bb-b39406d557fa" /&gt;</description>
      <comments>http://www.riisbrich.dk/CommentView,guid,f0202ad1-2d9d-4d3f-92bb-b39406d557fa.aspx</comments>
      <category>SOA</category>
    </item>
  </channel>
</rss>