Difference between revisions of "Big Data Integration"
Adelo Vieira (talk | contribs) (→Web service) |
Adelo Vieira (talk | contribs) (Tag: Visual edit) |
||
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 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== | ||
− | |||
− | * 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:''' | ||
− | |||
− | |||
− | [[File:Interaction_between_a_web_service_client_and_a_web_service.png| | + | *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
Contents
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
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.