Archive

Archive for the ‘Teknologi Informasi’ Category

Password life time on oracle

July 17, 2012 1 comment

Alter Profile

By default, user created in oracle has password expiration on 180 days. It means, when the time reached, the user will be forced to change their current password. This mechanism from security view is has advantages, it makes user aware to always maintain their current profile and data.

But, in other hand, sometimes an application need user with no expiration date of password such as ERP, Procurement etc. In order to facilitate this needs, there’s 2 ways to do so :

  1. Create stand alone profile with unlimited expiration date and assign to user
  2. Update user current profile, set limit of password expiration to unlimited

This time we’ll show the second method, update user current profile.

The steps are :

1. check current user profile using command :

select profile from dba_users where username=’<username>’;

2. Change limit of password expiration policy o unlimited

alter profile <profile_name> limit password_life_time UNLIMITED;

3. Check profile after to make sure policy has been updated

select resource_name,limit from dba_profiles where profile=’<profile_name>’;

Now,all users with this profile has no expiration date policy for their password …

Lampung, 17 July 2012

Aah Ahmad Kusumah

(IT Professional Consultant and Developer)

Loading Purchase Request Using Mincom Connector Java .. (Ellipse Part 1)

July 12, 2012 1 comment

MSO 230

Integration between java and mincom ellipse v.5 is quite tricky. Although mincom provide middleware to facilitate the integration, but we should know all model used in ellipse screens.

Below is first part on how we can communicate and loading data from java application into ellipse server.

In this example will explain about Purchase Request creation.

1. Firstly we should innitiate connection to ellipse server, get connection and store the session.

this is the class to handle connection :

package com.ellipse.main;

import java.io.IOException;
import java.io.InterruptedIOException;

import com.mincom.mims.tech.mware.cbr.CBRException;
import com.mincom.mims.tech.mware.common.EllipseLoginException;
import com.mincom.mims.tech.mware.common.IMimsSession;
import com.mincom.mims.tech.mware.common.MimsSessionFactory;
import com.mincom.mims.tech.mware.common.MwareException;

