Sausalito is a product that enables you to develop, test, deploy, and host scalable web applications in the cloud. On this page, you find some reading material in case you're interested in
* technical details about Sausalito,
* user experience reports, or
* presentations and demos that we gave.
For those of you who've got into it you'll know that test driven development is great. It gives you the confidence to change code safe in the knowledge that if something breaks you'll know about it. Except for those bits you don't know how to test. Until now XML has been one of them. Oh sure you can use "<stuff></stuff>".equals("<stuff></stuff>"); but is that really gonna work when some joker decides to output a <stuff/>? -- damned right it's not ;-)
When the only thing you've got is a XML Hammer, every solution looks like XML.
The XML Hammer application is a free and open-source tool that simplifies elementary XML actions like checking for well-formedness, validation, transformation and xpath searches using any JAXP implementation.
After all these years of XML, it is still relatively difficult to simply validate or transform XML files. You are currently either forced to use extensive, sometimes expensive, and most often difficult to use tools with a lot of extra functionality unnecessary for these simple tasks and very often not flexible enough to provide what you want, or you will have to be almost a programmer and create your own application or script to handle these elementary XML related tasks.
The XML Hammer tool addresses these issues by providing a free and open-source tool that has a (relatively) simple to use user-interface however still allowing the flexibility for the user to specify anything that he/she would have been able to specify when writing a script for this same task him/herself.
The functionality of the XML Hammer tool is based on the capabilities provided by the Java API for XML Processing (JAXP) and supports the JAXP API as fully as possible. To achieve this, the functionality has been divided into five specific project types:
The ActiveBPEL™ engine is a robust runtime environment that is capable of executing process definitions created for the Business Process Execution Language (BPEL) standard.
There are a number of open-source unit testing tools available. So why another one?
Well, this one addresses a specific need - an easy way to test XML-based servers. If you have a server that communicates with clients via XML messages, you can end up putting a lot of effort into using one of the unit-testing frameworks to test all the messages. Just think of all the code needed to set up communications, construct messages, and verify responses.
A simple alternative is to document XML messages and expected responses, without having to write any code. Let XmlMessageTest send each XML message to the server, verify returned messages against expected results, and produce a simple report of test results.
XmlMessageTest is written in Java and should be able to run any Java-enabled platform. It's been tested on Windows XP and Linux. It can be easily integrated into your build process.
XPath Explorer (XPE) is a GUI application that lets you interactively experiment with XPath. Basically, you type in a URL (to an XML or HTML document) and an XPath expression, and it displays the elements or attributes from that document which match that
Altova SemanticWorks™ 2007 is the ground-breaking visual RDF/OWL editor from the creators of XMLSpy. Visually design Semantic Web instance documents, vocabularies, and ontologies then output them in either RDF/XML or N-triples formats. SemanticWorks™
Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.
The Synapse project is a robust, lightweight implementation of a highly scalable and distributed service mediation framework based on Web services and XML specifications.
XRay is a free XML editing enviroment. Now in its second major release, XRay provides support for XML Schema (XSD) and an integrated online XML tutorial system.
State Chart XML (SCXML) is currently a Working Draft published by the World Wide Web Consortium (W3C). SCXML provides a generic state-machine based execution environment based on Harel State Tables. SCXML is a candidate for the control language within multiple markup languages coming out of the W3C (see Working Draft for details). Commons SCXML is an implementation aimed at creating and maintaining a Java SCXML engine capable of executing a state machine defined using a SCXML document, while abstracting out the environment interfaces.
State Chart XML (SCXML) is currently a Working Draft published by the World Wide Web Consortium (W3C). SCXML provides a generic state-machine based execution environment based on Harel State Tables. SCXML is a candidate for the control language within multiple markup languages coming out of the W3C (see Working Draft for details). Commons SCXML is an implementation aimed at creating and maintaining a Java SCXML engine capable of executing a state machine defined using a SCXML document, while abstracting out the environment interfaces.
Jersey 1.0 is an open-source, production-ready reference implementation of JAX-RS, the Java API for RESTful Web Services (JSR-311). Jersey makes it easy to create RESTful web services in Java.
In an earlier Tech Tip, Implementing RESTful Web Services in Java, Paul Sandoz and I introduced RESTful Web Services, JAX-RS, and Jersey, and showed how to write RESTful web services in Java that conform to the JAX-RS specification. In this tip you will learn how to configure data in JSON (JavaScript Object Notation) using Jersey 1.0. JSON is a lightweight data-interchange format that is based on the object notation of the JavaScript language. Because of it's simple text format, JSON provides a good alternative to other data interchange formats such as XML and is particularly attractive as a data interchange format for RESTful web services.
In this tip you will build a Jersey-based web application that provides information about printer status. The application returns the information in JSON format. To build the application, you will use the Maven 2 software project management tool. For more information about Maven, see Welcome to Maven and Building Web Applications with Maven 2.
The intention for this project is a very simple API to call different kinds of services (provider/technology). Crispy's aims is to provide a single point of entry for remote invocation for a wide number of transports: eg. RMI, EJB, JAX-RPC or XML-RPC. It works by using properties to configure a service manager, which is then used to invoke the remote API. Crispy is a simple Java codebase with an API that sits between your client code and the services your code must access. It provides a layer of abstraction to decouple client code from access to a service, as well as its location and underlying implementation. The special on this idea is, that these calls are simple Java object calls (remote or local calls are transparent).
CSSToXSLFO is a utility which can convert an XML document, together with a CSS2 style sheet, into an XSL-FO document, which can then be converted into PDF, PostScript, etc. with an XSL-FO-processor. It has special support for the XHTML vocabulary, because that is the most obvious language it would be used for. The tool has a number of page-related extensions. It also comes with an API in the form of an XML filter.
Whilst you don't need to be a mechanic to drive a car, it is helpful if you have a basic understanding of how a car works, what bits do different jobs, and how to top up your oil and pump up your tyres / tires. This presentation will give an overview of the DSpace architecture, and will give you enough knowledge to understand how DSpace works. By knowing this, you will also learn about ways DSpace could be used, and ways in which it can't be used.
DynamicDOM is an extension of the W3C DOM (Document Object Model) that adds dynamism to XML. For example, it allows you to define rules so that when you change, say, the TotalIncome node, the IncomeTax node updates automatically.
Just as C++ adds code to the C struct to create a class, DynamicDOM adds intelligence, in the form of rules and code, to the DOM to expand its capabilities beyond parsing XML documents to processing and enforcing business rules. Your XML document, then, becomes dynamic in the sense that it contains rules and code in addition to data, and updates itself automatically based predefined rules.
EuroMath2 WYSIWYG XML Editor Platform serves as a platform for editors editing various XML files. It is able to contain and manage editors with WYSIWYG capability. By default it contains:
* a basic XSL-FO editor, capable of editing XML documents transformable to XSL-FO,
* a read-only support for SVG and MathML,
* a (very incomplete) XHTML support (implemented using a stylesheet capable of transforming XHTML into the XSL-FO)
Software für Anzeige, Druck, Konvertierung von XSL-FO-Dateien.
Diese Software ist ein Teilprodukt des XML-Reporting-Tools KapHoorn.
Basiert auf Apache FOP 0.20.5. Setzt Java 2 SE ab 1.4.0 voraus (s.u.).
Beim Start versucht das System, eine Datei \help\info.fo auszuführen, wenn diese Datei fehlt, wird eine entsprechende Meldung erzeugt.
Es gelten die Lizenzbestimmungen der Apache Foundation für die entsprechenden Sourcen. Der KapHoorn-Viewer allein ist kostenlos.
Looks very old-fashioned, already checked in 2004, too complex IMHO: FOA is the world's first XSL-FO Authoring tool. It is a Java application that gives users a graphical interface to author XSL-FO stylesheets. With FOA you can generate pages, page sequences and fill them with content provided into one or more XML files. FOA will generate the XSLT stylesheet that transforms the XML content into an XSL-FO document. FOA is compatible with WH2FO so you can author more quickly you documents. From FOA GUI is also possible to invoke an XSLT processor and an XSL-FO renderer, so you can see how the document looks like.