Monday, 23 December 2013

Maximo Conditional Expression Manager Application (CEM)

What is the use of Maximo Conditional Expressions Application

Conditional Expressions are a powerful tool in TPAE based products. I present all the possible usages of conditional expressions.


 There are four ways of using Conditional Expressions.

  • Conditional UI: Allows to dynamically change the presentation elements for an application based on a combination of the security groups the user belongs to, and the conditional expression being used. For example, if the asset is a type=IT, then the labels will change to "IT Asset", and if it was another type of asset, the original label will be used instead.
    This can be configured in the Application Designer application through the Configure Conditional properties button of each control properties panel.
  • Conditional Sigoptions: Allows to dynamically grant or revoke the user's privilege to use a security option base on a conditional expression. For example, if the asset is a type=IT, then the user cannot delete, and if it was another type of asset they can delete the asset.
    This can be configured in the Security Groups application under Applications tab.
    The Sigoptions are often used in conjunction with the conditional UI to further refine rules to the behavior of specific UI controls.
  • Global Data Restrictions: Allows to dynamically hide or make read-only/required specific objects and attributes.
    This can be configured in the Security Groups application Global Data Restrictions menu action.
  • Group's Data Restrictions: Allows to dynamically hide or make readonly/required specific objects and attributes for a specific security group. For example, all contractors can only see Work Order for a nominated contract and staff can see all WorkOrders.
    This can be configured in the Security Groups application under Data Restrictions tab. 

How to hide a field using conditional expressions


I will show how to dynamically hide the Total Cost field in the PR Lines tab of the Purchase Requisitions (PR) application for the PRs that are in status APPR. This is just an example and the same configuration can be used to hide or show any field based on a particular condition.

Define conditional expression

Open Administration Module -Conditional Expression Manager application. 
Create the following conditional expression.

  • Condition: PRAPPR
  • Description: Status is APPR
  • Type: EXPRESSION
  • Expression: :status='APPR'
  • Always Evaluate: true 







Configure PR application

Open System configuration - Platform Configuration - Applications Designer application and edit the PR application. Select the Total Cost field in the upper right corner of the PR Lines tab and open the properties window. Click on Configure Conditional Properties button ( TPAE 7.5 it is in the Advanced tab) and configure it as follows.
  • Signature Option: READ 
  • Security Group: EVERYONE
  • Condition for Security Group EVERYONE: PRAPPR
  • Property values when condition PRAPPR is true: Property=display - Value=false

Here is how the Conditional Properties properties should look like.




Save the PR application and open the Purchase Requisition application.
Now for all the PR Application in APPR status the Total Cost field in the PR Lines tab will be hidden.

How to change the color of a field using conditional expressions

Here is a step-by-step guide about how to dynamically highlight work orders that have a high priority in the WOTRACK application. Please find the follow below example and the same configuration can be used to change the color of a field based on a particular condition.

Create conditional expression

 Open Administration - Conditional Expression Manager application. Create the following conditional expression. 


Configure The WOTRACK application

 Open System configuration - Platform Configuration - Applications Designer application and edit the WOTRACK application. Select the first column (Work Order) and open the properties window. Click on Configure Conditional Properties button (on TPAE 7.5 it is in the Advanced tab). Use READ as Signature Option and EVERYONE as the security group. Enter the defined condition WOHIPRI with Property=cssclass and Value=bgred

Here is How the Conditional Properties properties should look like.


Work Order Application results

Now all the work orders with a priority equal to 1 will be highlighted in red.









Wednesday, 11 December 2013

Maximo Integration Framework (MIF)

What is Maximo Integration Framework?

The Maximo Integration Framework (MIF) is an integral part of the Tivoli Process Automation Engine (TPAE) that allows the synchronization and integration of data and of applications between TPAE and external systems in real time or batch mode by using a variety of communication protocols.


Main Concepts

The three main concepts of MIF are:
  • Object Structures are collection of Business Objects and relationships that define the content of messages for Channels and Services.
  • Services receive data into the system
  • Channels send data out of the system

This picture gives an overview of the MIF architecture and of the available services (depicted in green) and channels (depicted in yellow).



Services

The simplest service is the Object Structure Service. It allows to create, update, delete and query data in TPAE's database.


Enterprise Services are more powerful allowing to process data synchronously or asynchronously (using a JMS queue) and have data processing layers that can transform data. Enterprise Services can use multiple protocols such as Web Services, HTTP, database tables, XML and flat files.


