TOP NEWS

Isocare Knowledge Management การพัฒนาและการประยุกต์ใช้ระบบการจัดการความรู้ของฝ่ายพัฒนาซอฟท์แวร์ บริษัท ไอโซแคร์ ซิสเตมส์ จำกัด

แสดงบทความที่มีป้ายกำกับ Server&Network&DB แสดงบทความทั้งหมด

วันจันทร์ที่ 8 เมษายน พ.ศ. 2562

GCOOP : Oracle Auto Kill & Restart on Windows Scheduler

Oracle Auto Kill InActive Session












Oracle Auto Restart






เมษายน 08, 2562 By Apple 0

iCoop Member Mobile App : Solution

โปรแกรมบริการสมาชิก Online
(Mobile Application)


iCoop Member

1.คุณสมบัติโปรแกรม



   1.โปรแกรมส่วนงานส่งออกข้อมูล Mobile Gateway



   1.1 โปรแกรมส่วนบริการงานส่งออก/นำเข้าข้อมูลระบบ (Mobile Gateway App)
เป็นโปรแกรมเชื่อมต่อฐานข้อมูลหลักของสหกรณ์เพื่อจัดเตรียมส่งออกข้อมูลที่จำเป็นเพื่อส่งต่อให้กับ ส่วน
Mobile Gateway Server


   1.2 โปรแกรมส่วนบริการงานเชื่อมโยงข้อมูลระบบ (Mobile Gateway Services Server)
เป็นโปรแกรมนำเข้าข้อมูลจากส่วนติดต่อฐานข้อมูลระบบงานหลักสหกรณ์ เพื่อนำเข้าสู่ฐานข้อมูลพักเพื่อบริการ
กับระบบโปรแกรมที่เรีัยกใช้งานผ่านอุปกรณ์ Mobile
  2.โปรแกรมส่วนบริการสมาชิกบนอุปกรณ์ Mobile (Android/iOS)


2.1 โปรแกรมส่วนบริการสมาชิกบน Google Play Store (iCoop Member Online)
เป็นโปรแกรมที่ส่งไปวางที่ Google Play Store เพื่อให้สมาชิก สหกรณ์ Download ไปติดตั้งยังอุปกรณ์ Mobile
เพื่อเรียกดูข้อมูลส่วนตัวสมาชิก หรือ ข่าวสารสหกรณ์ ได้


2.2 โปรแกรมส่วนบริการสมาชิกบน Apple App Store (iCoop Member Online)
เป็นโปรแกรมที่ส่งไปวางที่ Apple App Store เพื่อให้สมาชิก สหกรณ์ Download ไปติดตั้งยังอุปกรณ์ Mobile
เพื่อเรียกดูข้อมูลส่วนตัวสมาชิก หรือ ข่าวสารสหกรณ์ ได้


Mobile Application (Android , iOS)
คุณสมบัติ
1.ดูข้อมูลข่าวสารสหกรณ์
2.ดูข้อมูลส่วนตัว
3.ตรวจสอบสิทธิ์กู้
4.ดูข้อมุลรายละเอียดหุ้น
5.ดูข้อมูลรายการบัญชีเงินฝาก
6.ดูข้อมูลเงินกู้และการค้ำประกัน
7.ดูข้อมูลเรียกเก็บ


2.ลักษณะโปรแกรม (Package)
2.1 iCoop Mobile App แบบ Dedicated Mobile App


2.2 iCoop Mobile App แบบ Shared Mobile App
2.3 iCoop Mobile App เชื่อมโยงงานบริการต่อยอด

เมษายน 08, 2562 By Apple 0

COOP : Mobile app Features

ผลิตภัณฑ์

1 โปรแกรมระบบบริหารงานสหกรณ์ออมทรัพย์ แบบ Web Application

มีการพัฒนาโดยใช้เทคโนโลยีสมัยใหม่ เพื่อช่วยเพิ่มประสิทธิภาพการบริหารจัดการและ
การให้บริการสมาชิกสหกรณ์ออมทรัพย์
     ระบบงานทะเบียนสมาชิกและหุ้น
