<?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:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>morty@home - WSE</title>
    <link>http://blog.morty.info/</link>
    <description>The Future is a Mix of Violet and Blue</description>
    <language>en-us</language>
    <copyright>morty</copyright>
    <lastBuildDate>Wed, 19 Apr 2006 20:48:04 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.2.8279.16125</generator>
    <managingEditor>spam@morty.info</managingEditor>
    <webMaster>spam@morty.info</webMaster>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=9ee6bf4b-643f-4dcc-8e15-8a07d0fe71dd</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=9ee6bf4b-643f-4dcc-8e15-8a07d0fe71dd</pingback:target>
      <dc:creator>Morten Abrahamsen</dc:creator>
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=9ee6bf4b-643f-4dcc-8e15-8a07d0fe71dd</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=9ee6bf4b-643f-4dcc-8e15-8a07d0fe71dd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Some time back a coworker and I released a sample compression filter for WSE 2.0 nicknamed
“WS-Compression”, this sample was later enhanced and finally converted to a WSE 3.0
compliant filter. 
</p>
        <p>
As it turns it has further evolved into a WCF compression filter available from this
blog <a href="http://weblogs.asp.net/cibrax/archive/2006/03/29/441398.aspx">post</a>. 
</p>
        <p>
Interesting how things work out!
</p>
      </body>
      <title>WCF Compression Filter</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=9ee6bf4b-643f-4dcc-8e15-8a07d0fe71dd</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=9ee6bf4b-643f-4dcc-8e15-8a07d0fe71dd</link>
      <pubDate>Wed, 19 Apr 2006 20:48:04 GMT</pubDate>
      <description>&lt;p&gt;
Some time back a coworker and I released a sample compression filter for WSE 2.0 nicknamed
“WS-Compression”, this sample was later enhanced and finally converted to a WSE 3.0
compliant filter. 
&lt;/p&gt;
&lt;p&gt;
As it turns it has further evolved into a WCF compression filter available from this
blog &lt;a href="http://weblogs.asp.net/cibrax/archive/2006/03/29/441398.aspx"&gt;post&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Interesting how things work out!
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=9ee6bf4b-643f-4dcc-8e15-8a07d0fe71dd</comments>
      <category>Indigo</category>
      <category>Tools</category>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=6519d2c8-e48b-4c24-afc2-6e949f9d2c30</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=6519d2c8-e48b-4c24-afc2-6e949f9d2c30</pingback:target>
      <dc:creator>Morten Abrahamsen</dc:creator>
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=6519d2c8-e48b-4c24-afc2-6e949f9d2c30</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=6519d2c8-e48b-4c24-afc2-6e949f9d2c30</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It is great to see that someone has a taken an interest in the WSE compression filters
I’ve been working on. <a href="http://blog.morty.info/CommentView.aspx?guid=656acbe3-f10e-4969-a917-b4fe3d5ecccd">Rodolfo
Finochietti</a> has added several new features to the code base. 
</p>
        <p>
        </p>
        <li>
Compress attachments 
</li>
        <li>
More algorithms (Deflate, Zip) 
</li>
        <li>
Compression level (set through compression context) 
</li>
        <li>
Threshold. Compresses according to the minimum message size (body size plus all attachments
size) 
</li>
        <li>
Several other improvements and code cleaning. 
<p></p><p>
This is really exciting news. Great work Rodolfo!
</p><p>
You find a list of download links <a href="http://weblogs.asp.net/andresv/archive/2004/09/14/229647.aspx">here</a>,
or you can download it directly from this <a href="http://prototypes.shockbyte.com.ar/PO-WSCompression2.zip">link</a>. 
</p></li>
      </body>
      <title>WSE: Another Compression Filters Update!</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=6519d2c8-e48b-4c24-afc2-6e949f9d2c30</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=6519d2c8-e48b-4c24-afc2-6e949f9d2c30</link>
      <pubDate>Thu, 16 Sep 2004 19:55:39 GMT</pubDate>
      <description>&lt;p&gt;
