Sunday, October 11, 2015

IT Blue Print

Apa itu IT Blue Print? Yang saya tahu dari sewaktu kecil kalau blue print itu rancangan atau rencana kerja, istilah yang sering digunakan dalam dunia arsitektur bahwa seorang arsitek akan membuat rancangan/rencana/ide/gambaran dari apa yang akan dibangun, apa saja yang akan dibuat dalam 1 bangunan itu, berapa ukurannya, bagaimana tata letaknya, dan lain-lain

Dari referensi Wikipedia, Blue Print itu..

"Cetak biru (Inggrisblueprint) adalah kerangka kerja terperinci (arsitektur) sebagai landasan dalam pembuatan kebijakan yang meliputi penetapan tujuan dan sasaran, penyusunan strategi, pelaksanaan program dan fokus kegiatan serta langkah-langkah atau implementasi yang harus dilaksanakan oleh setiap unit di lingkungan kerja."

Jadi apa dengan begitu IT Blue Print itu adalah rancangan/rencana IT secara menyeluruh? Atau flow pengembangan sistem yang kita kenal SDLC itu adalah IT Blue Print?

Dari referensi yang saya dapat dari Pak Bambang Suhartono dalam blog pribadinya : https://bambangsuhartono.wordpress.com/2013/09/26/mengapa-it-blue-print-dibutuhkan/, beliau mendefinisikan IT Blue Print itu..


"IT Blue Print  (Cetak biru IT) pada intinya berisi rencana strategis perusahaan dalam mengimplementasikan dan membangun sistem informasi di Perusahaan. Di dalamnya berisi pedoman kebutuhan sistem informasi seperti apa yang diperlukan perusahaan.
Yang perlu menjadi catatan penting adalah bahwa IT Blue Print merupakan turunan dari Business Plan perusahaan dimana masing-masing perusahaan umumnya mempunyai rencana strategis (umumnya dibuat masa 5 tahun, 10 tahun, 15 tahun, bahkan ada yang sampai 25 tahun). Teknologi informasi diimplementasikan sebagai tool untuk membantu perusahaan dalam mencapai visi dan misinya. Karena itu, tanpa ada visi dan misi yang jelas dari perusahaan, IT Blue Print juga tidak bisa dibangun."
Pertanyaan selanjutnya bagaimana cara membuat IT Blue Print? Apa saja yang harus diperhatikan untuk membuat IT Blue Print? Tetap dari referensi yang sama, saya kutip dari blog Pak Bambang Suhartono..
"Karena IT Blue Print harus mengacu pada Business Plan perusahaan, maka langkah pertama yang harus dilakukan adalah memahami visi-misi perusahaan, target dan tujuan yang akan dicapai perusahaan dalam kurun waktu tertentu. Dari situ kita bisa melakukan breakdown secara lebih detil kebutuhan informasi bisnis seperti apa yang dibutuhkan.
Kebutuhan informasi itu misalnya: “Informasi real time tentang kondisi keuangan, profil pelanggan, efektifitas marketing channel, produktifitas setiap pekerja, produktifitas mesin, inventory, profitabilitas setiap produk”, dan berbagai informasi spesifik lain yang disesuaikan dengan kebutuhan masing-masing perusahaan.
Dari berbagai kebutuhan informasi bisnis inilah yang kemudian diterjemahkan menjadi kebutuhan sistem dan teknologi seperti apa yang harus diimplementasikan perusahaan untuk memenuhi kebutuhan tersebut. Biasanya, kebutuhan sistem dan teknologi informasi ini pada saat implementasi diterjemahkan secara teknis menjadi kebutuhan aplikasi perangkat lunak (software) dan perangkat keras (hardware) . Dalam proses ini juga menjabarkan bagaimana perusahaan mengelola berbagai sumber daya yang ada mulai dari aspek organisasi, personel, maupun perangkat lunak (software) dan perangkat keras (hardware) yang akan diimplementasikan.
Bagian akhir dari IT Blue Print adalah apa yang disebut sebagai manajemen proyek yang harus diimplementasikan perusahaan. Pada bagian ini dipetakan proyek IT apa yang menjadi skala prioritas perusahaan dibandingkan dengan proyek yang lain. Manajemen proyek juga mengatur kalender impelementasi setiap proyek hingga kurun waktu tertentu, misalnya dalam tiga hingga lima tahun ke depan. Hal ini akan sangat berguna bagi perusahaan dalam mengatur sumber daya mulai dari keuangan, SDM, dan berbagai sumber daya lain yang terkait."

Pada referensi-referensi lainnya, IT Blue Print itu suatu alat perencanaan atau dokumen-dokumen yang dimiliki organisasi/dept/div IT sebagai panduan untuk menentukan prioritas, budgeting, perencanaan dan manajemen sumber daya manusia dan strategi IT lainnya (Margaret Rouse - whatis.com)

Saturday, February 11, 2012

Setup .NET Framework 1.1 on IIS 6.0 Windows 2003 Server


