• No results found

Developing Java Web Services using WSDL

N/A
N/A
Protected

Academic year: 2020

Share "Developing Java Web Services using WSDL"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

30

Developing Java Web Services using WSDL

G. M. Tere

1

, B. T. Jadhav

2

1Department of Computer Science, Shivaji University,

Kolhapur, Maharashtra 434004, India

2

Y.C. Institute of Science,Satara, Maharashtra - 415001, India

1girish.tere@gmail.com 2btj21875@indiatimes.com

Abstract—Because of reusability advantage many business applications are developed using service oriented architecture (SOA). Using Web services we can integrate different modules of business logic. Main components of SOA based applications are service provider, service consumer and service repository. Communication between these components is achieeved by exchanging SOAP messages, which are XML documents. XML to Java mapping is difficult process. This process is time consuming. WSDL2WS is an application framework for developing Java web services. It is prototype framework and uses WSDL based approach for designing Java Web Services. This is called as contract-first Web service development and fo this approach we need to think in terms of XML. It is the XML that is sent across the wire, and we need to focus on that. The fact that Java is used to implement the Web service is an implementation detail. Using XML and WSDL we can develop a Java web services. Our application framework attemps to remove some drawbacks in developing web services using Java EE approaches. Web services interfaces, in the form of WSDL files, can be published to a business registry; these interfaces can then be dynamically looked up by clients. We compared performance of our framework with Apache Axis 1.0 and 1.2. for some Web services.

Keywords Application framework WSDL2WS, Java Web services, Service-oriented architecture (SOA), WSDL, XML.

I. INTRODUCTION

Application frameworks are set of guidelines and specifications that provide platforms, tools, and programming environments for addressing the design, integration, performance, security, and reliability of distributed and multi-tiered applications. An application framework includes the presentation services, server-side

processing, session management, business logic

framework, application data caching, application logic, persistence, transactions, security, and logging services for applications.

Application development tools and application servers are built on top of application frameworks. The aim of the application framework is to provide a single and unified software infrastructure that reduces the number of enterprise software products to support, maintain, and integrate. WSDL2WS is built on top of WS [4]. Jax-WS is a toolkit, and Jax-WSDL2Jax-WS is an application framework on top of the toolkit, much like servlets is a toolkit, and Struts is an application framework that runs on top of the servlets. Consider example of a purchase order object. Using Jax-WS mappings to that, it will create a purchase order XML document, but it may not be the same structure as the purchase order document that business partners are using [4]. So more efforts are needed for mapping out one to the other. Using tools provided by WSDL2WS Java purchase order looks like the standard purchase order.

A. Introduction to SOA

(2)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

31 Our approach fro developing Web services focuses on creating these document-driven Web services. Our Web

services facilitates contract-first SOAP service

[image:2.612.55.291.223.469.2]

development [7], allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads. Basic SOA architecture is shown in Figure 1.

Figure 1: Basic SOA Architecture

The key components of SOA include services, dynamic discovery, and messages.

B. Web services for SOA

Web services constitute a distributed computer architecture made up of many different computers trying to communicate over the network to form one system. They consist of a set of standards that allow developers to implement distributed applications - using radically different tools provided by many different vendors - to create applications that use a combination of software modules called from systems in disparate departments or from other companies. Web services are built on top of open standards and platform-independent protocols. A web service uses SOAP over HTTP for communication between service providers and consumers [2]. Services are exposed as interfaces defined by WSDL (Web Service Definition Language), whose semantics are defined in XML.

A WSDL file is an XML document that describes a Web service. It specifies the location of the service and the operations (or methods) the service exposesUDDI, a language-independent protocol, is used for interacting with registries and looking for services. All of these features make web services an excellent choice for developing SOA applications [6][8][11]. Web services can be developed from WSDL file. This is called as Contract first approach.

C. WSDL

WSDL is an XML-based language for describing Web services and how to access them. It specifies the location of the service and the operations the service exposes. WSDL is a specification defining how to describe web services in a common XML grammar. WSDL describes four critical pieces of data [14]:

1. Interface information describing all publicly available functions

2. Data type information for all message requests and message responses

