A stateless architecture design is a web architecture design that typically does not persist data in any database and such applications also does not require any kind of backup storage. Data that flows through a stateless service is data in transition and such data is never stored in any data store. The processing
requests that arrive to such architecture does not rely on information gathered or persisted from any previous session. API (Application programming interface) which consists of subroutines, definitions & procedures that can access data on the applications are the communication points between applications and management of API endpoints using stateless architecture is less complex as there is no server side retention of the client session and each client sends requisite information in each request to the server. GraphQL and RESTful services are means of designing such API architecture. This paper discusses and explains in detail both GraphQL and REST API architecture design and management methods and does an
analysis of the potential benefits of GraphQL over REST in Stateless architectural API designs.
Standard Web APIs for Multidisciplinary CollaborationAxel Reichwein
- The document discusses the need for standard web APIs and connected data across disciplines like engineering to enable digital thread and multidisciplinary collaboration.
- It outlines challenges of current disconnected "data silos" and vendor lock-in. Lessons can be learned from earlier standardization efforts like the World Wide Web.
- Open standards like the Open Services for Lifecycle Collaboration (OSLC) specification aim to specify standard APIs and use of common data models like Resource Description Framework (RDF) to connect data across systems.
- Using standard APIs and treating data as a universal asset with open standards could help achieve full connectivity across the product lifecycle from requirements to design to manufacturing.
Koneksys is a data integration company founded in 2012 that focuses on connecting data sources using open standards like OSLC. It offers consulting services to create link-enabling APIs and integrations between various engineering tools. Its CEO, Axel Reichwein, has experience in aerospace engineering and data integration standards. Koneksys helps clients address the challenges of data silos and improving data integration across different systems using linked data approaches and RESTful APIs.
Introduction to Open Services for Lifecycle Collaboration (OSLC)Axel Reichwein
Quick Introduction on OSLC APIs For Digital Engineering Information Exchange (DEIX) Community explaining fundamental ideas behind OSLC including:
- Distributed Link Creation Strategy from within ANY application
- Link creation decoupled from link persistence/analysis/visualization
- Embeddable search dialogs to support user-friendly link target discovery in any application
- Standardized API discovery resources (Hypermedia API)
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...Axel Reichwein
Presentation on Open Services for Lifecycle Collaboration (OSLC) at the International Semantic Web Conference (ISWC) 2019 in Auckland, New Zealand.
Engineers need graphs for traceability. Problem: it is currently not possible to build engineering graphs at scale due to data and API heterogeneity. This problem can be solved by standardizing APIs of data sources. OSLC defines a standard API by combining concepts of REST and Linked Data. OSLC has been adopted by vendors of engineering software but more adoption is needed to increase the network effect.
Standard Web APIs for Multidisciplinary CollaborationAxel Reichwein
- The document discusses the need for standard web APIs and connected data across disciplines like engineering to enable digital thread and multidisciplinary collaboration.
- It outlines challenges of current disconnected "data silos" and vendor lock-in. Lessons can be learned from earlier standardization efforts like the World Wide Web.
- Open standards like the Open Services for Lifecycle Collaboration (OSLC) specification aim to specify standard APIs and use of common data models like Resource Description Framework (RDF) to connect data across systems.
- Using standard APIs and treating data as a universal asset with open standards could help achieve full connectivity across the product lifecycle from requirements to design to manufacturing.
Koneksys is a data integration company founded in 2012 that focuses on connecting data sources using open standards like OSLC. It offers consulting services to create link-enabling APIs and integrations between various engineering tools. Its CEO, Axel Reichwein, has experience in aerospace engineering and data integration standards. Koneksys helps clients address the challenges of data silos and improving data integration across different systems using linked data approaches and RESTful APIs.
Introduction to Open Services for Lifecycle Collaboration (OSLC)Axel Reichwein
Quick Introduction on OSLC APIs For Digital Engineering Information Exchange (DEIX) Community explaining fundamental ideas behind OSLC including:
- Distributed Link Creation Strategy from within ANY application
- Link creation decoupled from link persistence/analysis/visualization
- Embeddable search dialogs to support user-friendly link target discovery in any application
- Standardized API discovery resources (Hypermedia API)
Open Services for Lifecycle Collaboration (OSLC) - Extending REST APIs to Con...Axel Reichwein
Presentation on Open Services for Lifecycle Collaboration (OSLC) at the International Semantic Web Conference (ISWC) 2019 in Auckland, New Zealand.
Engineers need graphs for traceability. Problem: it is currently not possible to build engineering graphs at scale due to data and API heterogeneity. This problem can be solved by standardizing APIs of data sources. OSLC defines a standard API by combining concepts of REST and Linked Data. OSLC has been adopted by vendors of engineering software but more adoption is needed to increase the network effect.
Automation API testing becoming a crucial part of most of the project. This whitepaper provides an insight into how API automation with REST Assured is certainly the way forward in API testing.
Enabling the digital thread using open OSLC standardsAxel Reichwein
This document discusses enabling the digital thread using open OSLC standards. It summarizes that simulation data management is complex due to the multidisciplinary nature of engineering and different data sources having different APIs, preventing connectivity. The digital thread aims to connect all data through a product's lifecycle for increased efficiency. OSLC proposes open standards for common APIs and URLs to identify and connect data across systems. This would allow applications to be decoupled from data sources and enable new applications to reuse existing universal data assets. Universal data management is needed for the digital thread instead of the current discipline-specific approaches.
Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...CSCJournals
A main objective of this paper is using artificial intelligence technique to web service agents and increase the efficiency of the agent communications. In recent years, web services have played a major role in computer applications. Web services are essential, as the design model of applications are dedicated to electronic businesses. This model aims to become one of the major formalisms for the design of distributed and cooperative applications in an open environment (the Internet). Current commercial and research-based efforts are reviewed and positioned within these two fields. A web service as a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-process able format (specifically Web Services Description Language WSDL). Other systems interact with the web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. Particular attention is given to the application of AI techniques to the important issue of WS composition. Within the range of AI technologies considered, we focus on the work of the Semantic Web and Agent-based communities to provide web services with semantic descriptions and intelligent behavior and reasoning capabilities. Re-composition of web services is also considered and a number of adaptive agent approaches are introduced and implemented in publication domain with three dimensional databases and one of the areas of work is eCommerce.
A new approach to gather similar operations extracted from web servicesIJECEIAES
A web service is an autonomous software that exposes a set of features on the Internet, it is developed and published by providers and accessed by customers who discover it, select it, invoke and use it. Several research policies have been implemented such as searching through keywords, searching according to semantics and searching by estimating the similarity. A customer is looking for a service for the operations he/she carries out, hence the interest of guiding the search for services towards a search for operations: finding the desired operations amounts to finding the services. For this, groupings of similar operations would make it possible to obtain all the services that can meet the desired functionalities. The customer can then select, in this set the service or services according to its non-functional criteria. The paper presents a study of the similarity between operations. The proposed approach is validated through an experimental study conducted on web services belonging to various domains.
This document summarizes a webinar about Open Services for Lifecycle Collaboration (OSLC) and data integration. It introduces the presenter Axel Reichwein and his company Koneksys, which helps organizations create data integration solutions. It discusses challenges of distributed engineering data from different sources and the benefits of data integration. Key concepts discussed include using URLs, HTTP, and RDF to create a web of linked data. OSLC standards provide APIs to access and link data from different sources. This allows building mashup applications to search, visualize, and link engineering information across distributed systems.
PoolParty Semantic Suite is Semantic Web Company’s platform for enterprise information integration based on Linked Data principles. PoolParty consists of several components that process and manage RDF based data sets. These components have consistency requirements towards the data they work on.
Also, users have requirements towards the quality of the data they manage. We want to express constraints for both in a standard way throughout PoolParty components. SKOS-based PoolParty Thesaurus project data requires both consistency and quality.
Data Integration Solutions Created By KoneksysKoneksys
This document summarizes data integration solutions created by Koneksys including OSLC adapters and clients, data management apps, specifications, and community efforts. It also describes other solutions such as model-based systems engineering, linked data research, blockchain, web applications, engineering and analysis, and network security and database work done by Koneksys. Open source projects for many of these solutions are listed.
The Systems Engineering Ecosystem for Modeling, Analysis, and Visualization (SEEMAV) is a web-based tool that allows systems engineers and stakeholders to view data visualizations generated from documents like requirements to answer targeted questions. Currently, SEEMAV requires custom code to be written for each new document or visualization. The author recommends developing SEEMAV's pipeline to allow end users to fully customize the data extraction and visualization creation process through a graphical user interface in order to streamline use.
IRJET- A Parameter Based Web Service Discovery with Underlying Semantics ProfileIRJET Journal
1. The document discusses various approaches for web service discovery. It describes syntax-based and semantic-based approaches.
2. It outlines several specific approaches for web service discovery including one based on schema matching that uses semantic annotations to enhance discovery. Another approach uses a neural network to calculate semantic similarities between schemas to improve matching.
3. A third approach discusses goal-oriented discovery of resources in RESTful architectures using three layers of abstraction from the agent level to service level to content level.
4. Finally, it introduces the concept of linked services for the web of data by publishing service annotations as linked data and creating services that process and generate linked data.
Koneksys - Offering Services to Connect Data using the Data WebKoneksys
Koneksys provides consulting and software services to connect data silos using the Data Web (Linked Data on the World Wide Web). They create open-source software, promote data integration standards like OSLC, and help clients integrate their data from different sources and systems for improved traceability, transparency, collaboration and analytics. Connecting data using web technologies avoids vendor lock-in and proprietary solutions, allowing organizations to establish relationships between related data to facilitate sharing and decision making across silos.
Dipen Shah has over 5 years of experience as a Senior Software Engineer and Software Developer specializing in Microsoft technologies like SharePoint, C#, ASP.NET, and SQL Server. He has extensive experience developing solutions for clients in various industries including banking, defense, and mining. Some of his project experiences include developing user interfaces, workflows, and custom APIs for applications involving surveys, task management, document management, and clinical trial management systems. He is proficient in technologies like JavaScript, jQuery, REST APIs, and Azure.
Geophy CTO Sander Mulders presented their Metadata platform at our March meetup at Skillsmatters' CodeNode. The talk was about how Geophy use Linked Data approaches to accelerate & improve the accuracy of real estate requirements such as valuations.
Sander talked about the thousands of data sources used, how they use RDF for data integration, how to construct features and metadata driven services using components such as Apache Kafka and Stardog.
SOA (hands-on exercise w.r.t Oracle included)santosh_c_s
This document provides an overview of service-oriented architecture (SOA) and describes the key components and types of services and bindings used in an SOA. It explains that SOA facilitates developing applications as reusable services to address changing business needs. The document outlines the major components of an SOA, including service components like BPEL and business rules, as well as binding components that connect services to external systems. It provides examples of synchronous and asynchronous processes and steps for creating an SOA application to integrate an invoice conversion process.
SharePoint 2010 opens up a wide range of options for developers, and this session will take you through the new SharePoint list Data Model Capabilities; LINQ to SharePoint; Client Object Model and RESTful Data Service Interface for SharePoint.
Formalization of SOA concepts with mathematical foundation IJECEIAES
With the development of the IT industry, agility and dynamicity are the two expected characteristics for any business enterprise. Service Oriented Architecture (SOA) an emerging and a promising advent aiming at address the current trends/needs of enterprise business applications. The current work aims at giving an overview of the conceptual model of SOA based on set theory approach. Also, it posits mathematical definitions for logical, environment and application service definition with the help of general systems theory and mathematical foundation. The mathematical model, definition and functionality of services enhance SOA principles which can be used efficiently in integrating heterogeneous components.
Shaheen Akhtar has 3 years of experience as a Programmer Analyst at Cognizant Technologies working on projects for clients like Novartis and Sandoz. She has expertise in requirement gathering, data integration, Oracle, PLSQL, SQL tuning and quality assurance. Some of her responsibilities include creating views, stored procedures, APIs, validating data integrity, designing technical specifications and performing testing. She is proficient with technologies like TIBCO Data Virtualization, Oracle, SQL and tools like SQL Developer, Squirrel and Postman.
GraphQL vs REST is a comparison of two popular data fetching protocols. GraphQL was created by Facebook in 2012 and allows clients to specify exactly the data they need from servers, resulting in more efficient APIs. REST has been around since 2000 and prescribes resources identified by URIs and standard HTTP methods. The article compares the advantages of each, such as GraphQL being more efficient by fetching only required data, and disadvantages like its complexity. It argues both can be used together based on specific project needs.
REST & RESTful APIs: The State of ConfusionGlenn Antoine
This document discusses REST (Representational State Transfer) and RESTful APIs. It begins by explaining why REST is often misunderstood and discusses common misconceptions. It then covers the origins and constraints of REST as defined by Roy Fielding, including client-server, stateless, cache, uniform interface, layered system and code on demand. It also discusses the Richardson Maturity Model and concludes that REST is the best approach when considering long-term maintenance and evolution, despite having a higher start-up cost than other styles.
Automation API testing becoming a crucial part of most of the project. This whitepaper provides an insight into how API automation with REST Assured is certainly the way forward in API testing.
Enabling the digital thread using open OSLC standardsAxel Reichwein
This document discusses enabling the digital thread using open OSLC standards. It summarizes that simulation data management is complex due to the multidisciplinary nature of engineering and different data sources having different APIs, preventing connectivity. The digital thread aims to connect all data through a product's lifecycle for increased efficiency. OSLC proposes open standards for common APIs and URLs to identify and connect data across systems. This would allow applications to be decoupled from data sources and enable new applications to reuse existing universal data assets. Universal data management is needed for the digital thread instead of the current discipline-specific approaches.
Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...CSCJournals
A main objective of this paper is using artificial intelligence technique to web service agents and increase the efficiency of the agent communications. In recent years, web services have played a major role in computer applications. Web services are essential, as the design model of applications are dedicated to electronic businesses. This model aims to become one of the major formalisms for the design of distributed and cooperative applications in an open environment (the Internet). Current commercial and research-based efforts are reviewed and positioned within these two fields. A web service as a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-process able format (specifically Web Services Description Language WSDL). Other systems interact with the web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. Particular attention is given to the application of AI techniques to the important issue of WS composition. Within the range of AI technologies considered, we focus on the work of the Semantic Web and Agent-based communities to provide web services with semantic descriptions and intelligent behavior and reasoning capabilities. Re-composition of web services is also considered and a number of adaptive agent approaches are introduced and implemented in publication domain with three dimensional databases and one of the areas of work is eCommerce.
A new approach to gather similar operations extracted from web servicesIJECEIAES
A web service is an autonomous software that exposes a set of features on the Internet, it is developed and published by providers and accessed by customers who discover it, select it, invoke and use it. Several research policies have been implemented such as searching through keywords, searching according to semantics and searching by estimating the similarity. A customer is looking for a service for the operations he/she carries out, hence the interest of guiding the search for services towards a search for operations: finding the desired operations amounts to finding the services. For this, groupings of similar operations would make it possible to obtain all the services that can meet the desired functionalities. The customer can then select, in this set the service or services according to its non-functional criteria. The paper presents a study of the similarity between operations. The proposed approach is validated through an experimental study conducted on web services belonging to various domains.
This document summarizes a webinar about Open Services for Lifecycle Collaboration (OSLC) and data integration. It introduces the presenter Axel Reichwein and his company Koneksys, which helps organizations create data integration solutions. It discusses challenges of distributed engineering data from different sources and the benefits of data integration. Key concepts discussed include using URLs, HTTP, and RDF to create a web of linked data. OSLC standards provide APIs to access and link data from different sources. This allows building mashup applications to search, visualize, and link engineering information across distributed systems.
PoolParty Semantic Suite is Semantic Web Company’s platform for enterprise information integration based on Linked Data principles. PoolParty consists of several components that process and manage RDF based data sets. These components have consistency requirements towards the data they work on.
Also, users have requirements towards the quality of the data they manage. We want to express constraints for both in a standard way throughout PoolParty components. SKOS-based PoolParty Thesaurus project data requires both consistency and quality.
Data Integration Solutions Created By KoneksysKoneksys
This document summarizes data integration solutions created by Koneksys including OSLC adapters and clients, data management apps, specifications, and community efforts. It also describes other solutions such as model-based systems engineering, linked data research, blockchain, web applications, engineering and analysis, and network security and database work done by Koneksys. Open source projects for many of these solutions are listed.
The Systems Engineering Ecosystem for Modeling, Analysis, and Visualization (SEEMAV) is a web-based tool that allows systems engineers and stakeholders to view data visualizations generated from documents like requirements to answer targeted questions. Currently, SEEMAV requires custom code to be written for each new document or visualization. The author recommends developing SEEMAV's pipeline to allow end users to fully customize the data extraction and visualization creation process through a graphical user interface in order to streamline use.
IRJET- A Parameter Based Web Service Discovery with Underlying Semantics ProfileIRJET Journal
1. The document discusses various approaches for web service discovery. It describes syntax-based and semantic-based approaches.
2. It outlines several specific approaches for web service discovery including one based on schema matching that uses semantic annotations to enhance discovery. Another approach uses a neural network to calculate semantic similarities between schemas to improve matching.
3. A third approach discusses goal-oriented discovery of resources in RESTful architectures using three layers of abstraction from the agent level to service level to content level.
4. Finally, it introduces the concept of linked services for the web of data by publishing service annotations as linked data and creating services that process and generate linked data.
Koneksys - Offering Services to Connect Data using the Data WebKoneksys
Koneksys provides consulting and software services to connect data silos using the Data Web (Linked Data on the World Wide Web). They create open-source software, promote data integration standards like OSLC, and help clients integrate their data from different sources and systems for improved traceability, transparency, collaboration and analytics. Connecting data using web technologies avoids vendor lock-in and proprietary solutions, allowing organizations to establish relationships between related data to facilitate sharing and decision making across silos.
Dipen Shah has over 5 years of experience as a Senior Software Engineer and Software Developer specializing in Microsoft technologies like SharePoint, C#, ASP.NET, and SQL Server. He has extensive experience developing solutions for clients in various industries including banking, defense, and mining. Some of his project experiences include developing user interfaces, workflows, and custom APIs for applications involving surveys, task management, document management, and clinical trial management systems. He is proficient in technologies like JavaScript, jQuery, REST APIs, and Azure.
Geophy CTO Sander Mulders presented their Metadata platform at our March meetup at Skillsmatters' CodeNode. The talk was about how Geophy use Linked Data approaches to accelerate & improve the accuracy of real estate requirements such as valuations.
Sander talked about the thousands of data sources used, how they use RDF for data integration, how to construct features and metadata driven services using components such as Apache Kafka and Stardog.
SOA (hands-on exercise w.r.t Oracle included)santosh_c_s
This document provides an overview of service-oriented architecture (SOA) and describes the key components and types of services and bindings used in an SOA. It explains that SOA facilitates developing applications as reusable services to address changing business needs. The document outlines the major components of an SOA, including service components like BPEL and business rules, as well as binding components that connect services to external systems. It provides examples of synchronous and asynchronous processes and steps for creating an SOA application to integrate an invoice conversion process.
SharePoint 2010 opens up a wide range of options for developers, and this session will take you through the new SharePoint list Data Model Capabilities; LINQ to SharePoint; Client Object Model and RESTful Data Service Interface for SharePoint.
Formalization of SOA concepts with mathematical foundation IJECEIAES
With the development of the IT industry, agility and dynamicity are the two expected characteristics for any business enterprise. Service Oriented Architecture (SOA) an emerging and a promising advent aiming at address the current trends/needs of enterprise business applications. The current work aims at giving an overview of the conceptual model of SOA based on set theory approach. Also, it posits mathematical definitions for logical, environment and application service definition with the help of general systems theory and mathematical foundation. The mathematical model, definition and functionality of services enhance SOA principles which can be used efficiently in integrating heterogeneous components.
Shaheen Akhtar has 3 years of experience as a Programmer Analyst at Cognizant Technologies working on projects for clients like Novartis and Sandoz. She has expertise in requirement gathering, data integration, Oracle, PLSQL, SQL tuning and quality assurance. Some of her responsibilities include creating views, stored procedures, APIs, validating data integrity, designing technical specifications and performing testing. She is proficient with technologies like TIBCO Data Virtualization, Oracle, SQL and tools like SQL Developer, Squirrel and Postman.
GraphQL vs REST is a comparison of two popular data fetching protocols. GraphQL was created by Facebook in 2012 and allows clients to specify exactly the data they need from servers, resulting in more efficient APIs. REST has been around since 2000 and prescribes resources identified by URIs and standard HTTP methods. The article compares the advantages of each, such as GraphQL being more efficient by fetching only required data, and disadvantages like its complexity. It argues both can be used together based on specific project needs.
REST & RESTful APIs: The State of ConfusionGlenn Antoine
This document discusses REST (Representational State Transfer) and RESTful APIs. It begins by explaining why REST is often misunderstood and discusses common misconceptions. It then covers the origins and constraints of REST as defined by Roy Fielding, including client-server, stateless, cache, uniform interface, layered system and code on demand. It also discusses the Richardson Maturity Model and concludes that REST is the best approach when considering long-term maintenance and evolution, despite having a higher start-up cost than other styles.
This document provides an introduction and overview of GraphQL, including:
- A brief history of GraphQL and how it was created by Facebook and adopted by other companies.
- How GraphQL provides a more efficient alternative to REST APIs by allowing clients to specify exactly the data they need in a request.
- Some key benefits of GraphQL like its type system, declarative data fetching, schema stitching, introspection, and versioning capabilities.
- Some disadvantages like potential complexity in queries and challenges with rate limiting.
SOME INTEROPERABILITY ISSUES IN THE DESIGNING OF WEB SERVICES : CASE STUDY ON...ijwscjournal
In today’s environment most of the commercial web based project developed in the industry as well
enumerous number of funded project/and studies taken as part of research oriented initiatives in the
academia suffer from major technical issues as to how design, develop and deploy the Web Services that
can run in variety of heterogeneous environments. In this paper we address the issues of
interoperability between Web Services, the metrics which can be used to measure the interoperability
and simulate the Online shopping application by developing the Credit Card Verification Software
using Luhn’s Mod 10 algorithm having Java Client written in NetBeans and the BankWebService in
C# .NET.
The document discusses the development of a REST API for an e-commerce site using the MEAN stack. It describes the key components of the MEAN stack - MongoDB for the database, Express.js for the backend framework, Angular.js for the frontend framework, and Node.js for the runtime environment. It then outlines the architecture and implementation of the REST API, covering authentication, resources, HTTP methods, and adherence to REST architectural constraints like being stateless. The advantages of the REST approach are also highlighted.
Rest.li is an open source REST framework for building scalable RESTful architectures. It addresses challenges like standard service description, asynchronous scalability, and API evolution. Rest.li uses data modeling, resource patterns, and auto-generated artifacts to promote clean REST practices. It also provides tools for service discovery, backward compatibility, and asynchronous programming with ParSeq.
The document discusses the backend for frontend (BFF) pattern in microservices architectures. It describes some limitations of using a single API gateway to handle requests from different frontend interfaces like mobile and web. Specifically, a single gateway can become a bottleneck and single point of failure. The BFF pattern addresses this by implementing separate backend services for each frontend interface that act as intermediaries between the frontend and microservices. This decouples the frontends and allows each one to be optimized independently for performance, flexibility and other qualities. The BFF approach improves user experience by providing seamless interactions tailored for each interface type through dedicated API endpoints.
SOME INTEROPERABILITY ISSUES IN THE DESIGNING OF WEB SERVICES : CASE STUDY ON...ijwscjournal
In today’s environment most of the commercial web based project developed in the industry as well enumerous number of funded project/and studies taken as part of research oriented initiatives in the academia suffer from major technical issues as to how design, develop and deploy the Web Services that
can run in variety of heterogeneous environments. In this paper we address the issues of interoperability between Web Services, the metrics which can be used to measure the interoperability and simulate the Online shopping application by developing the Credit Card Verification Software using Luhn’s Mod 10 algorithm having Java Client written in NetBeans and the BankWebService in C# .NET.
Continuous Health Monitoring of Micro-Service based ApplicationIRJET Journal
This document proposes a system to continuously monitor the health of microservices in an application. It would use AWS Lambda functions triggered by an API Gateway on a cron schedule to check the status of each microservice. The health status of each service would then be displayed in Kibana dashboards to alert developers if any services stop functioning. A literature review discusses challenges of monitoring microservices applications and how ELK stack tools like Elasticsearch and Kibana can help with log collection, analysis and visualization.
Secc tutorials development and deployment of rest web services in java_v2.0Aravindharamanan S
This document provides a tutorial on developing and deploying REST web services in Java. It introduces REST as an architectural style for web services that uses simple HTTP requests and focuses on representing resources with URIs. The tutorial demonstrates building a basic "Hello World" REST service in Java and developing an Android client to access these RESTful services. It explains the key REST principles of using HTTP methods to perform CRUD operations on resources and representing everything as URIs in a stateless manner.
This document compares the RPC and REST architectural styles for building web services. It finds that RPC-style services can face scalability issues as applications grow larger, due to tight coupling between clients and servers and complex interface definitions. REST addresses these issues by emphasizing a uniform interface based on HTTP methods, representing resources with URIs, and keeping client-server interactions stateless and loosely coupled through hypermedia links. The document analyzes how REST provides better scalability, low coupling, and security compared to RPC for web-scale applications.
A Novel Robust &Fault Tolerance Framework for Webservices using ws-I Specific...Abhishek Kumar
This document proposes a novel robust and fault tolerance framework for web services using the WS-I specification. It discusses related work on fault tolerance in distributed systems and web services. The proposed framework takes advantage of existing web service architecture and standards, incorporating two new components: a Controller for fault detection, notification and confinement; and an Agent for maintaining service replicas to improve quality of service and availability in the presence of faults.
The aim of this paper is to propose a modeling framework, tailored to build efficient, elastic and autonomous applications from tasks and services. It includes integrated services to develop the software products, reusing on demand in-house services with specific requirements and flexible the representational state transfer (REST) services. The idea is to decouple authorization for reduced service dependency and to provide a possibility for developing the whole application by increasing the existing application flexibility. Based on the fact that there are different web application platforms that serve to offer services to users but they are not integrated; we propose a framework with high flexibility degree, especially integrating the most used services such: e-learning, administrative, and library services, as University services are concern.
Performance Evaluation of Web Services In Linux On MulticoreCSCJournals
Contemporary Business requires the ability to seamlessly exchange information between internal
business units, customers, and partner, is vital for success. Most organizations employ a variety of
different applications to store and exchange data in dissimilar way and therefore cannot “communicate” to
one another productively [1]. Service Oriented Architecture (SOA) components provide services to other
components via communication protocols typically over a network [2].The technologies like DCOM, RMI,
COBRA, Web Services etc. are developed using SOA, which contributed best to fulfill requirements to
some extent, but components result from these technologies are mostly either language specific or
platform specific,[3]. The services or components developed for one platform may not be able to
communicate and reusable in other platform, as they are mostly language specific or platform specific.
“World Wide Web Consortium (W3C) International community to develop web standards” issued WS-*
specifications for programming language vendors for Web services, which confirms a standard means of
interoperating between different software applications running on a variety of platforms or frameworks
[4][5]. This paper tests web services performance gain along with interoperability, reusability by using
“NAS Parallel Benchmarks (NPB)” set of program [6] developed by NASA Advanced Supercomputing
Division to evaluate the performance of supercomputers.
Simple Object Access Protocol (SOAP) and Representational State Transfer (REST) are two answers to the same question: how to access Web services. The choice initially may seem easy, but at times it can be surprisingly difficult. SOAP is a standards-based Web services access protocol that has been around for a while and enjoys all of the benefits of long-term use. Originally developed by Microsoft, SOAP really isnt as simple as the acronym would suggest. The Difference between SOAP vs REST APIs REST is the newcomer to the block. It seeks to fix the problems with SOAP and provide a truly simple method of accessing Web services. Shabnam Kumari | Deepak"REST based API" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-1 | Issue-4 , June 2017, URL: http://www.ijtsrd.com/papers/ijtsrd2200.pdf http://www.ijtsrd.com/computer-science/computer-security/2200/rest-based-api/shabnam-kumari
Enhancement in Web Service ArchitectureIJERA Editor
Web services provide a standard means of interoperating between different software applications, running on a
variety of platforms and/or frameworks. Web services are increasingly used to integrate and build business
application on the internet. Failure of web services is not acceptable in many situations such as online banking,
so fault tolerance is a key challenge of web services. This paper elaborates the concept of web service
architecture and its enhancement. Traditional web service architecture lacks facilities to support fault tolerance.
To better cope with the fundamental issues of the traditional client-server based web service architecture, peer to
peer web service architecture have been introduced. The purpose of this paper is to elaborate the architecture,
construction methods and steps of web services and possible weaknesses in scalability and fault tolerance in
traditional client server architecture and a solution for that, peer to peer web service technology has evolved.
Rich Internet Web Application Development using Google Web ToolkitIJERA Editor
Web applications in today’s world has a great impact on businesses and are popular since they provide business benefits and hugely deployable. Developing such efficient web applications using leading edge web technologies that promise to deliver upgraded user interface, greater scalability and interoperability, improved performance and usability, among different systems is a challenge. Google Web Toolkit (GWT) is one such framework that helps to build Rich Internet Applications (RIAs) that enable fertile development of high performance web applications. This paper puts an effort to provide an effective solution to develop quality web based applications with an added layer of security.
Fullstack Interview Questions and Answers.pdfcsvishnukumar
Global Companies are hiring for full stack developers with diverse skills to work on the entire application development. The number of Full Stack developer jobs will increase from 135,000 to over 853,000 by 2024 based on US Bureau of Labor Statistics. To handle the entire project independently, Full Stack developers are in demand with many opportunities.
A Deep Dive into REST API Framework SurveyIRJET Journal
This document provides an overview of Representational State Transfer (REST) application programming interfaces (APIs). It discusses key aspects of REST APIs including constraints, properties, elements and interactions. The constraints ensure client-server communication follows the REST framework. Properties like performance, scalability and simplicity make REST APIs a preferred choice. Resources, HTTP verbs and headers are key elements that enable client-server interactions in REST. Authentication and security are also addressed.
A Study Of Web Services And Its ImplicationsTony Lisko
This document presents a study comparing Web Services using SOAP and REST frameworks. It discusses that SOAP uses XML messaging over HTTP and defines standards for operations, while REST uses HTTP methods to manipulate resources and has a stateless architecture. The document provides details on SOAP and REST architectures and implementations, and concludes that while SOAP is widely used in enterprise applications, REST has advantages for performance and is growing in popularity for public applications due to its simplicity.
Similar to A COMPARATIVE STUDY BETWEEN GRAPH-QL& RESTFUL SERVICES IN API MANAGEMENT OF STATELESS ARCHITECTURES (20)
Supermarket Management System Project Report.pdfKamal Acharya
Supermarket management is a stand-alone J2EE using Eclipse Juno program.
This project contains all the necessary required information about maintaining
the supermarket billing system.
The core idea of this project to minimize the paper work and centralize the
data. Here all the communication is taken in secure manner. That is, in this
application the information will be stored in client itself. For further security the
data base is stored in the back-end oracle and so no intruders can access it.
Null Bangalore | Pentesters Approach to AWS IAMDivyanshu
#Abstract:
- Learn more about the real-world methods for auditing AWS IAM (Identity and Access Management) as a pentester. So let us proceed with a brief discussion of IAM as well as some typical misconfigurations and their potential exploits in order to reinforce the understanding of IAM security best practices.
- Gain actionable insights into AWS IAM policies and roles, using hands on approach.
#Prerequisites:
- Basic understanding of AWS services and architecture
- Familiarity with cloud security concepts
- Experience using the AWS Management Console or AWS CLI.
- For hands on lab create account on [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
# Scenario Covered:
- Basics of IAM in AWS
- Implementing IAM Policies with Least Privilege to Manage S3 Bucket
- Objective: Create an S3 bucket with least privilege IAM policy and validate access.
- Steps:
- Create S3 bucket.
- Attach least privilege policy to IAM user.
- Validate access.
- Exploiting IAM PassRole Misconfiguration
-Allows a user to pass a specific IAM role to an AWS service (ec2), typically used for service access delegation. Then exploit PassRole Misconfiguration granting unauthorized access to sensitive resources.
- Objective: Demonstrate how a PassRole misconfiguration can grant unauthorized access.
- Steps:
- Allow user to pass IAM role to EC2.
- Exploit misconfiguration for unauthorized access.
- Access sensitive resources.
- Exploiting IAM AssumeRole Misconfiguration with Overly Permissive Role
- An overly permissive IAM role configuration can lead to privilege escalation by creating a role with administrative privileges and allow a user to assume this role.
- Objective: Show how overly permissive IAM roles can lead to privilege escalation.
- Steps:
- Create role with administrative privileges.
- Allow user to assume the role.
- Perform administrative actions.
- Differentiation between PassRole vs AssumeRole
Try at [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...PriyankaKilaniya
Energy efficiency has been important since the latter part of the last century. The main object of this survey is to determine the energy efficiency knowledge among consumers. Two separate districts in Bangladesh are selected to conduct the survey on households and showrooms about the energy and seller also. The survey uses the data to find some regression equations from which it is easy to predict energy efficiency knowledge. The data is analyzed and calculated based on five important criteria. The initial target was to find some factors that help predict a person's energy efficiency knowledge. From the survey, it is found that the energy efficiency awareness among the people of our country is very low. Relationships between household energy use behaviors are estimated using a unique dataset of about 40 households and 20 showrooms in Bangladesh's Chapainawabganj and Bagerhat districts. Knowledge of energy consumption and energy efficiency technology options is found to be associated with household use of energy conservation practices. Household characteristics also influence household energy use behavior. Younger household cohorts are more likely to adopt energy-efficient technologies and energy conservation practices and place primary importance on energy saving for environmental reasons. Education also influences attitudes toward energy conservation in Bangladesh. Low-education households indicate they primarily save electricity for the environment while high-education households indicate they are motivated by environmental concerns.
Tools & Techniques for Commissioning and Maintaining PV Systems W-Animations ...Transcat
Join us for this solutions-based webinar on the tools and techniques for commissioning and maintaining PV Systems. In this session, we'll review the process of building and maintaining a solar array, starting with installation and commissioning, then reviewing operations and maintenance of the system. This course will review insulation resistance testing, I-V curve testing, earth-bond continuity, ground resistance testing, performance tests, visual inspections, ground and arc fault testing procedures, and power quality analysis.
Fluke Solar Application Specialist Will White is presenting on this engaging topic:
Will has worked in the renewable energy industry since 2005, first as an installer for a small east coast solar integrator before adding sales, design, and project management to his skillset. In 2022, Will joined Fluke as a solar application specialist, where he supports their renewable energy testing equipment like IV-curve tracers, electrical meters, and thermal imaging cameras. Experienced in wind power, solar thermal, energy storage, and all scales of PV, Will has primarily focused on residential and small commercial systems. He is passionate about implementing high-quality, code-compliant installation techniques.
Digital Twins Computer Networking Paper Presentation.pptxaryanpankaj78
A Digital Twin in computer networking is a virtual representation of a physical network, used to simulate, analyze, and optimize network performance and reliability. It leverages real-time data to enhance network management, predict issues, and improve decision-making processes.
Blood finder application project report (1).pdfKamal Acharya
Blood Finder is an emergency time app where a user can search for the blood banks as
well as the registered blood donors around Mumbai. This application also provide an
opportunity for the user of this application to become a registered donor for this user have
to enroll for the donor request from the application itself. If the admin wish to make user
a registered donor, with some of the formalities with the organization it can be done.
Specialization of this application is that the user will not have to register on sign-in for
searching the blood banks and blood donors it can be just done by installing the
application to the mobile.
The purpose of making this application is to save the user’s time for searching blood of
needed blood group during the time of the emergency.
This is an android application developed in Java and XML with the connectivity of
SQLite database. This application will provide most of basic functionality required for an
emergency time application. All the details of Blood banks and Blood donors are stored
in the database i.e. SQLite.
This application allowed the user to get all the information regarding blood banks and
blood donors such as Name, Number, Address, Blood Group, rather than searching it on
the different websites and wasting the precious time. This application is effective and
user friendly.
Levelised Cost of Hydrogen (LCOH) Calculator ManualMassimo Talia
The aim of this manual is to explain the
methodology behind the Levelized Cost of
Hydrogen (LCOH) calculator. Moreover, this
manual also demonstrates how the calculator
can be used for estimating the expenses associated with hydrogen production in Europe
using low-temperature electrolysis considering different sources of electricity
Applications of artificial Intelligence in Mechanical Engineering.pdfAtif Razi
Historically, mechanical engineering has relied heavily on human expertise and empirical methods to solve complex problems. With the introduction of computer-aided design (CAD) and finite element analysis (FEA), the field took its first steps towards digitization. These tools allowed engineers to simulate and analyze mechanical systems with greater accuracy and efficiency. However, the sheer volume of data generated by modern engineering systems and the increasing complexity of these systems have necessitated more advanced analytical tools, paving the way for AI.
AI offers the capability to process vast amounts of data, identify patterns, and make predictions with a level of speed and accuracy unattainable by traditional methods. This has profound implications for mechanical engineering, enabling more efficient design processes, predictive maintenance strategies, and optimized manufacturing operations. AI-driven tools can learn from historical data, adapt to new information, and continuously improve their performance, making them invaluable in tackling the multifaceted challenges of modern mechanical engineering.
Generative AI Use cases applications solutions and implementation.pdfmahaffeycheryld
Generative AI solutions encompass a range of capabilities from content creation to complex problem-solving across industries. Implementing generative AI involves identifying specific business needs, developing tailored AI models using techniques like GANs and VAEs, and integrating these models into existing workflows. Data quality and continuous model refinement are crucial for effective implementation. Businesses must also consider ethical implications and ensure transparency in AI decision-making. Generative AI's implementation aims to enhance efficiency, creativity, and innovation by leveraging autonomous generation and sophisticated learning algorithms to meet diverse business challenges.
https://www.leewayhertz.com/generative-ai-use-cases-and-applications/
Determination of Equivalent Circuit parameters and performance characteristic...pvpriya2
Includes the testing of induction motor to draw the circle diagram of induction motor with step wise procedure and calculation for the same. Also explains the working and application of Induction generator
Determination of Equivalent Circuit parameters and performance characteristic...
A COMPARATIVE STUDY BETWEEN GRAPH-QL& RESTFUL SERVICES IN API MANAGEMENT OF STATELESS ARCHITECTURES
1. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
DOI : 10.5121/ijwsc.2020.11201 1
A COMPARATIVE STUDY BETWEEN GRAPH-QL&
RESTFUL SERVICES IN API MANAGEMENT OF
STATELESS ARCHITECTURES
Mr.Sayan Guha and Mrs.Shreyasi Majumder
Data Architect, AI and Analytics Practice, Cognizant Technology Solutions, India
ABSTRACT
A stateless architecture design is a web architecture design that typically does not persist data in any
database and such applications also does not require any kind of backup storage. Data that flows through
a stateless service is data in transition and such data is never stored in any data store. The processing
requests that arrive to such architecture does not rely on information gathered or persisted from any
previous session. API (Application programming interface) which consists of subroutines, definitions &
procedures that can access data on the applications are the communication points between applications
and management of API endpoints using stateless architecture is less complex as there is no server side
retention of the client session and each client sends requisite information in each request to the server.
GraphQL and RESTful services are means of designing such API architecture. This paper discusses and
explains in detail both GraphQL and REST API architecture design and management methods and does an
analysis of the potential benefits of GraphQL over REST in Stateless architectural API designs.
KEYWORDS
API, RESTful, URI, GraphQL, Stateless, Schema Definition Language (SDL), HTTP, Mutation.
1. INTRODUCTION
Since inception of API based web services to aid seamless integration & data exchange across
applications on the foundations of stateless architecture, REST based API web services have been
the de-facto standard & preferred architectural style for design and management of the web
services.
Although there are scenarios, where performance of a web service API, tailored need of the data
consumer & ease of retrieval of data using one single API endpoint lays a strong underpinning for
using GRAPHQL as suitable alternative of REST for Web service computing.
In this paper, we aim to perform a comparative analysis of scenarios where GRAPHQL could
evolve as an alternative architectural style for API based stateless application architectures. We
aimed to infer based on observations with variable data volumes simulating an experiment with
social media posts. We have performed the experiment across many iterations and factoring the
complexities of number of API endpoints & increasing data volume in each iteration to depict the
behavioural response of both GRAPHQL & REST in terms of throughput. The results depict
potential benefits of GRAPHQL over REST & identifies areas of further research and
improvement with GRAPHQL based approachWe have organized the remainder of the paper as
follows. In Section 2, we discussed API management in stateless architecture as a brief
introduction to the context. In Section 3, related work has been discussed in REST based API
management scenarios along with the shortcomings and security vulnerabilities. In Section 4, we
aim to provide a concise introduction to GRAPHQL based API management approach along with
2. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
2
resolution to the conventional problems encountered in REST based approach. We aimed to
explain the supported types of GRAPHQL & its usage scenarios to facilitate an appreciative
understanding of GRAPHQL objects and ease the understanding of to the experiment in the
subsequent Section 5.
In Section 6, we present the performance evaluation results factoring the complexity of number
of API & increasing data volume and relative analysis of GRAPHQL Vs REST. We summarize
our work in Section 7.
2. API MANAGEMENT IN STATELESS ARCHITECTURE
MoussaTaifi et al (2016) [1] says the challenge of HPC (High Performance computing)
applications are required to be improved on the fronts of reliability and performance owing to the
existing difficulties for existing performance tuned APIs and provided a solution provided by
Stateless architecture at scale.
In a Stateless architecture, deploying APIs to multiple number of concurrent users and to multiple
servers is a good practice. Any server can handle any request as no session information is being
stored from previous sessions.
3. RELATED WORK
JacekKopecký et al (2016) [2] mentioned that the existing misuse HTTP protocols has paved the
way to RESTful services into the picture for effective API management. HTTP operations like
GET, PUT, POST, DELETE & PATCH are united under the umbrella of combined operations
under the name of “RESTfulness” adopting the acronym of REST invented by Roy Thomas
Fielding (2010) [3].
Roy Thomas Fielding (2010) [3] mentioned in his article that RESTful Web Services is a client-
server architectural style that provides a behavioural model for client applications and web
services. REST describes a number of design principles and constraints, such as stateless
communication and the use of uniform interfaces and self-descriptive messages applied in REST-
based services.
The services created in accordance to the style of REST architecture are typically referenced a
RESTful web services. The basic principle of a RESTful web service the exposure a set of
resources, i.e., any information source, uniquely identified by a Uniform Resource Identifier
(URI) and can be accessed through web. The below shows the working principle of RESTful
Web Service in API management.
3. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
3
Figure 1: Runtime architecture of RESTful Web Services Source: Website, phppot.com
3.1. Limitations of RESTful Services in Stateless Architecture
Below limitations exist while working with RESTful services in Stateless architectural
communications:
i. Incapability to heavyweight data transfer: According to FestimHalili et al (2018) [4] one of
the major drawbacks of RESTful Web Services lies in the incapability of handling heavy data
transfer. This inability actually makes REST services lightweight and rely on lightweight
data transfer over a common interface –the URL.
ii. Reliability on fixed data structures: REST relies on fixed data structures. In RESTful,
services making multiple calls to different REST endpoints is required and separate code to
transform & merge the data from each response is required before using them to render your
views. REST relies on the fixed data structures and iterative process to get the desired
response.
iii. Security challenges: API management done using REST has proven to be vulnerable to
security threats over the web. According to NishuPrasher (2018) [5] the possibilities of the
following security vulnerability possibilities in his thesis.
4. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
4
Table 1. REST Security vulnerability possibilities
Possibility Scenario
Injection Attacks &
message altering
Unreliable SQL injection into API by a
command
Security Assurance SQL injection, parameter & path
disclosure
Authentication-based
attacks
Inadequate authentication. Hacking of
web tokens.
Denial of service (DoS) and
buffer overflows
API key/ Access token hacking if no
threshold on too many requests
Cross-site scripting/cross-
site request forgery
Also known as, XSS attack. REST
APIs are vulnerable when
malevolent code is injected as input
to web services
Man-in-the-middle (MITM)
attacks
Absence of TLS layer security in a
REST API. Lack of transport level
encryption
Replay attacks and
spoofing.
REST APIs are vulnerable to spoofing
of the valid transactions and the
attacker could replay one valid
transactions as would like.
Insecure direct object
references.
REST APIs expose IDs to get
resources. This results in direct
exposure to internal objects
Sensitive data exposure. Non Encrypted data exposure
Missing function level
access control
Weak authentication validation in
sensitive request handlers
4. GRAPHQL IN API MANAGEMENT
GraphQL is an alternative and all new approach to interact with Web APIs. It is an open source
data manipulation and querying language for APIs. It is dynamic, single endpoint interactive
query based language to interact with APIs. Client systems using GraphQL can talk to the server
on exactly what they need, the queries are written to interact the web on exactly what is required -
nothing more or less.
As an alternative to conventional RESTful service, GraphQL developed by Facebook® in 2012 &
publicly released in 2015.
On 7 November 2018, Facebook® transferred the GraphQL project to the lately established
GraphQL Foundation, hosted by the non-profit Linux Foundation.
Olaf Hartig et al (2017) [6] in his conference paper explains GraphQL as new type of Web-based
data access interfaces that presents an alternative to the notion of REST-based interfaces & owing
to this advantages over REST, since its release GraphQL has gained significant momentum and
has been adopted by an increasing number of users.
5. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
5
4.1. GRAPHQL based API management – An alternative approach
Kristopher Sandoval (2017) [7] in his research blog discussed about the potential benefits of
using GraphQL. He also mentions that because GraphQL is extremely powerful, several
providers who need stable readability with quick speed and indexing have used it. Most of the use
cases for GraphQL are therefore those who require high data throughput with ease of sorting &
represented clearly by its highest profile users.
Data Fetching using Single Endpoint
Data Fetch using GraphQL is a paradigm shift compared to working with REST APIs. REST
APIs considered multiple specific endpoints to load the data. In GraphQL APIs typically a single
endpoint is exposed and which in turns out to be more flexible for the client system to decide
what data is actually needed. The below figure explains the difference of data fetch between
REST API and GRAPHQL APIs.
Figure 2: REST API Vs GraphQL API Source: Website, pinterest.com
Resolution to Underfetching&Overfetching
Overfetching means the API consumer downloads more information than actually required for his
custom need. In Rest API, the only way user obtains the data is by accessing multiple endpoints.
The Response might have additional information that the user requirement. This situation is
Overfetching.
Underfetching means API consumer downloads less information than actually required for his
custom need. In Rest API, the only way user obtains the data is by accessing multiple endpoints.
The Response might have less information that the user requirement. In this situation, the client
will make additional request until the retrieval of required information. This situation is
Underfetching.
In GraphQL client, obtain exactly the data they need from an API. The below figure explains a
sample GraphQL request query to fetch authors and relevant articles details in a single GraphQL
query. It does not require two separate endpoints.
6. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
6
Figure 3: GraphQL query to fetch students all classes in a school
Schema Definition Language (SDL)
Olaf Hartig et al (2019) [8] in his research paper has focussed on repurpose of schemas for graph
databases that are based on the Property Graph model based the Schema Definition Language
(SDL), originally meant as a language to define a so-called GraphQL schema that specifies
different types of objects that can be queried when accessing a particular Web API.
Therefore, the authors rearticulate definition of Schema Definition Language (SDL) from data
usage standpoint -GraphQL uses a schema to articulate the shape of the data graph. This schema
defines and describes a hierarchy of objects called types, populated from the backend database
storage.
Olaf Hartig et al (2018) [9] in his morning paper blog have put together many perspectives of
quantitative definition of GraphQL schemas. One of the most popularly used definition explains
GraphQL as edge-labelled multigraph where each node is associated with an object type and
comprising of dictionary of properties. Property keys derives their as field names from set F.
GraphQL schemas constructed over three sets: Fields (F), Arguments (A), and Types (T)
As per the authors GraphQL graph over (F, A, T) is a representation of a tuple
G = (N, E, τ, λ, r) where
• N is a set of nodes
• E is a set of edges of the form (u, f [α], v) where u, v € N, f € F and α is the partial mapping
from A to Values
• τ: N Oт is a function, which assigns a type to every node in the system.
• λ is a partial function that assigns a scalar value v € Values or a sequence [v1, v2...vn] of
scalar values where (vi € Values) of some pairs of the form (u, f [α]) where u € N, f € F and α
is the partial mapping from A to Values.
• r € N is the distinguished node called root node of the graph system.
7. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
7
Variety of Supported Type Definitions in GRAPHQL
In order to have a better understanding of our work about relative study of GRAPH-QL vis-à-vis
REST services in API management, we considered a quick appreciative recognition of various
supported type definitions associated with GRAPHQL & the related scenario of their application.
Table 2. GRAPHQL supported types
Type Type description Includes Definition
Primitivetype
Advanced
type
Heterogeneous
type
Dataretrieval
Insert/Update
inAPIchange
Scalar
Scalar types are the
primitive types,
single type for
every scalar type
Int Signed 32‐bit
integer.
X
Float
Signed double-
precision
floating-
point value.
X
String
UTF-8
compliant
character
sequence
X
Boolean
True / False OR
1/0 decision
enabling
type
X
ID
A unique
identifier
and is
serialized as
a string
X
Object
Either a field or
another object
type of a
combination
Object type
can
constitute
another
Object type
along with
other
scalars
X X
Query
Object types by
means of which
data can be
retrieved from
multiple
variables for a
particular
schema
An explicit
mention of
the
required
fields
mentioned
in the query
X X X
Mutation
API, which can alter
data, types
useful either by
inserting or
updating data
already in the
database.
Type
constitutes
"Create" & "
Update
type" within
Type
Mutation
X X X
8. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
8
5. EXPERIMENT SCENARIO: RETREIVE SOCIAL MEDIA POST DATA
As we discussed the shortcomings of data fetching using REST API based calls & categorically
tried to explain the ease with which GRAPHQL has brought a paradigm shift to the fetching of
user and related data from any website using typically a single endpoint. In the experiment, we
have aimed to bring forth the advantage of right fetching of the data that is required compared the
limitations of over fetching and underfetching using REST API based GET calls.
GRAPHQL Based Query Engine
Based on all the work that has been accomplished with GRAPHQL, we conceptualize
GRAPHQL query engine would work as per the below block diagram.
Figure 4: Conceptual GRAPHQL Query Execution Engine
• Schema is a tailored type language, which will return results back to the user. The user/client
will request any number of fields and GRAPHQL server will return only the fields expected.
• The query optimization parser once parses the values, validated to be good by the schema
validator,
• The resolvers proceeds towards processing the query & will return requisite data fields only.
In the process of performing the experiment we have studied previous work of
JobineshPurushothaman (2018) [10] on his complete guide to building a polyglot GraphQL
Server lays down a foundational understanding to use GraphQL to its best for retrieving Social
Media Posts.
Our work derives inspiration from the same where he has provided lightweight understanding in
his paper.
In addition to the above, we have studied the work of Sebastian Eschweiler (2018) [11] on his
lightweight approach by which a server can be implemented of its own and can be made ready to
execute queries to retrieve data from any website.
9. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
9
All codes provided in the below example are not in executable state and only for educational
purpose used by the authors. It can help the reader to understand the approach to the retrieval but
is not a verbatim source code.
/ Provisioning of resolver functions for schema field & Type definitions
consttypeDefs = `
typequery{
post (id: Int!): Post
user (id: Int!): User
},
typepost {
Post_id: Int
user: User
title: String
},
typeuser {
id: Int
name: String
email: String
posts: [Post]
},
`;
/ declare variable definitions for post and users for different users
/ Author names used for demo purpose
varpost = [
{
Post_id: 1,
user: 1,
title: ‘Sky is the limit’,
},
{
Post_id: 2,
user: 2,
title: 'Where knowledge is free and head is held high’
}
]
10. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
10
Figure 5: Sample code to create API endpoints to retrieve data using GRAPHQL
varuser = [
{
User_id: 1,
name: 'ShreyasiMajumder’,
email: 'shmaj@yahoo.com’
},
{
id: 2,
name: ‘SayanGuha’,
email: 'sguha@yahoo.com’
}
];
/ Variables functions to getPost&getUser
vargetPost=function (root, {id})
{
returnpost.filter
(post => {
return post. Post_id === id;
}) [0];
};
vargetUser= function (root, {id})
{
returnuser.filter
(user => {
return user. User_id === id;
}) [0];
};
/ Provisioning of resolver functions for schema fields
const resolvers = {
query: {
post: getPost,
user: getUser,
},
User: {
posts: (user) => filter (post, {userId: user. id}),
},
Post: {
user: (post) => find (user, {postid: post.id}),
},
};
/ End of code required to create the API endpoints for data retrieval to work
11. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
11
The authors hereby also draws attention to the work by Erik Wittern et al (2018) [12] y on the
best utilization of GRAPHQL to query of the API endpoints. They mentioned to have analysed
corpuses for common schema characteristics, naming conventions, and worst-case response sizes.
Authors have extended the same understanding with the above case study, evaluated the retrieval
time for the same API endpoint, and made a comparitive study with RESTful service based data
retrieval in terms of throughput time.
Extending the code shared already in Figure 4, we depict the retrieval of data by user query.
Figure 6: Sample query to retrieve data from Social Media Website & related details of the user
The query would provide the results and related user details in one query and working with one
API endpoint
Figure 7: Data Output from the Data retrieval query obtained from one API endpoint
/ Sample query definition to get all Post info and user information for the post in a
single query
queryInfoPostUser {
post(id:1)
{
Post_id
title
user
{
User_id
name
email
}}
}
/ Sample query for data retrieval from a social media website & related details of the
user of the post
"data":
{
“post":
{"Post_id": 1,
"title":‘Sky is the limit’,
"user": {
"User_id": 1,
"name":'ShreyasiMajumder’,
"email":'shmaj@yahoo.com’
}}
}
12. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
12
6. PERFORMANCE EVALUATION: REST VS GRAPHQL
Our work in evaluation of performance of REST Vs GRAPHQL is most closely related to
MatheusSeabra et al (2019) [13] who has done a deep performance comparison study between
REST and GRAPHQL in his conference paper.
MatheusSeabra et al (2019) [13] mentioned that through research of performance metrics of
response time and the average transfer rate between the requests, it was possible to deduce the
particularities of each architectural model in terms of performance metrics. We observed that
migrating to GraphQL resulted in an increase in performance in two-thirds of the tested
application.
Authors have carried out a Proof of Concept not by migrating from REST to GRAPHQL but
creating sample API endpoints for REST and GRAPHQL and tested the same in open source
playground and tested the throughput in terms of response time for data retrieval in 3 iterations
i. Iteration1: We carried out Iteration1 with a data volume of 1,000 data records through one
REST API and one GRAPHQL API endpoints.
ii. Iteration 2: We carried out Iteration1 with a data volume of 10,000 data records through two
REST API and one GRAPHQL API endpoints.
iii. Iteration 3: We carried out Iteration1 with a data volume of 100,000 data records through
three REST API and one GRAPHQL API endpoints.
Performance evaluation for REST and GRAPHQL in the experiment based on the complexity
definition assumed by the authors as combination of data volume and API endpoint weightage as
below
Table 3. Complexity definition for Data retrieval & Data Volume (following the experiment scenario)
Complexity
Considerat
ion
Perspectiv
e
Technology
Platfor
m
No API
Endpoint
Considerat
ion
SIMPLE
MEDIUM
COMPLEX
Complexity of
Data
retrieval
REST
1 X
2 X
3 X
GRAPHQL
1 X
1 X
1 X
Complexity
Considerat
ion
Perspectiv
e
Technology
Platfor
m
Volume of
Data
SIMPLE
MEDIUM
COMPLEX
Complexity of
Data
Volume (
no of
records )
REST
1000 X
10000 X
1000000 X
GRAPHQL
1000 X
10000 X
1000000 X
13. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
13
Performance evaluation in response time (throughput) is as below.
The results show:
Iteration 1: Approximately marginal or no difference when we considered one API endpoint for
both REST and GRAPHQL with the same volume of 1000 data records.
Iteration 2: 35percentage lesser response time using GRAPHQL where 10 times higher data
volume considered with respect to Iteration1 and our Iteration 2 was executed with 10000 data
records. In Iteration 2, we considered two API endpoints in REST compared to only one API
endpoint required in GRAPHQL.
Iteration 3: When we increase the volume of data 100 times to the initial volume and execute
Iteration 3 with 100,000 data records with three REST API endpoints being considered compared
to only one API endpoint as required GRAPHQL. The authors have observed an approximate
40% less response time required in the experiment results in GRAPHQL.
Figure 8: REST Experiment API Results
Left – Relationship between the three dimensions (Volume, No of APIs and REST Response
Time Right – Linear Trend of REST Response Time Plotted on data volume considered for three
iterations of the experiment
Figure 9: GRAPHQL Experiment API Results
Left – Relationship between the three dimensions (Volume, No of APIs and GRAPHQL
Response Time Right – Linear Trend of GRAPHQL Response Time Plotted on data volume
considered for three iterations of the experiment
14. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
14
The authors therefore considers
• The single API endpoint utilization in GRAPHQL as one of the key factors to determine the
ease of availability of data as well as the response time with a constant data volume.
• High data volume experiment to check the relationship between the No of API Endpoints Vs
the Response time to conclude and understand the implications of high volumes vs number of
API endpoints. REST services produces low performance in response time compared to
GRAPHQL.
Authors therefore share one more observation with only two parameters No of API Endpoints &
Response Time in REST and GRAPHQL testing the performance with only 1 Iteration in this
case viz. 100,000 data records, which confirms the understanding of linear increase of REST in
response time compared to GRAPHQL as below.
Figure 10: No. API Endpoints Vs Response time relationship for a high volume
7. LIMITATIONS AND AREAS OF IMPROVEMENT
The authors have observed that the performance of GRAPHQL considerably increases compared
to the REST based API framework in situations where considerable data volume is considered.
Researchers plausibly considers REST as the defacto standard in APIs, which have very less
number of entities. The trade-off between the cost and architectural decision will favour REST
with success & ease of use in simple request-response architectural designs.
GRAPHQL on the other hand suits situations where data is required at scale, large number of
entities are involved, and expected growth of the data is manifold. The response time in such
cases with only one API interfaced for data retrieval makes is relatively better choice for selection
over REST.
In the experiment, with a gradual increasing data volume, we have captured the performance of
GRAPHQL relative to REST. Our results depict GRAPHQL capabilities of data retrieval are
considerably better in such situation.
We have not considered the caching implications of GRAPHQL, which could turn out to be
costly, in cases where we need to write tailored GRAPHQL queries & therefore cannot store
results cached from previous data operations. Our work lies within the boundaries of potential
benefits of GRAPHQL in response time where data volume is huge and number of entities are
large. The GRAPHQL based technology platform have limitations in single request–response
based interaction & caching capabilities These areas of improvement of GRAPHQL ,we consider
as subject to further research.
15. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
15
8. CONCLUSION
As studied, we have observed that GRAPHQL is increasing acceptability as preferred API
management technology where performance metrics of response time and utilization of lesser
number of API endpoints are key measuring criteria with high data volume. We acknowledge that
REST has become an industry standard for companies and API management using REST
endpoints have matured over period of time and GRAPHQL have a learning curve associated
with it and with improved tooling functions over a period of time in future applications of
GRAPHQL in fields like Business Intelligence will increase manifold.
Our work, we trust will motivate upcoming avenues of future research where performance, data
driven design and performance flexibility with lesser API interaction would take precedence.
REFERENCES
[1] MoussaTaifi, Yuan Shi. &YasinCelik (2015) “JENERGY: A Fault Tolerant Stateless Architecture for
High Performance Computing”,
https://www.researchgate.net/publication/303837779_JENERGY_A_Fault_Tolerant_Stateless_Archit
ecture_for_Hig_Performance_Computing
[2] JacekKopecký, Paul Fremantle & Rich Boakes (2014) “A history and future of Web APIs”,
https://www.researchgate.net/publication/274527941_A_history_and_future_of_Web_APIs
[3] Roy Thomas Fielding (2014) “Architectural Styles and the Design of Network-based Software
Architectures”, https://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf.
[4] FestimHalili&YasinCelik (2018) “Web Services: A Comparison of Soap and Rest Services”,
https://www.researchgate.net/publication/323456206_Web_Services_A_Comparison_of_Soap_and_
Rest_Services.
[5] NishuPrasher (2018) “Security Assurance of REST API based applications”,
https://ntnuopen.ntnu.no/ntnu-
xmlui/bitstream/handle/11250/2502569/19973_FULLTEXT.pdf?sequence=1&isAllowed=y.
[6] Olaf Hartig& Jorge Pérez (2017) “An Initial Analysis of Facebook's GraphQL Language”,
https://www.researchgate.net/publication/316686431_An_Initial_Analysis_of_Facebook's_GraphQL_
Language.
[7] Kristopher sandoval (2018) “7 Unique Benefits of Using GraphQL in Microservices”,
https://nordicapis.com/7-unique-benefits-of-using-graphql-in-microservices/
[8] Olaf Hartig& Jorge Pérez (2017) “An Initial Analysis of Facebook's GraphQL Language”,
https://www.researchgate.net/publication/316686431_An_Initial_Analysis_of_Facebook's_GraphQL_
Language.
[9] Olaf Hartig& Jorge Pérez (2018) “Semantics and complexity of GraphQL”,
https://blog.acolyer.org/2018/05/21/semantics-and-complexity-of-graphql/
[10] JobineshPurushothaman (2018) “Building a Polyglot GraphQL Server”,
https://static.rainfocus.com/oracle/oow18/sess/1526618246355001wDNO/PF/DEV6113_Purushotha
man_15404417239460019Dyp.pdf.
[11] Sebastian Eschweiler (2018) “Creating a GraphQL Server with Node.js and Express”,
https://medium.com/codingthesmartway-com-blog/creating-a-graphql-server-with-node-js-and-
express-f6dddc5320e1
16. International Journal on Web Service Computing (IJWSC), Vol.11, No.2, June 2020
16
[12] Erik Wittern, Alan Cha, James C. Davis, Guillaume Baudart& Louis Mandel (2018) “An Empirical
Study of GraphQL Schemas”, https://arxiv.org/pdf/1907.13012.pdf
[13] MatheusSeabra, Marcos Felipe Nazário, & Gustavo Pinto (2019) “REST or GraphQL? A
Performance Comparative Study”,
https://www.researchgate.net/publication/335784769_REST_or_GraphQL_A_Performance_Compara
tive_Study
AUTHORS
SayanGuha completed his Bachelors in Electronics & Communication Engineering in
2006. He have been serving Information Technology industry supporting Data
Modelling & Architecture across business domains of Retail, Banking, and Insurance
& Telecom. He is currently working with Cognizant technology Solutions and his
area of interests are in the fields of Big Data Integration, API based data integration
& Advanced analytics.
ShreyasiMajumder completed her Bachelors in Computer Science & Engineering in
2005. She have been serving Information Technology industry supporting across
business domains Retail, Manufacturing, Insurance & Telecom business domains. She
is currently working with Cognizant Technology Solutions and her areas of interests
are in the fields of Business Intelligence, Design thinking, Big Data & API based data
integration and Advanced Analytics.