public class ConnectionEllipse {

private IMimsSession mySession;
private String buflib = “DOWNLOADED_XML”;

String tp;
String host;
String port;
String userHost;
String passHost;

String userEllipse;
String passEllipse;
/**
* EllipseConnection constructor
*/
public ConnectionEllipse() {
initConnection();
}
private void initConnection(){
try{
this.tp = “Cics”;
this.host = “10.1.1.160:ellprd”;
this.port = “0″;
this.userHost = “guest”;
this.passHost = “guest”;
this.userEllipse = “USER”;
this.passEllipse = “USERPASS”;
}catch (Exception e) {
e.printStackTrace();
}
}

/**
* Set the location of the bfl files (for MSO access)
* @param location
*/
public void setBufferLibraryLocation(String location) {
buflib = location;
}

/**
* Connect to the Ellipse server
* @param TP
* @param hostName
* @param portNumber
* @param hostUsername
* @param hostPassword

* @throws EllipseLoginException
* @throws EllipseConnectionException */

public void connect(String TP, String hostName, int portNumber, String hostUsername, String hostPassword) throws EllipseLoginException {

MimsSessionFactory sessionFactory = MimsSessionFactory.getMimsSessionFactory();
mySession = sessionFactory.getMimsSession(TP,buflib);
//            mySession.setTracing();
try {
mySession.connect(hostName, portNumber, hostUsername, hostPassword);
} catch (InterruptedIOException e) {
throw new EllipseLoginException(e.toString());
} catch (IOException e) {
e.printStackTrace();
throw new EllipseLoginException(e.toString());
} catch (CBRException e) {
throw new EllipseLoginException(e.toString());
}
}

/**
* connect without injecting patameter

* @throws EllipseLoginException */
public void connect() throws EllipseLoginException {

MimsSessionFactory sessionFactory = MimsSessionFactory.getMimsSessionFactory();
mySession = sessionFactory.getMimsSession(this.tp,this.buflib);
//            mySession.setTracing();
try {
System.out.println(this.host+”>>> “+this.passHost);
mySession.connect(this.host,0, this.userHost, this.passHost);
} catch (InterruptedIOException e) {
throw new EllipseLoginException(e.toString());
} catch (IOException e) {
e.printStackTrace();
throw new EllipseLoginException(e.toString());
} catch (CBRException e) {
throw new EllipseLoginException(e.toString());
}
}

/**
* This method attempts to login to the Ellipse server.
* @param mimsUser
* @param mimsPwd
* @param district
* @param position

* @throws EllipseLoginException
* @throws EllipseConnectionException */
//login to mims
public void login(String mimsUser,String mimsPwd,String district,String position) throws EllipseLoginException {
try {
mySession.login(mimsUser,mimsPwd,district,position);
} catch (CBRException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
} catch (MwareException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
} catch (com.mincom.mims.tech.mware.common.ServerException e) {
throw new EllipseLoginException(trimQuotes(e.getLocalizedMessage()));
} catch (IOException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
}
}

/**
* using param from ellipse.properties

* @throws EllipseLoginException */
public void login() throws EllipseLoginException {
try {
mySession.login(this.userEllipse,this.passEllipse,”PTBA”,””);
} catch (CBRException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
} catch (MwareException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
} catch (com.mincom.mims.tech.mware.common.ServerException e) {
throw new EllipseLoginException(trimQuotes(e.getLocalizedMessage()));
} catch (IOException e) {
throw new EllipseLoginException(trimQuotes(e.toString()));
}
}

/**
* This method attempts to disconnect from the Ellipse server.

* @throws EllipseLoginException
* @throws EllipseConnectionException */
//disconnect from mims server
public void disconnect() throws EllipseLoginException {
try {
mySession.disconnect();
} catch (IOException e) {
throw new EllipseLoginException(e.toString());
} catch (CBRException e) {
throw new EllipseLoginException(e.toString());
}
}

/**
* Get the current connection to Ellipse

* @return IMimsSession: The current Ellipse session */
public IMimsSession getSession() {
return mySession;
}

/**
* Trim the error message and remove double quotes
* from the ends of the message.
* @param errorMessage String
* @return String
*/
private String trimQuotes(String errorMessage) {
// Start with initial trim
String trimMessage = errorMessage.trim();
// Strip double quotes (“) from error message
if (trimMessage.startsWith(“\””) && trimMessage.endsWith(“\””)) {
trimMessage = trimMessage.substring(1, trimMessage.length()-1);
}
// Trim again on the way out
return trimMessage.trim();
}
}

2. Second step is identify all field screen model on Purchase Request ( MSO 230)

/**
* creating PR
* @param session
*/
public void createPr230(IMimsSession session){
try {
ScreenObject mso = session.executeMSO(“MSO230″);
/** Multi Item PR**/
mso.getFields().item(“OPTION1I”).setValue(“2″);
mso = mso.getCommands().item(“OK”).execute();

/** input requester **/
mso.getFields().item(“REQUEST_BY1I”).setValue(“28025″);
mso.getFields().item(“REQ_BY_DATE1I”).setValue(“18092012″);
mso.getFields().item(“PRIORITY_CODE1I”).setValue(“NORM”);
mso = mso.getCommands().item(“OK”).execute();

/** input item **/
mso.getFields().item(“TYPE1I1″).setValue(“G”);
mso.getFields().item(“QTY_REQD1I1″).setValue(“10″);//quantity
mso.getFields().item(“ACT_GROSS_PR1I1″).setValue(“1000000″);//price
mso.getFields().item(“UOM1I1″).setValue(“AMP”);//UOM
mso.getFields().item(“PART_NO1I1″).setValue(“”);
mso.getFields().item(“ACTION1I1″).setValue(“A”);//input cost center

/** item description **/
mso.getFields().item(“DESC_LINE_11I1″).setValue(“BLA”);
mso.getFields().item(“DESC_LINE_21I1″).setValue(“BLA”);
mso.getFields().item(“DESC_LINE_31I1″).setValue(“BLA”);
mso.getFields().item(“DESC_LINE_41I1″).setValue(“BLA”);
mso = mso.getCommands().item(“OK”).execute();

/** insert cost center **/
mso.getFields().item(“COST_CEN_ACCT1I1″).setValue(“234509876″);
mso = mso.getCommands().item(“OK”).execute();

/** final execution **/
mso = mso.getCommands().item(“OK”).execute();

} catch (Exception e) {
e.printStackTrace();
}
}

 

