X-UP is a framework designed to easily create new datasets by processing data from various data sources.
X-UP is primarily classified into three key technologies: X-UP Model, X-UP Builder, and X-UP Server. This section describes these three technologies and the administrator service, X-UP Administrator.
X-UP Model
In order to collect and merge datasets, various information known as metadata must be configured, and the business logic for determining each value must also be defined. The integration of this metadata and user logic is referred to as the "X-UP Model."
The X-UP Model contains the metadata and logic required for actual mashup operations, and is developed using the X-UP Builder. Once developed, the X-UP Model is deployed to the X-UP Server. When an external request is made to the X-UP Server, the corresponding model is executed.
All operations in X-UP are performed on a model basis. Models are developed and deployed through the X-UP Builder, and external requests are also processed on a model basis. For example, if an "Automation" model named "Cat" is developed and deployed to the X-UP Server, external users can call the "Cat" model to collect data and receive the processed results.
The X-UP Model can utilize various data sources, and the method for collecting raw data from each data source can be defined. Additionally, it can define how to convert raw data into a structured dataset or how to merge multiple datasets into one. If necessary, users can add custom logic to the X-UP Model for data collection and merging.
Domain
In X-UP, a domain refers to a single project.
X-UP models are distinguished by each domain. For example, if there is an "Order" model in the "petStore" domain and an "Order" model in the "flowerStore" domain, these two models are treated as separate entities. Although the model names are the same, they belong to different domains and are distinguished as "petStore's Order" and "flowerStore's Order." Therefore, when an external application calls X-UP, both the domain name and the X-UP model name must be explicitly specified.
When an X-UP project is created using the X-UP Builder, the name of the target domain can be set. The X-UP project created by the X-UP Builder corresponds to a domain. A single X-UP project cannot contain multiple domains, and multiple X-UP projects cannot share the same domain. If different X-UP projects use the same domain name and are deployed to the same X-UP server, all the X-UP models of the two projects will not be deployed. Instead, the model deployed later will overwrite the model deployed earlier.
Automation Model
The Automation Model is one of the components of the X-UP model. It represents the logic of a service in a diagram using a GUI editor. Each diagram representation is called an "invoke," and it retrieves data from arbitrary data sources. The data information required for data retrieval is created using the X-UP Builder's editor and Properties View. When the Automation model is saved, Java class code is automatically generated, and any modifications made to the model in the GUI editor are automatically reflected in the class code.
MetaData
MetaData stores various configuration information necessary for the operation of the X-UP model. When the X-UP server loads a model, it does so based on the metadata, and then loads the logic class necessary for the model to function. Additionally, the metadata contains version management information for the model, as well as charset and input/output schema information, which provides the interface information for integration with Nexacro applications.
Logic Class
The actual operation of the X-UP model is performed by invoking a Java class that contains the logic. X-UP Builder automatically generates the source code for this Java class, and the Java file is compiled and deployed to the X-UP Server. In most cases, the model can be developed without modifying the automatically generated Java class. However, in some cases, the functionality provided by X-UP Builder alone may not be sufficient to implement the desired logic. In such cases, the automatically generated Java file can be manually modified to implement the required logic.
When an X-UP model is created through the Model Wizard, a Java file is automatically generated based on the type of the X-UP model. For example, if the model is named “Cat,” the Automation model will generate a file called "CatAutomationLogic.java." This generated Java file can then be modified to implement the desired logic.
X-UP Server
The X-UP Server is the server that runs the deployed X-UP models and operates as a web application. What is developed in the X-UP Builder is the logic for data collection, fusion, and processing, but the actual functionality is executed on the X-UP Server. The X-UP Server is configured in the form of Bundles for each service provided by X-UP.
The environment supported by the X-UP Server is as follows:
name | description |
---|---|
OS | Windows, Unix, Linux (X-UP Builder only supports Windows) |
JVM | Supports JAVA 1.8 or higher |
WAS | WAS that supports JAVA 1.8 or higher is supported by default Apache Tomcat, IBM Websphere, Oracle WebLogic, TmaxSoft JEUS |
Database | Supports Hana 1.0, MySQL 5.0, MSSQL Server, ORACLE, DB2 9.0 Planned support for all databases that provide JDBC |
SAP | Supports ERP (R/3) and BI (BW) via SAP RFC |
Cobol | upports Visual Cobol 2.2 or higher |
OData | Supports OData Version 2.0 |
Installation
Install the WAS required to create the X-UP server. This manual uses apache-tomcat-6.0.35 version for testing.
Extract the downloaded apache-tomcat-6.0.35.zip to the C drive.
Copy the xup.war file to the webapps directory of Tomcat's default Host appBase.
Restart Tomcat, and the xup folder will be created in the webapps folder.
Register the server license. For instructions, refer to the license registration section below.
X-UP Server File Structure
The file structure of the X-UP server is as follows. In this manual, Tomcat is used as the WAS. The following shows the file structure under the Tomcat WAS at webapps > xup > WEB-INF > xup.
Name | Description |
---|---|
conf | The "conf" folder contains the configuration files for the X-UP server. If a X-UP server license file is required, it should be placed within the "conf" folder. |
lib | This folder contains the libraries for the X-UP server. Inside, it is further divided into the "bundle" and "core" folders. |
model | This is where the X-UP models developed using the X-UP Builder are located. |
license.txt | This is the license agreement document. |
License Registration
To use X-UP features properly, a license must be registered. This section explains how to apply the license to the X-UP server installed on WAS, such as Tomcat or WebLogic.
Install X-UP on the WAS.
Copy the license file (X-UP_Server_License.xml) received during product purchase into the "conf" folder.
Restart the WAS.
X-UP Builder
X-UP Builder is a development tool used for developing X-UP models.
With X-UP Builder, users can quickly and easily develop X-UP models and deploy them to the server. Services developed using X-UP Builder call the X-UP library, which utilizes deployed models to collect and merge data, returning the generated dataset.
X-UP Builder provides drag-and-drop functionality and an intuitive GUI editor, enabling developers, even with limited experience, to develop and test models visually and deploy them with ease. It offers various convenient features that simplify the development process.
X-UP Builder is developed on the Eclipse platform using the JDT, EMF, and GEF libraries. The version of JRE and Eclipse libraries used by X-UP Builder is as follows:
Name | Version | Description |
---|---|---|
JRE | 1.8 | Java Runtime Environment |
Eclipse Platform | 4.4(Luna) | Eclipse Platform |
JDT | 3.10.1 | Java Development Tools |
EMF | 2.10.0 | Eclipse Modeling Framework |
GEF | 3.9.100 | Graphical Modeling Framework |
The features provided by X-UP Builder are as follows.
Create X-UP Project
Define DataSource
Find and View DataSource
Model Test
Debugging
Validate
Refactoring
Reporting
X-UP Builder File Structure
The file structure of the X-UP Builder is as follows.
Name | Type | Description |
---|---|---|
X-UP Project | project | As a project for X-UP model development, the project name becomes the domain. After development is complete, when calling a specific model, the project name serves as an important key value. |
logics | src folder | Java source files containing logic information are located here. These logic sources are automatically generated by the editor when a model is created, and can be modified by the user. |
userLib | src folder | User libraries are automatically generated when added. |
logic class package | package folder | The logic classes are created without a package, so they appear as part of a virtual package named the default package. |
test class package | package folder | Test classes are automatically created, with the package name being automatically generated as projectName + '.' + xuptest. |
models | folder | Models created in the editor are located here. All *.xam models created within the project are placed under the models folder. |
logic class | class | Logic classes automatically generated by the X-UP model. |
test class | class | Test classes automatically generated by the X-UP model. |
X-UP model | *.xam | *.xam files are Automation models in X-UP. |
GlobalEvents.xaop | *.xaop | Global events can be set globally for models developed in the X-UP project. GlobalEvents.xaop is an optional configuration. |
mashup.msh | *.msh | It contains all the essential information about the models developed in the X-UP project. mashup.msh must exist at least once in the X-UP project. |
The logics folder contains logic classes. By default, the generated logic classes are created without a package name, and the logics folder is registered in the classpath.
The logic classes created in the X-UP Model are divided into User logic classes and Base logic classes.
The User logic class is a class file with predefined interface methods that allow the user to add custom logic during model development. This class is automatically created when the model is first generated, and the User logic class name is automatically registered under the logic field of the model's property values.
The name of the User logic class must exactly match the name defined in the logic field of the model.
The Base logic class is also automatically created during model generation. However, this logic class is hidden by default from the user, and its contents are automatically updated each time the editor is saved. Since the editor automatically refreshes the logic class, any modifications made to it will be overwritten upon saving. Users do not need to be aware of the Base logic class during model development, so it is hidden by default.
The userLib folder is automatically created when a user library is registered through [project > import > X-UP > user library]. All *.jar files are located under this folder.
When model development is completed and deployed to the server, all jar files under the userLib folder are added alongside the logic classes.
The models folder contains all the developed X-UP models. All *.xam files must be placed under the models folder.
The GlobalEvents.xaop file allows for the global configuration of events that can be set across all developed models. It enables tasks such as input/output data validation and data source modification. This configuration is optional.
The mashup.msh file contains essential information for the X-UP project, such as the server URL for deployment or DataSource information, which is required during model development within the X-UP project.