ระบบงานทะเบียนเงินกู้และการค้ำประกัน
ระบบงานเงินฝาก
ระบบงานการเงิน
ระบบงานบัญชี
ระบบงานประมวลผลจัดเก็บ
 ระบบงานสำหรับผู้ดูแลระบบ


1.Enterprise สำหรับสหกรณ์ขนาดใหญ่
2.Cloud Computing สำหรับสหกรณ์ขนาดกลาง
*นอกจากนี้บริษัทฯยังได้พัฒนาเทคโนโลยี Block Chain
ในการยืนยันตัวตน (Authentication) เพื่อดูข้อมูลสำคัญและออกสัญญาเงินกู้( Smart Contract)

2 ระบบบริการสมาชิกสหกรณ์ ผ่านมือถือ แบบ Online

1.ดูข้อมูลการทำธุรกรรมสมาชิก
2.แจ้งเตือนผลการทำธุรกรรม
3.ตรวจสอบสิทธิ์กู้
4.บันทึกใบคำขอกู้
5.เชื่อมโยงและดูข้อมูลการทำธุรกรรม ATM กับธนาคารได้


รองรับทั้ง Android และ iOS
*นอกจากนี้สมาชิกสหกรณ์ ยัสามารถตรวจสอบข้อมูลการเป็นสมาชิกของสมาคมฌาปนกิจสงค์เคราะห์
สหกรณ์ออมทรัพย์ แห่งประเทศไทย 8 วิชาชีพ และ สส ชสอ

3 ระบบ ATM สำหรับสหกรณ์

 สามารถทำธุรกรรมทางการเงิน ได้แก่ การฝากเงิน ถอนเงิน การจ่ายเงินกู้ และ รับชำระหนี้  โดยสามารถ
เชื่อมโยงและดูข้อมูลการทำธุรกรรม ATM กับธนาคารผ่าน Mobile Application ได้


  1. ATM Direct เป็น ระบบ ATM ที่มีการติดตั้ง ตู้ ATM ไว้ที่ สำนักงานสหกรณ์ และมีการเชื่อมโยง
กับระบบงานสหกรณ์โดยตรง
  1. ATM Online เป็นระบบ ATM ที่มีการติดตั้ง Gateway เชื่อมโยงกับทุกธนาคาร ที่เปิดให้บริการ

4 ระบบเสริมอื่นๆ

 บริษัทฯได้พัฒนาระบบงานที่สำคัญและจำเป็นสำหรับสหกรณ์ในประเทศไทย ได้แก่
- ระบบสำรองข้อมูลแบบอัติโนมัติ
- ระบบแจ้งเตือนการทำธรุกรรมและข่าวสารผ่าน Email และ SMS
- ระบบบริหารบุคคล
- ระบบพัสดุ ครุภัณฑ์




เมษายน 08, 2562 By Apple 0

SSL-Apache-config:กรณีศึกษาสอ.เบทาโกร

SSL-Apache-config:กรณีศึกษาสอ.เบทาโกร



Cert เป็นแบบ wildcard *.betrago.com
https://betagrocoop.betagro.com/webportal/

1.สิ่งที่ได้ รับจาก IT

2.config ที่ xampp
C:\xampp\apache\conf\extra\httpd-ssl.conf
2.1 แก้ port SSL จาก 4449 = 443
Line 36
Listen 443

2.2 แก้ config ssl
Line 80
<VirtualHost _default_:443>


#   General setup for the virtual host
DocumentRoot "C:/xampp/htdocs"
ServerName betragocoop.betrago.com:443
#ต้องตรงกับ domain ที่ cert ผูกไว้
ServerAdmin coop@betagro.com
#ส่วนนี้ต้องตรงกับที่ กำหนด
ErrorLog "C:/xampp/apache/logs/error.log"
TransferLog "C:/xampp/apache/logs/access.log"