Running 64-bit Windows does have an affect on your ability to run ASP.NET 1.1 in IIS 6.  ASP.NET 1.1 only supports running in 32-bit mode.  Fortunately, IIS 6 on 64-bit Windows can run in either 64-bit mode or 32-bit mode.
The following steps to run IIS 6 in 32-bit mode can be found in our MSDN documentation:
    1. Click Start, click Run, type cmd, and then click OK.
    2. Type the following command to enable the 32-bit mode:
      cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
    3. Type the following command to install the version of ASP.NET 1.1 and to install the script maps at the IIS root and under:
      %SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i
    4. When we setup a fresh Windows 2003 Server we will not find this installation ASP.NET 1.1 file, we should download it from here
    5. Make sure that the status of ASP.NET version 1.1.4322 is set to Allowed in the Web service extension list in Internet Information Services Manage

    Reference: 
    http://blogs.iis.net/tobintitus/archive/2006/06/15/asp-net-1-1-iis-6-0-and-64-bit-windows.aspx

Monday, September 12, 2011

EXECUTE IMMEDIATE option for Dynamic SQL and PL/SQL

EXECUTE IMMEDIATE is the replacement for DBMS_SQL package from Oracle 8i onwards. It parses and immediately executes a dynamic SQL statement or a PL/SQL block created on the fly. Dynamically created and executed SQL statements are performance overhead, EXECUTE IMMEDIATE aims at reducing the overhead and give better performance. It is also easier to code as compared to earlier means. The error messages generated when using this feature are more user friendly. Though DBMS_SQL is still available, it is advisable to use EXECUTE IMMEDIATE calls because of its benefits over the package.

Usage tips

1. EXECUTE IMMEDIATE will not commit a DML transaction carried out and an explicit commit should be done.
If the DML command is processed via EXECUTE IMMEDIATE, one needs to explicitly commit any changes that may have been done before or as part of the EXECUTE IMMEDIATE itself. If the DDL command is processed via EXECUTE IMMEDIATE, it will commit all previously changed data.
2. Multi-row queries are not supported for returning values, the alternative is to use a temporary table to store the records (see example below) or make use of REF cursors.
3. Do not use a semi-colon when executing SQL statements, and use semi-colon at the end when executing a PL/SQL block.
4. This feature is not covered at large in the Oracle Manuals. Below are examples of all possible ways of using Execute immediate. Hope it is handy.
5. For Forms Developers, this feature will not work in Forms 6i front-end as it is on PL/SQL 8.0.6.3.

Example of EXECUTE IMMEDIATE usage

1. To run a DDL statement in PL/SQL.
begin
 execute immediate 'set role all';
end;
2. To pass values to a dynamic statement (USING clause).
declare
 l_depnam varchar2(20) := 'testing';
 l_loc    varchar2(10) := 'Dubai';
begin
 execute immediate 'insert into dept values (:1, :2, :3)'
   using 50, l_depnam, l_loc;
 commit;
end;

3. To retrieve values from a dynamic statement (INTO clause).
declare
 l_cnt    varchar2(20);
begin
 execute immediate 'select count(1) from emp'
   into l_cnt;
 dbms_output.put_line(l_cnt);
end;
4. To call a routine dynamically: The bind variables used for parameters of the routine have to be specified along with the parameter type. IN type is the default, others have to be specified explicitly.
declare
 l_routin   varchar2(100) := 'gen2161.get_rowcnt';
 l_tblnam   varchar2(20) := 'emp';
 l_cnt      number;
 l_status   varchar2(200);
begin
 execute immediate 'begin ' || l_routin || '(:2, :3, :4); end;'
   using in l_tblnam, out l_cnt, in out l_status;

 if l_status != 'OK' then
    dbms_output.put_line('error');
 end if;
end; 
 
5. To return value into a PL/SQL record type: The same option can be used for %rowtype variables also.
declare type empdtlrec is record (empno number(4), ename varchar2(20), deptno number(2)); empdtl empdtlrec; begin execute immediate 'select empno, ename, deptno ' || 'from emp where empno = 7934' into empdtl; end;

6. To pass and retrieve values: The INTO clause should precede the USING clause.
declare l_dept pls_integer := 20; l_nam varchar2(20); l_loc varchar2(20); begin execute immediate 'select dname, loc from dept where deptno = :1' into l_nam, l_loc using l_dept ; end;

7. Multi-row query option. Use the insert statement to populate a temp table for this option. Use the temporary table to carry out further processing. Alternatively, you may use REF cursors to by-pass this drawback.
declare l_sal pls_integer := 2000; begin execute immediate 'insert into temp(empno, ename) ' || ' select empno, ename from emp ' || ' where sal > :1' using l_sal; commit; end;

EXECUTE IMMEDIATE is a much easier and more efficient method of processing dynamic statements than could have been possible before. As the intention is to execute dynamic statements, proper handling of exceptions becomes all the more important. Care should be taken to trap all possible exceptions.


Reference from: http://www.databasejournal.com/features/oracle
/article.php/2109681/
EXECUTE-IMMEDIATE-option-for-Dynamic-SQL-and-PLSQL.htm