What I use Gmail For 

Gmail is wonderful. It gives you around 1GB of storage space for no-spam email. It can give you even more.

How I use it:

  • When I get my mail to my laptop, I do not delete it from the server
  • When I get mail on my main machine, I have it setup so that messages are deleted after a month of residing on the server. Yes, Outlook has this option. This gives me more than enough time to grab the messages from the server with my laptop, before they are deleted.
  • I have a message rule on my main machine which forwards all incoming messages to my Gmail account

Why?

I love having all messages stored. And I have everything stored on my main machine. But, since Gmail has 1GB of fast-search-capable storage I prefer browsing through my mail using remote Gmail than my local Outlook. Implicitly I get web access to all my email.

We're probably more that three years away from achieving this on our local machines.

Categories:  Other | Personal
Monday, 30 August 2004 21:09:20 (Central Europe Standard Time, UTC+01:00)  #    Comments

 

 Three GMail Accounts Available 

I've got three GMail accounts to spare.

First three comments with a valid email get a GMail invitation.

Categories:  Other
Monday, 30 August 2004 08:04:11 (Central Europe Standard Time, UTC+01:00)  #    Comments

 

 WS-Eventing: SQL Persistance Provider 

Update: Memory persistance included

In my previous posts I said I will write a SQL based persistence provider for Plumbwork.Orange WS-Eventing implementation and help John Bristowe a bit.

It's done now, as is memory based persistance option, but since http://www.gotdotnet.com still has problems with workspaces, I cannot upload it.

Classes can be downloaded here:

All you need to do is replace one line in SubscriptionManagerFactory.cs:

return new XmlSubscriptionManager() as ISubscriptionManager;

With:

return new SqlSubscriptionManager() as ISubscriptionManager;

or

return new MemorySubscriptionManager() as ISubscriptionManager;

Since some members of the workspace are already working on configuration application block integration, all config data should go in there someday.

My implementation now uses SQL Server as a subscription storage for durable WS-Eventing subscriptions. System.Collections.Hashtable is used in memory based persistance model. Complete support includes:

  • Creating a subscription
  • Removing a subscription
  • Renewing a subscription
  • Expiring a subscription

When GDN Workspaces come back online, I will post this to Plumbwork.Orange.

Categories:  Web Services | XML
Friday, 27 August 2004 10:48:47 (Central Europe Standard Time, UTC+01:00)  #    Comments

 

 WS-Eventing 

John writes:

I'm thankful Matevz didn't blast me for my über-crappy persistance model (read "save to C:\subscriptions.xml"):

Give LOCAL SERVICE account permissions to write/modify the c:\ directory. By default Plumbwork.Orange.Eventing.dll will write subscriptions file (called subscriptions.xml) there.

This line (above) - due to my extreme laziness while coding - makes me shudder. This is something I really, really, really need to clean up.