The enterprise service can use the following processing layers:
  • Processing Rules – The integration framework provides a rule engine where you can filter and transform the XML message.
  • XSL Map – Represents an XSLT style sheet that you can use to transform data and perform mapping of the XML message to another format.
  • User Exit and Processing Classes – Represents Java classes that you can use to filter, transform data, and implement business logic.

Channels

There are two main types of outbound services (channels).
  • The Publish Channel is asynchronous and can be triggered by a completed transaction on a primary object with an enabled event listener or by a data export.
  • The Invocation Channel in synchronous and can be triggered by an action class called by a user interface control (within an application), a workflow or an escalation.

Both services provides processing rules, XSL map and user/processing classes to transform data.




Maximo Integration Framework first setup


If you have never used the Maximo Integration Framework you have to check the MIF configuration before being able to play with it.

System Properties

All the configuration parameters for MIF can be managed from the System Properties  application: GoTo -> System Configuration -> Platform Configuration -> System Properties. -> mxe.int.*

The most important property to check is mxe.int.globaldir. This property specifies the root folder where all the integration configuration files are located. If this value is null, the folders are created under the directory from which the application server is started, or from the current working directory of the application server (e.g. C:\IBM\WebSphere\AppServer\profiles\AppSrv01).

Other important properties that need to be set before using MIF are:
  • mxe.int.webappurl: This specifies the integration Web application URL. The syntax is http://[HOST]:[PORT]/meaweb/maximo.
  • mxe.int.admintoemail: Email address to which the integration framework sends notification of message processing errors.

JMS Queue Setup

Java Message Service (JMS) is used for routing messages from the processing layers to the external systems.
To verify that the JMS Queues are correctly installed login to the WebSphere Integrated Solutions Console and go to Resources - JMS - Queues. Ensure the following queues are enabled:
  • cqin : Continuous Inbound Queue
  • sqin : Sequential Inbound Queue
  • sqout : Sequential Outbound Queue

CRON Tasks

There are several CRON tasks that must be active. Go to System Configuration - Platform Configuration - Cron Task Setup and ensure that the following Cron Tasks are enabled:
  • JMSQSEQCONSUMERThis cron task pulls records from JMS Queues for processing.
  • IFACETABLECONSUMER to regularly poll the interface tables
  • FLATFILECONSUMER to use flat files for inbound data import
  • XMLFILECONSUMER to use XML file for inbound data import

Flat CSV file export with Maximo Integration Framework

In this tutorial I will show how to configure the Maximo Integration Framework in order to export data from Maximo into a Comma Separated Values (CSV) text file.

To achieve such goal we must configure the following chain:
  1. Object Structure
  2. Publish Service
  3. External System
Object Structure

Open Integration > Object Structure application and create a new entry.
  • Object Structure: D-PERSON
  • Description: Demo Person Object Structure
  • Consumed By: INTEGRATION
  • Support Flat Structure: True
  • Source Objects: PERSON



Remove unwanted attributes from the Object Structure. This will simplify the structure of the output file and will greatly improve performances of the import/export process.
Select the Include/Exclude Fields menu and check all the Exclude check-boxes except the following:
  • PERSONID
  • FIRSTNAME
  • LASTNAME
  • DISPLAYNAME

Publish Channel

Go to Integration > Publish Channels application and create the following entry.
  • Publish Channel: D-PERSON
  • Description:Demo Publish Channel for Person data
  • Operation: Publish
  • Object Structure: D-PERSON




External System

Go to Integration > External Systems application and create the following entry.
  • System: D-EXTSYS
  • Description: Demo External System
  • End Point: MXFLATFILE
  • Enabled: True
  • Outbound Sequential Queue: jms/maximo/int/queues/sqout
  • Inbound Sequential Queue: jms/maximo/int/queues/sqin
  • Inbound Continuous Queue: jms/maximo/int/queues/cqin



Go in the Publish Channel tab and insert the D-PERSON channel created previously.

Don't forget to enable the Publish Channel and to save the External System.


Export data

To export the data stored in the Maximo PERSON table just click on the Data Export button. A dialog box will be displayed allowing you to enter an SQL where clause to filter to exported rows.
For simplicity just put a small number in the Export Count field to limit the number of exported rows.