It is great to see that someone has a taken an interest in the WSE compression filters
I&amp;#8217;ve been working on. &lt;a href="http://blog.morty.info/CommentView.aspx?guid=656acbe3-f10e-4969-a917-b4fe3d5ecccd"&gt;Rodolfo
Finochietti&lt;/a&gt; has added several new features to the code base. 
&lt;/p&gt;
&lt;p&gt;
&lt;li&gt;
Compress attachments 
&lt;li&gt;
More algorithms (Deflate, Zip) 
&lt;li&gt;
Compression level (set through compression context) 
&lt;li&gt;
Threshold. Compresses according to the minimum message size (body size plus all attachments
size) 
&lt;li&gt;
Several other improvements and code cleaning. 
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
This is really exciting news. Great work Rodolfo!
&lt;/p&gt;
&lt;p&gt;
You find a list of download links &lt;a href="http://weblogs.asp.net/andresv/archive/2004/09/14/229647.aspx"&gt;here&lt;/a&gt;,
or you can download it directly from this &lt;a href="http://prototypes.shockbyte.com.ar/PO-WSCompression2.zip"&gt;link&lt;/a&gt;. 
&lt;/p&gt;
&lt;/li&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=6519d2c8-e48b-4c24-afc2-6e949f9d2c30</comments>
      <category>Security</category>
      <category>Tools</category>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=6465a916-c80c-48b6-88b8-3cb29db46131</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=6465a916-c80c-48b6-88b8-3cb29db46131</pingback:target>
      <dc:creator>Morten Abrahamsen</dc:creator>
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=6465a916-c80c-48b6-88b8-3cb29db46131</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=6465a916-c80c-48b6-88b8-3cb29db46131</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810/">WS-Addressing</a>,
a vital piece of XML Web Services infrastructure, has just been submitted to the <a href="http://www.w3.org/">W3C</a>.
</p>
        <p>
With <a href="http://www.oasis-open.org/committees/wss">WS-Security</a> being an official <a href="http://www.oasis-open.org">OASIS</a> standard,
and WS-Addressing entering the <a href="http://www.w3.org/Consortium/Process">W3C
standardization process</a>, we may soon be looking at the first stable set of advanced
web services infrastructure. 
</p>
        <p>
These two specifications form the foundation of the <a href="http://msdn.microsoft.com/webservices/building/wse/">Microsoft
Web Services Enhancements</a> toolkit's functionality. Perhaps we will soon say goodbye
to backwards incompatibility and short support lifecycles in this particular area.
</p>
        <p>
As always, it is great fun to follow the advances.
</p>
      </body>
      <title>WS-Addressing makes its way to W3C</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=6465a916-c80c-48b6-88b8-3cb29db46131</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=6465a916-c80c-48b6-88b8-3cb29db46131</link>
      <pubDate>Tue, 10 Aug 2004 20:23:12 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810/"&gt;WS-Addressing&lt;/a&gt;,
a vital piece of XML Web Services infrastructure, has just been submitted to the &lt;a href="http://www.w3.org/"&gt;W3C&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
With &lt;a href="http://www.oasis-open.org/committees/wss"&gt;WS-Security&lt;/a&gt; being an official &lt;a href="http://www.oasis-open.org"&gt;OASIS&lt;/a&gt; standard,
and WS-Addressing entering the &lt;a href="http://www.w3.org/Consortium/Process"&gt;W3C
standardization process&lt;/a&gt;, we may soon be looking at the first stable set of advanced
web services infrastructure. 
&lt;/p&gt;
&lt;p&gt;
These two specifications form the foundation of the &lt;a href="http://msdn.microsoft.com/webservices/building/wse/"&gt;Microsoft
Web Services Enhancements&lt;/a&gt; toolkit's functionality. Perhaps we will soon say goodbye
to backwards incompatibility and short support lifecycles in this particular area.
&lt;/p&gt;
&lt;p&gt;
As always, it is great fun to follow the advances.
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=6465a916-c80c-48b6-88b8-3cb29db46131</comments>
      <category>Architecture</category>
      <category>Indigo</category>
      <category>Security</category>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=656acbe3-f10e-4969-a917-b4fe3d5ecccd</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=656acbe3-f10e-4969-a917-b4fe3d5ecccd</pingback:target>
      <dc:creator>Morten Abrahamsen</dc:creator>
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=656acbe3-f10e-4969-a917-b4fe3d5ecccd</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=656acbe3-f10e-4969-a917-b4fe3d5ecccd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I released some sample code for a <a href="http://msdn.microsoft.com/webservices/building/wse/default.aspx">WSE</a> compression
filter a few months back, and I have recently updated the code to be more in tune
with the look and feel of the WSE extension model.
</p>
        <p>
Since the initial release, I have submitted the code to the <a href="http://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=b700af79-5b27-4d71-bfbd-8df74fa68abe">Plumbwork
Orange</a> project on GotDotNet. If you are looking for the most up-to-date version
then that is definitely the place you would want to look. I have also made a snapshot
of just the compression code available for download <a href="http://morty.info/media/po-wscompression.zip">here</a>.
</p>
        <p>
Enjoy.
</p>
        <p>
This SOAP compression extension is an implementation of an idea by Martin Valland
and me, and it is in no way an official specification controlled by a standards body.
</p>
        <p>
