Thursday, August 13, 2009

Enterprise Metadata

1 What is Metadata?

"Meta" is a Greek word meaning transcending, or going above and beyond. Metadata by definition is data that describes other data. Technology describes the term as referring to files or databases with information about another's attributes, structure, processing or changes. It can describe any characteristics of the data such as the occurrence or its quality.


But metadata is not just about the database and how data is placed in it. There can be other type of metadata as well. Let us try to understand the other possible type of metadata with the help of following example.

1 How to classify metadata?
Widely metadata is classified in two types:
· Technical or Administrative meta-data
· Business meta-data
2.1 Technical or Administrative Metadata
Administrative meta-data includes information about such things as data source, update times and any extraction rules and cleansing routines performed on the data.
It includes:
· Definition of source and target
· Schemas, dimensions, hierarchies
· Rules for extraction, cleaning
· Refresh, purging policies
· User profiles, access control
· Data lineage
· Data currency (e.g. active, archive, purged)
· Use Stats, error reports, audit trails
· ETL Tools
2.2 Business Metadata
Business meta-data, on the other hand, allows users to get a more clear understanding of the data on which their decisions are based. Information about calculations performed on the data, date and time stamps as well as meta-data about the graphic elements of data analysis generated by front end query tools.
It Includes:
· Business terms and definitions
· Object definitions and object help
· Data ownership, charging
· Data modeling tools
All types of metadata are critical to a successful data mart or warehouse solution. How well the data warehouse replenishment solution you choose manages and integrates metadata may affect the performance of presentation tools and the overall effectiveness of the data warehouse.
2 Why is Metadata Required?

Following are some of the main reasons for why metadata is required:

Metadata is required to understand the data.
Metadata provides information about where the data came from, when it was delivered, what happened to it during transport, and other descriptions can all be tracked.
Metadata gives context to the information.
Business rules/ Calculations applied to get the data can be analyzed or studied.

Metadata is required to manage the data.
Metadata explains how data is stored in a database.
The operational metadata gives us the statistics of data, e.g. error reports, use stats etc.
Metadata helps in Impact analysis for change in database schema etc.
Metadata helps in co-relating/ combining data from heterogeneous applications.
Metadata helps to ensure data accuracy, integrity and consistency of data.
Metadata minimizes the risk of system down time by eliminating the dependencies upon specialized system experts

Metadata is required in taking the business decisions.
Metadata helps the OLAP tools to exploit the correct information from warehouse.
As stated earlier, as the metadata gives the context to the data, it helps the business user to understand the data and relate various data.
Good Metadata makes it easier to use the data warehouse, so that the turn-around for information requests is faster.
Metadata gives us the information about how the historic data is saved. This data can be used for analyzing the business processes.
Metadata improves operational efficiency and customer certainty about the data.

3 How does Metadata help?

Metadata can help various types of users in following manner.

4.1 To Business Users

· Examining meta-data enhances the end user's understanding of the data they are using.
· It can also facilitate valuable “what if” analysis on the impact of changing data schemas and other elements.
· Identify and locate the information that they need in warehouse.
· Analyze the aggregation, summarization rules applied to data.

4.2 To Technical Users

· Metadata helps them ensure data accuracy, integrity and consistency.
· Metadata helps them in co-relating/ combining heterogeneous applications.
During data replenishment, solutions should store meta-data in tables located in the publisher and/or subscriber database, enabling companies to share metadata among heterogeneous applications and databases.
· Metadata helps them in defining the Transformation rules, access patterns and entity relationships.



4 Where is metadata in Data Warehousing?
5.1 Meta data storage
For business related decision-making user has to be given easy access to relevant business data. A data warehouse serves as a central repository for recording everything about business information and analysis. The warehouse can be accessed using different methods which include application, query and analysis tools etc. Metadata for theses warehouse applications should be readily available.

Metadata can be stored in two ways:

· Metadata Repository:
Metadata Repository is an old style of managing metadata, going back to the days of the mainframe. In a repository everything is centralized, i.e. all the metadata is integrated and stored at one location, which is the metadata repository of a warehouse.

