Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EDT:Resource Binding Services"

(Defining a service binding in the EGL deployment descriptor)
Line 23: Line 23:
 
<br>
 
<br>
  
*In the topmost field, specify the name that you will reference from the Resource annotation in your code.  
+
*In the topmost field, specify the binding name.&nbsp;You can&nbsp;reference that name in&nbsp;the Resource annotation in your code.  
*In the&nbsp;Base URI field, specify the high-level details The first field indAt that You should give a name for your service binding. For the Base URI you can use two types of URI as the instruction in the dialog.<br>
+
*In the&nbsp;Base URI field, specify a URI, which might be a workspace URI:
 +
** If you are accessing an EGL REST-RPC service, specify the complete URI.
 +
** If you are accessing a third-party REST service, you might decide to include only the high-level URI details and supplement them with values that are stored in&nbsp;an Interface part.&nbsp; For&nbsp;details, see the&nbsp;following help topic:&nbsp;&nbsp;"Creating an Interface part to access a REST service."
 +
*&nbsp;rather than an EGL the high-level details The first field indAt that You should give a name for your service binding. For the Base URI you can use two types of URI as the instruction in the dialog.<br>
 
*Deployed URI.<br>
 
*Deployed URI.<br>
  

Revision as of 15:05, 20 January 2012

If the purpose of a resource binding is service access, the definition is called a service binding, and the main detail is in one of three formats:

  • If the service is deployed on an application server, you can specify a Universal Resource Identifier (URI). The URI begins with the http: or https: prefix (not shown) and continues with a string like this one:
    //myserver:8080/myproject/restservices/myService
Although you can run the deployed service during an EGL debugging session, the EGL debugger does not step into the service.
  • If the service is available in your workspace and was written in EGL, you can use a workspace URI, which is an identifier that points to a workspace location. Here is an example:
    workspace://mySourceProject/servicepackage.myService
In this case, the URI is useful only at development time, and an internal Test Server enables you to debug the code.
  • If a Rich UI application includes a Service type that will be deployed as a dedicated service, an Internal Test Server enables you to debug the code. In this case, the EGL deployment descriptor is never used. The only binding detail is the DedicatedService annotation, which is part of the service-access variable declaration. 

    If a Service part named MyServiceType is a dedicated service, the declaration might be as follows:
    myService MyServiceType {@DedicatedService}


Defining a service binding in the EGL deployment descriptor

At this writing, you can bind to a REST or EGL REST-RPC service. The distinctions among the service types are explained here: http://www.eclipse.org/edt/papers/topics/egl_soa_overview.html.  See also the following help topics: "EGL support for SOA" and "Accessing a service."

To define a service binding in the EGL deployment descriptor, do as follows:

  • In an EGL project, expand the EGLSource folder and double-click the deployment descriptor, which has the file extension .egldd.  
  • Click the Resource Bindings tab. The Resource Bindings Configuraton page is displayed.
  • Click the Add button and select REST Service Binding. The Add a Resource Binding page is displayed, as shown here:

Bind Img8.JPG


  • In the topmost field, specify the binding name. You can reference that name in the Resource annotation in your code.
  • In the Base URI field, specify a URI, which might be a workspace URI:
    • If you are accessing an EGL REST-RPC service, specify the complete URI.
    • If you are accessing a third-party REST service, you might decide to include only the high-level URI details and supplement them with values that are stored in an Interface part.  For details, see the following help topic:  "Creating an Interface part to access a REST service."
  •  rather than an EGL the high-level details The first field indAt that You should give a name for your service binding. For the Base URI you can use two types of URI as the instruction in the dialog.
  • Deployed URI.

              Myhostname:8080 is your project server’s host and port number.

              “myTargetWebProject” is the project name which you want to deploy into. You can find the name in “Overview” tab of the elgdd file

              “restservices”. Fixed string. Please do NOT modify it

              “myService” : your service’s name.

  • Workspace URI

              “myServiceProject” : your project’s name.
              “myPackage.myservice”: your service’s name and its project’s name

Click Finish to complete the binding.

Use the service binding in code

In source code you can use the service binding your defined in section 3.1 as below:



mysrv mysrv ?{@Resource {}};
or
mysrv mysrv?{ @Resource { propertyFileName = “egldd file name” , bindingkey = “ REST service name”}}

Then you can call the methods in myService



Next:  Database bindings

Previous:  Resource binding introduction

[[Category: EDT]]

Back to the top