This is a prototype implementation and it comes without warranty of any kind.
</p>
      </body>
      <title>WSE: Compression Filters Update</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=656acbe3-f10e-4969-a917-b4fe3d5ecccd</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=656acbe3-f10e-4969-a917-b4fe3d5ecccd</link>
      <pubDate>Wed, 28 Jul 2004 18:21:46 GMT</pubDate>
      <description>&lt;p&gt;
I released some sample code for a &lt;a href="http://msdn.microsoft.com/webservices/building/wse/default.aspx"&gt;WSE&lt;/a&gt; compression
filter a few months back, and I have recently updated the code to be more in tune
with the look and feel of the WSE extension model.
&lt;/p&gt;
&lt;p&gt;
Since the initial release, I have submitted the code to the &lt;a href="http://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=b700af79-5b27-4d71-bfbd-8df74fa68abe"&gt;Plumbwork
Orange&lt;/a&gt; project on GotDotNet. If you are looking for the most up-to-date version
then that is definitely the place you would want to look. I have also made a snapshot
of just the compression code available for download &lt;a href="http://morty.info/media/po-wscompression.zip"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Enjoy.
&lt;/p&gt;
&lt;p&gt;
This SOAP compression extension is an implementation of an idea by Martin Valland
and me, and it is in no way an official specification controlled by a standards body.
&lt;/p&gt;
&lt;p&gt;
This is a prototype implementation and it comes without warranty of any kind.
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=656acbe3-f10e-4969-a917-b4fe3d5ecccd</comments>
      <category>Tools</category>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=a8b4d4d4-0431-47c6-b519-8b77884633b9</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=a8b4d4d4-0431-47c6-b519-8b77884633b9</pingback:target>
      <dc:creator>Morten Abrahamsen</dc:creator>
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=a8b4d4d4-0431-47c6-b519-8b77884633b9</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=a8b4d4d4-0431-47c6-b519-8b77884633b9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
For those of you using the <a href="http://msdn.microsoft.com/webservices/">Microsoft
Web Services Enhancements 2.0</a> or my <a href="http://blog.morty.info/PermaLink.aspx?guid=877aed1e-cc93-496e-ab5a-5818b25c316d">WSE
“WS-Compression” filters</a> it is time to look at some very interesting
developments in that area. 
</p>
        <p>
Over the last few months, I have been participation in a GotDotNet project aimed to
provide free implementations of important WSE based infrastructure. You will find
everything from WS-protocol implementations to helper classes, examples of WSE extensibility
features and prototypes if some interesting ideas 
</p>
        <p>
With strong WSE personalities like <a href="http://www.bristowe.com/blog">John Bristowe</a> and <a href="http://weblogs.asp.net/cweyer/">Christian
Weyer</a> heading up the project this is definitely something that carries a lot of
potential. 
</p>
        <p>
Drop by the project workspace at <a href="http://workspaces.gotdotnet.com/plumbwork">GotDotNet</a>!
</p>
      </body>
      <title>WSE and Plumbwork Orange</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=a8b4d4d4-0431-47c6-b519-8b77884633b9</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=a8b4d4d4-0431-47c6-b519-8b77884633b9</link>
      <pubDate>Sat, 10 Jul 2004 08:31:29 GMT</pubDate>
      <description>&lt;p&gt;
For those of you using the &lt;a href="http://msdn.microsoft.com/webservices/"&gt;Microsoft
Web Services Enhancements 2.0&lt;/a&gt; or my &lt;a href="http://blog.morty.info/PermaLink.aspx?guid=877aed1e-cc93-496e-ab5a-5818b25c316d"&gt;WSE
&amp;#8220;WS-Compression&amp;#8221; filters&lt;/a&gt; it is time to look at some very interesting
developments in that area. 
&lt;/p&gt;
&lt;p&gt;
Over the last few months, I have been participation in a GotDotNet project aimed to
provide free implementations of important WSE based infrastructure. You will find
everything from WS-protocol implementations to helper classes, examples of WSE extensibility
features and prototypes if some interesting ideas 
&lt;/p&gt;
&lt;p&gt;
With strong WSE personalities like &lt;a href="http://www.bristowe.com/blog"&gt;John Bristowe&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/cweyer/"&gt;Christian
Weyer&lt;/a&gt; heading up the project this is definitely something that carries a lot of
potential. 
&lt;/p&gt;
&lt;p&gt;
Drop by the project workspace at &lt;a href="http://workspaces.gotdotnet.com/plumbwork"&gt;GotDotNet&lt;/a&gt;!
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=a8b4d4d4-0431-47c6-b519-8b77884633b9</comments>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=d0ea97f7-c240-4f28-a254-9af28f6cc67e</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=d0ea97f7-c240-4f28-a254-9af28f6cc67e</pingback:target>
      <dc:creator />
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=d0ea97f7-c240-4f28-a254-9af28f6cc67e</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=d0ea97f7-c240-4f28-a254-9af28f6cc67e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
There seems to be quite a few <a href="http://msdn.microsoft.com/webservices/building/wse">WSE</a> extension
projects out there. Some of them implement custom transports, some implement custom
filters and some implement public specifications.
</p>
        <p>