3. Binding information about the transport protocol to be used

4. Address information for locating the specified service

Figure 2 show structure of typical WSDL document. WSDL describes a the Web service interface. It consists of messages that are exchanged between the client and server. The messages are described abstractly and then bound to a concrete network protocol and message format. Web service definitions can be mapped to any implementation language, platform, object model, or messaging system. WSDL represents a contract between the service requestor and the service provider, in much the same way that a Java interface represents a contract between client code and the actual Java object.

The crucial difference is that WSDL is platform- and language-independent and is used primarily to describe SOAP services [10]. Using WSDL, a client can locate a web service and invoke any of its publicly available functions. With WSDL-aware tools, one can also automate this process, enabling applications to easily integrate new services with little or no manual code. WSDL therefore represents a cornerstone of the web service architecture, because it provides a common language for describing services and a platform for automatically integrating those services [17].

Lookup

Services

Get Service

Provider

Service

Registry

Service

Provider

Service

Consumer

(3)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

[image:3.612.116.225.141.421.2]

32

Figure 2: WSDL Document

II. DESIGNING WSDL2WSAPPLICATION FRAMEWORK

This paper introduces the application framework, WSDL2WS, for SOA. This framework is WSDL-centric. Using WSDL2WS we can develop web services which can be used as components within SOA. WSDL2WS can be used to map existing Java applications into an SOA framework. Using Java Web Services (JWS) standards we designed a framework that facilitates WSDL-centric construction of Web Services. Using WSDL2WS, a Web service can be created by building its WSDL and annotating that WSDL document with references to the Java elements that implement it. WSDL-centric approach is perfect for situations where thesre is need to create Web services that integrate into a standard corporate or eBusiness framework [17][18]. We designed this application framework to support service orientation for Java applications.

WSDL2WS is designed to run inside a Java EE container and to leverage the Web Services infrastructure provided by JAX-WS, JAXB, WS-Metadata, and WSEE. WSEE defines the programming model and run-time behavior of Web Services in the Java EE container.

Unlike Apache Axis [1] and other standalone Web Services server solutions, WSDL2WS does not replace the internal Web Services capabilities of the Java application server, but enhances them. Figure 3 explain basic WSDL2WS architecture. WSDL2WS is deployed as a Web module (WAR). WSDL2WS is packaged as a port component implementing the JAX-WS Provider interface [4] and therefore can be deployed as a servlet endpoint. In this manner WSDL2WS is built on top of the JAX-WS implementation provided by the Java EE container [6]. WSDL2WS also takes advantage of WSEE and WS-Metadata for packaging and deployment, and JAXB for serialization. Serialization is the process of transforming an instance of a Java class into an XML element. The inverse process, transforming an XML element into an instance of a Java class, is called deserialization. Because it is built on these portable technologies, WSDL2WS can be deployed and run on any Java application server that supports Java EE.

As shown in Figure 3, WSDL2WS binds Web services to endpoints. Each endpoint published by WSDL2WS has an associated URL where SOAP requests can be posted. A WSDL document is also associated with an endpoint to describe the Web services available at that URL. Endpoints are dynamically configured and can be created and removed at runtime. There is no need to undeploy the WSDL2WS module, or restart the Java EE server, in order to create, change, or delete an endpoint. WSDL2WS can receive SOAP requests at any of the endpoints that have been configured by the user [10]. When WSDL2WS receives a SOAP request at a configured endpoint, it invokes all the components of the Web Services Platform Architecture to process that request: the deployment unit, the invocation unit, and the serialization unit. The deployment unit determines which Java class and method to invoke—based on the structure of the SOAP request and how the endpoint has been configured.

definition

Binding

Service

port

type

message type

portType

(4)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

[image:4.612.55.291.141.358.2]

33

Figure 3: Server side architecture of WSDL2WS

The invocation unit invokes the proper class and method, using the serialization unit to translate between XML and Java objects. Let us understand how WSDL2WS is configured to publish its endpoints. Figure 4 shows the configuration process.

Figure 4: WSDL2WS configuration

