Coder Social home page Coder Social logo

iondv / soap Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 1.0 66 KB

SOAP is an IONDV. Framework module to exchange arbitrary messages in XML format.

License: Apache License 2.0

JavaScript 92.53% HTML 7.47%
iondv iondv-module soap javascript soap-web-services xml

soap's Introduction

This page in Russian

IONDV. SOAP

SOAP - is an IONDV. Framework module. It is used to quickly create web services, based on metadata for implementing microservice architecture. The module also allows you to integrate applications created on the framework with other systems. SOAP provides data exchange in XML format to implement arbitrary user interfaces (including SPA created on the Angular, Redux, Vue frameworks).

IONDV. Framework in brief

IONDV. Framework - is a node.js open source framework for developing accounting applications or microservices based on metadata and individual modules. Framework is a part of instrumental digital platform to create enterprise (ERP) apps. This platform consists of the following open-source components: the IONDV. Framework, the modules and ready-made applications expanding it functionality, visual development environment Studio to create metadata for the app.

Service registration in application configuration

To connect services in the application, you need to configure them in the global settings of the soap module in the application configuration file - deploy.json. See an example below.

{
  "modules": {
    "soap": {
      "globals": {
        "di": {
          "simple": {
            "module": "applications/develop-and-test/service/SimpleRest"
          },
          "string-list": {
            "module": "applications/develop-and-test/service/String-list",
            "options": {
              "stringClassName": "class_string@develop-and-test",
              "dataRepo": "ion://dataRepo"
            }
          },
          "crud": {
            "module": "modules/rest/lib/impl/crud",
            "options": {
               "auth": "ion://auth",
               "dataRepo": "ion://securedDataRepo"
            }
          }

The path to the service registrations in the file deploy.json is modules.soap.globals.di, next is the name of the service, which will be available at https://domain.com/soap/serviceName, where serviceName is the name of the service specified in di, in the example above simle or string-list. In the module attribute indicate the path to the js file with the service handler with the path relatively to the root of the framework. The handler can be both in the application and in any module or framework, including sample rest module handlers.

Service parameters are set in the options:

  • dataRepo field - data repository (may be skipped)
  • auth field - authorization resource (may be skipped)
  • stringClassName field - is an example of an arbitrary resource name in the value of which the metadata class code is indicated, as an example - the class_string@develop-and-test class passed as a parameter to the options service (e.g. options.stringClassName used to get objects in the data repository, request example options.dataRepo.getList(options.stringClassName, {filter: filter}).then(function (results) {)

Description

The module is used to exchange arbitrary messages in XML format. It allows you to exchange data between the system and a third-party service, by swaping structured messages.

Module features

  • Work with services with any Transport Protocol, instead of HTTP.
  • Standardization of error handling.
  • Works with operations, such as transactions or other objects that have complex logic.
  • Provides security and stability of the application in the interaction.
  • Handy syntax for describing data hierarchy due to XML format.

Example:

The goal is to pass the names and values of the attributes. It happens almost every time you click on the link or after clicking on the form button.

http://www.server.ru/page.php?name=Vasya&age=20&sex=male&street=Titova%2013&city=Moscow&country=Russia

Response:

<person>
    <id>1000</id>
    <name>Vasya</name>
    <age>20</age>
    <sex>male</sex>
    <address>
        <street>Titova 13</street>
        <city>Moscow</city>
        <country>Russia</country>
    </address>
</person>

If we pass this structure to SOAP, we can report not only attributes and their values, but also their dependency and hierarchy.

Intended use of the module using demo projects as an example

SOAP module is used in dnt.iondv.com. The application shows the main features and functionality of systems implemented on IONDV. Framework.


iondv metrics

Copyright (c) 2018 LLC "ION DV".
All rights reserved.

soap's People

Contributors

akumidv avatar npiskunova avatar tseissrd avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

fakhrudin-mfm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.