Perhaps we should consolidate our efforts and set up a project on a public server
like the GotDotNet workspaces. Create a <a href="http://www.sellsbrothers.com/tools/genghis/">Genghis</a> for
WSE if you will.
</p>
        <p>
Just a thought ;)
</p>
      </body>
      <title>Consolidating some WSE efforts</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=d0ea97f7-c240-4f28-a254-9af28f6cc67e</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=d0ea97f7-c240-4f28-a254-9af28f6cc67e</link>
      <pubDate>Fri, 05 Mar 2004 22:54:47 GMT</pubDate>
      <description>&lt;p&gt;
There seems to be quite a few &lt;a href="http://msdn.microsoft.com/webservices/building/wse"&gt;WSE&lt;/a&gt; extension
projects out there. Some of them implement custom transports, some implement custom
filters and some implement public specifications.
&lt;/p&gt;
&lt;p&gt;
Perhaps we should consolidate our efforts and set up a project on a public server
like the GotDotNet workspaces. Create a &lt;a href="http://www.sellsbrothers.com/tools/genghis/"&gt;Genghis&lt;/a&gt; for
WSE if you will.
&lt;/p&gt;
&lt;p&gt;
Just a thought ;)
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=d0ea97f7-c240-4f28-a254-9af28f6cc67e</comments>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=877aed1e-cc93-496e-ab5a-5818b25c316d</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=877aed1e-cc93-496e-ab5a-5818b25c316d</pingback:target>
      <dc:creator />
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=877aed1e-cc93-496e-ab5a-5818b25c316d</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=877aed1e-cc93-496e-ab5a-5818b25c316d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Matthew Lynn <a href="/CommentView.aspx?guid=e6579beb-6256-47b0-babf-f6ad409df647">asked</a> for
the WSE compression filter code, and <a href="http://morty.info/media/nsystem-wscompression.zip">here</a> it
is.
</p>
        <p>
My colleague Martin Valland and I wrote this code based on an idea we had for a compression
specification for web services. This implementation as well as the SOAP extensions
it relies upon is proprietary. As far as I know there is currently no publicly available
specification that addresses this particular subject.
</p>
        <p>
The code relies upon <a href="http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx">#ziplib</a> for
the compression algorithms.
</p>
        <p>
This is a prototype implementation and it comes without warranty of any kind.
</p>
      </body>
      <title>WSE: Compression Filters</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=877aed1e-cc93-496e-ab5a-5818b25c316d</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=877aed1e-cc93-496e-ab5a-5818b25c316d</link>
      <pubDate>Wed, 03 Mar 2004 19:08:59 GMT</pubDate>
      <description>&lt;p&gt;
Matthew Lynn &lt;a href="/CommentView.aspx?guid=e6579beb-6256-47b0-babf-f6ad409df647"&gt;asked&lt;/a&gt; for
the WSE compression filter code, and &lt;a href="http://morty.info/media/nsystem-wscompression.zip"&gt;here&lt;/a&gt; it
is.
&lt;/p&gt;
&lt;p&gt;
My colleague Martin Valland and I wrote this code based on an idea we had for a compression
specification for web services. This implementation as well as the SOAP extensions
it relies upon is proprietary. As far as I know there is currently no publicly available
specification that addresses this particular subject.
&lt;/p&gt;
&lt;p&gt;
The code relies upon &lt;a href="http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx"&gt;#ziplib&lt;/a&gt; for
the compression algorithms.
&lt;/p&gt;
&lt;p&gt;
This is a prototype implementation and it comes without warranty of any kind.
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=877aed1e-cc93-496e-ab5a-5818b25c316d</comments>
      <category>Tools</category>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=e6579beb-6256-47b0-babf-f6ad409df647</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=e6579beb-6256-47b0-babf-f6ad409df647</pingback:target>
      <dc:creator />
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=e6579beb-6256-47b0-babf-f6ad409df647</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=e6579beb-6256-47b0-babf-f6ad409df647</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We have been doing a lot of WSE testing at work while developing our new integration
infrastructure. As a part of this project we have built a filter for message level
compression in WSE.
</p>
        <p>
