11/23/2014

WebSphere Application Server Profile, Cell, Node, Application Server Basic

WebSphere Application Server is a key SOA building block. We can build a complete SOA application only using WAS. But If we look at the SOA reference Architecture, WAS can be used to develop and deploy Business Application Services. WAS(WebSphere Application Server comes in different packaging with different application server capabilities. Major packages are Base, Express, and Network Deployment.

11/08/2014

Setting up a Cluster/Integration Framework for Maximo 7.1 on WebSphere 6.1

Technote (FAQ)


Question

What are the steps required to set up a clustered Maximo application along with a stand-alone Maximo Integration Framework application for best performance?

Answer

When using the Maximo Integration Framework (IF) in a clustered environment the following should be considered. Note that this document does not cover all possible scenarios and many other configurations can be used that satisfy your particular requirements.
· For best performance with minimal impact to users, the IF can be configured to run on a single instance of Maximo while users log in and work with User Interface (UI) Instances of Maximo. In this case, you will need separate application servers (IF and UI instances).

· To share these resources, all resources will need to be defined at the cell level within the WebSphere console. The reason for this is although the IF instance will do all of the processing of inbound transactions, outbound transaction events will still occur from the UI instances upon saving Maximo records. This means that the UI instances need to have access to the JMS resources such as connection factories in order to be able to send outbound messages.

· The IF instance which will be responsible for processing inbound IF transactions from the continuous queue will need to have the Message Driven Bean (MDB) deployed along with the Maximo application to it's own application server and therefore will need a maximo.ear build that is slightly different than the UI instances which will not need the Message Driven Bean running within them.

· In this example configuration, there are two distinct buses. Specific resources exist only on their respective buses. To prevent problems with stranded messages on remote queue points, crontasks are configured to run on a server instance that is local to the bus it is a member of. In the case of outbound JMS transactions, the seqqout crontask instance runs on the UI server instance since the sqout queue is defined on the UI bus, however there is no performance impact observed with this crontask in a typical environment as it has very little processing to do on messages.



Below you will find instructions for setting up a cluster environment for UI instances of Maximo and a stand-alone application server for Maximo IF transaction processing.

10/25/2014

Migration Use Cases with the Migration Manager

Abstract

Migration Manager is a feature of Tivoli® process automation engine that enables you to migrate configuration content from one product environment to another. The typical use is to migrate configuration content from a development environment to test and then on to production. The goal of migration is to ensure your production environment fully meets the needs of your end users. This IBM® Redbooks® Solution Guide provides an overview and architecture of the Migration Manager provided by the Tivoli process automation engine and describes typical migration scenarios.

Contents

Migration Manager is a feature of the Tivoli® process automation engine that enables you to migrate configuration content from one product environment to another. The typical use is to migrate configuration content from a development environment to test and then on to production. The goal of migration is to ensure your production environment fully meets the needs of your end users. The following figure shows the Migration Manager menus in a Tivoli process automation engine based application.

Continue on IBM web page...

Excel: Find the last row of data in a range

LastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
or
LastRow = AWs.UsedRange.Rows.Count

10/24/2014

Исследуем базы данных с помощью T-SQL

Как dba и консультант по оптимизации производительности SQL Server в Ambient Consulting, я часто сталкиваюсь с необходимостью анализа узких мест производительности на экземплярах SQL Server, которые вижу первый раз в жизни. Это может быть сложной задачей. Как правило, у большинства компаний нет документации по их базам данных. А если есть, то она устарела, или же её поиск занимает несколько дней.

В этой статье я поделюсь базовым набором скриптов, раскапывающим информацию о метаданных с помощью системных функций, хранимых процедур, таблиц, dmv. Вместе они раскрывают все секреты баз данных на нужном экземпляре – их размер, расположение файлов, их дизайн, включая столбцы, типы данных, значения по умолчанию, ключи и индексы.

Если вы когда-нибудь пытались получить часть этой информации, с помощью GUI, я думаю вы будете приятно удивлены количеством той информации, которая, с помощью этих скриптов, получается мнгновенно.

Как и с любыми скриптами, сначала проверьте их в тестовом окружении, прежде чем запускать в продакшене. Я бы рекомендовал вам погонять их на тестовых базах MS, таких как AdventureWorks или pubs.

Ну, хватит слов, давайте я покажу скрипты!

10/10/2014

Increasing the package size upload limit

The default size limit for uploading a package to the application server is 20 MB. You can change the limit by editing the Migration Manager presentation XML file.

Before you begin

To edit the presentation XML file, you must be an administrator and you must know how to use the Application Designer application.

About this task

If you set a limit that is too high, the application server might run out of memory.

10/08/2014

How to Run Maximo Integrity checker 7.5

About this task

Before proceeding further with the Maximo Asset Management 7.5 upgrade process, you need to run the Maximo Asset Management 7.5 Integrity Checker utility to confirm the integrity of the Maximo Asset Management 7.5 database after the upgrade steps have been completed. When run in Report mode, the integrity checker utility checks the current database and reports on common errors. If the Integrity Checker reports an error, you must resolve it by running the Integrity Checker in Repair mode.

9/30/2014

Немного о Word: Как сделать содержание (оглавление) документа в Word?

Для больших документов в Microsoft Word очень удобно использовать авто-собираемое оглавление. Вместо того, чтобы постоянно проверять не съехала ли нумерация, вы можете просто сделать такое оглавление, за которым не придётся следить и которое будет само обновляться.
Это можно сделать очень просто. Рассмотрим на примере (так будет нагляднее). После того, как вы попробуете выполнить всё это по шаблону, вы сможете сделать автоматическое оглавление в любом документе.

9/18/2014

What are beans in IBM Maximo

There are 2 types of Beans in IBM Maximo, AppBean and DataBean.

AppBean
The AppBean manage application functionality, such as WOTRACK or ASSET. This class is defined in the beanclass attribute of the presentation tag in the application’s XML.

9/11/2014

Active Directory: LDAP Syntax Filters

Unable to turn Off the Admin mode in Maximo

Problem(Abstract)

Receiving errors on the Database Configuration screen when shutting down Admin Mode:

BMXAA4030I - Starting to set Admin Mode ON.
BMXAA4004I - Admin Mode is pending (turning on) for this server.
BMXAA4013I - Setting maxvar ADMINRESTART to ON.
BMXAA4008I - Notifying users to sign out.
BMXAA4036W - All users will be logged out in 1 minutes!
BMXAA4007I - Administratively logging out all remaining users.
BMXAA4011I - Waiting until all cron tasks are sleeping...
BMXAA4010I - Preventing events from firing.
BMXAA4014I - Setting this server's maxsession active flag to 0.
BMXAA4032I - Successfully set Admin Mode ON.
system#AdminModeIsConfiguring
system#AdminModeIsConfiguring
system#AdminModeIsConfiguring
system#AdminModeIsConfiguring
system#AdminModeIsConfiguring

Cause

Database in a state of configuring.

8/20/2014

Changing the automatic logoff setting

The default automatic logoff value is 30 minutes. You might want to change the default setting depending on your security needs.
The automatic logoff is configured to automatically timeout after a period of 30 minutes of inactivity. To extend the default period to more than 30 minutes, you change the web.xml configuration file.

8/14/2014

The default value of a date parameter must be an integer (BMXAA8268W)

Problem(Abstract)

When setting a "Default value" for a date parameter you cannot specify a specific date. You must specify a number. In previous versions, a specific date could be used as the default, this no longer applies as of Maximo 7.5

Cause

The functionality was changed by design.

Resolving the problem

For date parameters the purpose of "Default value" is to set an offset from the current day. For example, if you have the number 1 as the Default value, your date parameter will display on the request page with a default of tomorrow. The 1 tells it to show tomorrow. Likewise 2 would be 2 days from today and 7 would be 1 week from today. To use a date prior to today, use a negative number -1 would be yesterday, etc. This allows relative dates to appear as default values. 
Depending on your requirement, the new functionality may, or may not apply to your situation but it is not a bug and would be considered as an enhancement request if you wish to utilize the previous behavior.

8/04/2014

Implementing Site Restrictions against SR application for a security group.

Question

How do you restrict the records a user can access in the SR application by site.

Answer

The following step by step example provides instructions on how to set up a condition on the SR object based on a site.

1. Login into Maximo as MAXADMIN

2. Go to Administration -> Conditional Expression Manager --> create a new expression = SITEID = 'BEDFORD'

3. Go to Security Group----> BEDFORDSITE
4. Click on Sites tab and make sure that BEDFORD site is listed there
5. Click on Data Restrictions tab

6. Click on NEW ROW from Object Restrictions tab
OBJECT = SR
Application = SR
TYPE = QUALIFIED
CONDITION = The expression that we created on step 2

7. SAVE the changes made

8. Click on user tab and make sure that the user you want to restrict belongs to the BEDFORDSITE group, if not associate him to the group by adding a NEW ROW.


9. Click on Application tab and filter it down to SERVICE REQUEST

10. Give grant access to all options including sig-options

11. Save the changes you made .

12. Go to the SR app and press ENTER which brings up all records, you will see there are 126 records against all sites when logged in as MAXADMIN user.

13. Now sign out and sign back into Maximo as your restricted user from the steps above.

14. Go to the SR app and press ENTER, Maximo will only show 50 SR's records.
Only records for the 'BEDFORD' site will display.

8/03/2014

Maximo Web Services tutorial

This article explains how to setup and use Web Services capabilities of the Maximo Integration Framework (MIF/MEA).
In Maximo there are three different types of services that can be invoked from Web Services: Object Structure, Enterprise and Standard Services. This article will focus on Object Structure Services for simplicity of discussion but is generally useful to understand how to interact with Maximo through Web Services.


7/30/2014

Настройка автоматического запуска сервера приложений WebSphere в Windows

1. Необходимо настроить автоматический запуск ноды (сервис Windows)
2. Настройка запуска сервера в WAS

7/13/2014

Отслеживание хода исполнения паспорта, Конфигурирование последовательности действий в карте хода выполнения

Отслеживание хода исполнения паспорта
Ход исполнения паспорта показывается двумя способами: на карте хода выполнения как строка узлов в разделе Карта хода выполнения окон прикладных программ Инциденты, Проблемы и Заявки на услуги; как значение в поле Состояние. На карте хода выполнения подсвечен узел, который представляет действие, выполняемое в настоящее время.
Значение Состояние можно изменить вручную, выбрав действие Изменить состояние. Кроме того, чтобы отразить новое состояние, обновляется карта хода выполнения.
По умолчанию последовательность действий на Карте хода выполнения определяется свойствами системы. Вы можете переопределить последовательность действий в этих свойствах системы, чтобы глобально изменить последовательность действий на Карте хода выполнения.
Значения состояния содержатся в доменах SRSTATUS, INCIDENTSTATUS и PROBLEMSTATUS (для приложений Заявки на услуги, Инциденты и Проблемы соответственно). Чтобы просмотреть используемые состояния, перейдите в прикладную программу Домены (Перейти > Конфигурация системы >Конфигурация платформы > Домены), введите SRSTATUS, INCIDENTSTATUS или PROBLEMSTATUS в поле Домен и нажмите клавишу Enter. Значения в этих доменах используются для заполнения Карты хода выполнения.

6/27/2014

IBM Maximo® Version 7 Portrait Report Templates

 7.1.1.5 and later, 7.5 and later

Description:

IBM® Maximo® delivers landscape report templates to enable clients to create custom reports.  Landscape templates are delivered so the maximum number of fields can be displayed on a report.

However, to enable clients to meet their unique business needs, a set of portrait report templates is provided here.

6/26/2014

Useful java class: GetStartFinishDateTimeOfWeekOfDay

package custom;
import java.util.Date;
import java.util.Locale;

import com.ibm.icu.util.Calendar;

public class GetStartFinishDateTimeOfWeekOfDay {

  public static Date GetStartDateTimeOfDay(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 0);
   reportDate = cal.getTime();

   return reportDate;

  }

  public static Date GetFinishDateTimeOfDay(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 86399999);
   reportDate = cal.getTime();

   return reportDate;

  }

  public static Date GetStartDateTimeOfWeek(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.setFirstDayOfWeek(Calendar.MONDAY);
   cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 0);
   Date startWeekDate = cal.getTime();

   return startWeekDate;

  }

  // last day is Sunday
  public static Date GetFinishDateTimeOfWeek(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.setFirstDayOfWeek(Calendar.MONDAY);
   cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 86399999);
   Date finishWeekDate = cal.getTime();

   return finishWeekDate;

  }

  // last day is Friday
  public static Date GetFinishDateTimeOfWeek_Work(Date reportDate) {

   Calendar cal = Calendar.getInstance(new Locale("ru", "UA"));
   cal.setTime(reportDate);
   cal.setFirstDayOfWeek(Calendar.MONDAY);
   cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
   cal.set(Calendar.MILLISECONDS_IN_DAY, 86399999);
   Date finishWeekDate = cal.getTime();

   return finishWeekDate;

  }

}

