Go to primary content
Oracle Agile Engineering Data Management Web Services Guide for Agile
Release e6.2.1.0
E69179-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

1 Introduction to Web Services

This guide introduces you to web services, and gives information in setting up of the infrastructure, configuring web services security and the working of web services.

1.1 About Web Services

Web Services are technologies for building distributed applications. These services, which can be made available over the internet, use a standardized XML messaging system and are not tied to specific operating systems or programming languages. Through Web Services, companies can encapsulate existing business processes, publish them as services, search for and subscribe to other services, and exchange information throughout and beyond the enterprise. Web Services are based on universally agreed upon specifications for structured data exchange, messaging, discovery of services, interface description, and business process design.

A Web Service makes remote procedure calls across the internet using:

  • HTTP/HTTPS, or other protocols to transport requests and responses.

  • Simple Object Access Protocol (SOAP) to communicate request and response information.

The key benefits provided by Web Services are:

  • Service-oriented Architecture

    Unlike packaged products, Web Services can be delivered as streams of services that allow access from any platform. Components can be isolated; only the business-level services need be exposed.

  • Interoperability

    Web Services ensure complete interoperability between systems.

  • Integration

    Web Services facilitate flexible integration solutions, particularly if you are connecting applications on different platforms or written in different languages.

  • Modularity

    Web Services offer a modular approach to programming. Each business function in an application can be exposed as a separate Web Service. Smaller modules reduce errors and result in more reusable components.

  • Accessibility

    Web Services can be completely decentralized. They can be distributed over the internet and accessed by a wide variety of communications devices.

  • Efficiency

    Web Services constructed from applications meant for internal use can be used externally without changing code. Incremental development using Web Services is relatively simple because Web Services are declared and implemented in a human readable format.

1.1.1 Core Technologies

Agile e6 Web Services use industry standard core technologies. These are:

  1. Web Services Description Language (WSDL)

  2. XML and XML Schema

  3. Simple Object Access Protocol (SOAP)

1.1.1.1 Web Service Description Language (WSDL)

WSDL is an XML-based format for describing the interface of a Web Service. WSDL describes the endpoints, location, protocol binding operations, parameters, and data types of all aspects of a Web Service:

  • The WSDL that describes a Web Service has the following characteristics:

    • It is published by the service provider.

    • It is used by the client to format requests and interpret responses.

    • It can be optionally submitted to a registry or service broker to advertise a service.

  • Additionally, WSDL describes the following:

    • The operations that are provided by a Web Service.

    • The input and output message structures for each Web Service operation.

    • The mechanism to contact the Web Service.

1.1.1.2 XML and XML Schema

A WSDL file is published via an XML file. Document or Literal are required as part of the WS-I interoperability standard. This standard sets the basis for modern Web Service usage.

  • Document

    The payload for an operation, however complex, must be defined in a single XML element.

  • Literal

    The definition of single XML elements must be described by an XML Schema embedded in the WSDL file.

When using Document or Literal formatting, the WSDL file will contain an XML Schema definition that defines all messages and data types that are used for a particular service. The payload itself consists entirely of XML data structures.

1.1.1.3 Simple Object Access Protocol (SOAP)

SOAP is a lightweight protocol intended for exchanging structured information in a decentralized distributed environment. SOAP uses XML to define an extensible messaging framework.

SOAP messages consist of the following:

  • An envelope for wrapping messages, including addressing and security information.

  • A set of serialized rules for encoding data types in XML.

  • Conventions for a procedure call and, or response.

1.1.2 Web Services Architecture

You can view Web Services architecture in terms of roles and the protocol stack:

  • Roles:

    • Service provider

      This provides the service by implementing it and making it available on the internet.

    • Service requester

      This is the user of the service who accesses the service by opening a network connection and sending an XML request.

    • Service registry

      This is a centralized directory of services where developers can publish new services or find existing ones.

  • Protocol Stack:

    • Service transport layer

      This layer uses the HTTP protocol to transport messages between applications.

    • XML messaging layer

      This layer encodes messages in XML format using SOAP to exchange information between computers. It defines an envelope specification for encapsulated data that is transferred, the data encoding rules, and remote procedure call (RPC) conventions.

    • Service description layer

      This layer describes the public interface to a specific Web Service using the Web Service Description Language (WSDL) protocol. With WSDL, it defines an XML grammar to describe network services. The operations and messages are described abstractly, and then bound to a network protocol and message format. WSDL allows description of endpoints and their messages regardless of what message formats or network protocols are used to communicate.

    • Service discovery layer

      This layer centralizes services into a common registry using the Universal Description Discovery and Integration (UDDI) protocol. UDDI is a platform-independent XML-based registry for businesses worldwide to list themselves on the internet.

1.2 About Agile e6 Web Services

Agile e6 Web Services expose a subset of the Engineering Data Management (EDM) functionalities of the Agile e6 application. These services support functionalities provided by EDM modules in Agile e6 application, such as Item Management, Project Management, and many other functions of Agile e6.

Implementation of Agile e6 Web Services adheres to the following principles:

  • Well defined, standard based discoverable interface

  • Java based Web Services framework using Oracle WebLogic

  • Modularized Agile e6 Schema (XSD) and WSDL for easy maintenance

  • Standard-based WSDL to ensure compatibility across various clients (.NET, Java, and BPEL)

  • Bulk APIs wherever applicable for better performance

1.2.1 The Core Web Services

Agile e6 Core Web Services is a set of services for the following functionalities:

  • BusinessObject Web Service

  • DocumentManagement Web Service

  • InternalFileObject Web Service

  • Metadata Web Service

  • Configuration Web Service

  • EngineeringCollaborationService Web Service

1.3 About Agile e6 Web Services Framework

The Web Service Framework is an additional layer on top of Agile e6, which supports inbound and outbound communication based on standard Web Services technology. It provides the means to call external Web Services from inside Agile e6 LogiView procedures (outbound direction). In addition, it allows external applications (Web Service Clients) to call the Agile e6 APIs through Web Services.

The Web Service framework comes with a set of predefined core Web Services, which, out of the box, support the most common integration scenarios like create EDM object or get EDM object.

1.3.1 Components of Agile e6 Web Services Framework

Surrounding text describes ch1001.jpg.

The Agile e6 Web Services Framework comprises of the following:

  • Web Service wrapper - to support the outbound Web Service calls from LogiView procedures.

  • Core Web Services - to support the inbound Web Service calls mapped into the ECI-API calls.