Mdm Connector Creation Process Computer Science Essay

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Common Connector is software module implemented as a dynamic shared library and used by various Ascential applications to access third-party resources such as databases, messaging systems and file systems. The word Connector is sometimes used as a synonym for the Common Connector.

An Application is a software component which utilizes Common Connectors. Examples of applications are Ascential DataStage Enterprise Edition Bridge, Connector Access Service Handler, and so forth.

Resource is a software system (usually a third-party product) accessed through a Common Connector. Each Common Connector is implemented for a particular resource type. For example, the Oracle Common Connector is used by applications to access Oracle resources (database tables), and the WebSphere MQ Common Connector is used to access WebSphere MQ resources (message queues). MDM Connector is used by applications to access MDM resource.

CCAPI: Common Connectors Application Programming Interface - Framework of classes and methods that act as a contract between Common Connectors and applications which utilize them. CCAPI contains abstract classes that the application must implement in order to manage connectors, which includes tasks such as: loading and initialization of the connector library, setting properties on the connector, managing connector connections, transactions and data exchange and so forth. CCAPI also includes fully implemented common classes that both the application and connector may use to perform logging, convert text to different encodings, report errors and throw exceptions. Finally, CCAPI contains abstract connector classes that are used as base classes for building new Common Connectors

CC_SDK: Common Connectors Software Development Kit - Toolkit for the Common Connectors development. CC_SDK includes CCAPI headers and libraries needed to program and build Common Connector as well as the documentation that describes the process for producing Common Connectors. This document is part of the CC_SDK documentation.

Stage Descriptor: Configuration XML file written by the connector developer and used to specify connector features, capabilities, properties in a standard declarative way. A template connector descriptor and the XML Schema for connector descriptors validation are provided in CC_SDK.

Connector property: An attribute for which a value can be provided and which is used as input parameter for connector operations. Connector properties have a name, a label under which they appear in the GUI applications, a data type and many other attributes. Connector properties are defined in the connector descriptor.

GUI Component: An application component with graphical interface used to configure connectors. Examples of GUI components are DataStage property editor (used to specify connector properties for job execution) and schema importers (used to import schemas which represent the structure of the data accessed by the connector).

5.2 MDM Connector Creation Process

Following are the steps required for creating the MDM Connector:

Write the java code for the connector using java stage, javastage is the base for the developed connector. This code will use all the javastage api's.

Convert this MDM connector developed in javastage into a stand alone stage by using a stage generation tool.( This tool allows an implementation of the Processor class, written for the Java Stage, to be transformed to an installable stage.).

Create the Stage Descriptor for the stage. Stagedesc.xml is the stage descriptor file which is required to define the properties for the stage. Stagedesc.xml needs to include DMDI tag to invoke the GUI from the stage.

package the stagedesc.xml,deploy.xml and the java code for the stage into a single package

Install this packaged jar file into the Information server data stage server using a command.

Steps to create the GUI and invoke it from the MDM Connector at datastage level:

Write the GUI code using java swings technology.

Integrate this code with the DMDI using DMDI api's and functions.

Create a jar of the GUI with DMDI.

Copy this jar into the Information server datastage client machine in the path where information server is installed and all the dependent jar files also need to be copied in that path.

One button will be created in the connector to invoke the GUI window, on clicking that button user will be able to invoke the GUI from the MDM Connector in the datastage.

5.3 Programming Language

Programming language used in the development of the stage code and the GUI code is java.

Java technology is both a programming language and a platform.

The Java programming language is a high-level, object-oriented language. Java programs are both compiled and interpreted. Compilation translates Java code into an intermediate language called Java bytecode. Bytecode is in turn parsed and run (interpreted) by the Java Virtual Machine (JVM) - a translator between the language and the underlying operating system and hardware. A compiled Java program can run on any system that has a version of the JVM.

The Java platform is a software-only platform that can run on top of most hardware platforms. It consists of the JVM and the Java API - a large collection of ready-made components (classes) that ease application development and deployment. The Java API spans everything from basic objects, to networking and security, to XML generation and web services. It is grouped into libraries - known as packages - of related classes and interfaces.