6/06/2014

Hide data conditionally for a specific group

A very typical customization task is to restrict the visibility of data within Maximo/TPAE applications based on certain conditions.
For example you may wish to hide all the purchase orders that have a total costs higher than 1000$ for a specific group. Here is a small tutorial about how you can achieve this.

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

  • Condition: POCOST
  • Description: Total cost is less than 1000
  • Type: EXPRESION
  • Expression: totalcost<1000



Now go to the Security - Security Groups application. Choose the desired group and open theData Restrictions tab.
Create the following Object Restriction:

  • Object: PO
  • Type: QUALIFIED
  • Reevaluate: true
  • Condition: POCOST




If you now logon with a user belonging to the chosen group and open the Purchase Orders application you will see that only POs with a total cost of less than 1000 will be listed.

There are three types of object restrictions that may be used to accomplish different goals:
  • Hidden: The objects for which the condition is evaluated to true will be displayed as XXXXX and cannot be selected.
  • Qualified: The objects for which the condition is evaluated to false will be hidden.
  • Readonly: The objects for which the condition is evaluated to true cannot be updated.

5/17/2014

MxLoader - Extract and load data in Maximo with ease

MxLoader is a Microsoft® Excel® spreadsheet that allows to quickly and easily query and load data into IBM Maximo, IBM SmartCloud Control Desk (SCCD) and other TPAE based applications. It brings together the power of the Maximo Integration Framework and the flexibility of Excel allowing to quickly manipulate and import data into any Maximo database. MxLoader runs on Microsoft Excel 2007/2010. It also requires Microsoft XML Core Services 6.0.

