SOAP REST ESB - sgml/signature GitHub Wiki

Prior Art

Workflow orchestration, dependency management, and scheduling Tools

Tool Language / Platform Release Year Key Features Influence on Airflow
SAS Data Integration Studio SAS (proprietary language) 1998 Metadata-driven ETL, reproducibility, analytics integration Introduced reproducible ETL pipelines in analytics environments
Oracle Warehouse Builder PL/SQL 2000 Declarative ETL flows, DAG-like orchestration Inspired declarative DAG-style workflows in database-centric ETL
Microsoft SQL Server DTS T-SQL / proprietary scripting 1997 Workflow-style ETL inside SQL Server, GUI + scripting Early example of DAG-like ETL pipelines in SQL ecosystems
Ab Initio GDE Proprietary scripting (CoOperating System) 1995 Parallel ETL engine, scalable pipelines Established parallel ETL concepts later echoed in Airflow
SAS Base Macros SAS macros Early 1990s Custom ETL pipelines built with SAS macro language Showed how scripting could drive reproducible workflows

Key Insights

  • These tools were GUI-driven or proprietary scripting-driven, not open-source code-as-workflow like Airflow.

Evolution Timeline

  • 1990s → Proprietary ETL (SAS macros, Ab Initio, Informatica, DTS)
  • 2000s → Database-centric ETL (OWB, DataStage)
  • 2010s → Hadoop-era orchestrators (Oozie, Azkaban, Luigi, Pinball)
  • 2014–2015 → Apache Airflow (Python DAGs, open-source, extensible operators)
  • 2020s → Successors (Prefect, Dagster, Flyte)

RESTFul

SOAP

https://aws.amazon.com/blogs/compute/redirection-in-a-serverless-api-with-aws-lambda-and-amazon-api-gateway/

http://developer.ebay.com/devzone/finding/concepts/MakingACall.html

http://webreference.com/authoring/web_service/index-2.html

http://docs.openlinksw.com/virtuoso/soapcallhandling/

http://docs.openlinksw.com/virtuoso/exposplaswsdl/

https://www.w3.org/TR/2001/WD-soap12-part2-20011217/

https://www.codeproject.com/Articles/1182165/Call-a-Web-Service-using-SSIS-then-Store-and-Query

https://wiki.eclipse.org/EclipseLink/Examples/DBWS/EndToEndPLSQLRecord

https://www.eclipse.org/eclipselink/documentation/2.7/dbws/creating_dbws_services009.htm

http://www.yaldex.com/sql_server/progsqlsvr-CHP-8-SECT-3.html

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272.1570/html/commands/CHDEACIH.htm

https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/devguide/9_0_1/xmldev-901/serviceability.pdf

https://www.nativescript.org/blog/handle-xml-response-from-soap-service-in-nativescript

http://blog.getpostman.com/2014/08/22/making-soap-requests-using-postman/

https://www.bennadel.com/blog/1853-posting-xml-soap-requests-with-jquery.htm

https://msdn.microsoft.com/en-us/library/hh454950.aspx

https://msdn.microsoft.com/en-us/library/ff470410.aspx

https://msdn.microsoft.com/en-us/library/dd304928.aspx

https://msdn.microsoft.com/en-us/library/aa480514.aspx

https://docs.mulesoft.com/mule-user-guide/v/3.6/web-service-consumer

http://blog.poznachowski.pl/2013/10/11/exposing-restful-interface-with-mule-pt1/

http://blog.poznachowski.pl/2013/10/20/exposing-restful-interface-with-mule-pt2/

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.577.8802&rep=rep1&type=pdf

http://one-size-doesnt-fit-all.blogspot.com/2009/05/jax-ws-throwing-generic-soapfaults_06.html

https://pdfs.semanticscholar.org/7c91/4dc272a1e7c6e4a5d6444980b982fd2a9bde.pdf

http://ccsenet.org/journal/index.php/mas/article/view/45929/28291

https://developers.google.com/doubleclick-publishers/docs/soap_xml

https://developers.google.com/adwords/api/docs/guides/call-structure

http://xml.coverpages.org/owf.html

https://www.howtoforge.com/talking-soap-with-exchange

https://www.w3.org/TR/soapjms/

https://dasunhegoda.com/make-soap-request-command-line-curl/596/

https://docs.oracle.com/cd/E83857_01/saas/applications-common/18b/oeswa/Perl.html

https://developer.channeladvisor.com/authorization/soap-api-credentials-flow/rest-request-access-endpoint

https://stackoverflow.com/questions/51406640/webservice-denies-access-on-soap-request-node-js

REST

https://docs.microsoft.com/en-us/iis-administration/api/crud

https://restfulapi.net/http-methods/

https://www.oreilly.com/ideas/how-a-restful-api-server-reacts-to-requests

https://developer.yahoo.com/mail/code/

https://sites.google.com/site/technocairn/home/links/rest

Content Negotiation

           +-------------------------------+
           |     Content Negotiation       |
           |-------------------------------|
           | - Unsupported Accept or       |
           |   Language headers            |
           | - Variant not found           |
           | - Authorization header may    |
           |   change representation scope |
           +-------------------------------+
                    /         \
                   /           \
     +------------+             +-------------+
     |   Security-Oriented      |    Resource |
     |   Obfuscation            |    Absence  |
     |------------------------  |-------------|
     | - Hide existence         | - Endpoint  |
     |   of resource            |   truly     |
     | - Return 404 instead     |   doesn't   |
     |   of 403 or 401          |   exist     |
     +--------------------------+-------------+

                [ Overlaps ]
 - An endpoint exists but is hidden for unauthorized users
 - A content-negotiated representation does not exist, but endpoint is valid
 - Authorization scope affects representation availability
 - Some APIs simplify all “unavailable” cases to 404 for consistency

ESB

Boomi:
  Setup: "Boomi supports running Atoms on EC2 instances. You can install Boomi Atoms on a Linux EC2 instance."
  Configuration: "Requires setting up the instance, installing Boomi Atom runtime, and configuring network settings."
  Use_Cases: "Ideal for integration workflows and connecting applications, systems, and data sources."
  Cost: "Starts at $99/month with a flat rate of $0.05/message."
  Hardware_Requirements: "Minimum of 2 GB RAM per node."

Mulesoft:
  Setup: "Mulesoft can be deployed on EC2 instances. You need to deploy the Mule ESB Runtime and upload your packaged application."
  Configuration: "Requires setting up the runtime environment and configuring network settings."
  Use_Cases: "Suitable for building and deploying APIs, integration solutions, and microservices."
  Cost: "Pricing varies based on subscription tiers."
  Hardware_Requirements: "Minimum of 2 GB RAM per node."

TIBCO:
  Setup: "TIBCO Enterprise Message Service (EMS) can be configured on EC2 instances. It supports fault-tolerant configurations using Amazon EFS for shared storage."
  Configuration: "Involves setting up Linux EC2 instances, configuring EFS, and installing TIBCO EMS."
  Use_Cases: "Ideal for messaging and integration solutions with fault tolerance and scalability."
  Cost: "Pricing varies based on the specific TIBCO product and deployment model."
  Hardware_Requirements: "Minimum of 2 GB RAM per node."

WebMethods:
  Setup: "WebMethods can be deployed on EC2 instances, similar to other integration platforms."
  Configuration: "Requires setting up the runtime environment and configuring network settings."
  Use_Cases: "Suitable for enterprise application integration and business process management."
  Cost: "Pricing varies based on the specific WebMethods product and deployment model."
  Hardware_Requirements: "Minimum of 2 GB RAM per node."