Voila, now our Purchase Request Has been created …

Continued to 2nd Part ….

 

Lampung, Juli 12 2012

Thursday

 

 

A. Ahmad Kusumah

(Professional IT Consultant)

Clean Up Oracle archive log using cron

July 1, 2012 Leave a comment

Cron List

Oracle has capability for creating hot backup using archive log mechanism. This feature act like recovery data system for restoring database content to specified time if the original database has force majeur which make data corrupted.

But, this mechanism will suck up the free space of hard disk and typically if we don’t maintain the following problem maybe occured :

1. The Space allocated for archive run out which make all transaction will be suspended

2. Hard disk space will be run out

Usually we can delete completed archive log using RMAN command, but this sometimes takes time.

Below is automation script for deleting completed archive log using cron.

1. create script (named cleanarchive.sh)

#!/bin/bash
export ORACLE_BASE=/database/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_OWNR=oracle
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

su – oracle -c rman target / << __EOF__
DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE -7′;
EXIT
__EOF__

2. create new job on cron sequence (will be executed everyday at 22:55)

crontab -e

55 22 * * * /bin/sh /database/oracle/crontab/cleanarchive.sh >/database/oracle/crontab/arch.log 2>&1

3. Restart cron service

Voila …, now the completed archive log will be checked and cleaned up every day, and we just left the archive less then 7 day till the day executed.

 

Tanjung Karang, Lampung

July, 1st 2012

 

Aah Ahmad Kusumah

Chromium OS , first impression .. not a review

June 22, 2012 Leave a comment

OS Logo

Chromium OS as known as Chrome OS is open source operating system developed by google intended for user who ‘always’ sitting for web activity and has ‘stabil’ internet connection. In their official website, chrome os offer fast,simple, secure computing experience based on google cloud technology.

Login Screen

Like as other OS, when it start to ignite, simple ‘splash screen’ logo appear with loading progress indicator. Loading process takes time less than 20 seconds before login screen show up. On the first time it run, we should input and provide our google account. this google account will be act as default user for Chromium OS.

Desktop Screen

First screen appear when we log in is pretty simple, same as Google Chrome Browser, with same option and layout. The difference is the is two icon show up, File Manager Icon and Web Store icon. File Manager Icon is used for maintain file locally and remotely. this file manager provide user interface like as usual file manager for desktop application.

Web Store

The most important thing is Web Store. This is application store has hundreds of ‘plug and play’ application which can be deployed using single click action. Content of Web Store is quite simple, applications grouped by functionality, and also we can manage our application using ‘Your Apps Section’.

Finally, Chromium OS is significantly offer basic functionality for mobile person who always connected to the internet. But, this internet connection  becomes major weakness. Maybe if the world could rely on one massive wifi signal, then this would be handy. But since there is an economy and every limits our internet capabilities to make money off of us. This will become a fail.

 

June, 22nd 2012

Friday, ADW, Wijaya Blok M

 

Aah Ahmad Kusumah

Categories: Teknologi Informasi Tags: ,

SSH service failed on Machine with 2 Active NIC’s

July 24, 2011 Leave a comment

Yesterday,  i found strange behavior on my AIX BOX. after rebooting, the SSH service didn’t start.

when the:

#lssrc -s sshd

invoked, it show that the service is on inoperative state.

