Thursday, January 08, 2009

How to flush Cisco's VPN on a Mac

Cisco's VPN client usually works very well, however sometimes a weird issues pops up. If you get the issue of a 51 error (no subsystem with Internet communications) and in fact have an established connection with an IP address, this workaround will help. Rebooting does not seem to help in these cases.

1. Assuming you have installed the VPN client in the default location, open a shell.
2. You must be su to make this work so type the following:
"sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN restart"
3. This is case sensitive. If it works, you should see the results as shown below.

Hopefully, Cisco will figure out why the Mac OS X communications subsystem does not correctly represent its state to the VPN Client.

D.O.A. (Doom Oriented Architecture) replaces SOA!

Having now understood Anne Thomas Manes original post (and am in agreement) as well as reading Mark Little's Response as well as formulating my own, I have now come to realize the obvious.

Nothing we do will be remembered in 100 years!

I had a further epiphany:

If anything is in danger of being remembered in 100 years, someone will change the terms to confuse any observer as to it's origins and semantics!

Now why is that relevant to SOA? Well marketeers are really to blame. SOA is sort of funny because most people don't even know where the term came from in the first place. The ebXML Technical Architecture (circa 1999) used the term "services" throughout most of the document but did not actually use the exact term SOA. The United Nations CEFACT Electronic Business Architecture (circa June 2001) was the first to actually use the exact phrase "Service Oriented Architecture" in Section "4.0 Overview" where it explicitly states:

188 Some of the key feature capabilities of this architecture are:
190 • Platform independence.
191 • Event driven and Service Oriented Architecture.

The W3C Web Services Architecture (which I also worked on) also uses the term Service throughout the document and at roughly the same time as the UN/CEFACT work, added the specific term " 2.3.2 The Service Oriented Model" into the document.

As we all know, ebXML basically has no ISV following yet the principles of its messaging live on in WS-RX, WS-SX, SOAP and other similar protocols/standards under the WS-* umbrella. The thing itself did not die, just morphed into a butterfly.

That is why I am advocating the new term DOA or "Doom Oriented Architecture" since everything we seem to work on is in some way doomed by marketeers changing the buzzwords. Even within companies, terms like "Apollo" get changed to "AIR" which dooms any attempt by evangelists to build a consistent, non-confusing message. In a world of challenges, only doom is real. Doom is also a fun word to say and can be used to build a whole new world of acronyms given there are no good IT words that start with the letter "D".

Perhaps this is only a side effect of the IT industry's master plan to confuse the entire population of the world by constantly changing terms.

DOOM ORIENTED ARCHITECTURE - embrace the future. It's here! It's DOA!


Wednesday, January 07, 2009

MAX Japan

I got confirmation I will be presenting at MAX 2009 in Tokyo, Japan. I LOVE Tokyo!!! This is how excited I am:

Duane Nickull Through The MAX

Courtesy of RedMonk!

I will be doing a sneak peak of using AS3 on the server side. While this was shown in San Fran and Milan, I want to be able to fully explain how it is done and provide some details on the hybrid server-side code works later on this blog.

I hope I get to teach the Flex/AIR Boot Camp in Japan too. That course always fills up and has good results. If you are going to MAX in Tokyo and want that course, please speak up here (leave a comment) so I can forward to the right people.

Mac XML Schema <-> UML tools. Which is best?

I am needing a tool that can slurp in an XML Schema (W3C format but if it does RNG too that would be killer as I prefer it) and show a UML Class View Diagram of the data model. It must run natively on Mac OS X. I would like a tool that recognizes that UML 2.0 can express a superset of an XML model (contain additional constraints), yet be able to convert from the UML to the XML expression of a given data model and preferably generate any warnings of lost constraints/semantics/cardinality rules etc. I do not want to use XMI if I can help it.

Any advice or recommendations would be greatly appreciated. Open source preferred!


Tuesday, January 06, 2009

SOA is not dead, but complexity is killing some implementations

I had a number of people send in references and links to various pieces that declare SOA dead. They all seem to be based on an Anne Thomas Manes blog article (which I could not find directly). Before I disagree, I will state I have a lot of respect for Anne as she was one of the few analysts who actually wrote many of the specs discussed in this post and others. Perhaps this is a misunderstanding of semantics? Not sure until I can read it.

Perhaps the semantics problem results from the fact most people still mistakenly think SOA is all about integration. It is not. It is about Architecture, hence the "A" in the acronym. Architecture is not integration, although you can use an architectural description language such as UML to capture the architecture of your integration project. Do you see where I am going with this?

InfoWorld's Paul Krill starts his article with a strange notion:

"SOA is dead but services remain alive, according to a prominent analyst who published an obituary for SOA in a blog post on Monday."

Now correct me if I am wrong, but SOA is "Service Oriented Architecture". Is Paul implying that architecture that is oriented around services is itself dead, yet the services will exist? This makes no sense as everything has an architecture, whether explicit or not. I also have a lot of respect for Paul Krill and his article was very balanced, exploring some of this.

Services are certainly the mainstay of the new web revolution. Things like SaaS, Mashups and most RIAs depend upon services. I am going to disagree and state that architectures will continue to focus around services as the abstract boundary between needs and capabilities for a long time. In fact, the OASIS SOA Reference Model describes the pattern extremely well and it is durable in that it is not coupled to current technology families like Web Services. SOA is here to last and will last!

Where I can see that there are some aspects dying is the families of technologies that are used to implement SOA have become somewhat passe or too complex. From this standpoint, implementing SOA using the current WS-* stack is a daunting task. This is summed up well in Mark Hansen's "SOA Using Java Web Services". In this book he writes on page 2:

"Am I stupid or are Java Web Services really hard?"

The summary is that, in fact, the WS implementation of SOA fact becoming increasingly complex. Having worked on many of the current standards or just observed their work, things like WS-TX, profiles for Kerberos for WS-Security and the JAXB serialization/deserialization are in fact very advanced technologies and take a lot of forethought. This in turn, will drive many developers to use a REST style SOA approach. Strangely enough, the purported author of SOA's Obituary (Anne), wrote a great blog entry on how NOT to do REST style SOA here.

My conclusion:

SOA is architecture that is focused on services as the abstract action boundary between (business) needs and (business) capabilities. As such, the form of architecture known as SOA that captures that blueprint and relates it to business services is not dead and will survive well into the next decade.