An endpoint is configured using a WSDL/Java mapping. The set of WSDL/Java mappings that is used to configure WSDL2WS is called the WSDL2WS Configuration. Each WSDL/Java mapping defines pairings of Java class/methods with wsdl:operation instances from a particular wsdl:port defined in a WSDL document. The Java class/method associated with a wsdl:operation gets invoked when a SOAP message is

received that references that wsdl:operation.

Configuration of WSDL2WS also requires a Serialization Context. The Serialization Context is a set of type mapping rules. Each type mapping rule tells WSDL2WS how to either (i) serialize instances of a particular Java class to instances of a particular XML type; or (ii) deserialize instances of a particular XML type into instances of a particular Java class. The serialization unit uses this Serialization Context to deserialize SOAP parameters into Java parameters, and to serialize the Java return type instance into a SOAP parameter [10]. The type mapping rules are written in a declarative XML language defined by the Adaptive Serialization Framework. The WSDL2WS invocation unit manages the sequence of events from receiving the SOAP request, to dispatching it to the correct Java class/method, to invoking the serialization unit. Next sections describe in detail how WSDL2WS is implemented.

III. DEVELOPING JAVA WEB SERVICES USING WSDL

As discussed in Section 2, WSDL2WS is configured using an WSDL2WS Configuration file. We construct a Web service by creating its WSDL via the WSDL2WS Configuration. The structure of the WSDL2WS Configuration file is same as the WSDL structure. The core components of an WSDL2WS Configuration file are the W2WOperation elements. Such operation elements define a mapping from a Java class/method to a wsdl:port and wsdl:operation. The wsdl:operation is specified by the operationName attribute. The wsdl:port is defined by the

surrounding W2WPort element [12][15]. The

[image:4.612.64.300.451.660.2]
(5)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

34

IV. INVOCATION UNIT

The invocation unit is responsible for receiving SOAP messages. As implemented in WSDL2WS, the invocation unit is responsible for:

1. Receiving a SOAP message

2. Determining the message’s target service—i.e.,

which WSDL operation is the message intended to invoke

3. Given the target WSDL operation, dispatching the message to the correct Java class/method to invoke 4. Handing off the SOAP message to the Serialization

unit to deserialize it into Java objects that can be passed to the Java target as parameters

5. Invoking the Java target using the parameters

generated by the Serialization unit and getting the Java object returned by the target method

6. Handing off the returned object to the Serialization unit to serialize it into an XML element conformant with the return message specified by the target WSDL operation

7. Wrapping the returned XML element as a SOAP

message response conforming to the target WSDL operation and, if an exception has occurred, mapping it to a SOAP Fault that will be the response

8. Sending the SOAP response

Figure 5 provides a static class UML diagram showing the highlevel implementation of the WSDL2WS invocation unit. SOAP requests are first received by the W2WDispatcher. The W2WDispatcher is an HttpServlet that simply provides a base context root for all

WSDL2WS endpoints managed within a single

WSDL2WS configuration. For each SOAP request

received, the W2WProvider instantiates a

RequestController—the class that handles WSDL2WS request processing. The RequestController contains an InputDataProcessor instance for processing the SOAP request and creating an instance of WSRequest—the WSDL2WS internal representation of a SOAP request

message and its context. In addition, the

[image:5.612.322.560.143.340.2]

RequestController contains a FlowInterpreter instance, which is responsible for instantiating the appropriate WSDL2WS operation (i.e., dispatching), invoking it, and creating a WSResponse instance to contain the results.

Figure 5: Invocation process used in WSDL2WS

WSResponse is the WSDL2WS internal representation of a SOAP response message. As shown in Figure 5, the RequestOperation (an abstract class) has two subclasses: ServiceRequest-Operation and WsdlRequestOperation. That is because this invocation unit handles WSDL requests and SOAP requests. WSDL2WS follows the convention that HTTP GET requests posted to the endpoint suffixed with “?wsdl” result in HTTP responses containing the target WSDL. Figure 6 shows the

high-level structure of the WSRequest and

WSResponseclasses. Focusing on WSRequest first, notice that it has two subclasses:

WsdlRequest for encapsulating a request for the WSDL document, and ServiceRequest for encapsulating a SOAP request posted to a Web service endpoint. In addition, the