Click on the OK button and your CSV file will be exported in a directory named flatfiles under the path specified in mxe.int.globaldir system property. In my environment the directory is D:\MIF\flatfiles. Here is how the output file should look like.
D-EXTSYS,D-PERSON,,EN
DISPLAYNAME,FIRSTNAME,LASTNAME,PERSONID
Tom Revis,Tom,Revis,REVIS
Fred Stanley,Frederick,Stanley,STANLEY
Keith Mills,Keith,Mills,MILLS
Mark Jacoby,Mark,Jacoby,JACOBY
Bob Pillance,Bob,Pilla,BPILLA


Final considerations

Now you can include more attributes to your objects using the Include/Exclude Fields action of the Object Structure application or you can create your own object structure.

This is just the beginning of your journey in the MIF. Keep in mind that MIF is a powerful tool that allows to do many things.
Just to play a little bit let's do one last trick.
Go to Publish Channels application, open the D-PERSON object and select Enable Event Listener.
Now go in Administration > Resources > People and create a new person record. If you look in your MIF directory on the Maximo server and you should see that a new CSV file has been automatically created with the new person data.


Sunday, 1 December 2013

Top Most IT Courses


IBM MAXIMO : The IBM Maximo Asset Management  is a collaborative repository of technical information about IBM Maximo Asset Management.Maximo Asset Management is an Enterprise Asset Management system that provides comprehensive support for asset, maintenance, resource and parts supply chain management needs.

Spotlight on Maximo Asset Management Scheduler Version 7.5.2

Learn how Maximo Asset Management Scheduler Version 7.5.2 streamlines the work management process with enhancements to scheduling, work assignment, and crew maintenance capabilities.

Version 7.5.2 introduces the ability to compare optimization scenarios and develop an approved set of scheduled work orders based on the most efficient allocation of resources.




HADOOP BIGDATA: Big data (also spelled Big Data) is a general term used to describe the voluminous amount of unstructured and semi-structured data a company creates -- data that would take too much time and cost too much money to load into a relational database for analysis. Although Big data doesn't refer to any specific quantity, the term is often used when speaking about petabytes and exabytes of data.
A primary goal for looking at big data is to discover repeatable business patterns. It’s generally accepted that unstructured data, most of it located in text files, accounts for at least 80% of an organization’s data. If left unmanaged, the sheer volume of unstructured data that’s generated each year within an enterprise can be costly in terms of storage. Unmanaged data can also pose a liability if information cannot be located in the event of a compliance audit or lawsuit.  

Big data analytics is often associated with cloud computing because the analysis of large data sets in real-time requires a framework like MapReduce to distribute the work among tens, hundreds or even thousands of computers. 

 SAP HANA: With the advent of SAP HANA Enterprise 1.0, SAP is extending its reach beyond enterprise-class applications. It digs into the database engine/storage layer just below that supports data exploration and business analytics tasks as well as transactional applications. 

Any time a stalwart technology vendor enters a new market, customers inevitably have questions about the technology itself, the direction of the vendor’s product portfolio, and, most importantly, how the new offering impacts their organizations. Wikibon has conducted a detailed assessment of HANA, including its technological underpinnings, potential use-cases, shortcomings, what it signals for the direction of SAP as an enterprise software vendor, and what HANA means for enterprise customers. 


What is SAP HANA? 

SAP HANA Enterprise 1.0 is an in-memory computing appliance that combines SAP database software with pre-tuned server, storage, and networking hardware from one of several SAP hardware partners. It is designed to support real-time analytic and transactional processing. 

What are the technical components that make up HANA? 

The heart of SAP HANA Enterprise 1.0 is the SAP In-Memory Database 1.0, a massively parallel processing data store that melds row-based, column-based, and object-based storage techniques. Other components of SAP HANA Enterprise 1.0 include: 

■SAP In-Memory Computing Studio, 

■SAP Host Agent 7.2, 
■SAPCAR 7.10, 
■Sybase Replication Server 15, 
■SAP HANA Load Controller 1.00, and, 
■SAP Landscape Transformation 1 - SHC for ABA. 

SAP HANA runs the SUSE Linux Enterprise Server 11 SP1 operating system. It is generally delivered as an on-premise appliance and is available now. 


DATABASES:
  • ORACLE
  • DB2
  • TERADATA
  • SQL
  • SQL SERVER