· Distributed Metadata:
Here, the metadata is present at different locations, but this metadata can be exchanged as per requirements and there is integrity of ownership of metadata.
In a typical warehouse scenario, metadata is present in its raw form in various layers like ETL tool repository, OLAP tool repository and source system metadata.
5.2 Metadata in Data Warehouse

Let us analyze what to look for in every stage of Data warehousing:

Staging:
Staging is a phase between loading the data from source system to ETL database. A staging file may be a flat file that contains extracted and transformed data. The file contains all the data that is to be transported to the warehouse. Following information is considered as metadata for staging area.
1. The location of the staging file
2. Duration, volatility, and ownership of staging file
3. The fields in the staging file
4. The format of fields in staging file
5. Security settings for extract files
6. The statistics about the data i.e. duplicate data, erroneous data in staging file
7. The mapping of fields from staging area to database
8. Data staging area archive logs and recovery procedures

Data Mart:
Accessing data from a warehouse is time consuming, because there are a large number of users and large volumes of data. The use of data mart can solve this problem. It is also called as Business area warehouse or departmental warehouse. Following information about data mart is considered as metadata.
1. Loaded from: operational source or data mart
2. Expected network traffic
3. The users of data mart
4. The department/ business of which the data mart contains the information

ETL (Extraction, Transformation and Loading):
The first data warehouse process extracts data from many data sources. The extraction process extracts the selected data fields from the source. Extraction can take place with the help of routines containing business rules. Next to extraction is transformation. The transformation process integrates and transforms data into a consistent and uniform format for the target database. The aggregation and/or summarization can be applied at this stage. The final stage of ETL processing is loading. The loading process involves integrating, cleaning the data in warehouse and loading the data into target tables. Following data about ETL Processes can be considered as metadata.
1. Each column and its format of a warehouse table
2. The table, view, macro definition
3. Fields of interest from the source
4. Transformation rules from source to target table
5. Rules for aggregation, summarization, calculation over a period of time
6. Rules for stripping out fields, and looking up attributes
7. Slowly changing dimension policies
8. Current surrogate key assignments for each production key
9. Data cleaning specifications
10. Refresh frequency for tables
11. Refresh, purging policies
12. Modification logs
13. Business requirements
14. The relationship between the objects being used during ETL processing
15. Data transform run-time logs, success summaries, and time stamps

Storage (Database, RDBMS):
The metadata for storage Allows proactive assessment of impact of changes by providing enterprise-wide view and relationships of data gathered from many disparate sources. It also minimizes the risk of system down time by eliminating the dependencies upon specialized system experts. Following information regarding storage can be considered as metadata.
1. Schema for the database
2. The number of tables, views, stored procedures, macros in DB and their definitions
3. DBMS-level security privileges and grants
4. The relationship between various objects
5. DB monitoring Statistics
6. Database catalogs
7. DBMS load scripts
8. Partition settings
9. Indexes
10. DBMS backup status, procedures, and security

Application (Source System and Target system):
The source system here refers to the system to which the user actually feeds the data, where as the target system refers to the application which will be used by the end-user. The points mentioned below are considered as metadata for source and target systems.
1. The source of the data
2. The formats and definitions of all the fields from source and target system
3. The mapping information from the source system to data warehouse
4. Business rules, processes, data structures, programs and model definition to eliminate duplicate development efforts.
5. Platform for knowledge sharing across the organization.
6. Data management over time
7. Data dictionaries
8. Data lineage and audit records
9. Source system and target system job schedules
10. Access methods, access rights, privileges, and passwords for source and target access

OLAP and Reporting application:
On-Line Analytical Processing (OLAP) is a category of software technology that enables analysts, managers and executives to gain insight into data through fast, consistent, interactive access to a wide variety of possible views of information that has been transformed from raw data to reflect the real dimensionality of the enterprise as understood by the user. That is OLAP is a category of applications and technologies for collecting, managing, processing and presenting multidimensional data for analysis and management purposes. The function of reporting application is to display the required fields, in the layout specified by the business user. Following information about OLAP and reporting application can be considered as metadata.
1. Information related to the objects defined in OLAP/reporting tool e.g. their definition and attributes
2. Transformations applied in reporting tool
3. Business interests i.e., the measures, dimensions, hierarchy…present in the report
4. Slowly changing dimension policies
5. Rules for aggregation, summarization, calculation over a period of time for the fields in the report
6. Business terminologies
7. Report Layout
8. Detailed information of all the reports developed
9. The drill through and drill down specifications
10. The report schedules and the distribution list
11. Transformations required for data mining (for example, interpreting nulls and scaling numerics)
12. Network security user privilege profiles, authentication certificates, and usage statistics, including logon attempts, access attempts, and user ID by location reports
13. Usage and access maps for data elements, tables, views, and reports
5 What to consider in Metadata Design?