WSRequest contains a reference to the

(6)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

[image:6.612.325.559.142.392.2]

35 Similarly, the WSResponse class has two subclasses: WsdlResponse and ServiceResponse. In this case, the ServiceResponse has, at most, one XmlParameter—the serialized instance of the return type produced by the target Java class/method. The WsdlResponse contains the WSDL2WS-generated WSDL.

Figure 6: The WSRequest/WSResponse structures

Figure 7 shows the class structure, related to ServiceRequestOperation, that handles the processing of the ServiceRequest (WSRequest) to invoke a Web service. As shown in Figure 7, the perform() method implements invocation using locally created instances of W2WOperation and ServiceInvoker. W2WOperation is

created from the WSDL2WS configuration file

information accessed through the ServiceRequest. It is an encapsulation of the Java class/method to be invoked.

Figure 7: ServiceRequestOperation creates a ServiceInvoker that invokes the W2WOperation.

W2WOperation is a parameter to the ServiceInvoker,

and the ServiceInvoker actually invokes the

W2WOperation. To do that, the ServiceInvoker uses the SerializationMappingRules and Schema to construct an

instance of the AdaptiveContext interface. The

AdaptiveContext instance handles the deserialization of the XML parameters and the serialization of the return type instance.

Figure 8 shows sequence diagram to understand how these classes work together to handle invocation. Figure 8 shows the sequence of events by which a SOAP/HTTP request is processed. The HTTP request is processed by the W2WDispatcher, which passes along the SOAP request and HTTP context to the W2WProvider. W2WProvider instantiates a RequestController and invokes its handleServiceRequest() method—which eventually returns a response that the W2WProvider can put out on the wire as a SOAP response.

Within the handleServieRequest() method, the

InputDataProcessor instance’s createWSRequest()

[image:6.612.55.291.235.562.2]
(7)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

[image:7.612.56.306.248.624.2]

36 Then, that wsRequest instance is passed to the FlowInterpreter’s createOperation() method to instantiate the ServiceRequestOperation. The RequestController invokes the ServiceRequestOperation’s perform() method to process the request and get back the WSResponse instance. Calling the getResponseAsSource() method returns the XML that can be used to create the SOAP response.

Figure 8: W2W SOAP request processing

Figure 9 shows a sequence diagram that drills down into the ServiceRequestOperation’s perform() method. The WSRequest’s reference to the W2WConfiguration is used to get some of the parameters needed for invocation.

These include the rules, schema, parameters

(XmlParameter instances as a List<Source>), and op. The rules and schema are used to create an instance of ServiceInvoker. Then, the params and op are passed to the invokeOperation() method of the ServiceInvoker. The invokeOperation() method returns the response XML as a java.xml.transform.Source that gets encapsulated in the WSResponse that is returned.

[image:7.612.322.569.292.627.2]
(8)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

37

V. SERIALIZATION UNIT

It is very difficult to deploy existing Java classes against an existing schema. With JAXB 2.0 and JAX-WS 2.0 [4], We basically get WSDL based on the schema JAXB 2.0 generates from classes and annotations. Annotations are not a good way to implement such type mappings because of their following limitations:

1. To change a type mapping, one need to edit the source, recompile, and redeploy.

2. Annotations are a very unintuitive way to create type mappings. We need to keep regenerating the resulting schema (via JAXB), and try to see whether we can “come close” to the target schema. This approach reduces performance.

3. Many type mappings are impossible to generate

with JAXB annotations.

4. Good design practice show that a mapping layer

should insulate the XML (WSDL) representation of Web services from the Java implementation. JAXB annotations, although convenient, destroy that mapping layer inside the Java source code. This makes it difficult to understand and maintain.

VI. COMPARISON OF WSDL2WS WITH OTHER

FRAMEWORKS

We have tested the performance of WSDL2WS application framework with other such as Apache Axis 1.1 and Apache Axis 2.0 [1] and Eclipse IDE. Our experiment show that using WSDL2WS application framework which is based on Contract first give better performance than the mentioned framworks. Experiment were performed using Dell Inspiron Laptop with Intel Core 2 Duo CPU, Physical Memory 4 GB, Processor Speed 2 GHz with Windows XP OS. We used JWS, J2EE, Eclipse, Apache Axis and Tomcat 6 server and GlassFish. We developed two Web services, one to convrt

