Posted by : Arjun Lagisetty Friday, January 24, 2014

One of the most demanded feature of ODI and web services is to invoke the integration on demand using web services. I have seen very little implementation of exposing data using web services and invoking web services is common place as well but that falls in the realm of development since ODI is a java based tool you can find plenty of example on web on the basics of web services and how to use OdiInvokeWebsServices advanced editor here.

How do we enable ODI to accept requests via web services. One of the primary component for this capability is application server which can accept http request containing the web service request. Its important to understand role of agent and the application server in this respect. Note if you have prior working knowledge of the application server, this blog post might contain some repetitions.

Web service request is a web call similar to requesting an HTML page. To execute a web service the client which can be a Java program or dot net program or a GUI tool like Soap UI or even he ODIWebServiceInvokeTool. Here is a link for overview of webs service. If you go to the end, you will see there are four important parts to get the web service up and running.
  • Web service: First and foremost, we have our Web service. As we have seen, this is basically a piece of software that exposes a set of operations. For example, if we are implementing our Web service in Java, our service will be a Java class (and the operations will be implemented as Java methods). Obviously, we want a set of clients to be able to invoke those operations. However, our Web service implementation knows nothing about how to interpret SOAP requests and how to create SOAP responses. That's why we need a...

  • SOAP engine: This is a piece of software that knows how to handle SOAP requests and responses. In practice, it is more common to use a generic SOAP engine than to actually generate server stubs for each individual Web service (note, however, that we still need client stubs for the client). One good example of a SOAP engine is Apache Axis. However, the functionality of the SOAP engine is usually limited to manipulating SOAP. To actually function as a server that can receive requests from different clients, the SOAP engine usually runs within an...

  • Application server: This is a piece of software that provides a 'living space' for applications that must be accessed by different clients. The SOAP engine runs as an application inside the application server. A good example is theJakarta Tomcat server, a Java Servlet and Java ServerPages container that is frequently used with Apache Axis and the Globus Toolkit.

  • Many application servers already include some HTTP functionality, so we can have Web services up and running by installing a SOAP engine and an application server. However, when an application server lacks HTTP functionality, we also need an...
  • HTTP Server: This is more commonly called a 'Web server'. It is a piece of software that knows how to handle HTTP messages. A good example is the Apache HTTP Server, one of the most popular web servers in the Internet.

You need a server to just accept a web service call and execute the scenario. Do you need all these things to execute a webservice No, fortunately ODI standalone agent comes in with a prepackaged application server called Jetty which already has a pre-built web service application. Wait, I just said when you install standalone agent you get these web service capability for free without absolutely any additional work. Take a minute to digest that. Ok, Do you have stand alone agent up and running, test this thing out Click this link for instructions.

Do you want to dig around and find where these Jetty files and web application files are located check this folder out. $ODI_HOME\oracledi\agent\lib

  • oraclediagent.war: Web application deployed in Jetty,
    • OdiInvoke.wsdl:  You can extract war file and find WSDL @oraclediagent\WEB-INF\wsdl\
  • jetty-X.X.XX: Jetty Jar file.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Popular Post

Labels

Blog Archive

Copyright © ODI Pundits - Oracle Data Integrator - Maintained by Arjun Lagisetty