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.
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:
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.
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.
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.
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
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.
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
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.
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
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.
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.
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
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:
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:
Client side processing.
Database transaction processing.
Load balancing between servers.
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)
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 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
2 minutes 28 seconds
1 minute 35 seconds
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
4 minutes 37 seconds
6 minutes 55 seconds
17 minutes 25 seconds
29 minutes 30 seconds
1 hour 25 minutes
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.