currency and other to perform simple mathematical opeartions using our application framework WSDL2WS, Apache Axis 1.2 and Apache 2.0 Results are shown in Table 1 and graphically in Figure. 10.

[image:8.612.48.294.147.268.2]

TABLE I.COMPARISON OF DIFFERENT APPLICATION FRAMEWORKS

Figure 10: Comparison of different Application frameworks

In particular, a production-quality system, based on the principles illustrated by WSDL2WS, would enable us to use existing Java applications within what defines as a contemporary SOA much faster, better, and less expensively than with JWS alone [11]. In this way, WSDL2WS is a framework, leveraging the power of JWS, which enables to quickly and easily incorporate Java applications in a contemporary SOA. Table II shows how WSDL2WS enables each of the six SOA characteristics [11] and how it enhances some of the JWS features.

Time required to get response from Web service in msec

Web Service

Apache Axis 1 with

Eclipse

Apache Axis 2 with Eclipse

Using WSDL2WS Application Framework

Currency Converter

287 389 197

Maths Operation

[image:8.612.324.559.227.534.2]
(9)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

38

TABLE II. HOW WSDL2WSIMPLEMENTS CONTEMPORARY SOA[11]

Contempo rary SOA Characteri stic WSDL2WS Capabilities

How it improves Java Web Services?

Service orientation through the use of Web Services

Publishes existing Java applications as Web services via WSDL-centric development. There is no need to edit source code or descriptors, ecompile, repackage, or redeploy.

Eliminates some of the work required to deploy existing Java classes in the JWS framework; for example, annotation, recompilation, repackaging, and redeployment Autonomy Separates the Java

code from the wSDL.

Eliminates the need for a layer of mapping code between the Java API that is bound to the WSDL and the Java that implements the business logic. Open

standards

Enables us to create and deploy Web services by working directly with WSDL. A wide variety of WSDL and XML to Java type mappings can be supported.

Introduces flexibility into the WSDL to Java mapping process. Allows us to go beyond the type mappings

supported by JAXB. Inter- operability and federation Promotes

interoperability by enabling Java interfaces to be mapped to existing WSDL interfaces defined by other, preexisting

applications.

Enables

programmers to avoid the custom coding currently required to map Java interfaces to other existing WSDL interfaces

Reusability Enables Java code to be reused in

multiple SOA components without changing code. A single Java

class can support multiple WSDL component representations

Currently, when reuse requires changes to the WSDL

representation, the Java code’s annotations or deployment descriptors must be changed.

Loose Loosely couples the Can help reduce

coupling and organizatio -nal agility

SOA component interface to the underlying Java code. Change is easily accommodated by modifications to the type mapping infrastructure.

the change management aintenance burden by decoupling the WSDL

representation from

the Java

annotations.

the areas where the WSDL-centric approach of WSDL2WS can enhance JWS are primarily related to the tight coupling of Java source code to the WSDL/XML representation of a Web service. WSDL2WS helps by providing a layer of abstraction, the type mapping layer, between the Java source code and the WSDL representation of a Web service. This type mapping layer enhances both flexibility and change management. Changes to the WSDL representation can be mapped to the underlying Java code simply by editing the type mapping layer.

VII. CONCLUSIONS

(10)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

39

Acknowledgments

We wish to thanks to teachers of Department of Computer Science, Shivaji University, Kolhapur and Principal of Thakur College of Science and Commerce, Mumbai for motivating us for this research work.

References

[1] Apache Axis 2.x., http://ws.apache.org/axis2, Accessed on 12 Nov 2011

[2] Ben Shil, A.; Ben Ahmed, M.; Additional Functionalities to SOAP, WSDL and UDDI for a Better Web Services' Administration, 2nd International Conference on Information and Communication Technologies, 2006. ICTTA '06. Volume : 1, pp: 572 - 577

[3] Crockford D. “The application/json Media Type for JavaScript Object Notation (JSON).” The Internet Engineering Task Force

(Network Working Group) RFC-4627, July 2006,

