Advanced Services
Apr 15th, 2007 by Ricker
“XML is a technology so powerful that it can only be used for absolute good or absolute evil.” — Dr Dave Jakopac, June 1999
Name-based services
The central role of uniform resource names (URN) in service oriented architecture (SOA) is as yet untapped. Name-based services (NBS) is the ability to access service based on a unique name independent of the service location. NBS is especially powerful when applied to business processes that already use unique numbering systems, such as:
- UPC barcodes in retail
- ISBN in publishing
- Contract numbers in government acquisition
- CUSIP numbers in stock and bond trades
- UID in defense logistics
There needs to be a fundamental capability for URNs in Java, just as there is for URLs today. In Java 1.4, the java.net.URI class was introduced. I want to introduce javax.net.URN. This class should bridge between the JNDI API and the java.net API.
According to the DDDS specification, a URN is eventually translated into a URL. The java.net API already provides the URLStreamHandlerFactory interface and the URLStreamHandler and URLConnection classes. We need to provide a similar API to link URNs to these URL API.
There should be a URNHandlerFactory interface that provides the first well known rule for URN namespaces.
References and resources:
- Introduction to Name-Based Services
- Flash presentation on name-based services (2MB)
- IETF RFC 3613
- IETF RFC 3614
Location-based services
Location-based services (LBS) are web services that are accessible by geographic location. That is, the services are related to geographic location and can be found and accessed by specifying a geographic location. LBS is especially important to mobile networks.
Human services and asynchronous services
As unfashionable as it may be to point out, there are still a great number of critical processes in today’s businesses that are not automated. How do we create a complete enterprise service-oriented architecture when many of the services still require human interaction or even human execution? Human Services are a pattern for connecting user interfaces into a SOA. This pattern consists of six major components that interact through a process of five major steps. Human services are dependent upon ASAP, a web services protocol that overcomes the “instant gratification” barrier. Through the use of Human Services, we are able to connect non-automated business processes into our overall SOA, which provides the means for rapid implementation and the pathway to future automation.
References and resources:
- (Forthcoming) Human Services: Integrating user interfaces into a service oriented architecture
- Asynchronous Webservices
- Asynchronous Service Access Protocol Technical Working Group at OASIS
Streaming or instant services
The scope of webservices must expand to include streaming services. Most notably, Extensible Messaging and Presence Protocol (XMPP) provides a great deal of power for very little development cost. I have applied XMPP to many problems, most notably sensor alerts and business dashboards. Many companies are now working on event streaming technology and merging them into the enterprise service bus (ESB).
One Response to “Advanced Services”
Leave a Reply
You must be logged in to post a comment.
[…] Bob’s data is identified as key to a business process, so Bob makes the data entry a workflow process step (i.e. a human service) […]