By many measures, the Java language is the most popular programming language in use today. Its main benefit is the portability of Java applications across hardware platforms and operating systems - possible because the JVM installed on each platform understands the same bytecode.

The JVM is also a robust platform for executing languages other than the Java programming language.By supporting open standards in the enterprise, Java technology can use XML and web services to help share information and applications across business lines. Java technology serves as the backbone of many IBM products and technical consulting services and is critical to key IBM initiatives

5.4 Implementation of System in Data Stage

MDM Connector is the new connector installed in the information server. To implement this connector a job needs to be designed in information server datastage using this connector.

To show various functions of MDM Connector various jobs needs to be designed accordingly.

Job in Datastage using MDM Connector as input stage for MDM Database. Job is designed using MDM connector in infosphere information server datastage.

After Installing the MDM Connector in the Information server , It will appear in the Repository and Pallete.

Fig 5.1 MDM Stage in Information Server

To design the job, it can be dragged from pallet into the design canvas.

Fig 5.2 Job Using MDM Stage

CHAPTER 6: SOFTWARE TESTING

Testing is the process of evaluating a system or its component(s) with the intent to find that whether it satisfies the specified requirements or not. This activity results in the actual, expected and difference between their results. In simple words testing is executing a system in order to identify any gaps, errors or missing requirements in contrary to the actual desire or requirements.

Manual Testing:

This type includes the testing of the Software manually i.e. without using any automated tool or any script. In this type the tester takes over the role of an end user and test the Software to identify any un-expected behavior or bug. There are different stages for manual testing like unit testing, Integration testing, System testing and User Acceptance testing. Testers use test plan, test cases or test scenarios to test the Software to ensure the completeness of testing. Manual testing also includes exploratory testing as testers explore the software to identify errors in it.For Testing the system Manual testing is being used

Following are the main levels of Software Testing:

Functional Testing.

Non-Functional Testing

6.1 Functional Testing

This is a type of black box testing that is based on the specifications of the software that is to be tested. The application is tested by providing input and then the results are examined that need to conform to the functionality it was intended for. Functional Testing of the software is conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements.

There are five steps that are involved when testing an application for functionality.

The determination of the functionality that the intended application is meant to perform.

The creation of test data based on the specifications of the application

The output based on the test data and the specifications of the application

The writing of Test Scenarios and the execution of test cases.

The comparison of actual and expected results based on the executed test cases.

Unit Testing

The goal of unit testing is to isolate each part of the program and show that individual parts are correct in terms of requirements and functionality.

Integration Testing

The testing of combined parts of an application to determine if they function correctly together is Integration testing. There are two methods of doing Integration Testing Bottom-up Integration testing and Top Down Integration testing.

System Testing

This is the next level in the testing and tests the system as a whole. Once all the components are integrated, the application as a whole is tested rigorously to see that it meets Quality Standards. System testing is so important because System Testing is the first step in the Software Development Life Cycle, where the application is tested as a whole,The application is tested thoroughly to verify that it meets the functional and technical specifications,The application is tested in an environment which is very close to the production environment where the application will be deployed,System Testing enables us to test, verify and validate both the business requirements as well as the Applications Architecture.

Table 6.1 Test Case table 1

TESTCASE ID

Test Description

Expected Result

Pass/fail/Deferred

001

Taking already present configuration file and generate the mpxdata.xml file to initially load data into MDM.

Job should be successfully completed. The required unl's should be created at MDM server.

Pass

002

Generate the configuration file by invoking the GUI and use this config file to generate the mpxdata.xml file.

Job should be successfully completed. The required unl's should be created at MDM server

Pass

003

Giving memidnum (srccode and memidno) as input key values and selecting entity type as AsMember

Job should be successfully completed. The required records corresponding to given key values will be fetched from MDM server and returned as output.

Pass

004

Giving memrecno as input key value and selecting AsMember entity type.

Job should be successfully completed. The required records corresponding to given memrecno will be fetched from MDM server and returned as output

Pass

005