Line 67 ให้ comment
#SSLPassPhraseDialog  builtin

2.3 comment ค่าเดิม เพิ่มเติมค่า Path cert ใหม่
#SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateFile "D:/DigiCert_certs/certs/star_betagro_com.crt"


#SSLCertificateKeyFile "conf/ssl.key/server.key"
SSLCertificateKeyFile "D:/DigiCert_certs/certs/star_betagro_com.key"


#SSLCertificateChainFile "c:/Apache24/conf/server-ca.crt"
SSLCertificateChainFile "D:/DigiCert_certs/certs/DigiCertCA.crt"

2.4 แปลง .pfx เป็น .key
ในที่นี้ cert เราติดตั้งที่ D:\DigiCert_certs\certs\
ซึ่งต้องถามรหัสผ่านจาก ผู้สร้าง .pfx ให้ ในที่นี้ คือ password


เปิด cmd
SET PATH=C:\xampp\apache\bin;%PATH%
พิมพ์
D:
Cd D:\DigiCert_certs\certs
openssl pkcs12 -in star_betagro_com.pfx -nocerts -out star_betagro_com.in.key
>>พิมพ์ รหัสผ่าน password


openssl pkcs12 -in star_betagro_com.pfx -clcerts -nokeys -out star_betagro_com.crt
>>พิมพ์ รหัสผ่าน password


openssl rsa -in star_betagro_com.in.key -out star_betagro_com.out.key
>>พิมพ์ รหัสผ่าน password


openssl rsa -in star_betagro_com.in.key -outform PEM -out star_betagro_com.out.pem.key


>>พิมพ์ รหัสผ่าน password

เมษายน 08, 2562 By Apple 0

วันศุกร์ที่ 5 เมษายน พ.ศ. 2562

สรุป ตัวอย่าง Script ในการทำ IVR /Call Center


KM.วิธีการCodingให้ Oracle Procedure เรียกใช้ WCF ได้ ใช้สำหรับระบบเชื่อมโยง ต่างๆ


Concept คือ การที่ Oracle Procedure จะเรียก WCF ได้ ต้องทำผ่าน ในส่วนของ UTL_HTTP
ซึ่ง เพื่อให้ง่ายต่อการแก้ไข ก็จะต้องทำ webpage สำหรับเรียก WCF ก่อน 1 ตัว ในที่นี้ใช้ svc.php และ ไปเรียกต่อ WCF อีกที


ยกตัวอย่างการเรียก  ของระบบเงินฝาก
1.SET Oracle รองรับการ Access URL 2
1.SET Oracle รองรับการ Access URL


BEGIN
       DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('www.xml', 'WWW ACL', 'ISCORFD', TRUE, 'connect');
       DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE('www.xml', 'ISCORFD', TRUE, 'resolve');
       DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('www.xml', '*');
END;

2.php wcf caller เพิ่ม Function ที่ต้องการเรียก WCF
ที่ D:\GCOOP_ALL\CORE\GCOOP\Saving\Applications\mobile\svc.php



if($app=="n_deposit"){


//http://localhost/CORE/GCOOP/Saving/Applications/mobile/svc.php?ip=127.0.0.1&sid=gcoop&u=iscorfd&pwd=iscorfd&coop_id=032001&f=of_analizeaccno&a=n_deposit&p[]=01-01-000041
if($f=="of_analizeaccno"){
try {
//กรณี เป็น Date ต้องเป็น Format : date("Y-m-d")."T".date("H:i:s"),
$parameters = array(
'as_wspass' => "Data Source=$ip/$sid;Persist Security Info=True;User ID=$u;Password=$p;Unicode=True;coop_id=$coop_id;coop_control=$coop_id;",
'deptaccountnoformat' => $_REQUEST["p"][0]
);
$ret = $client->of_analizeaccno($parameters);
//print_r($ret);
  echo $ret->of_analizeaccnoResult;
}catch(Exception $e){
  echo $e->getMessage();
}
}
}
ทดสอบ Run ผ่าน Web Browser