5/10/2014

Deleting user-created applications


  • Only applications created with Application Designer can be deleted (new or duplicated).
  • You must use a database editor to delete an appli cation.
    • Deleting an application does not remove a ny custom tables, fields, or domains created to support the application.
  • The application server must be shut down before the application is deleted.

To delete an application, log in to a database editor. Type the following commands in the database editor. Replace the variable <APPLICATION NAME> with the name of the application that you want to delete. The application name must be all uppercase.
delete from maxapps where app='APPLICATION NAME';
delete from maxpresentation where app='APPLICATION NAME';
delete from sigoption where app='APPLICATION NAME';
delete from applicationauth where app=''APPLICATION NAME';
delete from maxlabels where app=''APPLICATION NAME';
delete from maxmenu where moduleapp='APPLICATION NAME' and  menutype !='MODULE';
delete from maxmenu where moduleapp='APPLICATION NAME' and  elementtype='APP' and keyvalue='APPLICATION NAME';
delete from appdoctype where app='APPLICATION NAME'';

The application is deleted from the database. Log out of the database editor.

How to hide a button in a application using Signature Options?

In Condition Expression Manager, create a new condition
Condition=1001, description=Always false (you should replace 1001 with a more distinguished name)
Type = Expression
Expression: 1=0

In Application Designer app, open WoTrack app Action menu - Add/Modify Signature Options - New Row -
option name = HIDENEWROW
Description = Hide New Row in Work Order Task
use default values for all other fields
OK out of dialog
Still in Application Designer app, WoTrack app, open Control Properties of the "New Row" button you want to change. Enter "HIDENEWROW" for Signature Option for this button.