Giving entrecno as input key value. And selecting AsEntity entity type, and record status as all(to select all records active, inactive etc) corresponding to the given entrecnos

Job should be successfully completed. All corresponding records corresponding to given entrecno old or new will be fetched from MDM server and returned as output.

Pass

006

Performing MemGet Function using multiple output links

The selected columns from GUI should be linked to the selected link for that colums. The output corresponding to the output column values should be propogated to that link as output records.

Pass

GUI Test Cases:

Scenario 1: Create job with MDM Connector depicting Initial Load Operation. Able to see the stages used in the job in the repository.

Input- Sequential File

MDM Connector as Output Stage as it is loading data into MDM Database.

Fig 6.1 Job Depicting Initial Load

Scenario 2: Create job with MDM Connector depicting MemGet operation directing output to single link.

Input Source: DB2 database

Output: Sequential file

Fig 6.2 Job depicting MemGet For Single Link

Scenario 3: Create Job with MDM Connector depicting MemGet Operation directing output to multiple links.

Input Source- DB2 Database

MDM Connector as input Stage as it is extracting data from MDM Database and putting into output files.

Fig 6.3 Job Depicting MemGet For Multiple Link

Scenario 4:

Create job with MDM Connector depicting MemGet Functionality with filtering property Record Status as "ALL".

Input Source- DB2 Database

Output- All the records ( deleted, Active, Inactive)will be extracted from MDM Database corresponding to given input value.

Fig 6.4 Job Depicting MemGet Taking Recordstatus All

6.2 Non-Functional Testing

This section is based upon the testing of the application from its non-functional attributes. Non-functional testing of Software involves testing the Software from the requirements which are non functional in nature related but important a well such as performance, security, user interface etc.

Some of the important and commonly used non-functional testing types are mentioned as follows:

Performance Testing

It is mostly used to identify any bottlenecks or performance issues rather than finding the bugs in software. There are different causes which contribute in lowering the performance of software:

Network delay.

Client side processing.

Database transaction processing.

Load balancing between servers.

Data rendering.

Performance testing is considered as one of the important and mandatory testing type in terms of following aspects:

Speed (i.e. Response Time, data rendering and accessing)

Capacity

Stability

Scalability

The main intent is to test the Software by applying the load to the system and taking over the resources used by the Software to identify the breaking point. This testing can be performed by testing different scenarios such as:

Shutdown or restart of Network ports randomly.

Turning the database on or off.

Running different processes that consume resources such as CPU, Memory, server etc.

Portability Testing

Portability testing includes the testing of Software with intend that it should be re-useable and can be moved from another Software as well. Following are the strategies that can be used for Portability testing.

Transferred installed Software from one computer to another.

Building executable (.exe) to run the Software on different platforms.

Portability testing can be considered as one of the sub parts of System testing, as this testing type includes the overall testing of Software with respect to its usage over different environments. Computer Hardware, Operating Systems and Browsers are the major focus of Portability testing

Performance Testing on Linux Server

Table 6.2 Test Case table 2

Test case id

No of input records

No. of attributes selected

Time taken

001

500

4 attributes

13 seconds

002

500

All Attributes

22 seconds

003

1000

4 attributes

17 seconds

004

1000

All Attributes

36 seconds

005

5000

4 attributes

55 seconds

006

5000

All Attributes

2 minutes 28 seconds

007

10000

4 attributes

1 minute 35 seconds

008

10000

All Attributes

4 minutes 45 seconds

Performance Testing on Windows server

Table 6.3 Test Case Table 3

Test case id

No of input records

No. of attributes selected

Time taken

001

500

4 attributes

4 minutes 37 seconds

002

500

All Attributes

9 minutes

003

1000

4 attributes

6 minutes 55 seconds

004

1000

All records

17 minutes 25 seconds

005

5000

4 attributes

29 minutes 30 seconds

006

5000

All Attributes

1 hour 25 minutes

007

10000

4 attributes

56 minutes

008

10000

All Attributes

2 hour 50 minutes

There is a remarkable difference in performance when tested the system on Windows machine and Linux machine. The system is giving promising results on Linux Machine as compared to Windows Machine.

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.