Welcome to Java Web Services and XML
This is the general community for Web Services and XML. Check
the Community Resource links on the left page of this page. This community includes two other communities: the JWSDP
implementations are grouped in the
jwsdp subcommunity
while the Relax NG subcommunity covers projects in that schema language.
Java Content Repository: TheServerSide Tech Brief
"Everything is content," is David N?scheler's mantra. David is the spec lead for JSRs 170 and 283, Java Content Repository, the standardized API used by most Java-based, modern content management systems. He talks about JCR, his work, and what to expect and demand of a content management system in this exclusive interview.
Excerpt: Ajax and Java Web Services
This chapter from "SOA Using Java Web Services" examines how to build an Ajax front-end to an online shopping application. Through detailed code examples, it walks you through building an Ajax application that consumes RESTful Java Web services endpoints.
SPARQL Query Language for RDF Is a Candidate Recommendation
W3C is pleased to announce the advancement of SPARQL Query Language for RDF to Candidate Recommendation. With SPARQL (pronounced "sparkle"), developers and end users can consume search results across a wide range of information such as personal, technical, business or scientific data, social networks, or data about digital artifacts like music and images. SPARQL supports extensible value testing and constrained queries, both when data is stored as RDF natively or viewed as RDF via middleware. Results can be displayed in results sets or as RDF graphs. Implementation feedback is invited through 12 August. SPARQL Query Results XML Format is a Last Call Working Draft with comments welcome through 5 July.
A New Identity for Web Services
Jason Levitt describes the newly burgeoning field of web authentication APIs, including Yahoo's BBAuth and Google's AuthSub.
Stateful SOAP and beans on the TSS Interop Blog
On the TSS Interop blog, Scott Balmos has shown an example of a stateful web service. He'd done it on the Interop blog with an EJB reference before, but using a recent build of JAX-WS, he's gotten it done without hacks... and shows the server code in Java, with the client using the stateful service from C#.
XQuery, the Server Language
Kurt Cagle offers an interesting perspective on the future utility of XQuery as a server-side development language.
Service Component Architecture gets slapped around a bit Service component architecture (SCA) is a good thing, right? Isn't it supposed to elevate SOA-ish things above Java and all that other those other bothersome languages with their own protocols, complexities, and latency issues?
Well, some analysts out there have professed that SCA has, well, issues. David Chappell, for one, says SCA proponents link their approach to SOA, but SCA is not necessarily about SOA. 'Talking about SCA and SOA in the same breath is at best confusing. At worst, it's downright misleading,' David says. (By the way, that's David Chappell the .NET guru, not David Chappell the ESB guru, formerly of Sonic now with Oracle.) —
Syclo Accepted into the IBM SOA Specialty
Syclo, a leading provider of mobile technology, announced today its acceptance into the IBM SOA Specialty after successfully completing IBM's rigorous SOA technical and business requirements. With this achievement, Syclo's Agentry mobile platform integrates with the IBM software and strategy for SOA. (Jun 01, 2007)
CEP and Alphabet Soup - BPM time
Confession time: BPM is a catch-all term for process execution mechanisms, workflow, and a few other concepts such as BAM, collaboration, and perhaps even Business Intelligence.
Many CIOs confuse BPM with SOA, primarily because BPM, similar to SOA, involves interaction with underlying systems in the IT infrastructure. When this interaction is done in an ad-hoc manner it can result in poor design and confusion with what value an SOA offering can bring.
WS-* and the Hype Cycle There's a persistent theme talked up by WS-*ophobes that it's all just a fad, rapidly sliding down toward the "Trough of Dilillusionment" in the Gartner Hype Cycle. I've come to the opposite conclusion after six weeks back in the web services world. The WS technologies are taking hold, deep down in the infrastructure, doing the mundane but mission critical work for which they were designed. —
Creating doc-lit WSDLs that "unwrap" nicely This article is designed to help you craft WSDL 1.1 service descriptions that work well with the available tools to generate simple client interfaces. —
How to deal with unresolved xs:schema references in WSDL
I have been thinking of writing this blog for quite sometime to the benefit of those who have been having troubles importing WSDLs that references xs:schema but do not have corresponding import for such entities. This causes wsimport tool to report error. Mark from portal team reported the same issue while importing Share Point services and also WSIT and other users have reported the similar problems.
Still looking for the silver bullet Peter Lacey talks about how one could use Atom as a general envelope structure for any kind of transactional interactions, including executing an order.
Of course that is possible. Its also possible to replace CORBA with SOAP. The question is whether that's the intelligent thing to do. Just because one can have message level security in Atom that doesn't mean Atom+APP is suddenly better than SOAP as a generic envelope for messaging. Do I sense a bit of NIH there? ;-) —
Why isn't RelaxNG Compact Syntax more widely used Have you ever looked at a non trivial schema definition in RelaxNG Compact Syntax? Its amazingly readable isn't it? (Once you've got used to the + ! ? * characters from DTDs). Now and again I bump into some RelaxNG compact syntax and think its pseudo code; but no its the real syntax specification! (e.g. in the JBI spec). —
AppFuse 2.0 M5 Released - now with CRUD generation and XFire support
The AppFuse Team is pleased to announce the release of AppFuse 2.0 M5! This release marks a milestone in the features of AppFuse 2.x. This release adds CRUD code generation, full source support (just like 1.x) and XFire integration. In addition, we've fixed all the issues related to switching persistence frameworks, and you should now be able to easily switch from using Hibernate to to iBATIS or JPA. (Jun 01, 2007)
Web Services Description Language (WSDL) Version 2.0 Part 0: Primer
This document is a companion to the WSDL 2.0 specification (Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language [WSDL 2.0 Core], Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts [WSDL 2.0 Adjuncts]). It is intended for readers who wish to have an easier, less technical introduction to the main features of the language.
This primer is only intended to be a starting point toward use of WSDL 2.0, and hence does not describe every feature of the language. Users are expected to consult the WSDL 2.0 specification if they wish to make use of more sophisticated features or techniques.
Bringing SOA to Life: A New Danish Infrastructure
In this presentation, Mikkel Hippe Brun, Chief Consultant at Danish National IT and Telecom Agency, introduces Denmark's national Service Oriented Infrastructure, which is based on a number of replicated UDDI registries and interoperability profiles based on the WS-*architecture and the UBL standard. Among the topics covered is the difference between SOA within and across company boundaries.
The Apache Software Foundation Announces the Release of Apache Axis2/C v.1.0
The Apache Software Foundation?s (ASF) Web Services Project today announced the release of Apache Axis2/C v.1.0, the latest version of its popular Axis2 Web Service engine architecture. Axis2/C enables systems written in the C/C++ languages to connect across a network with a wide variety of Web software ? ranging from Open Source implementations to commercial solutions from vendors that include IBM, Microsoft, Sun Microsystems, Oracle, and SAP. (Jun 01, 2007)
How to notify JavaBlogs.com about blog updates with XML-RPC
Javablogs supports notification of blog updates with a remote API, which enables new blog post to appear on Javablogs immediately (javablogs API). I use blogger and as far as I can tell it doesn't support pinging javablogs.com. So i set out to write my own XML-RPC client to make my posts appear quickly (Yes I'm the impatient type).
XStream 1.2.2 released
The XStream Development Team is proud to present XStream 1.2.1.
XStream is a simple library to serialize objects to XML and back again.
This is a maintenance release of XStream that contains a lot of bug fixes and has some minor highlights (Jun 01, 2007)
Working with JBoss Rules and Web Services I've recently just done a project where JBoss Rules was used via web services. So thought I'd detail parts of what I did.
With this particular project only the root object from the payload was asserted, the payload was not split into smaller relational objects and asserted, which is generally considered best practice; however we do show you here how to effectively work with nested XML payloads using 'from'. —
Getting started with WSRM and Axis2
This is a short HOWTO on getting your first WS-ReliableMessaging interaction going with Axis2 and Sandesha2. [Sandesha2 is an Open Source implementation of both the WSRM 1.0 and WSRM 1.1 specifications].
Self Managing the JBI runtime in GlassFish
It is possible to self manage the JBI runtime using the self management module of the GlassFish application server. I am showing one such example here.
In this example, we have a timer service registered with the self management module which checks whether all the required components for the deployed JBI service assemblies are UP or not.
IBM defacto SOA leader
IBM leads the SOA process engine and collaboration component license services and maintenance markets with 53% share, gaining on Microsoft, Oracle and SAP which all have single digit participation in the markets in 2006. The strength of the IBM middleware line is what made the SOA engine markets grow, giving increased productivity from automated process at every level of the channel and supply chain. The following PDF press release contains more details.
SOAP over JMS specifications
As some of you may know, several companies (BEA, IBM, Progress, and
TIBCO) have been working on a formal set of specifications for binding
SOAP to the Java Message Service API. These specs consist of a) a SOAP
binding, and b) a description of the "jms:" IRI scheme which is used for
addressing. The specs do NOT cover an interoperable wire-level
representation which could bridge different vendors' JMS implementations
- though a future version might go there. This version has been
designed so that plugging in a different implementation should work
seamlessly without recompiling any code; as such we define a
BytesMessage encapsulation of SOAP (and MTOM), a "Content-Type" JMS
header, and a few other needed parts.
SOA and Newton's Universe Bill de hOra and my old friend (from our Amazon days) Mike Dierken commented on my use of SOA versus "distributed systems". There was also an interest in my perspective on the CAP Conjecture. Let me spew forth some thoughts...
It may be a bit unusual, but my way of thinking of "distributed systems" was the 30+ year (and still continuing) effort to make many systems look like one. Distributed transactions, quorum algorithms, RPC, synchronous request-response, tightly-coupled schema, and similar efforts all try to mask the existence of independence from the application developer and from the user. In other words, make it look to the application like many systems are one system. While I have invested a significant portion of my career working in this effort, I have repented and believe that we are evolving away from this approach. —
SCM4ALL 4.1 released, boosts your SOA & Agile development
SCM4ALL 4.1, which was just released, offers a secure yet flexible process-centric software change management solution for both local and distributed development teams, and manages and automates SOA, Agile and traditional development processes. It complements existing version management tools by automating the complete software life-cycle management process, offering a single point of control and delivering support for your build, deploy, release and software life-cycle management and the associated approval processes. SCM4ALL helps reduce build complexity, solving complex deployment issues and accelerating release cycles. (Jun 01, 2007)
Mini-guide: Apache Web Services
Are you interested in SOAP, REST and WSDL? Apache has recently released Axis2, its third generation Web services engine. It features a modular architecture supporting plug-in modules for easier implementation of existing, and future, Web services specifications. I?ve gathered a slew of valuable resources to help point you in the right direction.
Enable REST with Web services, Part 1: REST and Web services in WSDL 2.0
For clients to interact with remotely hosted resources, REpresentational State Transfer (REST) is fast becoming an alternative for Web services, especially because REST doesn't require users to understand and use SOAP. There are ongoing debates as to which one is better suited in today's highly interactive environment. However, recent efforts, including Web Services Description Language (WSDL) 2.0, have tried to give Web services the ability to benefit from REST and use REST concepts. The HTTP binding specification, available in WSDL 2.0 adjuncts, talks a lot about this. The first part of this article focuses on how REST is married to Web services in WSDL 2.0. The second part explains how it's being implemented in the Apache Web services project.
W3C EXI Performance Testing Framework
The W3C Efficient XML Interchange (EXI) Performance Testing Framework is now publicly available for download. This is the testing framework used by the EXI WG to evaluate properties of "binary XML" candidates. Specifically, the framework can be used to measure Processing Efficiency and Compactness, and includes support for in-memory and network testing.
Woodstox in Glassfish v2
Starting with GF v2 b49, Woodstox is now integrated as part of Glassfish along with sjsxp so that users have the benefit of additional performance improvements which woodstox provides. SJSXP is the default parser in glassfish. This is a preliminary integration with Woodstox and testing is still in progress so let us know if you run into issues. Here is some more information from Santiago regarding Woodstox in his blog Woodstox rocks Glassfish v2 (Jun 01, 2007)
Making Sense of all these Crazy Web Service Standards
It has been eight years now since SOAP and WSDL (Web Service Description Language) were introduced as standards to facilitate communication and data exchange between heterogeneous systems. Since then, a flurry of protocols, collectively named WS*, have also been introduced as extensions to SOAP (and in some cases WSDL) to facilitate specific communication requirements and scenarios. The categories of WS* are broad, and it has reached a point where the sheer number of standards is so great that despite a core set being implemented in many platforms, many in the web service community are confused about which standards they should care about, when and why. Furthermore, concerns over interoperability prevail, as each standard traverses its lifecycle of development, early adoption, ratification and update.
Health Care, Life Sciences and the Semantic Web: Publication
The Semantic Web Health Care and Life Sciences Interest Group (HCLSIG) has reached a significant milestone with their publication of the article "Advancing Translational Research with the Semantic Web." This joint work of the Interest Group was published in BMC Bioinformatics, a peer-reviewed open access journal that plays a central role in the bioinformatics community. The authors illustrate the value of Semantic Web technologies to neuroscience researchers and biomedicine and report on several projects by members of the Interest Group.
XML Parser Benchmarks: Part 2
In the golden days, XML parser performance was a perpetually hot topic. And today it's still worth knowing which modern parsers offer the best performance. In this second of a two-part series, object parsers are compared.
XML Parser Benchmarks: Part 1
In the golden days, XML parser performance was a perpetually hot topic. And today it's still worth knowing which modern parsers offer the best performance. In this first of a two-part series, event-based parsers are compared; in the next part, object parsers are compared.
Creating POST requests with curl for Axis2 REST service
Axis2 allows to create REST services as easily as SOAP services. By default each SOAP service has a REST counterpart automatically available.
The responses for REST requests served by Axis2 are the same as SOAP responses but are missing the enclosing SOAP envelope (this is because REST is handled internally like a SOAP request). Because of this the responses are currently missing the REST feature to return links to other resources in the response.
WSO2 releases first PHP extension to support WS-Security and WS-ReliableMessaging
The WSO2 Web Services Framework for PHP released its alpha2 version this week making it the first PHP extension to support WS-Security and WS-ReliableMessaging. WSO2 WSF/PHP is based on Apache Axis2/C and supports the WS-* stack.
This release includes UsernameToken & Timestamp, encryption, signing and Policy Based Configuration of WS-Security, while also supporting Single Channel two way reliable messaging of WS-ReliableMessaging. (May 17, 2007)
Supporting SCA?s Java Component Model: Which Vendors Will Do It?
This year's JavaOne conference included a panel on Service Component Architecture (SCA), for which I was the moderator. Representatives from BEA, IBM, Oracle, SAP, Sun, and Tibco spent an hour answering questions posed by the audience and me. It quickly became apparent that even though all of these vendors supported SCA, they had quite different ideas about what this meant.
Making Sense of all these Crazy Web Service Standards
It has been eight years now since SOAP and WSDL (Web Service Description Language) were introduced as standards to facilitate communication and data exchange between heterogeneous systems. Since then, a flurry of protocols, collectively named WS*, have also been introduced as extensions to SOAP (and in some cases WSDL) to facilitate specific communication requirements and scenarios. The categories of WS* are broad, and it has reached a point where the sheer number of standards is so great that despite a core set being implemented in many platforms, many in the web service community are confused about which standards they should care about, when and why. Furthermore, concerns over interoperability prevail, as each standard traverses its lifecycle of development, early adoption, ratification and update.
Performance problems running SOA Suite on VMWare
For development and testing purposes i'm using vmware to run Oracle's SOA suite on my laptop. I've installed it on Centos. When running this on my laptop, the performance isn't really great, the oc4j processes are using a lot of cpu time (continuously 50%). My initial thought was that this was related to my situation: running it on a laptop and not giving it enough memory (the vmware instance has about 1Gb allocated, the laptop has 2Gb). But recently we've seen these performance problems at other locations, where the vmware instance has enough memory (2.5Gb). A search on google shows that more people have problems using Oracle's SOA suite on vmware: Poor performance of oracle soa-suite in vmware.
Incremental Compilation and Error Handling in XMLBeans
XMLBeans version 2.1.0 provides programmatic access to create and update XMLBeans from schema artifacts, and to validate and capture errors that may occur during schema compilation and parsing of an XML document. In any enterprise applications ranging from Web service client/server to CRM and EAI products, as products mature the need arises to update existing schema artifacts. Moreover, everyone wants to simplify the maintenance of applications processing XML documents based on these schema artifacts. The XMLBeans API provides a simple and efficient way to create and maintain XMLBeans and offers rich custom error handling and reporting capabilities, both contributing to solving these problems.
This article illustrates these features with a series of examples. It assumes you have a familiarity with XMLBeans. For an XMLBeans primer, see the References section. The example code and other files mentioned in this article are available for download.
Simple 1.2 - Java XML Serialization
The Simple XML serialization framework has released version 1.2. Simple is is a serialization framework for Java that enables rapid development of XML configuration and communication systems. Its goal is to provide an XML serialization framework that requires no configuration or mappings to serialize objects to and from human readable XML. Below is a list of some of the capabilities of the framework. (Apr 25, 2007)
XMLResumeLibrary
The XML Resume Library is an XML and XSL based system for marking up, adding metadata to, and formatting resumes and curricula vitae.
Is this XML? File this one under the Wonderful Vendor category. We bought a system that has a web component and the vendor doesn't allow direct access to the database for getting the data out. Instead, they provide an XML extract that you then have to process to show the data.
OK, not the best solution, but I've been working with XML for many years and this isn't rocket science anymore right? So, I request a sample of the XML output so we can begin coding (the system is just coming online). So I get something along the lines of: —
An Overly Simple SAX Parser
On of the comments that I get from the parsing benchmarking section of my performance tuning course is that building a SAX based parser is too difficult. While it maybe difficult to write a complex SAX parser with all the bells and whistles, we often don't need to go this far to get the job done. For example, I often use XML to store initialization or configuration data. Before I continue I should state that this really isn't about performance.
 |