For business to analyze the decision process, the business must convert the data into reliable, reusable information asset to improve the operational efficiency and Customer certainty. Metadata management can provide solution to this. Metadata management is a key to eliminating information disparity, rapidly deploying information solutions, integrating disparate data sources, finding and sharing information assets and making the information coherent.

While designing metadata following points should be taken into consideration:

· Business-
The source and the target system should be analyzed and then business rules to migrate the data should be created. These rules should not violate the business considerations/ requirements.
· End User-
The areas which are of the interest of end user should be covered. E.g. all the required dimensions and measures should be present in the report specifications.
· Performance-
The turn around time for the queries fired should be as low as possible. The data should be made available to the ETL as well as reporting tools in minimum possible time.
· Accessibility-
The metadata should be easily accessible to the business as well as technical users.
· Standardization-
All the terminologies used across the metadata should be standardized, so that there should be no problem while integrating metadata from various locations. The metadata should be consistent over all the locations where it is stored.
· Historical Data-
Data warehouses also store the historical information. So the transformation rules applied over a period of time also need to be stored as metadata. Meta data design should make a provision to include the historical information as well.
· Up to date and accurate-
As the metadata is accessed for information it must be accurate and up-to-date.
· Completeness-
The metadata should include data about all the objects representing a data warehouse. Incomplete metadata may lead to improper analysis or erroneous reporting.

Friday, April 17, 2009

Using Selenium

Recently i have worked on two open source testing tools , and i found selenium as one of the best open source web testing tool available .. here below i m listing down how we can use selenium IDE..

How to create a test plan in Selenium IDECreating a test plan in Selenium IDE is very easy, so we will use it to create few simple tests to begin with.
1. Install Selenium IDE 0.8.7, a Firefox plugin.
2. After installing Selenium please restart your Firefox browser for the plugin to be activated.
3. Now you should see a new added menu item named Selenium IDE under your Firefox Tools menu.
4. Open / browse the site for which you want to prepare a test case.
5. Start Selenium IDE from Firefox Tools->Selenium IDE.
6. Browse some pages.
7. Now click red button to stop recording.

At this point you will see Selenium automatically recording your actions. Carefully note the commands, target and value. You can create and insert your own commands/ modify or even delete them. We will show some examples below. In the next section we will see how we can modify the generated tests to suit our needs.

How to create / modify / delete Selenium commands

The default commands generated by Selenium when you are browsing the page as a normal user should be modified to make the test more robust and to add test cases to it.

1. Let's replace all click commands by clickAndWait. click simply clicks the specified link and goes on to execute the next command without waiting. On the other hand clickAndWait waits for the new page to loaded before executing the next command. clickAndWait should be used to make more robust test cases.

2. Insert assertTextNotPresent command after each clickAndWait command to confirm a text must not be present in the browsed page.

3. Use assertTextPresent command to confirm a text must be present in the browsed page.

4. Finally to test your test plan please click green arrow button to play from the begining or to play from start point.

5. Export the test plan as java file by Selenium IDE File->Export Test As->Java - Selenium RC (for example the file name is SeleniumSTSanityTest.java)

6. Then close your Firefox Selenium ID.

How to run above test plan (automatically generated java file from Selenium IDE) in command line?

1. Download Selenium RC.

2. Unzip it under the same directory where SeleniumSTSanityTest.java (exported test plan as java file from Selenium ID) was saved.

3. Install junit.

4. Go to directory where you unzip selenium-remote-control-1.0-beta-1-dist.zip file.

5. Open a terminal and do the steps below-
a. cd selenium-remote-control-1.0-beta-1/selenium-server-1.0-beta-1
b. java -jar selenium-server.jar (to run the server in interactive mode execute java -jar selenium-server.jar -interactive)
c. If you get an error like Error: com.thoughtworks.selenium.SeleniumException: ERROR Server Exception: sessionId should not be null; has this session been started yet? then ensure that the browser is in the PATH before running the server. For example, you want to run the test in Firefox. Then you should do next two steps.