[Via http://www.bristowe.com]

I agree that next version should include a config option to use Plumbwork.Orange.Eventing.MemorySubscriptionManager instead of Plumbwork.Orange.Eventing.XmlSubscriptionManager.

Even better would be to add SqlSubscriptionManager, which I can do, when I get into the GDN workspace.

Categories:  Web Services | Work | XML
Tuesday, 24 August 2004 09:11:21 (Central Europe Standard Time, UTC+01:00)  #    Comments

 

 WS-Eventing Implementation 

WS-Eventing Application

It took me half of today to implement a WS-Eventing based service, together with service control application and demonstration client.

I took Plumbwork.Orange implementation of WS-Eventing stack. It includes WSE 2.0 based implementation of WS-Eventing specification, written by John Bristowe. Latest post about updates can be found here.

How it works

Windows service queries message queue (MSMQ) after the period elapses. If it finds any messages, they are dispatched to all registered clients.

There is a service control application, which can enroll new messages into the queue.

There's also a simple client which you can use to register and receive notifications.

Availability

You can download the bits from here:

  • Installer package for WS-Eventing windows service, which does registrations and sends notifications back. Grab it here. Source is available here.
  • Source code, which you can use to compile the service control application. Grab it here.
  • Source code, which you can use to compile the WS-Eventing client. Grab it here.

Do the following:

  • Install WS-Eventing service.
  • Update WSEventingService.exe.config with desired endpoint address, MSMQ query period and queue name
  • Give LOCAL SERVICE account permissions to write/modify the c:\ directory. By default Plumbwork.Orange.Eventing.dll will write subscriptions file (called subscriptions.xml) there.
  • Start the service using SCM (Service Control Manager). Service will automatically create the specified queue. Note: You should have Message Queuing installed.
  • Start the service control application.
  • Start the client. It will register automatically.
  • Send notification using the service control application and watch it emerge on the client side.

If you get into trouble, please email me. Have fun!

Categories:  Web Services | Work | XML
Sunday, 22 August 2004 22:49:46 (Central Europe Standard Time, UTC+01:00)  #    Comments

 

 Services <> Web Services 

A great post by Clemens in which he does a beautiful distinction between services and web services.

My thoughts would be:

  • Service is a self consistent piece of software which MAY use one or more web services for communication with the outside world.
  • As always, web services MUST be considered to be within the presentation layer of the solution. They just do not spit HTML out, they prefer XML.

MAY and MUST are to be interpreted as defined in RFC 2119.

Categories:  Web Services | XML
Wednesday, 18 August 2004 13:06:45 (Central Europe Standard Time, UTC+01:00)  #    Comments

 

 WSE 2.0 Router 

How simple is it to implement WS-Addressing based router using WSE (Web Services Enhancements) 2.0?

Try this:

  1. Add the following to a vanilla web.config:
         <system.web>
            <httpHandlers>
                <add verb="*" path="*.asmx"
    type="Microsoft.Web.Services2.Messaging.SoapHttpRouter, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            </httpHandlers>
         </system.web>
  2. Add this too:
         <microsoft.web.services2>
            <referral>
                <cache name="referralCache.config" />
            </referral>
         </microsoft.web.services2>
  3. Create a referral cache file (save as referralCache.config):
    <?xml version="1.0" ?>
    <r:referrals xmlns:r="http://schemas.xmlsoap.org/ws/2001/10/referral">
      <r:ref>
        <r:for>
          <r:exact><!-- SOURCE URI --></r:exact>
        </r:for>
        <r:if />
        <r:go>
          <r:via><!-- DESTINATION URI --></r:via>
        </r:go>
        <r:refId>uuid:fa468856-0057-4e11-962a-81c5e292f2ae</r:refId>
      </r:ref>
    </r:referrals>
  4. Allow NETWORK SERVICE account write access to referral cache file.
  5. Create an ASP .NET application out of this VRoot.

All SOAP requests sent to your source URI will be redirected to your destination URI. You should be careful to add SoapActor attribute with the appropriate actor URI to your destination service.

Your referral cache file is locked from the moment of first SOAP request, so changing it is impossible without shutting down IIS (or at least the app pool which is serving it).

It is possible and advised that when changing URIs you create another referral cache file and change web.config's microsoft.web.services2/referral/cache element.

Categories:  Web Services
Monday, 16 August 2004 20:52:58 (Central Europe Standard Time, UTC+01:00)  #    Comments

 

 Changing faces 

IBM.

They just changed its face and turned Mother Teresa.

They are now going to donate code to open source community while being one of the fathers of closed source initiative.

And if they are planing to donate their database product, why not donate DB2 instead of Java based Cloudscape?

[via ft.com]
IBM will continue to offer its own version of Cloudscape. It believes that some customers will use it in preference to the open source version in order to take advantage of the company's technical support.

What? If the idea is to offer some code to people who want to learn concepts and improve, why don't they want to participate in the game?

Target?

Microsoft.

Categories:  Other | Personal | Work
Tuesday, 03 August 2004 22:27:16 (Central Europe Standard Time, UTC+01:00)  #    Comments

 

 Sun Worries 

I'm a little bit scared of this.

Not because of SuSE aquisition. It worries me because of Mono aquisition.

Categories:  Mono | Personal
Tuesday, 03 August 2004 22:09:53 (Central Europe Standard Time, UTC+01:00)  #    Comments

 

Copyright © 2003-2024 , Matevž Gačnik
Recent Posts
RD / MVP
Feeds
RSS: Atom:
Archives
Categories
Blogroll
Legal

The opinions expressed herein are my own personal opinions and do not represent my company's view in any way.

My views often change.

This blog is just a collection of bytes.

Copyright © 2003-2024
Matevž Gačnik

Send mail to the author(s) E-mail