Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Release 3 (10.1.3.1) -
Enterprise Web Services
An Oracle White Paper
October 2006
Oracle Application Server 10gR3
Enterprise Web Services
Introduction.............................................................................................3
Oracle Application Server Web Service Architecture............................3
Oracle Application Server Web Services Features.................................4
J2EE 1.4 Web services........................................................................4
Web Services Metadata – Annotations Based Web Services..............5
Database Web Services ......................................................................6
Web Services Invocation Framework Support (WSIF)......................6
Web Services Attachments..................................................................7
Web Services interoperability.................................................................8
Oracle and WS-I..................................................................................8
Quality of Services and Management.....................................................9
Web Services Management...............................................................10
Web Services Security.......................................................................10
Web Services Reliable Messaging ...................................................12
Web Services Monitoring.................................................................13
REST Web Services..............................................................................13
Developing Web Services.....................................................................13
Implementing the Web Services........................................................13
Consuming Web Services.................................................................14
OracleAS 10g Web Services and Tooling.........................................14
Oracle Fusion Middleware and Web Services......................................16
Conclusion.............................................................................................16
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 2
Oracle Application Server 10gR3
Enterprise Web Services
INTRODUCTION
With the advent of the Internet, enterprise applications evolved from a
client/server to an Internet computing architecture, growing rapidly in complexity
as a consequence. Faced with this architectural shift and with ever-changing
business pressures, many information technology departments deployed
enterprise applications using fragmented, piecemeal software infrastructure
called middleware. The resulting middleware complexity represents nearly 50%
of IT costs in most organizations. Further, 60% of organizations today consider
their enterprise application infrastructure an impediment to their ability to meet
business requirements. Enterprises are also evolving their applications from
being monolithic, closed systems to being modular, open systems with well-
defined interfaces. This new application architecture, called Service-Oriented
Architecture (SOA), represents a fundamental shift in the way new applications
are being designed and developed.
Web Services are in the center of the SOA by providing a standard based
solution that answer the needs of having distributed system that can interoperate
independently of the technology that it is used to implement the service itself or
the client that consume it. Oracle Application Server 10g Release 3 (10.1.3.1)
has complete support for Web Services. With a comprehensive offering, Oracle
provides the ability to combine technologies to deliver unique and innovative
business opportunities that will differentiate your business. This white paper
provides a technical overview of Oracle Application Server 10g Release 3
(10.1.3.1) Web Services features.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 3
(JCP) and the Organization for the Advancement of Structured Information
Standards (OASIS).
Figure 1 provides an architectural overview of the Oracle Application Server
Web Services environment. This shows that the Web services framework is built
on the top of the proven J2EE 1.4 infrastructure of Oracle Application Server.
The Web service runtime fully leverage the scalability, reliability and
performance characteristics of that core runtime.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 4
Services 1.1 (also known as JSR 921) defines a portable packaging and
deployment model for Web services.
Using this standards based infrastructure the following Java artifacts are
publishable as Web services in Oracle Application Server 10g R3:
·Java classes
·Stateful Java classes
·EJB 3.0 components
·EJB 2.0 components
·EJB 2.1 components
·JMS queue and topics
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class Echo {
@WebMethod
public String echoString(String p) {
return "echo" + p;
}
}
Listing 1: Annotated Java Class for Web Services
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 5
Web Services and Enterprise Java Bean (EJB) 3.0
Oracle Application Server 10g Release 3, is the first J2EE containers to support
the EJB 3.0 specifications. EJB 3.0 simplifies the development of beans by using
Java 5.0 annotations. In addition to the base EJB annotations, OracleAS 10g
Web Services also provide JSR-181 annotation to EJB developers. With the
support of EJB 3.0 published as Web Services using JSR-181, Oracle Application
Server 10g R3 provides early features of Java Enterprise Edition 5 (JEE5).
·SQL statements
·DML statements
·AQ queues
·Java classes loaded within the database Java virtual machine
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 6
artifacts using WSDL as well as a framework to invoke those programmatic
artifacts using their native protocols rather than through SOAP based messaging.
Oracle Application Server Web Services provides an implementation of WSIF
along with tooling to generate WSIF bindings within standard Java, EJB and
PL/SQL Web services.
Oracle WSIF implementation is designated to work hand in hand with the Oracle
BPEL Process Manager which uses both loosely coupled Web services as well as
native, high performance, transactional service interfaces based on WSIF
bindings. Oracle BPEL Process Manager leverage WSIF to connect natively to
Oracle Server, Java classes and Oracle JCA Adapators.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 7
Profile 1.0. This profile defines a new XML Schema construct swaRef, providing
an interoperable way to use Web Services with attachment.
In addition to MIME attachments using SwA and sawRef, Oracle also support
Direct Internet Message Encapsulation (DIME). DIME is the encoding format
supported by the Microsoft .Net platform. DIME is an important extension to the
standard SOAP with attachment since Microsoft .Net does not support SwA and
swaRef.
Finally, OracleAS 10g R3 (10.1.3.1) introduces support for Message
Transmission and Optimization Mechanism (MTOM) encoding of binary
OracleAS Web Services provides support for content. MTOM together with XOP (XML Binary Optimized Packaging) defines
MTOM, the new attachment specification; how an XML binary data such as xs:base64Binary can be optimally transmitted
facilitating interoperability with Microsoft .Net
over the wire. Not like SOAP with Attachment and DIME, MTOM does not add
and WCF platforms.
any particular extension to the WSDL, allowing optimized binary content
transmission without impacting the development model. MTOM is becoming the
default standard for attachment, and its has been adopted by the major Web
Services platform including JavaEE and Microsoft with .Net 2.0 and Windows
Communication Foundation (WCF).
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 8
their Web services will interoperate across heterogeneous Web services
implementations. By default, Web services built with Oracle Application Server
OracleAS Web Services facilitates the 10g R3 Web Services conform to the WS-I Basic Profile 1.1. Further, Oracle
development of services compliant with the has also done the same interoperability certification with its WS-Security
WS-I Basic Profile 1.1, Basic Security Profile
implementation conforming to the WS-I Basic Security Profile 1.0. WS-I
1.0 and Attachment Profile 1.0
provides also testing tools to help developer to check the compliance of a Web
services.
In addition, Oracle has extended interoperability scope by testing with most of
the vendors and open source Web services stack available. One example of this
effort in ensuring “real-life interoperability” is the support of DIME that has
been targeted to have attachments that can interoperate with Microsoft .Net
applications. In the same order, Oracle has also improved its Web service stack
to facilitate the integration between Java and Microsoft Office 2003. It is now
easy to develop Web services that can be consumed by the components of the
suite.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 9
Web Services Management
Oracle Application Server Control is designed to provide comprehensive end-to-
end configuration management and real time monitoring with JMX. When
Oracle Application Server Control offers a deployed in OracleAS 10g R3, JAX-RPC, and metadata Web Services are
comprehensive way to administer and automatically exposed to the management console.
monitor Web services endpoints
In the recent years, most large companies have deployed dozen of Web services
implementing a Services Oriented Architectures. These Web services are most of
the time running on different platforms various level of security and
management. In addition of the support of Web services management and
security built in OracleAS 10g R3, Oracle provides with Oracle Web Service
Manager a solution to centralized the visibility and control of all the Web
services of the enterprise, running on Oracle AS or not. OracleAS Web Services
framework is integrated with Oracle WSM facilitating the configuration of
security policies, and monitoring of the different services deployed in Oracle
Application Server. Oracle WSM allows administrator to easily integrate Web
services to the global enterprise access control system such as Oracle Identity
Management.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 10
ensure message integrity.
XML Encryption: Message confidentiality addresses how to use encryption
to keep portions of a SOAP message confidential. Oracle Application Server
uses XML Encryption to ensure message confidentiality.
Security Tokens: Message authentication provides a means for associating
an identity with a message. For example, this could be a digital certificate or
a username token. Oracle Application Server uses WS-Security
SecurityTokens to provide message authentication capabilities.
SAML: Support SAML token profile as an authentication mechanism
within WS-Security. This feature enables customers to use standards based
authentication and to propagate the identity from one web service to another
Web service in a standard interoperable way.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 11
Figure 6: Oracle Application Server Control WS-Security Configuration
Oracle Application Server 10g Web Services leverages the Oracle security
libraries to sign and encrypt SOAP messages.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 12
REST WEB SERVICES
In Oracle Application Server 10g R3, ordinary JAX-RPC Web services can be
declaratively defined to support both SOAP messages over multiple protocols
and additionally what is frequently called a REST style of Web services. REST
is an acronym for Representational State Transfer and defines a simplified model
for constructing Web services predicated on the basic web infrastructure of
HTTP, URI and simplified data formats of plain old XML (POX).
Any JAX-RPC or Web Services Metadata Web service built on Oracle
Application Server 10g R3 can be simply exposed both as a SOAP Web service
or a REST Web service. In the latter case, there is no SOAP wrappers required
on the message exchange, simply the XML message content, however, the
resulting plain XML messages are still constrained by the message schemas
defined in the WSDL. The end result is a highly productive yet radically
simplified model for building Web services integrations and applications.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 13
interoperability, since the developer starts to develop his service describing the
different message formats, and operation using XML standards, that are platform
agnostic.
Oracle Web Services Assembler (WSA) is the tool exposed by the framework
that allows developer to easily create Web services endpoint from various
sources, and also create Java client from WSDL files. WSA is accessible to
developer using two modes:
Command Line Interface
Apache Ant task
These different more of operations allow the developer and architects to integrate
the Oracle Web Services stack to any type of development and any IDE of the
market.
Oracle JDeveloper 10g is an Java IDE that provide end to end support to develop,
debug, tune and deploy J2EE applications. In addition to all the necessary
wizards, and tools to develop J2EE applications, from any Web component
Oracle JDeveloper 10 g is a complete Web
(Servlets, JavaServer Pages and JavaServer Faces), to EJB development (2.x and
Services tools allowing development,
deployment and testing of service endpoints
3.0), JDeveloper also provides a complete set of tools for Web Services
and clients. developers.
First of all it is possible to create services using top-down and bottom-up
methodologies, using Java annotations and JAX-RPC code. JDeveloper provides
wizard to publish Java classes, EJB, PL/SQL and JMS as Web Services. Also you
can point a wizard to any WSDL and create JAX-RPC client. These wizard
directly leverage WSA, this ensures a perfect integration with the core Oracle
Web Services stack.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 14
In addition to the creation of the services and clients, JDeveloper provides a
unique declarative approach to configure security, reliability and
auditing/logging and this for the client and the server.
JDeveloper has other features that help developer to create, maintain and debug
Web Services, such as:
WSDL Editor: The WSDL Editor allows developer to edit and view
WSDL files in a graphical way.
UDDI Support: Developers can connect to any UDDI repository,
such as Oracle Application Services Registry, and easily creation of
Service Oriented Application using registered services.
HTTP Analyzer: JDeveloper can interact as a proxy between Web
Services clients and servers and capture the SOAP messages.
Capturing SOAP messages is one of the first steps of debugging
SOAP based applications.
WS-I Tools integration: WS-I tools are integrated in Oracle
JDeveloper allowing developers to check if a service is compliant
with the WS-I profiles.
XML Editing: JDeveloper provides various tools to manipulate
XML related document such as a XML and XSL editor, graphical
XML Schema editor that help developer to use Web Services.
Figure 8: Oracle JDeveloper WSDL Editor and HTTP Analyzer
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 15
Oracle Web Services Manager, BPEL Process Manager, Enterprise Service Bus,
and the Services Registry are some of the components of the Oracle Fusion
Middleware that leverage directly the Web service infrastructure.
CONCLUSION
Oracle Application Server 10g R3 Web Services framework is a major release
regarding core Web Services features. It provides an industry standard based
solution running on the top of the Oracle Application Server proven J2EE
architecture. In addition to standard such as JAX-RPC, Oracle extended its Web
services platform to support enterprise deployment such as WS-Security and WS-
Reliability. Oracle also in this release, leverage the simplicity of Java 5 and EJB
3.0 annotation development to ensure rapid development of services oriented
applications.
Oracle Application Server 10g R3 is the baseline SOA platform upon which the
Oracle Fusion Middleware capabilities such as Oracle Business Rules, Oracle
BPEL Process Manager, Oracle Web Services Manager, Oracle Enterprise
Service Bus, Oracle Identity Management and Oracle Application Server Service
Registry will be delivered, enabling organizations to develop, deploy and
manage large scale integrated and interoperable service oriented architectures.
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services Page 16
Oracle Application Server 10g Release 3 (10.1.3.1) - Enterprise Web Services
October 2006
Author: Tugdual Grall
Contributing Authors: Mike Lehmann
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com