In Security Groups app, find all the groups that you'd like to have the New Row button hidden, and do the following:
- Go to application Work Order Tracking
- Filter out option "Hide New Row in Work Order Task"
- In the condition num field, enter "1001" (the new condition you created)
- check Grant access
- save


Sign out, and sign in as a user whose security groups have this setup. Go to Work Order app, Plans tab, and the New Row button in the Task section is hidden.

Manually configuring Microsoft SQL Server for use with Maximo® Asset Management.

You can manually configure Microsoft SQL Server for use with Maximo® Asset Management.

Before you begin

Because Microsoft SQL Server does not support UTF-8, Maximo Asset Management does not have multilingual support when deployed with Microsoft SQL Server.
Microsoft SQL Server Database Collation settings must be set to the following options:
  • Dictionary order
  • Case-insensitive
  • For use with 1252 Character set

About this task

To configure an existing Microsoft SQL Server for use with Maximo Asset Management, perform the following steps before starting the Maximo Asset Management installation program:

5/07/2014

Restricting Synonym domain lookup values in List tab

This can be done by using Security Group data restrictions.

1) Create a condition as below:
Condition Name : TESTSTATUS
Condition expression is VALUE IN ('APPR','WAPPR','DRAFT') <Make sure there is no colon (:) in the expression and also no validation required>

