Title: Web Services Overview
1Web Services Overview
- Bill Edison
- edisonwj_at_verizon.net
2Agenda
- History
- XML Technologies
- SOAP
- Web Services
- SOA
3Some History
- Mid 1970s - Standard Generalized Markup Language
(SGML) introduced by Charles Goldfarb - Provides an international standard for data
representation - Early 1980s Emergence of the Internet
leveraging the Internet Protocol suite, including
TCP/IP - http//en.wikipedia.org/wiki/Internet
- http//en.wikipedia.org/wiki/Internet_protocol_sui
te - http//www.ietf.org/
- Mid 1980s World Wide Web and World Wide Web
Consortium (W3C) conceived and founded by Tim
Berners-Lee - Created a formal specification for Hypertext
Markup Language (HTML) based on SGML - Provides a compact and simple syntax to describe
the format and layout of textstandard for Web
publishing - First Web Browser, Silversmith, by John Bottoms
in 1987 based on SGML - 1990s - W3C created Hypertext Transfer Protocol
(HTTP) a method used to transfer or convey
information on the World Wide Web. Its original
purpose was to provide a way to publish and
retrieve HTML pages. - Late 1990s W3C creates Extensible Markup
Language (XML) (again based on SGML), a
meta-language to describe the nature of
information - Late 1990s Simple Object Access Protocol
(SOAP) developed with Microsoft backing by Dave
Winer, Don Box, Bob Atkinson, and Mohsen
Al-Ghosein to provide a basic Web messaging
framework--now a W3C maintained specification
Wikipedia
4Evolution to SOA
Coyle
5Foundation Technologies
- TCP/IP
- HTTP
- HTML
- Browsers
- XML
- SOAP ? SOA
- Web Services
6Extensible Markup Language (XML)Basics
7XML Overview
- A language for creating other languages
- Tags and content, with tags that describe the
meaning of content - Start tags and end tags delimit elements
containing data - Example of customer information
-
- John von Neumann
- 914.631.7722
- 914.6331.7723
- Johnny_at_cd.com
-
- Data can be specified with attributes within an
element - phone914.631.7722 fax914.631.7723
emailJohnny_at_cd.com/
Coyle
8XML Traits
- XML allows data to be stored in either elements
or attributes - Elements and attributes can be named to give the
data meaning - Start tags and end tags define elements that are
the basis for XML tree-structured representations
of documents - Elements can contain text data and/or other
elements
Coyle
9XML Advantages
- XML files are textual and human readable versus
binary formats - XML is widely supported by industry tools for
developers, Web browsers, databases, application
environments, and operating systems - http//www.altova.com/products/xmlspy/xml_editor.h
tml - Major relational databases have the native
capability to store, read, and generate XML data - XML support technologies are available for Web
page display and report generation
Coyle
10XML Decoupling
- No presentation format is assumed. Unlike HTML,
basic XML makes no rendering assumptions.
Supporting technologies such as style sheets
address this. - No built in data typing is provided. DTDs and XML
Schema provide support for defining the structure
and data types associated with an XML document. - No transport is assumed. XML makes no assumption
about how XML is moved across the Internet. - Thus, XML decouples from
- Presentation
- Data formats
- Transport protocols
Coyle
11XML Specifications
DTD
describes
XML Documents
supersedes
presents
XSL
describes
searches
XSD
searches
transforms
XPath
XQuery
XSLT
uses
uses
uses
uses
Erl
12XML Technologies
- Structure and Data Types
- Define how specific XML documents should be
structured - Document Type Definition (DTD)
- XML Schema Definition Language (XSD)
- DTDs flow from the SGML world
- Specify what elements and attributes are valid
for a particular instance - Limited ability to specify data types
- XML Schema is a W3C initiative
- More precision that DTDs
- XML Presentation Technologies
- eXtensible Stylesheet Language (XSL) and XSL
Formatting Objects support XML for various output
media - XHTML, a modular XML-conformant replacement for
HTML - Cascading Style Sheets (CSS) for controlling
display properties of HTML or XML in Web browsers - XForms for collecting data from Web forms and
returning XML - VoiceXML for delivering content to voice-enabled
devices - Wireless Markup Language for delivery to wireless
devices enabled for Wireless Application protocol
(WAP)
Coyle
13XML Schemas
- Two schema definition mechanisms
- DTD
- XML Schemas
- Both define the structure of XML documents
- Used to validate the form of specific XML
formatted instances - DTD focuses on structure, element and attribute
definition--data typing is limited to text (Based
on SGML syntax) - XML Schema is a newer W3C standard providing for
structure and detailed data type specification,
e.g. times, Boolean, binary, float, decimal,
integer, string, token, etc.
Coyle
14Another XML Example
- XML declaration is first markup line and
specifies the version being used - Link to a DTD
- The part of a document within which data is
represented is the document instance with a
hierarchical arrangement of elements and
attributes, here book and category - Child element of book, title and author
- End of the book element
-
-
-
-
- Joy of Integration
- Joe Smith
-
15DTD Example
- Document type declaration of root
element--corresponds to link in XML document - Characteristics of each element are specified
- Parent-child relationships
- Attributes
- Validation rules
- Data types
- Parsed Character Data
- Closing
16Complete Document Specification
- DTD
-
-
-
-
-
- Instance of the above DTD
-
-
-
- Joy of Integration
- Joe Smith
-
17Namespaces, Element, Attributes
- Attributes cannot be further subdivided into
sub-elements, but elements can always be
subdivided - Use elements if data may need to be subdivided
- Programs processing XML may have to call special
modules to handle attributes introducing
complexity - Attributes are more compact and readable
- Element and attribute names are distinguished
from the same names in different contexts by
prefixing a Uniform Resource Indicator (URI) as
namespace name. Tagging can be implicit or
explicit using abbreviations
Namespace http//www.zwiftbooks.com
Deliverance ?
Namespace http//www.music.com
Deliverance ?
Coyle
18XSD Example
19More XML Technologies
DOM SAX
RDF
DTD XML Schema
Semantic Web
Program manipulation technologies
Structure data typing
CSS XSL XSL-FO XHTML XForms VoiceXML
XSLT XPath XLink XQuery
XML Namespaces Core
XML manipulation technologies
Presentation technologies
InfoSet
Coyle
20More XML Technologies
- Program Manipulation technologies
- Document Object Model (DOM) provides a platform
and language neutral interface defined by W3C
that allows programs and scripts to access and
update the content, structure, and style of
documents - Simple API for XML (SAX) provides a
collaboratively developed standard interface for
XML parsing - Can be manipulated using various interfaces
- Tree-based
- Event-based
- Class-based
- XML manipulation technologies
- Extract and transform XML in different ways
- Key for server-based XML B2B processing
- XSL Transformation (XSLT) transforms XML from one
format to another - Transform a DOM tree to an XML document
- XPath supports navigation through an XML tree
structure to find particular elements or subtrees - XLink supports creating and describing links
between resources, enabling links that go beyond
the simple uni-directional links of the Web - XQuery supports querying and extracting from XML
repositories - Other
- Resource Description Framework (RDF) provides a
foundation for metadata processing, directed to
automated processing of Web resources - InfoSet is an W3C initiative to provide a
consistent set of definitions for use in other
specifications that need to reference information
in XML documents.
Coyle
21Java APIs for XML
- Document Oriented
- Java API for XML Processing (JAXP) processes
XML documents using various parsers leverages - SAX (Simple API for XML Parsing)
- API for event-based parser
- Reads the XML from beginning to end and notifies
application for each recognized syntax
construction - DOM (Document Object Model
- Interfaces for building an object representation,
a tree, of a parsed XML document - Can manipulate tree with insert and remove
methods - Random access to particular pieces of data
- Java Architecture for XML Binding (MAXB) maps
XML elements to classes in the Java programming
language - Procedure Oriented
- Java API for XML Messaging (JAXM) sends SOAP
messages over the Internet in a standard way - Java API for XML Registries (JAXR) provides a
standard way to access business registries and
share information - Java API for XML based RPC (JAX-RPC) sends SOAP
method calls to remote parties over the Internet
and receives the results
Sun
22SAX API Example
- SAXParserFactory factory SAXParserFactory.newIns
tance() Create SAX parser factory - SAXParser saxParser factory.newSAXParser() C
reate SAX parser object - saxParser.parse("priceList.xml",
handler) Parse XML file - public void startElement(..., String elementName,
...) Custom startElement method - if(elementName.equals("name"))
- inName true
- else if(elementName.equals("price")
inMochaJava ) - inPrice true
- inName false
-
-
- public void characters(char buf, int offset,
int len) Custom characters method - String s new String(buf, offset, len)
- if (inName s.equals("Mocha Java"))
- inMochaJava true
- inName false
- else if (inPrice)
Sun
23SAX Parsing Example
- parser calls startElement
- parser calls startElement
- MochaJava parser calls
startElement, characters, and endElement - 11.95 parser calls
startElement, characters, and endElement - parser calls endElement
- ...
-
- next invocation of startElement -- inName is true
- next invocation of characters -- inMochaJava is
true - next invocation of startElement -- inPrice is
true - next invocation of characters -- prints price
Sun
24XML To Be Transformed
//www.w3.org/1999/XSL/Transform version1.0 nventory Joy of
Integration Joe
Smith Integration for Dummies
John Doe
Erl
25XSLT and XPATH Transformation
//www.w3.org/1999/XSL/Transform version1.0 sltemplate match/ / matchinventory/ h selectbook select_at_category/ selecttitle/ selectauthor/ le
Erl
26XML Revolutions
- Data revolution XML
- Data is not tied to transport or language
travels using Web protocols - Data previously subordinated to code and
transport - Data decoupled from constraints of code and
transport - Architecture revolution
- Loosely coupled systems centered around the Web
and message-oriented middleware - Previously tightly coupled object systems
- Java Remote Method Invocation (RMI)
- Microsoft COM/Distributed Component Object (DCOM)
- OMG Common Object Request Broker Architecture
(CORBA) - Software revolution
- Simplicity of design and power of combination and
collaboration - Previously large systems built from detailed
specifications - Now, assembled systems with capability emergence
Coyle
27Moving Data on the Web
- Option 1 Electronic Data Interchange (EDI)
- Defines a common data format
- Uses proprietary transport network
- Delivers data in agreed upon formats
- Option 2 CORBA, RMI, DCOM
- Agrees to a transport protocol supported on
multiple platforms - Uses an object request broker to handle
inter-object communication - Delivers data as parameters of method calls
- Option 3 SOAP
- Defines an XML envelope for data
- Uses common internet protocols to deliver the
SOAP envelop - When using HTTP for transport leverages XML data
with attachments
Coyle
28Simple Object Access Protocol(SOAP)
29SOAP
- Simple potentially not simple many possible
options - Object not particularly related to
object-oriented development often procedural in
nature - Access ok one out of four
- Protocol Not a replacement for HTTP or SMTP
it relies on those protocols to handle the data - http//www.w3.org/2000/xp/Group
Iverson
30Internet Protocol Suite
- Application Layer
- DHCP, DNS, FTP, HTTP(S), IMAP4, IRC, NNTP, XMPP,
MIME, POP3, SIP, SMTP, SNMP, SSH, TELNET, BGP,
RPC, RTP, RTCP, TLS/SSL, SDP, SOAP, L2TP, PPTP - Transport Layer
- TCP, UDP, DCCP, SCTP, GTP
- Network Layer
- IP(IPv4, IPv6), ARP, RARP, ICMP, RSVP, IGMP,
IPSec - Data Link Layer
- ATM, Ethernet , FDDI, Frame Relay, GRS, PPP
- Physical Layer
- Ethernet, ISDN, Modems, PLC, RS232, SONET/SDH,
G.709, WiFi
31Web Data Transport
HTML document or browser compatible type
HTTP Header
Data
Browser
FTP Header
Data
Client
Server
Any file
GET file.html
HTTP
GET
Web content returned
Data passed to server
POST
HTTP
Web content returned
Coyle
32Power of Combination
SOAP
SOAP
SOAP
HTTP
XML
SOAP Combination of HTTP and XML
HTML
HTTP
Server
Browser
Web Combination of HTML, HTTP and Browsers
Coyle
33SOAP in Context
- SOAP is an application layer protocol.
- Corba Internet Inter-ORB Protocol (IIOP), Object
Remote Procedure Call (ORPC) (basis for DCOM),
and Java Remote Method Protocol (JRMP) are binary
protocols, while SOAP is a text-based protocol
that uses XML - Using XML for data encoding makes SOAP easier to
debug and read. - Since SOAP is text based, it can move more easily
across firewalls than IIOP, ORPC, or JRMP - HTTP based messages pass through port 80 on most
firewalls - SOAP is based on XML which is standards driven,
versus vendor driven. - SOAP messages define one-way data transmission
however messages can be combined to implement
patterns such as request-response
Coyle
34SOAP
Tightly coupled network Based on a
common transport protocol
Corporate Network (CORBA, RMI, DCOM)
SOAP
Message Oriented Middleware
SOAP
SOAP
SOAP
Loosely coupled Web-based network using SOAP
and protocols (HTTP, FTP, SMTP)
SOAP
XML
Coyle
HTTP
SMTP
FTP
35SOAP Parts
- Encoding rules that control XML tags that define
a SOAP message and a framework for message
content - Rules for exchanging application-defined data
types, including when to accept or discard data
or return an exception to the sender - Conventions for representing remote procedure
calls and responses
Coyle
36SOAP Message Structure
- SOAP Envelope Outermost element of a SOAP
message that is the root of the XML document
defining a SOAP message - SOAP Header Optional element that provides a
modular way of directing SOAP servers to do
processing before passing the message on, e.g.
add transaction or security information or
perform stages of processing in a message path - SOAP Body Contains the transported XML payload
which may be data or a remote procedure call.
SOAP (Mandatory)
SOAP (Optional)
SOAP (Mandatory)
Coyle
37SOAP Example Request
Internet
ZwiftBooks server configured to understand SOAP
Client initiating SOAP request for best
book delivery time
Request
HTTP Request Header
POST/ZwiftBooks HTTP/1.1 Host www.zwiftbooks.com
Content-Type text/xml Content-Length 134 SOAP
Action Some-URI
SOAP Content
xmlns httpw3.org/2001/09/soap-e
nvelope encodingStylehttp//www.w3.org/200
1/09/soap-encoding GetBestDeliveryTime 0-101-22
892-3 7
5230 tDeliveryTime
Coyle
38SOAP Example Response
Internet
ZwiftBooks server
Client initiating SOAP request for best
book delivery time
Response
HTTP Request Header
HTTP/1.1 200 OK Content-Type text/xml Content-Len
gth 122
SOAP Content
xmlns httpw3.org/2001/09/soap-e
nvelope meResponse xmlnszwiftbookswww.zwi
ftbooks.com 8
hours eliveryTimeResponse
Coyle
39SOAP Message Paths
- SOAP messages may be routed from server to
server, supporting processing at intermediate
nodes - Pipe and filter architecture
- Layered architecture and multi-tier patterns
- Intermediaries can be proxies, caches,
store-and-forward nodes, and gateways - SOAP server rules
- Identify the parts of the SOAP message intended
for the server application - Check for actor attribute that is URI of the
application or the URI http//schemas.xmlsoap.org/
soap/actor/next which means the application must
process the header - Verify that all parts of the header intended for
the application and associated with a
mustUnderstandtrue attribute are supported,
otherwise fault - Process the parts of header intended for the
application - If not the ultimate destination, remove all
header elements intended for it before forwarding
the message
Coyle
40Apache Axis SOAP Example
- 1 import org.apache.axis.client.Call
- 2 import org.apache.axis.client.Service
- 3 import javax.xml.namespace.QName
- 4
- 5 public class TestClient
- 6 public static void main(String args)
- 7 try
- 8 String endpoint
- 9 "http//nagoya.apache.org
5049/axis/services/echo" - 10
- 11 Service service new Service()
- 12 Call call (Call)
service.createCall() - 13
- 14 call.setTargetEndpointAddress( new
java.net.URL(endpoint) ) - 15 call.setOperationName(new
QName("http//soapinterop.org/", "echoString")) - 16
- 17 String ret (String) call.invoke(
new Object "Hello!" ) - 18
- 19 System.out.println("Sent 'Hello!',
got '" ret "'")
Apache Axis Project
41Apache Axis SOAP Example
- Lines 11 and 12 create new Service and Call
objects-standard Java API for XML based RPC
(JAX-RPC) objects that store metadata about the
service to invoke - Line 14 sets up endpoint URL-the destination of
the SOAP message - Line 15 defines the operation (method) name of
the Web Service - Line 17 invokes the desired service passing a set
of parametershere just one string - Invoking the program yields the following
- java samples.userguide.example1.TestClient
- Sent Hello!, got Hello!
Apache Axis Project, Sun
42Apache Axis Example
-
- xmlnsxsdhttp//www.w3.org/2001/XMLSchema
- xmlnsSOAP-ENV"http//schemas.xmlsoap.org/soap/
envelope/" xmlnsxsi"http//www.w3.org/2001
/XMLSchema-instance" -
- g/"
- Hello!
-
-
-
- http//ws.apache.org/axis/java/releases.html
- http//mirror.olnevhost.net/pub/apache/ws/axis/1_4
-
Apache Axis Project
43Web Services
44Web Services
- A vague term that refers to distributed or
virtual applications or processes that use the
Internet to link activities or software
components. A travel Web site that takes a
reservation from a customer, and then sends a
message to a hotel application, accessed via the
Web, to determine if a room is available, books
it, and tells the customer he or she has a
reservation is an example of a Web Services
Application. - Business Process Trends
- http//www.bptrends.com/resources_glossary.cfm?
- letterFilterWdisplayModeall
Iverson
45XML Communication
Corporate Network
Firewall
XML
XML
XML
Repository
Web
Message Server
Provider
Client
Web Services
Option 1 Communicate directly using XML and Web
protocols
Option 3 Locate partners via Web services
repository communicate directly or via
messaging middleware
Option 2 Communicate via messaging middleware
Coyle
46Web Services Again
- Technology, process, and phenomenon
- As technology, a set of protocols building on the
SOAP, XML, and HTTP foundation - As process, an approach to software discovery and
connection over the Web - As a phenomenon, an industry wide adoption of a
decentralized, loosely coupled, synergistic
approach
Coyle
47Web Services Framework
- Describe--Accessible descriptions of
functionality and attributes so other
applications can determine how to use it - ExposeServices register in a repository
providing - Business information (White pages) holding basic
service-provider informationname, address,
telephone number, etc. - Service information (Yellow pages) listing groups
of services by category - Binding information (Green pages) describing how
to connect and use the servicesURLs, method
names, argument types, etc. - InvokeRemote application can invoke service
- RespondWhen service is invoked, results are
returned to the requester - Manage/Govern Provided structure and process
control
Coyle
48Web Services Framework
Corporate Network
XML and SOAP provide an open-ended data exchange
mechanism for the Web
Firewall
XML/SOAP
XML/SOAP
XML/SOAP
Firewall
Web Services framework provides Protocols and
processes for providers to register and clients
to discover and use Web Services
Web Services
Corporate Network
Coyle
49Web Services Architecture
- Process and set of protocols for finding and
connecting to software exposed as services over
the Web - Service provider provides an interface for
software to carry out a specific set of tasks - Service requester discovers and invokes
software services to provide a business solution - Broker/Registry manages and publishes the
service
50Web Services Triad
Green
WSDL
White
...UDDI
Inquiry...
Yellow
WSDL
...UDDI
Update...
Repository/ Registry
Uses UDDI to find appropriate Web Service
UDDI
UDDI
XML/SOAP
XML/SOAP
XML/SOAP
Client
Provider
Uses UDDI to register a Web Service with
the repository
- Universal Description, Discovery and Integration
(UDDI) - Web Services Description Language (WSDL)
Coyle
51UDDI Registries
- Contents
- Business entities
- Business services
- Specification pointers binding templates
- Service types
- Business relationships
- Subscriptions
- UDDI provides inquiry and publishing APIs
52UDDI Example
-
- Acme Corp.
-
- businessKey "..."
- Product Guide
-
- serviceKey"..."
- "http"http//acme.com/productGuide
-
- tModelKey"uuidb917c13d-f451-22ef-9a44-a4c562af23
d8" -
-
- http//csr
c.nist.gov/publications/fips/fips46-3/fips46-3.pdf
-
- 168 bit
triple DES -
- http//csr
c.nist.gov/publications/fips/fips197/fips-197.pdf/overviewURL -
- 128 bit
AES
http//searchwebservices.techtarget.com/originalCo
ntent/0,289142,sid26_gci910817,00.html
53WSDL Document
interface message ______________ service binding
endpoint/port
Logical grouping of operations Data description
using XML Schema Actual data structures used to
pass data
Abstract (service interface definition)
Concrete (service implementation Definition)
Service Definition Abstract Concrete Service
Description Service Definition Supplementary
Definitions
Erl
54WSDL Constructs
- definitions (root element)
- interface (previously portType) -Group of
logically related operations, i.e. component
interfaces (methods) representing a single action
or function - message Collections of input/output parameters
- Part Incoming or outgoing operation parameter
data - service Collections of endpoints including
physical address and protocol info - binding- Association to operation constructs
Abstract
Concrete
Erl
55Web Services Pros and Cons
- Pros
- Global method for describing and finding
Internetbased business services - Packaging and publishing of applications in a
readily understood format - New revenue streams through syndication of
existing application as Web Service
- Cons
- Emerging technology
- Managing and Tracking changes is a challenge
- Transactions not fully addressed
- Multiple, evolving security standards
- Processing overhead
Coyle
56Enterprise Context
.NET
J2EE
Messaging
Transactions
Security
Identity
Broker/Registry
XML/SOAP
XML/SOAP
Client
XML/SOAP
Provider
Coyle
57WWW Characteristics
- Simplicity
- Modularity
- Loose Coupling
- Emergent Behavior
58Enterprise Opportunities
Corporate Network
Firewall
Web
B2B Business to Business
B2C Business to Consumer
B2E Business to Employees
Coyle
59SOA
60SOA Concept
- SOA enables a standards-based marketplace of
service consumers and service providers across an
enterprise community or across the Web - SOA is a specification-based architecture to
transition the technical landscape to a
standards-based, vendor independent, and
loosely-coupled information sharing environment - Decoupling the service contract from the service
implementation - Promoting design and invocation by contract
Government Overview
61SOA Conceptual Framework
Business/ Mission Services
Enabling Services
Data Services
Legacy Applications
Infrastructure Services
Networks (...)
SOA Fabric
Service Consumers
Government Overview
62SOA Common Infrastructure
Government Overview
63SOA Infrastructure Standards
- WS-RM
- WS-RM policy
- WS-Policy
- WS-Addressing
- WS-Notification
- WSS
- SAML
- XACML
- XML-Signature
- XML-Encryption
- WS-Trust
- WS-Policy
- WS-SecurityPolicy
- XKMS
Government Overview
64SOA Infrastructure Example
- BEA AquaLogic Enterprise Repository
- Publishing Registry
- Design-time Governance
- BEA AquaLogic Service Registry
- Discovery Registry
- AmberPoint
- Run-time Governance
- / Management
BEA AquaLogic Service Bus
- IBM WebSphere DataPower
- XML Security
65SOA Infrastructure Example (Cont.)
- BEA AquaLogic Service Bus
- Reliable Messaging
- Queuing/holding messages if applications are
temporarily unavailable - In-route updates to message flow
- Rich Transformations
- Protocol Conversions (Http get/set style to SOAP,
etc) - Routing
- Service load-balancing
- Web Service Call-outs
- ESBs Built to accelerate and provide optimized
processing of the message - Support for service orchestration choreography
- Service versioning support
- BEA AquaLogic Enterprise Repository
- Enterprise Service Catalog for design time
discovery, policy enforcement, and lifecycle
management of services. - BEA AquaLogic Service Registry
- Runtime service registry to enable runtime
discovery of service endpoints. Enables movement
of services across infrastructure without service
application disruption. - AmberPoint
- Run-time Governance
- Metrics Monitoring
- Dependency Tracking
- Possible Policy Management
- Validation of messages against Schema
- Root-cause analysis to feed into enterprise
management - Health and status of service pushed to enterprise
management - Service level management
- Define Quality of Service other SLO
- Compliance
66SOA Challenges
- Governance
- Testing
- Compliance
67References
- Coyle, Frank P. XML, Web Services, and the Data
Revolution. Addison Wesley 2002. - http//www.amazon.com/Services-Revolution-Addison
-Wesley-Information-Technology/dp/0201776413 - Erl, Thomas. Service-Oriented Architecture.
Prentice Hall 2004. - http//www.soabooks.com/
- Iverson, Will. Real World Web Services. OReilly
2004. - http//www.oreilly.com/catalog/realwws/
- Brown, Kyle and Rachel Reinitz. IBM WebSphere
Developer Technical Journal Web Services
Architectures and Best Practices. 2003 - http//www-128.ibm.com/developerworks/websphere/t
echjournal/0310_brown/brown.html - Schmeizer, Ronald. Zapthink - How to Think
Loosely Coupled. 2004 - http//www.zapthink.com/report.html?idZAPFLASH-0
5282004 - Wilkes, Steve. Loosen Up. 2004
- http//dev2dev.bea.com/pub/a/2004/11/bizlogic_wil
kes.html
68References (Continued)
- Apache Axis Project
- http//ws.apache.org/axis/
- Sun Developer Network Web Services Technical
Articles Tips - http//developers.sun.com/techtopics/webservices/
reference/techart/index.html - Sun Web Services Made Easier. 2002
- http//java.sun.com/xml/webservices.pdf
- Microsoft UDDI Services
- http//www.microsoft.com/windowsserver2003/techno
logies/idm/uddi/default.mspx