To trace the causes, the following command invoked :

#/usr/sbin/sshd -de

the result show that the service is failed to start due to port conflict. It says:

unable to to bind port xxxx, already in use

i checked the active port using netstat -an, there’s no active service using that port.

as a workaround than,  the sshd_config, edited and tha line

#BindAddress xxxxx

is uncommented, means, the ssh service will bind to that address.

Address here is currently active address on one of address bind to active NIC on my box.

and voila …

after rebooting, my ssh service is back to normal again …

 

NOTES:

this problem often occured on a machine with 2 active NIC

 

Tanjung Enim, July 24th 2011

 

A. Ahmad Kusumah

Categories: Teknologi Informasi Tags: , ,

Change SSH port for security reason on AIX

May 5, 2011 Leave a comment

Today i face a problem about ssh and sshd services on my AIX box. Absolutely i can’t connect to the machine using standard port of SSH. This is definitely annoying because this  service of ssh is currently used for maintain and manage the machine remotely.

Thanks to telnet, on first deployment i install the telnet services alongside the ssh for backdoor connection if of the ssh services is failed, so i still connect to my machine.

First step i do is checking the services of sshd an ssh using command below :

#lssrc -s sshd

the result show the services is on inoperative state.

then i invoke the command below to restart the service :

#stopsrc -s sshd

#startsrc -s sshd

the i invoke the first command to see the service state, and the result show the services still on inoperative state.

To see what happened on detail process, the following command invoked :

#/usr/sbin/sshd -de

the terminal show there’s problem on binding port, means the port already used.

to resolve the problem, i decide to change port from standard port to more restricted port. in this case let says the port changed to 789456.

So, what do I do to change this from the AIX side?
Using the following command :

#vi /etc/ssh/sshd_config

