Automation of canonical model usage in application development processes

US10430164B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10430164-B2
Application numberUS-201815868565-A
CountryUS
Kind codeB2
Filing dateJan 11, 2018
Priority dateJun 18, 2015
Publication dateOct 1, 2019
Grant dateOct 1, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Computer program products, methods, systems, apparatuses, and computing entities are provided for enforcing usage of a canonical model. For example, machine-automatable artifacts that express the canonical model using a set of metadata constraints and a set of transformation rules can be received from a canonical model artifact repository. These machine-automatable artifacts can be converted into language-specific bindings and applications can subsequently utilize those language-specific bindings to enforce conformity to the canonical model.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method for enforcing usage of a canonical model, the method comprising: receiving, by a computing device including at least one processor, machine-automatable artifacts from a canonical model artifact repository, the machine-automatable artifacts expressing the canonical model using a set of metadata constraints and a set of transformation rules; converting, by the computing device, at least a subset of the received machine-automatable artifacts into language-specific bindings; programming, by the computing device, an application using the language-specific bindings to automatically enforce conformity of the application to the canonical model; receiving, by the computing device, first inbound data in non-canonical form; and executing, by the computing device, the application to enable the application to communicate with one or more other applications according to the canonical model in response to utilizing one or more transformation rules of a subset of the language-specific bindings to canonicalize the first inbound data that was initially in non-canonical form. 2. The method of claim 1 , wherein converting the received machine-automatable artifacts into language-specific bindings uses one or more code generation plugins. 3. The method of claim 1 , wherein executing the application further comprises: consuming the first inbound data. 4. The method of claim 1 , wherein the application obtains second inbound data that conforms to canonical form from at least one of the applications, the method further comprising: consuming the second inbound data which comprises: unmarshaling the canonical Extensible Markup Language (XML) data; and consuming the unmarshaled canonical XML data using one or more of the language-specific bindings. 5. The method of claim 3 , wherein, consuming the first inbound data that is in non-canonical form further comprises: canonicalizing the inbound data using the one or more transformation rules from the subset of the language-specific bindings to generate canonical Extensible Markup Language (XML) data; unmarshaling the canonical XML data; and consuming the unmarshaled canonical XML data using one or more of the language-specific bindings. 6. The method of claim 1 , wherein executing the application further comprises transmitting canonicalized outbound data. 7. The method of claim 6 , wherein transmitting the canonicalized outbound data comprises: converting an outbound message into a canonicalized outbound message using one or more of the language-specific bindings; marshaling the converted outbound message to generate an Extensible Markup Language (XML) message; canonicalizing the data comprised in the XML message using the one or more transformation rules from the set of transformation rules expressed by the machine-automatable artifacts to produce the canonicalized outbound data; validating the canonical outbound data using one or more metadata constraints from a subset of the language-specific bindings; and transmitting the canonical outbound data in response to validating the canonical outbound data. 8. The method of claim 1 , wherein the machine-automatable artifacts comprise a set of extensible markup language schema definitions (XSDs) that express the set of metadata constraints. 9. The method of claim 1 , wherein the machine-automatable artifacts comprise a set of canonical extensible stylesheet language transformations (XSLTs) that express the set of transformation rules. 10. The method of claim 1 , wherein: utilizing comprises utilizing the transformation rules to canonicalize the inbound data to generate canonical Extensible Markup Language (XML) data. 11. An apparatus for enforcing usage of a canonical model, the apparatus comprising at least one processor and at least one memory including program code, the at least one memory and the program code configured to, with the processor, cause the apparatus to at least: receive machine-automatable artifacts from a canonical model artifact repository, the machine-automatable artifacts expressing the canonical model using a set of metadata constraints and a set of transformation rules; convert at least a subset of the received machine-automatable artifacts into language-specific bindings; program an application using the language-specific bindings to automatically enforce conformity of the application to the canonical model; receive first inbound data in non-canonical form; and execute the application to enable the application to communicate with one or more other applications according to the canonical model in response to utilizing one or more transformation rules of a subset of the language-specific bindings to canonicalize the first inbound data that was initially in non-canonical form. 12. The apparatus of claim 11 , wherein converting the received machine-automatable artifacts into language-specific bindings uses one or more code generation plugins. 13. The apparatus of claim 11 , wherein execute the application further comprises: consuming the first inbound data. 14. The apparatus of claim 11 , wherein the application obtains second inbound data that conforms to canonical form from at least one of the applications, wherein the at least one memory and the program code are further configured to, with the processor, cause the apparatus to: consume the inbound data by: unmarshaling the canonical Extensible Markup Language (XML) data; and consuming the unmarshaled canonical XML data using one or more of the language-specific bindings. 15. The apparatus of claim 13 , wherein consuming the first inbound data that is in non-canonical form comprises: canonicalizing the first inbound data using the one or more transformation rules from the subset of the language-specific bindings to generate canonical Extensible Markup Language (XML) data; unmarshaling the canonical XML data; and consuming the unmarshaled canonical XML data using one or more of the language-specific bindings. 16. The apparatus of claim 11 , wherein execute the application comprises transmitting canonicalized outbound data. 17. The apparatus of claim 16 , wherein transmitting the canonicalized outbound data comprises: converting an outbound message into a canonicalized outbound message using one or more of the language-specific bindings; marshaling the converted outbound message to generate an XML message; canonicalizing the data contained in the Extensible Markup Language (XML) message using the one or more transformation rules from the set of transformation rules expressed by the machine-automatable artifacts to produce the canonicalized outbound data; validating the canonical outbound data using one or more metadata constraints from a subset of the language-specific bindings; and transmitting the canonical outbound data in response to validating the canonical outbound data. 18. The apparatus of claim 11 , wherein the machine-automatable artifacts comprises a set of extensible markup language schema definitions (XSDs) that express the set of metadata constraints and a set of canonical extensible stylesheet language transformations (XSLTs) that express the set of transformation rules. 19. The apparatus of claim 11 , wherein the at least one memory and the program code are further configured to, with the processor, cause the apparatus to: perform the utilizing by utilizing the transformation rules to canonicalize the inbound data to generate canonical Extensible Markup Language (XML) data.

Assignees

Inventors

Classifications

  • Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets · CPC title

  • Code refactoring · CPC title

  • G06F8/51Primary

    Source to source · CPC title

  • Software reuse · CPC title

  • G06F8/31Primary

    Programming languages or programming paradigms · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10430164B2 cover?
Computer program products, methods, systems, apparatuses, and computing entities are provided for enforcing usage of a canonical model. For example, machine-automatable artifacts that express the canonical model using a set of metadata constraints and a set of transformation rules can be received from a canonical model artifact repository. These machine-automatable artifacts can be converted in…
Who is the assignee on this patent?
United parcel service america inc
What technology area does this patent fall under?
Primary CPC classification G06F8/51. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 01 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).