Implementations include a resource compatibility engine and method configured to verify resource compatibility when importing schemas and formats such as XSD and WSDL into a database table such as a business catalog. The resource compatibility engine may be configured to prevent possible catalog corruption from importing file types that do not match. The resource compatibility engine may also be employed to identify which are the resource file types that need to be overwritten in case of an update and provides useful feedback in case the import is not successful.
Drawings
Claims20
A non-transitory computer readable medium including one or more instructions executable by one or more processors for:
receiving a first file including a first set of external resource links and a second file including a second set of external resource links;
traversing a first set of nodes of the first file in accordance with dependencies of the first set of external resource links to determine a first set of resource file types associated with the first file;
traversing a second set of nodes of the second file in accordance with dependencies of the second set of external resource links to determine a second set of resource file types associated with the second file;
determining whether the first set of resource file types and second set of resource file types match within an update threshold;
wherein if an update threshold is met, then prior to updating contents of the first file with the contents of the second file, initiating a multilevel resource compatibility verification process configured to verify the second file is compatible with the first file by employing at least a first level of compatibility analysis and a second level of compatibility analysis configured to verify at least two different compatibility criteria between a first set of resource file types associated with the first set of external resource links and a second set of resources file types associated with the second set of external resource links;
if the multilevel resource compatibility verification process verifies that the second file is not within a compatibility threshold then flagging the second file as incompatible and initiating a recursive process configured to automatically correct at least some conflicts between the first set of resource file types and the second set of resource file types;
if the multilevel resource compatibility verification process verifies that the second file is within the compatibility threshold, then updating the first file with the contents of the second file;
and
if the update threshold is not met, then adding the second set of resource file types to the first file.
6 more elements
A computer implemented method comprising:
receiving a first file including a first set of external resource links and a second file including a second set of external resource links;
traversing a first set of nodes of the first file in accordance with dependencies of the first set of external resource links to determine a first set of resource file types associated with the first file;
traversing a second set of nodes of the second file in accordance with dependencies of the second set of external resource links to determine a second set of resource file types associated with the second file;
determining whether the first set of resource file types and second set of resource file types match within an update threshold;
wherein if an update threshold is met, then prior to updating contents of the first file with the contents of the second file, initiating a multilevel resource compatibility verification process configured to verify the second file is compatible with the first file by employing at least a first level of compatibility analysis and a second level of compatibility analysis configured to verify at least two different compatibility criteria between a first set of resource files associated with the first set of external resource links and a second set of resources files associated with the second set of external resource links;
if the multilevel resource compatibility verification process verifies that the second file is not within a compatibility threshold then flagging the second file as incompatible and initiating a recursive process configured to automatically correct at least some conflicts between the first set of resource file types and the second set of resource file types;
if the multilevel resource compatibility verification process verifies that the second file is within the compatibility threshold, then updating the first file with the contents of the second file;
and
if the update threshold is not met, then adding the second set of resource file types to the first file.
6 more elements
An apparatus for verifying compatibility between files in a computing environment, the computing environment comprising one or more computing devices in communication with a software application that executes software configured to provide information accessible to the one or more computing devices, a computing device of the one or more computing devices configured to:
receive a first file including a first set of external resource links and a second file including a second set of external resource links;
traverse a first set of nodes of the first file in accordance with dependencies of the first set of external resource links to determine a first set of resource file types associated with the first file;
traverse a second set of nodes of the second file in accordance with dependencies of the second set of external resource links to determine a second set of resource file types associated with the second file;
determine whether the first set of resource file types and second set of resource file types match within an update threshold;
wherein if an update threshold is met, then prior to updating contents of the first file with the contents of the second file, initiate a multilevel resource compatibility verification process configured to verify the second file is compatible with the first file by employing at least a first level of compatibility analysis and a second level of compatibility analysis configured to verify at least two different compatibility criteria between a first set of resource files associated with the first set of external resource links and a second set of resources files associated with the second set of external resource links;
if the multilevel resource compatibility verification process verifies that the second file is not within a compatibility threshold then flag the second file as incompatible and initiate a recursive process configured to automatically correct at least some conflicts between the first set of resource file types and the second set of resource file types;
if the multilevel resource compatibility verification process verifies that the second file is within the compatibility threshold, then update the first file with the contents of the second file;
and
if the update threshold is not met, then add the second set of resource file types to the first file.
15/653,255Filed 18 Jul 2017 · us provisional application
Priority
15 Sep 2016
Published
US 2018/0075048 A115 Mar 2018
Granted
21 Jan 2020
Term ends
7 Mar 2038Estimated · howhide20 years from earliest known nonprovisional domestic filing plus recorded patent term adjustment, including 232 days of adjustment. Maintenance-fee lapses, terminal disclaimers and statutory extensions have not been checked. The continuity chain may be incomplete; this is not an enforceability determination.
About 11 years 4 months of term left · ends 7 Mar 2038 (estimated)
Priority15 Sep 2016
Filed18 Jul 2017
Granted21 Jan 2020
Today12 Oct 2026
Term ends7 Mar 2038
Priority15 Sep 2016
Granted21 Jan 2020
Term ends7 Mar 2038
Priority claimedParent application 62/395,238
Application filedUS 15/653,255
Assigned to Oracle International Corporationassignment of assignor's interest
PublishedUS 2018/0075048 A1
GrantedUS 10,540,397 B2
TodayWithin its term
Term endsEstimated, includes 232 days of adjustment
Description6,004 words
Summary985 words
#The following relates generally to importing and verifying the compatibility of files and resources imported using links called by schemas, such as XSD and WSDL.
#Currently a business process user who wants to introspect some schemas or definitions, such as XSD, WSDL, etc., which are remote and/or include external references resource links (e.g., imports that include Uniform Resource Links (URLs) that point to resources) provides a set of URLs representing the root resources the user wants to add. Unfortunately, to introduce external schemas to an application a user must manually download and bundle the schemas, and the schema's dependencies, into a file with a particular structure and then import the file. Such a process is extremely cumbersome and inefficient.
#As external reference URLs may change unexpectedly, which often “breaks” the resource link, external references could be invalid when called. Because such resources are often called and parsed each time a project or file is loaded, a broken resource link may cause the user's project to fail. In addition, introducing new resources or updating existing ones, could lead to inconsistencies in the project operation.
Brief description of the drawings7 figures
#FIG. 1 is a high level illustration of a system for verifying schema compatibility.
#FIG. 2 is pseudo code describing portions of a resource compatibility algorithm for a batch update.
#FIG. 3 is pseudo code describing portions of a resource compatibility algorithm for a single update.
Detailed description4,886 words
#FIG. 1 is a high-level block diagram of an exemplary computing system 100 for providing resource verification. Computing system 100 may be any computing system, such as an enterprise computing environment, client-server system, and the like. Computing system 100 includes compatibility verification system 110 configured to process data received from a user interface 114, such as a keyboard, mouse, etc., with regard to verifying and repairing internal and external resource and dependency compatibility, converting, modeling, data binding, maintenance, data elements, information, etc. as described herein.
#Note that the computing system 100 presents a particular example implementation, where computer code for implementing embodiments may be implemented, at least in part, on a server. However, embodiments are not limited thereto. For example, a client-side software application may implement compatibility verification system 110, or portions thereof, in accordance with the present teachings without requiring communications between the client-side software application and a server.
#In one exemplary implementation, compatibility verification system 110 is connected to display 130 configured to display data 140 (e.g. graphical data), for example, to a user thereof. Display 130 may be a passive or an active display, adapted to allow a user to view and interact with data 140 displayed thereon, via user interface 114. In other configurations, display 130 may be a touch screen display responsive to touches, gestures, swipes, and the like for use in interacting with and manipulating data 140 by a user thereof. Gestures may include single gestures, multi-touch gestures, and other combinations of gestures and user inputs adapted to allow a user to introspect, process, convert, model, generate, deploy, maintain, and update data 140.