Wednesday, April 29, 2009

Improve your XSLT coding five ways

Improve your XSLT coding five ways

Top hints are:

Tip 1: Cascading style sheets, tables, and XSLT

Tip 2: HTML entities

[ incidentally, to use non-breaking spaces, use #&160; ]

Tip 3: Multiple input documents

Tip 4: XSLT and client-side JavaScript

Tip 5: Automating style sheet creation


Friday, April 24, 2009

Star Trek XI trailer music

Nice trailer music for the next stat trek movie.

http://www.imeem.com/people/hhz_iA/music/2KihKMOL/two-steps-from-hell-freedom-
fighters/#

Thursday, April 23, 2009

Oracle Take a REST on JAX-WS with WebLogic Server 10.3

You can also do a similar trick using metro (which incidentally is what is actually installed on weblogic 10.3 under the covers :-)
Dunno if you can try it via java se6 built in httpserver (endpoint). Might try it out.

Wednesday, April 15, 2009

GNS3 - a Cisco network simulator

Woot! A colleague at work suggested the following for practicing your Cisco certifications
Graphical Network Simulator 3

This basically simulates the common hardware used by the following CISCO routers:

Cisco 3600 series (3620, 3640 and 3660), 3700 series (3725, 3745) and 2600 series (2610 to 2650XM, 2691).


The core module is the Dynamips project (http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator)

XML appliances and SOA

Christian Bernard's research on current XML appliances.


Translated version of http://ws-express.blogspot.com/2008/10/solutions-appliances-xml-et-soa.html


Note this list is a mix of Application and Security vendors:

Current players:

Layer 7
IBM Websphere Datapower (ex-Datapower)
Intel SOA (ex-Sarvega)
Forum Systems
Cisco ACE (ex-Reactivity)
Cisco AON
Vordel
Cast Iron
F5 BIG-IP
Radware
Dajeil
Xtradyne
Acatel-Lucent Omniaccess
Meddius
Stampede
Strangeloop
Sonoa
Solace
Safenet
Azul
Bee ware

Original list:

Dawn of the App Aware Network

Part of my research is looking at moving apps from the core of the network to the edge (or network aware devices).

Web services (and XML-RPC and REST) and Enterprise Service Bus fit this model quite nicely.

XML accelerator Devices such as Cisco AON or Cisco ACE (ex-Reactivity) or IBM Datapower can be used to replace the Web services routing function required by modern distributed applications into the network.


The implication?


This changes the model of application development from a software-architecture centric viewpoint into a services oriented architecture.

And the commoditisation of this will drive costs down for enterprises and will harm revenue for middleware vendors.

The edge is here.
Why not go a step further? How about pushing application processing to the edge of the network?
In my Faculty [Engineering and IT]/School of Computing and Communications, we are developing Mobile Health applications using 'motes' - tiny devices running a pico-net (and a mutant version of Java)

Tuesday, April 14, 2009

Testing post by windows live writer

this is a test of windows live writer.

I used to use w.bloggar, but it now fails on blogger.

Ditto with Post2Blog

The issue with free code is that is rarely is updated when the underlying API’s change.

 

Curse you blogger!

Monday, April 13, 2009

Calling RPC/encoded web services from JAX-WS clients

Glen Mazza's Weblog

Returning PDFs from Web Services using MTOM and Apache FOP

Glen Mazza's Weblog

JAX-RS as the one Java web framework to rule them all?

James Strachan's Blog: JAX-RS as the one Java web framework to rule them all?

Paul Fremantle's Blog: Three SOA Case Studies

Paul Fremantle's Blog: Three SOA Case Studies

emerging technologies conference in philadelphia

Glenn Mazza: emerging technologies conference in philadelphia

Don’t Invent XML Languages

Don’t Invent XML Languages
Tim Bray in 06 suggested that you shouldn't reinvent any XMl language, unless you can prove it doesn't fit the "BIG 5":
The Big Five
Suppose you’ve got an application where a markup language would be handy, and you’re wisely resisting the temptation to build your own. What are you going to do, then? ¶

The smartest thing to do would be to find a way to use one of the perfectly good markup languages that have been designed and debugged and have validators and authoring software and parsers and generators and all that other good stuff. Here’s a radical idea: don’t even think of making your own language until you’re sure that you can’t do the job using one of the Big Five: XHTML, DocBook, ODF, UBL, and Atom.

XHTML + Microformats:
If you’re delivering information to humans over the Web, even if you don’t think of it as “Web Pages”, it’s almost certainly insane not to use XHTML. Yes, XHTML is semantically weak and doesn’t really grok hierarchy and has a bunch of other problems. That’s OK, because it has a general-purpose class attribute and ignores markup it doesn’t know about and you can bastardize it eight ways from center without anything breaking. The Kool Kids call this “Microformats” and in fact I accidentally invented one on ongoing last November; look at that template and its class attributes. ¶

And of course, if you use XHTML you can feed it to the browsers that are already there on a few hundred million desktops and humans can read it, and if they want to know how to do what it’s doing, they can “View Source”—these are powerful arguments.

DocBook
Suppose you’re building something that needs to go bigger and deeper and richer than XHTML is comfy with, and you want to repurpose it for print and electronic and voice, and you need chapters and sections and appendices and bibliographies and footnotes and so on. DocBook is what you need. It’s got everything you could possibly begin to imagine already built-in, and there are lots of good tools out there to do useful things with it. ¶

ODF
Suppose you’re working with material that’s going to have a lot of workflow around it, and be complex, visually if not structurally, and maybe some day will be printed out and have signatures at the bottom. ODF is what you want. Not the most Web-oriented approach, but on the other hand the authoring tools are more human-friendly than anything else on this list. ¶

UBL
If you’re working with invoices and purchase orders and that kind of stuff (and who isn’t?), do not even think of inventing anything. A whole bunch of smart people have put hundreds of person-years into pulling together the basics, and they did a good job, and it’s ready to go today. Look no further. ¶

Atom
Suppose you think of your data as a list of, well, anything: stock prices or workflow steps or cake ingredients or sports statistics. Atom might be for you. Suppose the things in the list ought to have human-readable labels and have to carry a timestamp and might be re-aggregated into other lists. Atom is almost certainly what you need. And for a data format that didn’t exist a year ago, there’s a whole great big butt-load of software that understands it. ¶

Wednesday, April 01, 2009

weirdness with java 6 JAX-WS

strange error occuring with Jax-ws on Java JDK 1.6.0_06 or lower. after building the stubs with wsimport and writing a trivial client, you get javax.xml.ws.WebServiceException: unexpected XML reader state. expected: END_ELEMENT but found: START_ELEMENT when running against a document/literal web service However, upon upgrading to JDK 1.6.0_07 (or higher) it now works? seems there was a bugfix in 07 update

Tomcat security

One painful thing I'm learning is the restrictions tomcat has when running under the -security option.Basically many things (eg: jaxb, jax-ws, axis) can't run.
Locating the appropriate permissions is pretty daunting.Now lhttp://www.onjava.com/pub/a/onjava/2007/01/03/discovering-java-security-requirements.html has a tool calledProfilingSecurityManager (which is just a custom SecurityManager class) which displays the permissions required(basically start catalina with -Djava.security.manager=secmgr.ProfingSecurityManager)You then use a perl script
Another reference is http://www.petrovic.org/blog/2006/05/07/tomcat-security-option-and-catalinapolicy-file
Basically export CATALINA_OPTS=-Djava.security.debug=access,failurethen run catalina.sh run -security
Look in catalina.out for denied.Then seek for "domain that failed ProtectionDomain" for the codebase or domain.
http://www.jchains.org/ also allows you to do the same for standard java execution.