One of the interesting things we found out while performance testing the solution
was the speed increase resulting from message compression. The system we are building
transfers sensitive data across the internet and we are using X509 certificates for
integrity and confidentiality. Naturally, we had to apply the compression before the
security mechanisms were invoked, as compressing encrypted data isn’t efficient
at all. However compressing xml data is very efficient; often resulting in 80% smaller
message bodies.
</p>
        <p>
Having a smaller message body means that the encryption and signing process has a
lot less data to deal with, and this reduced the processing time significantly. We
did of course consider that the smaller payload would increase transfer performance,
but on our test-setup this was not a issue.
</p>
        <p>
The bottom line is that our initial testing shows that the gzip compression algorithm
is faster than the encryption and signing process used by WSE. This came as a surprise
to us as signing involves hashing and the encryption implementation uses a block cipher,
and neither of these should have performance issues with large amounts of data; at
least not compared to a compression algorithm!
</p>
        <p>
This topic requires a bit more research before I can reach a conclusion, but so far
I am a bit surprised. On the other hand, the results we are seeing could be related
to some other part of the process like the normalization algorithm.
</p>
        <p>
Having fun ;)
</p>
      </body>
      <title>WSE: Compression, Security and Performance</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=e6579beb-6256-47b0-babf-f6ad409df647</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=e6579beb-6256-47b0-babf-f6ad409df647</link>
      <pubDate>Sun, 15 Feb 2004 20:16:33 GMT</pubDate>
      <description>&lt;p&gt;
We have been doing a lot of WSE testing at work while developing our new integration
infrastructure. As a part of this project we have built a filter for message level
compression in WSE.
&lt;/p&gt;
&lt;p&gt;
One of the interesting things we found out while performance testing the solution
was the speed increase resulting from message compression. The system we are building
transfers sensitive data across the internet and we are using X509 certificates for
integrity and confidentiality. Naturally, we had to apply the compression before the
security mechanisms were invoked, as compressing encrypted data isn&amp;#8217;t efficient
at all. However compressing xml data is very efficient; often resulting in 80% smaller
message bodies.
&lt;/p&gt;
&lt;p&gt;
Having a smaller message body means that the encryption and signing process has a
lot less data to deal with, and this reduced the processing time significantly. We
did of course consider that the smaller payload would increase transfer performance,
but on our test-setup this was not a issue.
&lt;/p&gt;
&lt;p&gt;
The bottom line is that our initial testing shows that the gzip compression algorithm
is faster than the encryption and signing process used by WSE. This came as a surprise
to us as signing involves hashing and the encryption implementation uses a block cipher,
and neither of these should have performance issues with large amounts of data; at
least not compared to a compression algorithm!
&lt;/p&gt;
&lt;p&gt;
This topic requires a bit more research before I can reach a conclusion, but so far
I am a bit surprised. On the other hand, the results we are seeing could be related
to some other part of the process like the normalization algorithm.
&lt;/p&gt;
&lt;p&gt;
Having fun ;)
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=e6579beb-6256-47b0-babf-f6ad409df647</comments>
      <category>Security</category>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=78ed7bdc-aa86-4d18-be10-50477603f69f</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=78ed7bdc-aa86-4d18-be10-50477603f69f</pingback:target>
      <dc:creator />
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=78ed7bdc-aa86-4d18-be10-50477603f69f</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=78ed7bdc-aa86-4d18-be10-50477603f69f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Work continues on my little WSE project. Here is a more evolved piece of sample code...
</p>
        <pre>
          <code> [WebMethod] [WseProfile("Default")] [WseX509Security] [WseCompression(CompressionMode.GZip)]
[WseMessageBodyValidator("MyMessage.xsd")] public void MySecureMethod(int x, int y)
{ ... } </code>
        </pre>
      </body>
      <title>WSE and Attributes Evolved</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=78ed7bdc-aa86-4d18-be10-50477603f69f</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=78ed7bdc-aa86-4d18-be10-50477603f69f</link>
      <pubDate>Tue, 10 Feb 2004 17:48:26 GMT</pubDate>
      <description>&lt;p&gt;
Work continues on my little WSE project. Here is a more evolved piece of sample code...
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; [WebMethod] [WseProfile("Default")] [WseX509Security] [WseCompression(CompressionMode.GZip)]
[WseMessageBodyValidator("MyMessage.xsd")] public void MySecureMethod(int x, int y)
{ ... } &lt;/code&gt;&lt;/pre&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=78ed7bdc-aa86-4d18-be10-50477603f69f</comments>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=fed04beb-3618-4c48-b93f-343ac9a65ad9</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=fed04beb-3618-4c48-b93f-343ac9a65ad9</pingback:target>
      <dc:creator />
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=fed04beb-3618-4c48-b93f-343ac9a65ad9</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=fed04beb-3618-4c48-b93f-343ac9a65ad9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’ve been playing around with some ideas for WSE and attributes lately. This
is how my WSE enabled method looks right now. And before you start screaming about
policy; there we’ll be some rationale coming.
</p>
        <pre>
          <code> [WebMethod] [WseProfile(“Default”), WseX509Security] public
