IBM BPM üzerinde bir proje geliştirme sırasında BPM objelerinden JSON verisine döndürmem gerekti.Hazır bir kaç toolkit kullansam da elimin de daha esnek olabilmesi açısından bu işi yapan bir java class'ı implement edip bunu jar haline getirdikten sonra bir toolkit olarak paketledim.
Paketi derleyebilmeniz için psclnt.jar ve svrcoreclnt.jar jarlarını projenize dahil etmeniz gerekmektedir.Bu jarların güncel hallerini IBM BPM'in kurulu olduğu dizinde arayarak bulabilirsiniz.
JAR paketlerken bu jarları paketinizin içine dahil etmenize gerek yoktur
Ekteki kodu inceleyebilrisiniz.
6 Haziran 2016 Pazartesi
5 Mayıs 2016 Perşembe
IBM BPM- SİSTEMDEKİ TÜM AÇIK İŞLER
Süreç yönetimizi sisteminizde kullanılan tüm iş adımları tüm fonksiyonlarını modellemeyi , izlenebilir ,sürdürebilir hale getirmeyi amaçlar.
Süreç yönetimi artık bir lüks değil zorunluluk haline gelmiştir.BPM toolları sizin işe gitmenizi değil,işin size gelmesini tek bir ortamdan tüm işlerinizi erişebilmenizi hedefler.Maili kağıtla gelip giden tüm işleri ortadan kaldırmayı hedefler.
Esas paylaşmak istediğim bilgiye gelirsek;
IBM BPM veritabanına erişmeyi önermez,Dışarı açılabilecek tüm işlemler için özellikle rest api ,web servis ve bpm üzerinde bulunan javascript metotlar ile erişmeyi önerir.
Ancak çalıştığım bir projede sistemdeki tüm açık işleri ve kim yada kimlere assign edildiklerini bulmam gerekti.
Hızlı sonuca erişmem gerektiği için dbye bağlanıp bir rapor çıkarmak zorunda kaldım.
Sql db2 kurulu bir bpm server üzerinden çalıştırılmıştır.Ufak değişikliklerle Oracle yada Mssql üzerinde çalıştırabilir hale getirebilir.
Süreç yönetimi artık bir lüks değil zorunluluk haline gelmiştir.BPM toolları sizin işe gitmenizi değil,işin size gelmesini tek bir ortamdan tüm işlerinizi erişebilmenizi hedefler.Maili kağıtla gelip giden tüm işleri ortadan kaldırmayı hedefler.
Esas paylaşmak istediğim bilgiye gelirsek;
IBM BPM veritabanına erişmeyi önermez,Dışarı açılabilecek tüm işlemler için özellikle rest api ,web servis ve bpm üzerinde bulunan javascript metotlar ile erişmeyi önerir.
Ancak çalıştığım bir projede sistemdeki tüm açık işleri ve kim yada kimlere assign edildiklerini bulmam gerekti.
Hızlı sonuca erişmem gerektiği için dbye bağlanıp bir rapor çıkarmak zorunda kaldım.
Sql db2 kurulu bir bpm server üzerinden çalıştırılmıştır.Ufak değişikliklerle Oracle yada Mssql üzerinde çalıştırabilir hale getirebilir.
SELECT
task.task_id AS taskid,
task.close_datetime AS
task_tamamlanma_tarihi,
task.rcvd_datetime AS
task_olusma_tarihi,
task.activity_name AS
task_activity_name ,
task.subject AS task_konu,
task.GROUP_ID as group_id,
instance.bpd_instance_id,
instance.instance_name surecadi,
instance.create_datetime AS
surec_olusma_tarihi ,
instance.execution_status ,
instance.close_datetime AS
surec_kapanma_tarihi,
instance.last_modified_datetime,
grup.kullanicisicil
FROM
db2admin.lsw_bpd_instance instance ,
DB2ADMIN.LSW_TASK task ,
(
SELECT
grupkisi.group_id group_id,
LISTAGG(kisi.user_id, ', ') WITHIN GROUP(ORDER BY
kisi.user_id) as kisibilgisi,
LISTAGG(kisi.user_name, ', ') WITHIN GROUP(ORDER BY
kisi.user_name) as kullanicisicil
-- LISTAGG(kisi.full_name, ', ') WITHIN GROUP(ORDER BY
kisi.full_name) as kullanici_adi
FROM
db2admin.LSW_USR_XREF kisi,
db2admin.LSW_USR_GRP_MEM_XREF grupkisi
WHERE kisi.user_id=grupkisi.user_id group by grupkisi.group_id ) grup
WHERE
task.bpd_instance_id=instance.bpd_instance_id
AND instance.execution_status=1
AND task.close_by IS NULL
AND task.user_id<0 o:p="">0>
and task.group_id=grup.group_id
union all
select
task.task_id as taskid,task.close_datetime as
task_tamamlanma_tarihi,task.rcvd_datetime as
task_olusma_tarihi,task.activity_name as task_activity_name
,task.subject as task_konu,kisi.user_id as kullid,
instance.bpd_instance_id,instance.instance_name surecadi,
instance.create_datetime as surec_olusma_tarihi
,instance.execution_status ,instance.close_datetime as
surec_kapanma_tarihi,instance.last_modified_datetime,
kisi.user_name
from db2admin.lsw_bpd_instance instance ,
DB2ADMIN.LSW_TASK task , db2admin.LSW_USR_XREF kisi where
task.bpd_instance_id=instance.bpd_instance_id
and instance.execution_status=1 and
task.close_by is null and task.user_id>0
and task.user_id=kisi.user_id and task.EXECUTION_STATUS!=1
Kaydol:
Kayıtlar (Atom)