Publication Date

Fall 2015

Document Type

Project Summary

Degree Name

Master of Science

Department

Computer Science

First Advisor

(Clare) Xueqing Tang, Ph.D.

Second Advisor

Soon-Ok Park, Ph.D.

Third Advisor

Kong-Cheng Wong, Ph.D.

Abstract

Service-Oriented Architecture is an architectural design pattern based on distinct pieces of software providing application functionality as services to other applications via a protocol. It is a collection of micro-services which are self-contained and provides unit functionality. The architectural style has the following essential core features which are inter-operability, service abstraction, service discovery, service autonomy, service statelessness re-usability, loose coupling. Service-oriented architectures are not a new thing. The first service-oriented architecture for many people in the past was with the use DCOM (uses RPC – Remote Procedural Calls) and CORBA (uses IIOP protocol) but because of the lack of standards and also with the advent of modern web development (Web 2.0) and the use of mobile phones and their penetration service oriented architecture is being implemented as Web Services (uses mainly HTTP/HTTPS) protocol.

Most common implementations of Web Services can be done as SOAP (Simple Object Access Protocol)-based which essentially is a HTTP/HTTPS POST with an XML payload in it. SOAP based web services expose service interface using WSDL (Web Service Description Language) and there is a pre-defined contract via XSD (XML Schema Definition) between the service being exposed and the client side that consumes this service. The other most popular lightweight implementation of web services is using RESTful (Representational State Transfer) architecture where the payload is in JSON (Java Script Object Notation) / XML and uses RESTful style of communication to access resources on the server. So any application written in any language for example C# or C++ or C or Groovy or Java that can make a HTTP call should be able to access the services and since the data is in XML/JSON they can make a sense of data and this way we can re-use services and be inter-operable.

The goal of our survey is to delve deeper into SOA principles, key constituents and how Web Services - implementation of SOA has taken this into such a wide spread usage and created a phenomena and various technologies that can be used to develop/consume web services and also about the protocols being used and some common use cases in building re-usable and scalable application architectures using web services.

Comments

Co-authored capstone with authors listed in alphabetical order by OPUS staff.

Share

COinS