void MySecureMethod(int x, int y) { ... }</code>
        </pre>
      </body>
      <title>WSE and Attributes</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=fed04beb-3618-4c48-b93f-343ac9a65ad9</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=fed04beb-3618-4c48-b93f-343ac9a65ad9</link>
      <pubDate>Tue, 27 Jan 2004 21:15:53 GMT</pubDate>
      <description>&lt;p&gt;
I&amp;#8217;ve been playing around with some ideas for WSE and attributes lately. This
is how my WSE enabled method looks right now. And before you start screaming about
policy; there we&amp;#8217;ll be some rationale coming.
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; [WebMethod] [WseProfile(&amp;#8220;Default&amp;#8221;), WseX509Security] public
void MySecureMethod(int x, int y) { ... }&lt;/code&gt;&lt;/pre&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=fed04beb-3618-4c48-b93f-343ac9a65ad9</comments>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=6af4be3d-5535-4e96-9a1b-142e93c52171</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=6af4be3d-5535-4e96-9a1b-142e93c52171</pingback:target>
      <dc:creator />
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=6af4be3d-5535-4e96-9a1b-142e93c52171</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=6af4be3d-5535-4e96-9a1b-142e93c52171</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I read and hear that increased performance is one of the primary reasons for employing
secure conversation instead of PKI and X509 certificates. Usually these statements
are based upon the fact that PKI encryption is relatively slow. This becomes a problem
when large amounts of data are involved because the encryption algorithm used with
X509 certificates is not a block cipher. 
</p>
        <p>
I am not going to give an exhaustive explanation of how block ciphers work, but just
note that they scale very well as it’s usually just the first block that is
encrypted and then a chaining algorithm is applied to transform the next blocks based
on the encrypted output of the first block. The asymmetric algorithm used by X509
certificates splits the data up into chunks of the maximum allowed size and then encrypts
each one of them before chaining the encrypted blocks together. Moving back to the
topic at hand I would like to shed some light on the statement about performance and
secure conversation.
</p>
        <p>
If you use an X509 certificate to encrypt a message using WSE a symmetric key is generated.
This symmetric key is then used to encrypt the specified parts of the message. Finally,
it is this session key that is encrypted with the X509 certificate. This means that
the asymmetric PKI encryption is only used to encrypt a small key, and never the entire
document. As a result, the scalability of the asymmetric PKI encryption isn’t
really a big performance issue when used in this way.
</p>
        <p>
There is an overhead involved in generating and encrypting a new symmetric key for
each message, but how this affects the overall performance of your system depends
upon your architecture and distribution. I would think it would be a non-issue for
most internet-based applications. 
</p>
        <p>
There is of course also an overhead involved when initiating a secure conversation
as trust must be validated and the session key must be generated and distributed.
As a result, the amount of messages exchanged within each conversation becomes an
important factor when deciding on the performance impact.
</p>
        <p>
If you don’t need client authentication you may also use the secure conversation
session key to ensure integrity, and that will shave some cycles off using X509 certificates
for digital signatures.
</p>
        <p>
There are in other words performance concerns when using either one of these security
strategies, and which one is the fastest depends upon your architecture and usage
patterns.
</p>
      </body>
      <title>WSE, Secure Conversation and Performance</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=6af4be3d-5535-4e96-9a1b-142e93c52171</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=6af4be3d-5535-4e96-9a1b-142e93c52171</link>
      <pubDate>Tue, 13 Jan 2004 15:04:42 GMT</pubDate>
      <description>&lt;p&gt;
I read and hear that increased performance is one of the primary reasons for employing
secure conversation instead of PKI and X509 certificates. Usually these statements
are based upon the fact that PKI encryption is relatively slow. This becomes a problem
when large amounts of data are involved because the encryption algorithm used with
X509 certificates is not a block cipher. 
&lt;/p&gt;
&lt;p&gt;
I am not going to give an exhaustive explanation of how block ciphers work, but just
note that they scale very well as it&amp;#8217;s usually just the first block that is
encrypted and then a chaining algorithm is applied to transform the next blocks based
on the encrypted output of the first block. The asymmetric algorithm used by X509
certificates splits the data up into chunks of the maximum allowed size and then encrypts
each one of them before chaining the encrypted blocks together. Moving back to the
topic at hand I would like to shed some light on the statement about performance and
secure conversation.
&lt;/p&gt;
&lt;p&gt;
If you use an X509 certificate to encrypt a message using WSE a symmetric key is generated.
This symmetric key is then used to encrypt the specified parts of the message. Finally,
it is this session key that is encrypted with the X509 certificate. This means that
the asymmetric PKI encryption is only used to encrypt a small key, and never the entire
document. As a result, the scalability of the asymmetric PKI encryption isn&amp;#8217;t
really a big performance issue when used in this way.
&lt;/p&gt;
&lt;p&gt;
There is an overhead involved in generating and encrypting a new symmetric key for
each message, but how this affects the overall performance of your system depends
upon your architecture and distribution. I would think it would be a non-issue for
most internet-based applications. 
&lt;/p&gt;
&lt;p&gt;
There is of course also an overhead involved when initiating a secure conversation
as trust must be validated and the session key must be generated and distributed.
As a result, the amount of messages exchanged within each conversation becomes an
important factor when deciding on the performance impact.
&lt;/p&gt;
&lt;p&gt;
If you don&amp;#8217;t need client authentication you may also use the secure conversation
session key to ensure integrity, and that will shave some cycles off using X509 certificates
for digital signatures.
&lt;/p&gt;
&lt;p&gt;
There are in other words performance concerns when using either one of these security
strategies, and which one is the fastest depends upon your architecture and usage
patterns.
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=6af4be3d-5535-4e96-9a1b-142e93c52171</comments>
      <category>Security</category>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=ef65e7bb-416e-4f65-87ae-8e42981764bb</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=ef65e7bb-416e-4f65-87ae-8e42981764bb</pingback:target>
      <dc:creator />
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=ef65e7bb-416e-4f65-87ae-8e42981764bb</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=ef65e7bb-416e-4f65-87ae-8e42981764bb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have spent a lot time with WSE 2.0 in the last few weeks, and as both my code and
my mindset moves from testing and research to building production quality systems,
I am beginning to think about how hard it is to get the security choices right with
WSE 2.0.
</p>
        <p>
From a practical point of view, the move from plain ASP.NET Web Services to WSE and
WS-Security is about moving from the SSL checkbox in IIS to a fairly imperative and
challenging programming model in WSE 2.0. While the SSL-checkbox is inflexible and
does not provide you with a lot of room for configuration, it is reasonably simple
to get right. The WSE toolkit on the other hand provides you with a lot of room for
mistakes and bad decisions. Throw a bit of WS-SecureConversation and WS-Trust into
the mix and things really start to get interesting.
</p>
        <p>
Even though WSE is an advanced toolkit for early adopters, it is still being marketed
and generally perceived as the technology that will ensure secure web services. In
the real world, it needs to be easy to build secure services. This is not because
security is a simple concept to grasp, as it in fact is hugely complex, but because
it is a basic requirement in any software project. We need to be practical and provide
solutions that by default are as close to bulletproof as we can get them.
</p>
        <p>
Looking at the samples in the WSE 2.0 TP distribution, I fail to find one that ensures
integrity and confidentially for both the request and the response in a message exchange,
but I have not done an exhaustive search. Given the affection that exists for copy
and paste development, I am scared of what will travel from and to web services in
the next couple of years.
</p>
        <p>
I know that making the move to WSE is about a lot more than just migrating from SSL/
TLS to the WS-x family, but I think that it will be one of the most common scenarios.
</p>
        <p>
My current thinking is that I would not recommend using WSE unless you have a very
strong understanding of security and you have a dire need for the functionality it
provides.
</p>
        <p>
This entry seems a bit negative towards WSE, but I assure you that it is a great toolkit
with a lot of good stuff in it. My concern is with whether or not the migration from
SSL checkbox security to WSE-security is an evolution that will increase security
or be a great source for error and confusion. Simple end-to-end samples together with
practical prescriptive guidance may be a viable path towards solving this problem.
</p>
        <p>
I am just in the beginning of forming my opinions on this topic; perhaps they will
change.
</p>
      </body>
      <title>WSE and the Next Generation of Security</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=ef65e7bb-416e-4f65-87ae-8e42981764bb</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=ef65e7bb-416e-4f65-87ae-8e42981764bb</link>
      <pubDate>Wed, 31 Dec 2003 01:38:20 GMT</pubDate>
      <description>&lt;p&gt;
I have spent a lot time with WSE 2.0 in the last few weeks, and as both my code and
my mindset moves from testing and research to building production quality systems,
I am beginning to think about how hard it is to get the security choices right with
WSE 2.0.
&lt;/p&gt;
&lt;p&gt;
From a practical point of view, the move from plain ASP.NET Web Services to WSE and
WS-Security is about moving from the SSL checkbox in IIS to a fairly imperative and
challenging programming model in WSE 2.0. While the SSL-checkbox is inflexible and
does not provide you with a lot of room for configuration, it is reasonably simple
to get right. The WSE toolkit on the other hand provides you with a lot of room for
mistakes and bad decisions. Throw a bit of WS-SecureConversation and WS-Trust into
the mix and things really start to get interesting.
&lt;/p&gt;
&lt;p&gt;
Even though WSE is an advanced toolkit for early adopters, it is still being marketed
and generally perceived as the technology that will ensure secure web services. In
the real world, it needs to be easy to build secure services. This is not because
security is a simple concept to grasp, as it in fact is hugely complex, but because
it is a basic requirement in any software project. We need to be practical and provide
solutions that by default are as close to bulletproof as we can get them.
&lt;/p&gt;
&lt;p&gt;
Looking at the samples in the WSE 2.0 TP distribution, I fail to find one that ensures
integrity and confidentially for both the request and the response in a message exchange,
but I have not done an exhaustive search. Given the affection that exists for copy
and paste development, I am scared of what will travel from and to web services in
the next couple of years.
&lt;/p&gt;
&lt;p&gt;
I know that making the move to WSE is about a lot more than just migrating from SSL/
TLS to the WS-x family, but I think that it will be one of the most common scenarios.
&lt;/p&gt;
&lt;p&gt;
My current thinking is that I would not recommend using WSE unless you have a very
strong understanding of security and you have a dire need for the functionality it
provides.
&lt;/p&gt;
&lt;p&gt;
This entry seems a bit negative towards WSE, but I assure you that it is a great toolkit
with a lot of good stuff in it. My concern is with whether or not the migration from
SSL checkbox security to WSE-security is an evolution that will increase security
or be a great source for error and confusion. Simple end-to-end samples together with
practical prescriptive guidance may be a viable path towards solving this problem.
&lt;/p&gt;
&lt;p&gt;
I am just in the beginning of forming my opinions on this topic; perhaps they will
change.
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=ef65e7bb-416e-4f65-87ae-8e42981764bb</comments>
      <category>Security</category>
      <category>WSE</category>
    </item>
    <item>
      <trackback:ping>http://blog.morty.info/Trackback.aspx?guid=362e804f-5499-440e-9ba8-10e08bd1d463</trackback:ping>
      <pingback:server>http://blog.morty.info/pingback.aspx</pingback:server>
      <pingback:target>http://blog.morty.info/PermaLink.aspx?guid=362e804f-5499-440e-9ba8-10e08bd1d463</pingback:target>
      <dc:creator />
      <wfw:comment>http://blog.morty.info/CommentView.aspx?guid=362e804f-5499-440e-9ba8-10e08bd1d463</wfw:comment>
      <wfw:commentRss>http://blog.morty.info/SyndicationService.asmx/GetEntryCommentsRss?guid=362e804f-5499-440e-9ba8-10e08bd1d463</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’ve been quiet lately, mostly because I have been very busy with work. These
last couple of months has been intense and filled with SOAP, web services and the
SOA paradigm.
</p>
        <p>
After digging into Indigo and preparing for my overview presentation, I went strait
on to designing and building a new version of our integration infrastructure. The
solution relies heavily upon on WSE 2.0 and this has provided me with some interesting
challenges. Naturally, it also borrows some concepts and ideas from Indigo.
</p>
        <p>
Expect more details on my WSE 2.0 experience as I get both them and my mind organized.
</p>
      </body>
      <title>Work, WSE and Indigo</title>
      <guid isPermaLink="false">http://blog.morty.info/PermaLink.aspx?guid=362e804f-5499-440e-9ba8-10e08bd1d463</guid>
      <link>http://blog.morty.info/PermaLink.aspx?guid=362e804f-5499-440e-9ba8-10e08bd1d463</link>
      <pubDate>Wed, 31 Dec 2003 00:16:37 GMT</pubDate>
      <description>&lt;p&gt;
I&amp;#8217;ve been quiet lately, mostly because I have been very busy with work. These
last couple of months has been intense and filled with SOAP, web services and the
SOA paradigm.
&lt;/p&gt;
&lt;p&gt;
After digging into Indigo and preparing for my overview presentation, I went strait
on to designing and building a new version of our integration infrastructure. The
solution relies heavily upon on WSE 2.0 and this has provided me with some interesting
challenges. Naturally, it also borrows some concepts and ideas from Indigo.
&lt;/p&gt;
&lt;p&gt;
Expect more details on my WSE 2.0 experience as I get both them and my mind organized.
&lt;/p&gt;</description>
      <comments>http://blog.morty.info/CommentView.aspx?guid=362e804f-5499-440e-9ba8-10e08bd1d463</comments>
      <category>General</category>
      <category>WSE</category>
    </item>
  </channel>
</rss>