d. locate firefox-bin (for example it returns /usr/lib/firefox-1.5.0.12/firefox-bin)

e. export PATH=$PATH:/usr/lib/firefox-1.5.0.12/firefox-bin;
Note: There is an alternative way to fix above error (browser is not in path). Simply replace chrome with browser PATH in SeleniumSTSanityTest.java file. For example:
line
setUp("http://floratec.blogspot.com", "*chrome");
becomes
setUp("http://floratec.blogspot.com", "*firefox /usr/lib/firefox-1.5.0.12/firefox-bin");
in SeleniumSTSanityTest.java.
To run the test in opera browser replace chrome with opera.

6. Now the selenium server is running and you have to run the Java client located in selenium-remote-control-1.0-beta-1/selenium-java-client-driver-1.0-beta-1.

7. Open another terminal.

a. export CLASSPATH=.:selenium-remote-control-1.0-beta-1/selenium-java-client-driver-1.0-beta-1/selenium-java-client-driver.jar:/usr/share/java/junit.jar
b. javac SeleniumSTSanityTest.java
c. java SeleniumSTSanityTest

8.The automatically generated java file SeleniumSTSanityTest.java is likely to have some defects. Fix it by comparing with the example below

:import com.thoughtworks.selenium.
*;import junit.framework.
*;import java.util.regex.Pattern;
public class SeleniumSTSanityTest extends SeleneseTestCase { public void
setUp()
throws Exception { setUp(http://floratec.blogspot.com, "*chrome"); // to run the test in opera replace chrome with opera }
public void testSimpleThoughts() throws Exception { selenium.open(""); assertFalse(selenium.isTextPresent("WordPress database error: [")); assertTrue(selenium.isTextPresent("2003-2008"));
selenium.open("/index.php/category/programming/java");
selenium.waitForPageToLoad("30000");
assertFalse(selenium.isTextPresent("WordPress database error: ["));
assertTrue(selenium.isTextPresent("2003-2008"));
selenium.click("//img[@alt='Übersetzen Sie zum Deutsch/German']"); selenium.waitForPageToLoad("30000"); assertFalse(selenium.isTextPresent("WordPress database error: [")); assertTrue(selenium.isTextPresent("2003-")); selenium.click("//img[@alt='Přeložit do Čech/Czech']"); selenium.waitForPageToLoad("60000"); assertFalse(selenium.isTextPresent("WordPress database error: [")); assertTrue(selenium.isTextPresent("2003")); } public static Test suite() { return new TestSuite(SeleniumSTSanityTest.class); } public static void main(String args[]) { junit.textui.TestRunner.run(suite()); }}

Wednesday, April 8, 2009

Software as a Service

Software as a Service
DefinitionSoftware as a Service (SaaS) is a model of software delivery where a company adopts specific activities that provide customers access to software, alleviating that customer from the maintenance and daily technical operation and support of business and/or consumer software. SaaS is a model of software delivery rather than a market segment; software can be delivered using this method to any market segment including home consumers, small business, medium and large business.

Objective
SaaS is built on the legacy of the ASP model, but modernized and enhanced by today’s robust web services integration capabilities, increased bandwidth and bandwidth availability, and more mature infrastructure.

Why SaaS
Software as Services provides clients access to business functionality remotely as a service. As organizations seek new and less costly methods to acquire and pay for business applications, business partners are increasingly being asked to deliver their software on demand with usage-based pricing. Software as Services offers customers lower costs that are aligned with usage, minimal up front expense, rapid implementation, and time to value, plus reduced risk. The SaaS market forecast is to reach US$10.7B by 2009. Software-as-services is on the cusp of going mainstream — both as an application delivery/pricing model and as an architectural model.

SaaS model
Software as a Service (SaaS), also known as software on demand, is a new model that is causing a profound shift in the way that applications are delivered and consumed. SaaS refers to software that is accessed via a web browser, typically on a subscription basis. Fundamentally different from the traditional model of application delivery, in which the customer acquires a perpetual license and assumes responsibility for the software's implementation and ongoing management, SaaS presents significant advantages to both customers and vendors

SaaS Strategic Offering
· Open new markets, revenue streams, and distribution channels
· Provide a stable, recurring revenue model
· Afford consolidation of development and support efforts around single versions of code

Key characteristics of software delivered by SaaS
The key characteristics of SaaS software include:
Network-based access to commercially available (e.g., not custom) software
Network-based management of commercially available software
Activities that are managed from central locations rather than at each customer's site, enabling customers to access applications remotely via the Web
Application delivery that typically is closer to a one-to-many model (single instance, multi-tenant architecture) than to a one-to-one model. This includes architecture, pricing, partnering, and management characteristics

Types of SaaS Providers
There are primarily two types of SaaS providers.
1. Application service provider (ASP) where a customer purchases and brings a copy of software to a hosting company, or the hosting company offers widely available software for use by customers (e.g. hosting Microsoft Office) and making that available across the web to customers who pay a fee per month for access to the software. There is a separation between a licensing fee and a monthly fee that is paid to the maker of the software and the “hoster” of the software as appropriate.
2. Software on-demand where a company offers software to customers specifically built for one-to-many hosting. This means that one copy of the software is installed for use by many companies who access the software across the web. There is no division between licensing and hosting fees, and where there is little to no customization of software for each customer.

ASP versus SaaS
Plenty of ASPs bloomed and wilted with the dot-com boom and bust, but what those vendors did provide applications on demand - is alive and well and poised for a rebound. Failure of ASPs was attributed to customers demanding extensive customization on the part of the service providers. That blew apart the ASPs business model, resulting in the subsequent marketplace carnage. The reason for moving away from the term ASP is that the ASP generation was merely traditional client-server applications with HTML front ends added as an afterthought. These applications were hosted by third-parties who ordinarily did not have application expertise, but were managed servers. Because the applications were not written as net-native applications, performance was poor and application updates were no better than self managed applications. In comparison, SaaS is more like business process outsourcing, and its vendors might be called business service providers. The current net-native SaaS applications or independent portions are updated regularly, many daily.


SaaS – Model Diagram
The above model diagram depicts how SaaS functions

How can SaaS model be achieved
Companies need to find the applications they use that are not core to their business and that can be utilized as a commodity service. Companies don't need to overspend on utility-type services. Vendors are creating utility offerings so that business services can be bought and have software as a service. They're creating capabilities and expecting that those can be bought in new ways. It can be achieved via 2 ways
1. Host: To become a host to all the software vendors by partnering with then and then provide quality services to the customer world
2. Vendor. To come up with commercially available software and then tie up with hosters so as to find a platform to have the software available as services.
The leader would be one who has expertise and infrastructure to host such a platform and even has capabilities to come up with commercial software.

Potential Advantages - SaaS
Ø Software as a Service (SaaS) delivery model presents significant new sales opportunities. The more established vendors can move downstream and capture revenue from the companies that could not afford the licensing and maintenance costs of software under the old perpetual license model, while smaller and emerging software vendors can now successfully compete with the larger players.
Ø The SaaS model lends itself to a variety of marketing techniques, many of which are extremely well suited to the small-to-midsize or emerging software company with limited marketing resources. In fact, one of the key advantages of the SaaS model from a vendor perspective is the ability to utilize effective low-cost marketing techniques to tell their story and convince potential buyers of the value of their solution.
Ø The techniques are typically easy to implement and are highly effective at producing, capturing, and capitalizing on inbound traffic in a very cost-effective manner
Ø SaaS model is inherently flexible. As technology is constantly evolving, many companies have found themselves burdened with expensive software solutions that no longer meet requirements. Over time, this accumulation of "shelf-ware" has heightened resistance toward new investments in enterprise applications. SaaS makes it easy for customers to select the applications that they need, and eliminate the ones that they don't.
Ø SaaS eliminates end-of-quarter discounting pressures and enables software companies to enjoy predictable streams of recurring revenue.
Ø the rapid evolution of the SaaS development cycle lends itself to improved vendor-customer relationships, as it pushes the software company to release fixes and enhancements much more quickly that in the perpetual license model.

Challenges - SaaS
Ø Complex issues involved with building the service delivery capabilities necessary to support SaaS offerings.
Ø To live up to the end users demand of 100% uptime, appropriate Service Level Agreements, and 24*7 call center support
Ø Meeting the above demand requires 24x7 application and systems management, hosting, networking and security infrastructures, disaster recovery capabilities, change management policies and procedures.
Ø Form and retain a team of experts in operations and engineering who have previously designed, built, and managed complex infrastructures.
Ø Because the application is essentially delivered as a service, the software company must be entirely focused on the customer experience, or risk losing business. In the pay-as-you-go model, vendors are being judged on a month-to-month basis, and there is added pressure to produce rapid improvements to the application.

Remarks & Conclusion
The numerous advantages of SaaS over the perpetual license-based model of software delivery have created a significant opportunity for software vendors. The time is right for business processes on demand and more than 50% of software business is envisaged to be relying on SaaS model in the next 5 years. It is therefore highly recommended to explore more in this field and to use this model as an additional mode of revenue generation given the wide expertise the organization has in software arena.

Tuesday, February 10, 2009

Information Architecture Principles

1. Purpose
The Purpose of this document is to define Information Architecture Principles ( which are subset of IT principles ) for System Planning and Implementations of any Organization.

1.1. Scope

The Scope of this document is limited to definition of Architecture Principles for Information Domain.

1.2. Definitions, Acronyms and Abbreviations

TOGAF - The Open Group Architecture Framework
COBIT – Control Objectives for Information and related Technology
SOX – Sarbanes–Oxley Act
BASEL II - Basel II is the second of the Basel Accords, which are recommendations on banking laws and regulations issued by the Basel Committee on Banking Supervision.



1.1. Overview

Principles are general rules and guidelines, intended to be enduring and seldom amended, the inform and support the way in which an organization sets about fulfilling its mission. Architecture principles define the underlying general rules and guidelines for use and deployment of all IT resources and assets across the enterprise.

1. Information Principles
For all enterprise business Information, regardless of where it is physically stored or how many different places it is stored in, the enterprise must be able to assemble whatever subsets of that information are required to answer any business question. The principles, conformance to which maximize the value of that Information, are as follows:

1.1. Information Principle – Central Information Management

Name: Central Information Management

Statement: All management information and business intelligence will be sourced from a single consolidated source of information

Rationale:
A central source of information management will provide the Org with a wide
Range of reporting and analysis with being constraint by the organization functional structuring.
Users will become used to a single interface to management information allowing managers to become familiar with the infrastructure and extracting maximum benefit from all information available in the organization. The central source of information will help Organizations to handle with banking compliance like SOX and other regulatory requirements. The central information will eliminate contradicting information sources and ensure accurate reporting of current affairs and identification of issues and opportunities. Increase the flexibility and manageability of providing information rapidly and effectively to support business decisions.
 Use best of breed analytic functionality to support management decision making
. Increased security in managing access to The enterprise's management information

Implications:
v Information must be sourced to the central information infrastructure from all the various operational applications as close to real time as possible
.
v No additional analytical modules are required for transactional applications. 

v The interface to management information and training should be rolled out to all decision makers to effectively access information.

Compliance Requirements: Sox 404 /409 Business Intelligence.

1.2. Information Principle – Minimize Redundancy

Name: Minimize Information Redundancy

Statement: Redundant data must be limited to maximum extent Possible.

Rationale:
Data duplication and data movement must be well managed and only undertaken when necessary . Every time data is moved and duplicated, there is a need for reconciliation. This leads to expensive and time consuming work and reduces confidence in the data quality and consistency of reporting information.

Implications: 

v Data Duplication should be checked before start of new project
v Data Duplication should be only allowed when necessary.

Compliance Requirements: Sox 302/906 Duplicates. BASEL II – Taxonomies.


1.3. Information Principle – Data Quality Measurement.

Name: Data Quality Measurement

Statement: Data quality will be measured both in quantitative and qualitative terms eg. Audit procedures and Data quality questionnaires in the Organization.

Rationale:
v Improved data quality
.
v Accurate usage of data with quality measures.
v Improved management information
.
v Increased operational efficiency

Implication:
v Bi-annually measure data through with a data quality survey.
v Audit data ownership procedures annually
.
v Build in data quality measures into applications
.
v Connect data quality results with performance incentives

Compliance Requirements: Sox 302/906 Reconcilement , Completeness , B2 tracking , accuracy BASEL II – Taxonomies.


1.4. Information Principal – Formalized Data Movement/Enrichment.

Name: Formalized Data Movement /Enrichment.

Statement: All Data Transfer or movement / enrichment activities are managed and Approved by the appointed data strategist and exchange of information muse be subjected to standardization methodology for information exchange/enrichment.

Rationale :

v Control cost associated with data exchange and enrichment.
v Protect operational data.
v Improve data quality and value.
v Data sharing to allow for better detection of fraud.

Implication:

v Data Stewards must have authority and means to manage the data for which they are accountable.
v Development of a formal policy and methodology for data exchange and enrichment
.
v Data strategist must be responsible for approving data exchange/enrichment efforts and minimize cost.
v Identification and management of organizations that can enrich and/or validate the enterprise data.

Compliance Requirements: Sox 404 – Data Stewardship and security. BASEL II – Data Stewardship.


1.5. Information Principal – Data Naming Standards.

Name: Data Naming Standards.

Statement: Data Names and columns (fields) content must be standardized through a central reference repository and must be accessible to the business .

Rationale:
v Consistency of information across all business processes.
v Usability of information increases across he organization.


Implication:
v Alignment of all applications to support the standardized naming standards
v The Enterprise must establish the initial common vocabulary for business .The Definitions will be used uniformly throughout the enterprise.

Compliance Requirements: Sox 302/906 Understanding and measure of data. 404 Specs & Standards, data elements, 409 – Data relevance. BASEL II – Data Structures.

1.6. Information Principal – Information Requirement with data model

Name: Align information requirements with data model.

Statement: All information requirement must be aligned with the corporate data model before requesting changes to the information architecture.

Rationale :
v Integrity of transactional data model stays in tact.
v Prevent duplication of information.

Implication :

v The Corporate data model must be maintained to be up to date all times.
v In any application development life cycle it is a condition to align the application with the corporate data model

Compliance Requirements: Sox 404 – Process Improvement.


1.7. Information Principal – Information Security

Name: Information Security
Statement: Information should be protected from unauthorized use ad disclosure .

Rationale:
v Open sharing of information and release of information via relevant legislation must be balanced against the need to restrict the availability of the classified, Proprietary and sensitive information.




Implication
:

v Aggregation of data , both classified and not , will create a large target requiring review and de-classification procedures to maintain appropriate control .
v The Current Practice of having separate systems to contain different classifications needs to be rethought.
v In Order to adequately provide access to open information while maintain secure information, security needs must be identified ad developed at the data level , not the application level.

Compliance Requirements: Sox 404 Security requirements

1.8. Information Principal – Information Governance

Name: Information Governance.
Statement: All the information elements must be subjected to information architecture governance.

Rationale:
v Sustain data quality

v Improve operational efficiency.

Implication
:

v Design the business process application of the data element
v Assign Applications sourcing the information
v Align with corporate data model, rules, validations, naming standard

v Define data management policies e.g. security, back-up, archiving/retrieval

v Assign data ownership

Compliance Requirements: Sox 404 – Rules, KPIs. BASEL II – Corporate Governance, Data Governance .

1.9. Information Principal – Data Privacy and legality

Name: Data Privacy and Legality

Statement: Information Privacy must be respected and legal requirements must be compiled with, in any event of information exchange or commerce.

Rationale:

v Maintain good relationships with customers and clients.
v Avoid Legal costs due to mismanagement of information resulting in lawsuits.


Implication

v The enterprise must be up to date with laws relating to information
.
v Communicating The enterprise's data policy to customer and clients.
v Legal department needs to be up to date with laws governing information usage, commerce and distribution


1.10. Information Principle – Intermittent

Name: Intermittent

Statement: Information must be structured for global deployment in various cultures and support multi-currency, multi-language and multi platforms.

Rationale:
v It will provide Flexibility to enter or handle global market conditions.
v Consistency of being able to deploy a proven business model and then adapt to local conditions.

Implications: 

Application should be much more flexible to accommodate differences defined by different countries, the current application should be evaluated in terms of internationalization requirements.