Difference between revisions of "Big Data Integration"

From Sinfronteras
Jump to: navigation, search
(Web service)
Line 2: Line 2:
  
 
===Module Objectives===
 
===Module Objectives===
* How to implement a cloud based storage solution for a company's big data needs
+
 
* The knowledge needed to integrate desktop and web applications to utilize web services and stored data.  
+
*How to implement a cloud based storage solution for a company's big data needs
* How cloud based DNS solutions can help to optimize a company's IT infrastructure  
+
*The knowledge needed to integrate desktop and web applications to utilize web services and stored data.
* How cloud based servers and service implementations can be easily deployed for rapid utilisation  
+
*How cloud based DNS solutions can help to optimize a company's IT infrastructure
* The steps involved in data exchange between web services and cloud based applications
+
*How cloud based servers and service implementations can be easily deployed for rapid utilisation
 +
*The steps involved in data exchange between web services and cloud based applications
  
 
===Resources - References===
 
===Resources - References===
* Programming Amazon EC2, Juirg van Vliet 1st 2011 O’Reilly
+
 
* Google Compute Engine, Marc Cohen 1st 2011 O’Reilly
+
*Programming Amazon EC2, Juirg van Vliet 1st 2011 O’Reilly
* Python for Google App Engine, Massimiliano Pippi 1st 2015 Packet
+
*Google Compute Engine, Marc Cohen 1st 2011 O’Reilly
* Big Data Fundamentals Concepts, Drivers & Techniques, Thomas Erl, Wajid Khattak, and Paul Buhler, Prentice Hall
+
*Python for Google App Engine, Massimiliano Pippi 1st 2015 Packet
 +
*Big Data Fundamentals Concepts, Drivers & Techniques, Thomas Erl, Wajid Khattak, and Paul Buhler, Prentice Hall
  
  
 
==Service-Oriented Architecture (SOA)==
 
==Service-Oriented Architecture (SOA)==
* A service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.
 
  
* A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online.
+
*A service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.
 +
 
 +
*A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online.
  
* SOA provides access to reusable Web services over a TCP/IP network,
+
*SOA provides access to reusable Web services over a TCP/IP network,
  
 
==XML==
 
==XML==
  
 
==Web service==
 
==Web service==
* A software component stored on one computer that can be accessed via method calls by an application (or other software component) on another computer over a network
 
  
* Web services communicate using such technologies as:
+
*A software component stored on one computer that can be accessed via method calls by an application (or other software component) on another computer over a network
** XML, JSON and HTTP
+
 
** '''Simple Object Access Protocol (SOAP):''' An XML-based protocol that allows web services and clients to communicate in a platform-independent manner
+
*Web services communicate using such technologies as:
 +
**XML, JSON and HTTP
 +
**'''Simple Object Access Protocol (SOAP):''' An XML-based protocol that allows web services and clients to communicate in a platform-independent manner
  
  
 
'''Basic concepts:'''
 
'''Basic concepts:'''
* '''Remote machine or server:''' The computer on which a web service resides  
+
 
* '''A client application''' that accesses a web service sends a method call over a network to the remote machine, which processes the call and returns a response over the network to the application
+
*'''Remote machine or server:''' The computer on which a web service resides
* '''Publishing (deploying) a web service:''' Making a web service available to receive client requests.
+
*'''A client application''' that accesses a web service sends a method call over a network to the remote machine, which processes the call and returns a response over the network to the application
* '''Consuming a web service:''' Using a web service from a client application.
+
*'''Publishing (deploying) a web service:''' Making a web service available to receive client requests.
* In Java, a web service is implemented as a class that resides on a server.
+
*'''Consuming a web service:''' Using a web service from a client application.
 +
*In Java, a web service is implemented as a class that resides on a server.
  
  
 
'''An application that consumes a web service (client) consists needs:'''
 
'''An application that consumes a web service (client) consists needs:'''
* An object of a '''''proxy class''''' for interacting with the web service.
 
* The ''proxy object'' handles the details of communicating with the web service on the client's behalf
 
  
[[File:Interaction_between_a_web_service_client_and_a_web_service.png|500px|thumb|center|]]
+
*An object of a '''''proxy class''''' for interacting with the web service.
 +
*The ''proxy object'' handles the details of communicating with the web service on the client's behalf
 +
 
 +
[[File:Interaction_between_a_web_service_client_and_a_web_service.png|709x709px|thumb|center]]
  
  
 
'''JAX-WS:'''
 