2) Apply condition in Security group :
Select require security group and go to data restrictions tab.
Enter new row :
Object : SYNONYMDOMAIN
Application : <Application name>
Type : Qualified
Condition : TESTSTATUS
Reevaluate : Checked

Save the security group and signout & signin again.
Now you can able to see the only require statuses in List and Advanced Search Tab.

Note : 
1. In condition, make sure there will be no COLON ':' in condition expression. No validation require at condition.
2. By applying condition to SYNONYMDOMAIN at security group data restrictions, it will be applicable all synonymdomains for that application. Usually for any application, synonym domains values (not maxvalue) will be unique.

Defining Default Values for Fields

You can specify a default value for a field by entering that value in the Default Value field of the attribute to which the field is bound. You specify a default value in the Details section for the attribute in the Database Configuration application.

Alternatively, you can define a field default value that is local to an application by using the Default Value control.

To define a field default value using the Default Value control:

1) In the Application Designer, open an application in the Workspace tab.
2) Open the Control Palette.
3) Drag the Default Value control into the section that contains the field for which you want to assign a default value. If you do not see the Default Value control in the section, click Select Action > Toggle Show All Controls.
4) Open Control Properties for the control, and perform the following actions:

  • Enter the name of the attribute bound to the field to which you are assigning the default value.
  • Enter the desired default value in the Value field.
  • Select Insert for the Default Type

5) Click Save

2/11/2014

Maximo URL's

Примеры открытия конкретного объекта в приложении и выборки записей с фильтром

Открыть выборку (sqlwhere или useqbe)
http://server.url/maximo/ui/login?event=loadapp&value=wotrack6&additionalevent=sqlwhere&additionaleventvalue=status%3D'APPR'
http://server.url/maximo/ui/login?event=loadapp&value=sr3&additionalevent=sqlwhere&additionaleventvalue=status%3D'INPROGRO'