3.Add Oracle Procedure  เพื่อเรียก WCF ผ่าน URL ข้อ 1
3.1 สร้าง WWWGET
Run สร้าง Procedure


create or replace PROCEDURE WWWGET(url in VARCHAR2,clob_buff out VARCHAR2)
IS
   request UTL_HTTP.REQ;
   response UTL_HTTP.RESP;
   n NUMBER;
   buff VARCHAR2(4000);
BEGIN
   UTL_HTTP.SET_RESPONSE_ERROR_CHECK(FALSE);
   request := UTL_HTTP.BEGIN_REQUEST(url, 'GET');
   UTL_HTTP.SET_HEADER(request, 'User-Agent', 'Mozilla/4.0');
   response := UTL_HTTP.GET_RESPONSE(request);
   DBMS_OUTPUT.PUT_LINE('HTTP response status code: ' || response.status_code);


   IF response.status_code = 200 THEN
       BEGIN
           clob_buff := EMPTY_CLOB;
           LOOP
               UTL_HTTP.READ_TEXT(response, buff, LENGTH(buff));
               clob_buff := clob_buff || buff;
           END LOOP;
   UTL_HTTP.END_RESPONSE(response);
EXCEPTION
   WHEN UTL_HTTP.END_OF_BODY THEN
               UTL_HTTP.END_RESPONSE(response);
   WHEN OTHERS THEN
               DBMS_OUTPUT.PUT_LINE(SQLERRM);
               DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
               UTL_HTTP.END_RESPONSE(response);
       END;
       
       /*
       SELECT COUNT(*) + 1 INTO n FROM CMWWWDATA;
       INSERT INTO CMWWWDATA VALUES (n, clob_buff);
       COMMIT;
       */
   ELSE
       DBMS_OUTPUT.PUT_LINE('ERROR');
       UTL_HTTP.END_RESPONSE(response);
   END IF;
END;


 3.2 สร้าง Package รายระบบเพื่อเรียก WCF


แล้วก็ สร้าง Procedure หรือ Function ในการ เรียก WCF แต่ละตัวให้ใช้ ชื่อและpackage ตรงกับ WCF


CREATE OR REPLACE PACKAGE N_DEPOSIT AS


WSPASS CONSTANT varchar2(255) := 'ip=127.0.0.1&sid=gcoop&u=iscorfd&pwd=iscorfd&coop_id=032001';
WCFNM CONSTANT varchar2(255) := 'n_deposit';
URLROOT CONSTANT varchar2(255) := 'http://localhost/CORE/GCOOP/Saving/Applications/mobile/svc.php';


Procedure of_analizeaccno(deptaccountnoformat varchar2,output out varchar2);


END N_DEPOSIT;

CREATE OR REPLACE PACKAGE BODY N_DEPOSIT AS


Procedure of_analizeaccno(deptaccountnoformat varchar2,output out varchar2) is
 URL VARCHAR2(2000);
 WCF_F VARCHAR2(200);
BEGIN
 WCF_F:='of_analizeaccno';
 URL := URLROOT||'?'||WSPASS||'&f='||WCF_F||'&a='||WCFNM||'&p[]='||deptaccountnoformat;
 WWWGET(URL,output);
--rollback;
END;


END N_DEPOSIT;

3.3 Run ทดสอบ


DECLARE
 DEPTACCOUNTNOFORMAT VARCHAR2(200);
 OUTPUT VARCHAR2(200);
BEGIN
 DEPTACCOUNTNOFORMAT := '01-01-000041';


 N_DEPOSIT.OF_ANALIZEACCNO(
   DEPTACCOUNTNOFORMAT => DEPTACCOUNTNOFORMAT,
   OUTPUT => OUTPUT
 );
 /* Legacy output:
DBMS_OUTPUT.PUT_LINE('OUTPUT = ' || OUTPUT);
*/
 :OUTPUT := OUTPUT;
--rollback;
END;


เมษายน 05, 2562 By Apple 0