'''JAX-WS:'''
* The Java API for XML Web Services (JAX-WS) is a Java programming language API for creating web services, particularly SOAP services. JAX-WS is one of the Java XML programming APIs. It is part of the Java EE platform.  
+
 
** Requests to and responses from web services are typically transmitted via SOAP.
+
*The Java API for XML Web Services (JAX-WS) is a Java programming language API for creating web services, particularly SOAP services. JAX-WS is one of the Java XML programming APIs. It is part of the Java EE platform.  
** Any client capable of generating and processing SOAP messages can interact with a web service, regardless of the language in which the web service is written.
+
**Requests to and responses from web services are typically transmitted via SOAP.
 +
**Any client capable of generating and processing SOAP messages can interact with a web service, regardless of the language in which the web service is written.
  
  
 
===Creating - Publishing - Testing and Describing a Web Service using NetBeans===
 
===Creating - Publishing - Testing and Describing a Web Service using NetBeans===
* '''Example: HugeInteger web service:'''
+
 
** Provide methods that take two “huge integers” (represented as Strings)  
+
*'''Example: HugeInteger web service:'''
** Can determine their sum, their difference, which is larger, which is smaller or whether the two numbers are equal
+
**Provide methods that take two “huge integers” (represented as Strings)
 +
**Can determine their sum, their difference, which is larger, which is smaller or whether the two numbers are equal
  
 
==Consuming a Web Service in Java using NetBeans IDE==
 
==Consuming a Web Service in Java using NetBeans IDE==

Revision as of 15:18, 5 March 2019

Module Information

Module Objectives

  • How to implement a cloud based storage solution for a company's big data needs
  • The knowledge needed to integrate desktop and web applications to utilize web services and stored data.
  • How cloud based DNS solutions can help to optimize a company's IT infrastructure
  • How cloud based servers and service implementations can be easily deployed for rapid utilisation
  • The steps involved in data exchange between web services and cloud based applications

Resources - References

  • Programming Amazon EC2, Juirg van Vliet 1st 2011 O’Reilly
  • Google Compute Engine, Marc Cohen 1st 2011 O’Reilly
  • Python for Google App Engine, Massimiliano Pippi 1st 2015 Packet
  • Big Data Fundamentals Concepts, Drivers & Techniques, Thomas Erl, Wajid Khattak, and Paul Buhler, Prentice Hall


Service-Oriented Architecture (SOA)

  • A service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.
  • A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online.
  • SOA provides access to reusable Web services over a TCP/IP network,

XML

Web service

  • A software component stored on one computer that can be accessed via method calls by an application (or other software component) on another computer over a network
  • Web services communicate using such technologies as:
    • XML, JSON and HTTP
    • Simple Object Access Protocol (SOAP): An XML-based protocol that allows web services and clients to communicate in a platform-independent manner


Basic concepts:

  • Remote machine or server: The computer on which a web service resides
  • A client application that accesses a web service sends a method call over a network to the remote machine, which processes the call and returns a response over the network to the application
  • Publishing (deploying) a web service: Making a web service available to receive client requests.
  • Consuming a web service: Using a web service from a client application.
  • In Java, a web service is implemented as a class that resides on a server.


An application that consumes a web service (client) consists needs:

  • An object of a proxy class for interacting with the web service.
  • The proxy object handles the details of communicating with the web service on the client's behalf
Interaction between a web service client and a web service.png


JAX-WS:

  • The Java API for XML Web Services (JAX-WS) is a Java programming language API for creating web services, particularly SOAP services. JAX-WS is one of the Java XML programming APIs. It is part of the Java EE platform.
    • Requests to and responses from web services are typically transmitted via SOAP.
    • Any client capable of generating and processing SOAP messages can interact with a web service, regardless of the language in which the web service is written.


Creating - Publishing - Testing and Describing a Web Service using NetBeans

  • Example: HugeInteger web service:
    • Provide methods that take two “huge integers” (represented as Strings)
    • Can determine their sum, their difference, which is larger, which is smaller or whether the two numbers are equal

Consuming a Web Service in Java using NetBeans IDE

Netbeans 6.5 - 9 and Java EE enable programmers to "publish (deploy)" and/or "consume (client request)" web services

This document provides step-by-step instructions to consume a web service in Java using NetBeans IDE.

In the project, we will invoke a sorting web service through its WSDL link: http://vhost3.cs.rit.edu/SortServ/Service.svc?singleWsdl.