http://tools.ietf.org/html/rfc4627, Accessed on 22 Nov 2011

[4] Eckstein, and Robert Rajiv Mordani. “Introducing JAX-WS 2.0 with the Java SE 6 Platform, Part 2,” November 2006.http://java.sun.com/developer/technicalArticles/J2SE/jax_ws _2_pt2/Monson-Haefel, Richard. J2EE Web Services. Addison-Wesley Professional, ISBN 0130655678, October 2003.

[5] Haidar, A. N.; Abdallah, A. E.; Abstractions of Web Services, 14th IEEE International Conference on Engineering of Complex Computer Systems, 2009, pp: 182 - 191

[6] Jen-Yao Chung; An industry view on service-oriented architecture and Web services, IEEE International Workshop on Service-Oriented System Engineering, 2005. SOSE 2005. pp:59

[7] P.A. Castillo J.L. Bernier M.G. Arenas J.J. Merelo P. Garc´ıa-S´anchez, SOAP vs REST: Comparing a master-slave GA implementation, First International Workshop of Distributed Evolutionary computation in Informal Environments,

CoRR,abs/1105.4978, 2011, available at

http://arxiv.org/abs/1105.4978

[8] Sandy Carter, “The New Language of Business: SOA & Web 2.0”, IBM Press, 2007

[9] Siblini, R.; Mansour, N.; Testing Web services, The 3rd ACS/IEEE International Conference on Computer Systems and Applications, 2005. pp: 135

[10] SOAP Version 1.2 Part 0: Primer. W3C Recommendation, June 24 2003, www.w3.org/TR/soap12-part0, Accessed on 2 Dec 2011

[11] Thomas Erl, “Service-Oriented Architecture: Concepts, Technology, and Design”, Pearson Education, Inc., 2007.

[12] Tsai, W.T.; Paul, R.; Yamin Wang; Chun Fan; Dong Wang; Extending WSDL to facilitate Web services testing, Proceedings of 7th IEEE International Symposium on High Assurance Systems Engineering, 2002, pp: 171 - 172

[13] Walmsley, Priscilla. Definitive XML Schema. Prentice-Hall PTR, ISBN 0321146182, December 2001.

[14] Web Services Description Language (WSDL) 1.1. W3C Note, March 15, 2001, www.w3.org/TR/wsdl, Accessed on 2 Dec 2011

[15] Web Services Addressing 1.0—Core. W3C Recommendation, May 9, 2006, www.w3.org/TR/ws-addr-core/, Accessed on 2 Dec 2011

[16] Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language. W3C Working Draft, August 3, 2005. www.w3.org/TR/wsdl20/, Accessed on 2 Dec 2011

[17] Web Services Description Language (WSDL) Version 2.0 Part 2:

Adjuncts. W3C Working Draft, August 3, 2005.

Figure

Figure 1: Basic SOA Architecture
Figure 2: WSDL Document
Figure 3: Server side architecture of WSDL2WS
Figure 5: Invocation process used in WSDL2WS
+4

References

Related documents

辐射能力强,并且制造成本低而得到各国光伏界的重视,是最有发展前途的新一代太阳能电池之 一 [2,3] 。其中,吸收层 CIS 和

subsistence foreign aid has an explicit element of maintaining the status quo. 3) Military aid – the dominant form of foreign aid in the 1950s, and arguably a critical part of

This is really a legal question, but the key seems to be that the first sentence of Clause 67.1 says that it continues after termination. A few additional comments may be helpful.

This article set out to explore to which extent the delibera- tive potential of social media is realized on Twitter in the context of the Brazilian presidential elections in 2014..

} Component Component Component Composite Implementation Java Implementation Binding Web Service SCA SLSB .... Reference WSDL Java Service WSDL Java Binding Web Service SCA

After right clicking the service project , expand business tier and choose web services and then select Java web service from WSDL click OK.... 3.On the web service description,

As market players are complex entities, having their very own characteristics and objectives, making their decisions and inter- acting with other players, MASCEM was developed as

Implementing the distributed storage strategy results in a significant reduction in total flood volume at all pipe failure levels implying the effect of cumulative pipe