I’ve edited the port in /etc/sshd_config (removed the #) Port 789456

I also changed the defaults to 789456 in my  /etc/services

ssh 789456/udp # SSH Remote Login Protocol
ssh 789456/tcp # SSH Remote Login Protocol

then i restart the service again using the following command :

#stopsrc -s sshd

#startsrc -s sshd

to check if the configuration is running well, try to connect to the machine using the following command :

#ssh -p 789456 ahmad@localhost

and voila …. now i can connect to my machine again …

I have read about the security benefits of not using  default port of SSH then i change mine. and now my AIX Box feel more secure …

Cheers

BOG Camp, May 5th 2011

A. Ahmad Kusumah

Categories: Teknologi Informasi Tags: , ,

Kesuksesan Proyek TI … (intro 3 of 4)

December 10, 2010 Leave a comment

(ilustration : zd.net)

Kesuksesan proyek secara umum dirumuskan berdasarkan 3 faktor utama, yaitu faktor waktu, biaya dan kualitas produk yang dihasilkan. Suatu proyek yang sukses tidak mudah untuk dicapai, karena banyaknya kepentingan yang terlibat didalamnya. Kepentingan-kepentingan yang terlibat didalam sebuah proyek diantaranya adalah kepentingan pemilik proyek untuk bisa mendapatkan hasil yang sepadan dengan nilai investasi yang dikeluarkan dalam pelaksanaan proyek. Hal ini juga tentu saja meliputi faktor ketepatan waktu penyelesaian proyek, yang berkenaan langsung dengan rencana pengembangan bisnis pemilik proyek. Dari sisi pelaksana proyek, tentu saja mendapatkan profit sebagai hasil pengerjaan proyek. Namun tentu saja untuk mendapatkan profit yang sepadan, pelaksana proyek harus bisa mengkoordinir semua sumberdaya yang terlibat dalam proyek agar bisa berperan secara efektif sehingga sehingga ekspektasi pemilik proyek bisa dipenuhi, baik itu ekspektasi dari sisi kualitas, waktu pengerjaan dan jumlah biaya yang dikeluarkan.

Dari sisi waktu, suatu proyek disebut sukses jika waktu yang digunakan dalam penyelesaian proyek tidak melebihi target waktu yang disepakati oleh pihak pemilik proyek dan pihak yang mengerjakan proyek (Kristanto,2007). Secara umum persamaan yang menggambarkan hubungan kesuksesan dari sisi waktu bisa dilihat sebagai berikut :

T = T0 + Tt (2,1)

Dengan,

T = target waktu pengerjaan yang disepakati oleh pemilik proyek dan pelaksana proyek.

T0 = target waktu yang tertuang dalam kontrak

Tt = waktu tambahan sebagai akibat adanya perubahan lingkup oleh pemilik proyek.

Dari sisi biaya, kesuksesan sebuah proyek tergantung dari jumlah biaya yang dikeluarkan untuk penyelesaian proyek, apakah sesuai dengan target biaya yang disepakati atau malah terjadi cost overruns. Suatu proyek disebut sukses secara biaya jika jumlah biaya yang dikeluarkan lebih kecil atau sama dengan target biaya yang disepakati (Kristanto,2007). Persamaan yang bisa digunakan untuk merepresentasikan hubungan tersebut adalah :

B = B0 + Bt (2,2)

B = jumlah biaya yang disepakati pemilik proyek dan vendor

B0 = Jumlah biaya yang tertuang dalam kontrak

Bt = Jumlah biaya tambahan yang karena adendum kontrak yang disebabkan oleh perubahan lingkup proyek.

Dari sisi kualitas, sebuah proyek disebut sukses jika output proyek sesuai dengan ekspektasi pemilik proyek, yang tertuang dalam kontrak. Salah satu indikator kesuksesan proyek dari sisi kualitas adalah output proyek digunakan secara intensif dan dijadikan sebagai salah satu alat untuk memperkuat daya kompetitif pemilik proyek.

Dalam hubungannya dengan agile project management, (Cohram dan Bohner, 2005) menyatakan bahwa keberhasilan penerapan agile project management dipengaruhi tiga faktor penting, yaitu people, process dan project characteristics. Faktor people berkaitan dengan faktor sumber daya manusia, dengan parameter keahlian, pengalaman dan perannya dalam proyek. Faktor process berkaitan dengan semua proses yang dilakukan selama proyek berlangsung, dan dalam proses ini juga menyangkut semua perlengkapan pendukung yang dibutuhkan dalam pelaksanaan proyek.

Faktor project characteristic berkaitan dengan tipe proyek yang dilakukan, faktor-faktor bisnis yang menjadi pendorong proyek yang dilakukan. Dalam pelaksanaannya, untuk menghasilkan layanan yang berkualitas dan sesuai dengan ekpektasi dan kebutuhan pemilik proyek, maka dibutuhkan juga sebuah kebijakan yang mengatur pengendalian mutu terhadap hasil proyek.

Sebuah proyek teknologi informasi dikatakan sukses, jika proyek tersebut dilaksanakan tepat waktu, tidak melampaui budget dan sesuai dengan spesifikasi yang diinginkan oleh konsumen (Masterman, 1994 , Curtis et al, 1994). Dari kedua uraian diatas, faktor-faktor yang mempengaruhi kesuksesan sebuah proyek, baik itu ditinjau dari sisi waktu, biaya, ataupun mutu yaitu :

1.      Faktor sumberdaya manusia

2.      Faktor perlengkapan pendukung

3.      Faktor kebijakan dalam pengendalian mutu

4.      Faktor fleksibilitas dan adaptabilitas sebagai representasi dari agility.

Berdasarkan uraian diatas, untuk mengukur kesuksesan sebuah proyek teknologi informasi diperlukan pengukuran dari masing-masing faktor yang terkait dengan proyek tersebut.

End of part 3

Disarikan dari :

EVALUASI PENERAPAN AGILE PROJECT MANAGEMENT
DALAM PROYEK TEKNOLOGI INFORMASI

Aah Ahmad Kusumah (2010)


Follow

Get every new post delivered to your Inbox.