3.5 The Web Services Marketplace 3.5.1 Products Vendor Product Categories The vendor solutions in the Web Services marketplace can be described as follows : Infrastructure -
Application server -
Middleware, such as JMS-enabled middleware -
Edge server, such as cache (using XML database) -
Registries, such as the UDDI or ebXML registry Development Tools -
Developer workbench that can wrap apps logic into a SOAP proxy, and publish it to UDDI -
Automated testing tools, such as jTest Web Services Tools Web Services Standards -
Java, such as JAX, Web Services Developer Pack -
C# -
XML standards, such as SOAP, SOAP-SEC, XAML, SAML Specialized Market Web Services Management -
Metering Web Services calls performance and service level. This can also send alerts to administrators or system management tools based on user -defined business rules. -
Security appliance, such as XML firewall for SOAP messages; appliance for SOAP message encryption and decryption. -
Service versioning, such as mapping to different service end-point URLs based on the incoming SOAP request and user profile. This addresses many legacy systems or customized services that provide the same business functionality but exist in multiple versions and perhaps operate in different platforms. Table 3-4 offers a sampler of the vendor products in the marketplace. Table 3-4. A Sampler of Web Services Vendor Products Category | Vendors | URIs | Application Servers | BEA | http://www.bea.com/products/index.shtml | Sun ONE | http://wwws.sun.com/software/products/appsrvr/home_appsrvr.html | Novell IBM | http://www.silverstream.com/Website/app/en_US/ProductsLanding http://www-3.ibm.com/software/info1/websphere/index.jsp?tab=highlights | Microsoft | http://www.microsoft.com/net | IDE/Development Environment | BEA | http://www.bea.com/products/index.shtml | Sun ONE | http://wwws.sun.com/software/products_categories/development_tools.html | Novell | http://www.silverstream.com/Website/app/en_US/ProductsLanding | IBM | http://www-3.ibm.com/software/info1/websphere/index.jsp?tab=highlights | IONA | http://www. xmlbus .com/ | CapeClear | http://www.capeclear.com/products/index.shtml | Bowstreet | http://www.bowstreet.com/products/businesswebfactory/index.html | Avinon | http://www.avinon.com/products/overview.html | Microsoft | http://www.microsoft.com/net | Service Registry | BEA | http://www.bea.com/products/index.shtml | Sun ONE | http://wwws.sun.com/software/product_categories/directory_servers_identity_mgmt.html | Novell | http://www.silverstream.com/Website/app/en_US/ProductsLanding | Systinet | http://www.systinet.com/products/index.html | IBM | http://www-3.ibm.com/software/info1/websphere/index.jsp?tab=highlights | The Mind Electric | http://www.themindelectric.com | Microsoft | http://www.microsoft.com/net | Application Tools/Middleware | Sun ONE | http://wwws.sun.com/software/product_categories/development_tools/html | Bowstreet | http://www.bowstreet.com/products/businesswebfactory/index.html | Systinet | http://www.systinet.com/products/index.html | Novell | http://www.silverstream.com/Website/app/en_US/ProductsLanding | XMLGlobal | http://www.xmlglobal.com/prod/index.jsp | IBM | http://www-3.ibm.com/software/info1/websphere/index.jsp?tab=highlights | Microsoft | http://www.microsoft.com/net | Process, Management, Methodology | Sun ONE | http://wwws.sun.com/sofstware/products/message_queue/home_message_queue.html | Bindsystems | http://www.bindsystems.com/products.htm | Bowstreet | http://www.bowstreet.com/products/businesswebfactory/index.html http://www.silverstream.com/Website/app/en_US/ProductsLanding | Novell IBM | http://www-3.ibm.com/software/info1/websphere/index.jsp?tab=highlights | Microsoft | http://www.microsoft.com/net | .NET to Java Porting | Halcyon | http://www.halcyonsoft.com | Mono | http://www.go-mono.com/faq.html ( Running .NET on Linux. This is still in the development stage. Currently, Mono provides a C# compiler on Linux, implements ADO.NET and ASP .NET. Please refer to the Mono status under http://www.go-mono.com/. | Java to .NET Porting | Microsoft | http://msdn.microsoft.com/visualj/jump/default.asp | Web Services Management | Amberpoint | http://www.amberpoint.com/ | Flamenco Networks | http://www.flamenconetwork.com/ | Talking Blocks | http://www.talkingblocks.com/ | Westbridge Technology | http://www.westbridgetech.com/ | Vendor Products by Development Life Cycle Table 3-5 shows some examples of vendor solutions that are available to meet different needs of the development life cycle. Table 3-5. Marketplace for Different Development Life Cycle Stages Development Life Cycle | Types of Development Tools | Examples of Vendors | Discovery | UDDI ebXML | Sun ONE , IBM, BEA, The Mind Electric, Systinet, Novell (Silverstream), MicrosoftSun ONE , XMLGlobal | Creation | Developer Workbench (IDE) | Sun ONE Studio, IBM, IONA, CapeClear, Bowstreet, Avinon, Microsoft | Transforming | JAX, XML, SQL Mapping | Sun (JAX), IBM (Xerces), XMLGlobal, Microsoft | Building | SOAP, WSDL | OSF (Apache), Sun ONE Studio, IBM, CapeClear, Bindsystems, The Mind Electric, Killdara, Microsoft | Deploying | Deploying tools | OSF (Apache ANT) | Testing | Local/remote testing | Jtest | Publishing | Publish to registries | Sun (JAXR), IBM (UDDI4J) | Some Publicly Available Development/Productivity Tools Here are some development or productivity tools that can be downloaded as a free trial: XMLSpy. For developing XML Schema, DTD, and validating XML well- formedness . The new version 4.2 also provides SOAP debugging. See Figure 3-29. Figure 3-29. XMLSpy 4.2 Java Web Services Developer Pack. A freeware for developers to build Web Services using JAX. See Figure 3-30. Figure 3-30. Java Web Services Developer Pack The Java Web Services Developer Pack (JWSDP) from Sun Microsystems is a vendor-neutral Web Services Development Kit that avoids the need to purchase expensive Web Services packages. It provides basic tools but is not sufficient for serious or large-scale development. JWSDP provides: -
Tomcat engine with ANT deployment tool -
All-in-one JAR files ”javamail, smtp, and so forth -
JAX pack ”JAXP, JAXM, JAXR, JAXB -
UDDI browser and registry -
Application deployment tool -
Excellent tutorial book How to Use JWSDP for Development JWSDP can be used for proof of concept/prototyping, as a rudimentary development platform for road warriors, and for coding simple SOAP messages for integration testing. To best utilize JWSDP, you can run JWSDP on Linux, Solaris OE , or Windows NT. You can run it with a SOAP server administration, or run it with Apache Cocoon for any-to-any delivery. Something to Note. JWSDP has applied some special patches for JAR. There is also a version that is compatible with other stand-alone downloads of JAX Pack, Tomcat, or SOAP. 3.5.2 Selecting Your Web Services Tools Selection Criteria Here are some suggestions for selecting an appropriate Web Services tool for your IT shop: General -
Total cost of ownership -
Reliability and support service of vendor (for example, financial stability, local support) -
Standards compliance (for example, J2EE , EJB 1.2, SOAP 1.2, WSDL 1.1) -
Availability of technical documentation, such as examples, tutorial Application Server Platform -
Clustering features benchmarking ”failover recovery time, any manual intervention -
Logs ”logging availability at different levels (for example, can it trace back different callers and intermediaries?) -
Automated testing and deployment platform -
Availability, of or integration with, other apps server analyzer tools (for example, thread performance analysis) Web Services Development Platform Among these criteria, you may also look for: -
SOAP 1.1/1.2 support; SOAP 1.2 has some considerable changes -
Integration with J2EE application servers, and their positioning -
Compatibility with other Web Services products, such as JMS bridge -
Any proprietary features, such as Electric Server Page 3.5.3 Industry Development There are three major Web Services development technologies in the industry: ebXML. ebXML is a key technology supporting Web Services. It is backed by OASIS, CE/FACT, DISA, and many public communities. One motive driving these public communities is to use ebXML as an alternative for EDI-type transactions. ebXML uses SOAP 1.1 with Attachment as the transport and routing layer. It has much richer functionality and contents and is supported by business processes (such as BPSS) and better security. SOAP. SOAP 1.0 used to be Microsoft NT-centric technology. IBM and other vendors have modified it to turn SOAP 1.1 into an open platform and submitted it to Apache Open Sources Foundation. SOAP 1.1 with Attachment is an extension to support object embedding with S/MIME, developed by HP and other vendors. UDDI. UDDI is a business Service Registry that allows users to create, discover, and bind business services. IBM, Microsoft, and Ariba initially set up three different test UDDI sites. Recently, Ariba withdrew, but there is some discussion that HP will provide the UDDI test site on behalf of Ariba. SAP also now provides a public UDDI node. Leading technology vendors such as IBM and Microsoft have large-scale initiatives in developing Web Services toolkits and White Papers. There are many Application Server and Middleware vendors developing components that support Web Services, including BEA Weblogic, webMethods, and TIBCO. Many Web Services standard bodies have emerged since 2000. Among them, there are a few standard bodies (or related associations) that have large industry involvement: OSF Apache. Open Source Foundation coordinates and distributes Web Services technology as public domain ( http://www.apache.org ) UDDI.org. (now under OASIS) Standard body for promoting UDDI registry. It has recently transitioned to OASIS's management ( http://www.uddi.org or http://www.oasis.open.org ) W3C. Worldwide Web Consortium that publishes and approves Internet-related standards ( http://w3c.org ) Some examples of the supporting communities include: OASIS. A community that supports ebXML standards and implementation ( http://www.oasis-open.org/ ) UN/CEFACT. Previously UN/EDIFACT, UN/CEFACT promotes EDI and also supports ebXML as the successor to EDI in collaboration with OASIS ( http://www.ebxml.org/ ) Open Application Group . A standards body that adopts the ebXML implementation ( http://www.openapplications.org/ ) DISA. A U.S. ANSI standard body that also adopts the ebXML implementation ( http://www.disa.org/ ) SOAP and ebXML Web Services technology is intended to be platform- and vendor-neutral. It is expected that this technology be highly flexible for interoperability and integration. SOAP and ebXML standards are used for different reasons. This can be understood in the context of their underlying design principles and value proposition. The initial design of SOAP does not cater to non-XML contents such as EDI transactions. SOAP 1.1 with Attachment is a major breakthrough ; it uses MIME to embed binary objects. The original design principles behind SOAP also support non-HTTP transport, though it has not been implemented at all. The security design of SOAP is highly volatile and weak at this stage. ebXML can be used to exchange XML contents (incorporating any XML document in the SOAP Body) and non-XML contents (embedding ANSI X12 transactions as attachments). The latter is the mechanism by which ebXML supports EDI documents. It now uses SOAP as the transport layer. ebXML differentiates from SOAP/UDDI by introducing business processes and JMS binding. It uses UML to model business processes. The business process and information models will help integrate with the business entities' back office applications. JMS binding provides a secure and reliable transport mechanism over HTTP. Table 3-6 summarizes some facts about different Web Services technology thought leaders . Table 3-6. Comparing Sun, Microsoft, and IBM Approaches | Sun | Microsoft | IBM | Framework | Sun ONE | .NET | IBM Web Services | Infrastructure | Open standards technology, e.g., J2EE ”Java and XML LDAP | .NET framework, including C#, VB, C++, VBScript, and JScript | WebSphere suite | Developer tools | Sun ONE Studio Sun ONE Integration Manager | Visual Studio.NET .NET framework SDK .NET enterprise servers | Web Services Toolkit Application Developer Studio Visual Age | Web Services dialects | Sun ONE ”Smart Web Services | Hailstorm (not available yet) | N/A | Discovery | UDDI ebXML | UDDI UpnP | UDDI | Security | WS-Security Liberty SAML | WS-Security | WS-Security | Business logic | J2EE ebXML WSCI | Biztalk BPEL4WS | J2EE ebXML BPEL4WS | References -
Comparison of Web Services architecture http://www. webservices .org/framework.php -
Web Services Choreography Interface (WSCI) http://wwws.sun.com/software/xml/developers/wsci/wsci-spec-10.pdf -
Business Process Execution Language for Web Services (BPEL4WS) http://www-106.ibm.com/developerworks/webservices/library/ ws-bpel / |