Thursday, October 06, 2005

It's a little geeky and doesn't carry much importance, but I just liked it from a political point of view...

NetBeans 5.0 Beta on Windows Vista September 2005 CTP:

I used the 1.5.0 update 5 JDK (from http://java.sun.com/) and the recently released NB installer ... worked like a charm and even the bugs are the same as under 2003 and XP. The icons in the file chooser dialog were also matched to the new Vista UI .. looked nice.

Thursday, October 06, 2005 1:51:41 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

If you are as lazy in activating Windows, as I am, you might also run into this problem:

When Longhorn hits the activation grace period, it will not log you in, unless you activate. To do this over the internet Vista will use your Internet Explorer proxy settings. So far so good, but what if that happens on the road with different proxy requirements?

Windows 2003 and XP would let you manually set the right proxy if it failed on the first attempt. Not so Vista: you cannot change the proxy settings in the activation dialog.

Here is the solution: Click on "Buy a new License Key Online" and IE will try to connect (and fail). You can however go into "Tools -> Internet Options" and correct your proxy settings.

Thursday, October 06, 2005 9:29:54 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Wednesday, October 05, 2005

Now here is a continuation of my little science project "How does TCP Transport work in Indigo?"

I noticed that the preamble that contains the location URL and the content type has a few length headers:

Now the $64000 question is what are the initial 00 01 00 01 02? And also: are the above fields really identifiers, and if so, what other are there (e.g. 00, 01, 03, ..?) Any takers?

 

Wednesday, October 05, 2005 4:41:17 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Friday, September 30, 2005

The new NetBeans web services client is quite nice. It is now almost as easy as with Visual Studio to integrate a web service into your application: After pointing the IDE to the WSDL, it generates the necessary proxies and you can then integrate them by right clicking your methods in the source editor and add web operations:

This works right out of the box with ASP.NET 2.0 web services, although it has some issues with complex types (like e.g. an ArrayList). Those get deserialized as SOAPElements which is workable, but requires some SOAP DOM coding.

Indigo (WCF) web services seem to have more issues - I guess this is related to Microsoft splitting up the WSDL into some smaller files (wsdl1, xsd0, etc.)

Friday, September 30, 2005 9:09:18 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Wednesday, September 28, 2005

If you are looking for a Java IDE, please take a look at the latest Netbeans 5.0 beta: http://www.netbeans.org/

Some of the new features:

  • Support for Tomcat, Sun Application Server, BEA WebLogic and JBoss
  • Massively improved GUI builder (Matisse)
  • Web Services client support built-in
  • Web Frameworks (JSF or Struts), including palette drag-and-drop

I will post more about this a little later.

Wednesday, September 28, 2005 11:17:42 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Wednesday, September 21, 2005

It seems obvious that the data in our web services needs to be framed. In the good old days, where all transport was HTTP this was rather trivial: HTTP headers are rich, and can describe Content-Type, Length etc.

But what happens if you select e.g. the net.tcp transport channel in Indigo?

Well, after pointing ethereal to the wire exchange, I came to the following conclusions:

  • All session relevant settings (charset, etc.) are exchanged during the connection setup
  • The length of the data is framed based on the relative TCP sequence number:
    • The initial relative TCP sequence number is 1
    • The next relative TCP sequence number is computed by adding the number of Bytes in the packet to the current TCP sequence number.

Interesting approach - standard TCP framing.

Wednesday, September 21, 2005 1:40:38 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Tuesday, September 20, 2005

During PDC, I learned that the WS-Policy vocabulary in WCF (formerly "Indigo") can be extended through IPolicyImporter/IPolicyExporter and IWSDLConverter. I guess I will play around with this in the next couple of week ...

Meanwhile, anybody who did this already?

Tuesday, September 20, 2005 5:48:12 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

Rob Relyea published a somewhat more comprehensive step-by-step list to get a Vista system loaded with WinFX and Visual Studio. Check it here.

NOTE: Everything except the Vista OS is publicly available, so go around, tell your friends and spread the bits.

UPDATE: Another important issue I ran into: When trying to install the VS2005 Beta 2 on Vista, it constantly failed and the installation stopped with an error when trying to install the MSXML 6.0 component. The solution is to install the MSXML 6.0 parser before you install VS 2005 Beta 2. The installer can be found in the VS directory in the subfolder wcu\msxml.

Tuesday, September 20, 2005 1:40:01 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Monday, September 19, 2005

Simon Guest and Kirill Gavrylyuk gave the .NET/Java Interoperability session on PDC this year. They didn't present any new groundbreaking technology, mostly the stuff we have already seen on JavaOne, but instead show RM, MTOM and Security. The format was quite funny, Simon playing a nervous patient, Kirill playing "Dr. WCF" collaborating with his peer "Dr. Java". Unfortunetely, they chose Apache Axis and WebLogic as their J2EE platforms, but well...

The patient doctor team:

Dr. WCF:

Monday, September 19, 2005 2:43:05 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1]  | 
Friday, September 16, 2005

Last night I went to one of the most under-advertised session at PDC. At 9:00pm the ShowOff team showed 22 short films by developers and small companies about their "that's cool!" projects.

Highlights included:

  • "Finalizer" - a WinCE powererd Battlebot
  • The BarCode service in 15 minutes
  • The steel-ball labyrinth game on the tablet PC that got motion tracking through a web cam
  • LegoLand entertainment park rides controlled by real-time CE and XP

As far as I know, these movies will be available sometime next week on channel 9.

Friday, September 16, 2005 11:49:52 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Thursday, September 15, 2005

There are a lot of things happening in the Indigo world, particularly in the interoperability area. Some notable pieces of information:

  • The latest build include the WSFederationBinding, which enables the use of SAML tokens within WCF. Based on the Claims model, it is really easy to convert between claims type like e.g. SAML or X.509, simply by writing our the claims in their respective formats.
  • Microsoft encourages two mode of activation for the ServiceHost: outside-in and inside-out. The former constructs a new ServiceHost(), configures it, and then Open() it. This is particularly useful for self-hosted applications. Inside-out is used in the context of container hosted services and requires sub-classing and overriding of the OnActivation() event handler.
    There are quite a few extension points (e.g. for Behaviors) in these approaches: during contstruction and by overriding the OnCreateDescription(), OnApplyConfiguration() event handlers, and when calling AddServiceEndpoints().
    Behaviors are very useful e.g. for putting state information into the ServiceHost.
  • The InfoCard subsystem of WCF is acting as an Identity Selector. It mainly uses WS-MEX, WS-Security, and WS-Trust. The latter is optional, but used by ADFS.
  • Channel Extensibility is necessary for remote operations, while ServiceModel extension typically handle local issues.
  • The BufferManager class is most useful to increase performance in the WCF stack – in fact, it might be the single most important performance booster they are using.
  • The XmlDictionaryReader for the Message body is used in the context of binary encoding, to improve the available initial vocabulary for the binary encoder.

The sessions I went to were not quite as architecture and strategy focused as they were in some of the past PDCs, but focused instead on how to use the API. Still, with a little processing, you could get a much better insight into the architecture.

Thursday, September 15, 2005 8:04:27 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

Copyright by Gerald Beuchelt.