Categories
Content IBM Cloud Pak for Automation

What are the FileNet P8 System Health page contents?

ibm-makaleDomain: Displays the FileNet P8 domain name if a domain was found.
Global Configuration Database: Verifies that the GCD contains a valid domain object, that the XA and non-XA data sources are defined and have unique names, and that the bootstrap user name and password are defined. If any of these verification tests fail, then the failed icon is displayed.
Directory Configurations: Verifies that at least one directory service is configured and lists the number of configured directory service providers.
PE Connection Points: Displays the number of Process Engine connection points.
PE Isolated Regions: Displays the number of Process Engine isolated regions.
Fixed Content Devices Lists the number of fixed content devices (FCDs) For each FCD listed, there is at least one associated fixed storage area that is in the open state.
Object Stores: Verifies that at least one object store exists and lists the number of object stores.
Storage Areas: Verifies that at least one storage area is defined, lists the number of storage areas, and the status for each storage area, such as online or offline.
Content Cache Areas: Displays the number of content cache areas.
Sites: Verifies that at least one site is defined and lists the number of sites. For each site listed, at least one virtual server or server instance exists.

Resources : IBM Knowledge Center

Categories
Content IBM Cloud Pak for Automation

What is a FileNet eForm

ibm-makaleIBM FileNet eForms Designer is a powerful form designer tool which runs on the client side to connect to BPM or ECM

if you want to do , you can use following topics with eForms

Automatic calculations

Data validations

Data validations with external jsp page

Database access with JDBC , ODBC , HTTP or external jsp pages

Data submission to business process

Integrate content engine with Workplace configuration

Develop javascript code with javascript api

Categories
Content IBM Cloud Pak for Automation

What is the diffrence between Workplace and WorkplaceXT?

javaWe are going to talk about FileNet Workplace and Workplace XT.  We must use one of them to connect to Applicatoin Engine.

There are a lot of differences between FileNet Workplace and Workplace XT

Workplace XT comes with IBM FileNet P8 4.0 version. On the other hand Workplace is older than Workplace XT.

Workplace XT is  more user-friendly and faster than Workplace.

Although Workplace is built by Servlet Techologies (with Java Server pages), Workplace XT is built by Java Server Faces. To come to the point JSF is newer than JSP or Servlet

If we are end users, we should prefer to use  Workplace XT for the purposes of processing such as reaching documents, folders andother special purposes.

Workplace XT screens are more useful then Workplace.

Workplace XT has a lot of features such as drag and drop.

On the other hand; Workplace provides a development environment for customization but that the other tools don’t.

If we are developers for Application Engine we will prefer Workplace. In addition we administer FileNet screen with Workplace.

As a result, if we are end users, we will Workplace XT, but if we are system admins , developers or architects we will prefer Workplace.

Categories
Content IBM Cloud Pak for Automation

StringList ve Dokümana Eklenmesi

ibm-makaleOluşturduğumuz doküman classlara tek bir değer değilde birden fazla değer yani bir listeyi set etmek istersek aşağıdaki işlemleri yapmak durumundayız.


Öncelikle oluşturacağımız dokumanın properties değerini yada değerlerine ulaşmamız gerekiyor. Daha sonra com.filenet.api.collection.StringList package`sini import ederiz ve StringList tipinde listler hazırlar ve insert edeceğimiz değerleri bu listeye ekleriz.

Eklenen bu listeyi de oluşturacağımız dokümanın doküman class`ına ekleriz. Artık dokümanımız bir array içeren değere sahip olacaktır.

Categories
Content IBM Cloud Pak for Automation

Choice List : Item Value ve Display Name

ibm-makaleFileNet FEM ile oluşturduğumuz Choice Listlerin Item Value ve Item Display Name değerlerini kod ile select edebilirz ve ekranda bunları istersek bu comboya veya listboxa insert edebiliriz, tabiki isteğe bağlı olarak bunları generic listlere veya istediğimiz diğer işlemler tabi tutabiliriz.

Öncelikle FetchInstance ile Choice List set edilir ve daha sonra Java.API ile com.filenet.api.admin.Choice package`ı projemize ekler Choice nesnesini oluşturarak Choice List nesnesi get_ChoiceValues().iterator() ile iterasyona sokulur.

Her iterasyonu Choice`e cast ederiz ve choice.get_ChoiceStringValue() ile Choice List`imizin Value değerine; choice.get_DisplayName() ile de Display name değerine ulaşırız.

Categories
Content IBM Cloud Pak for Automation

FileNet İmport Export

ibm-makaleFileNet`de document classların , folderların , custom objectlerin ve hatta Lifecycle policy gibi yapıların bir object storedan başkan bir object store`a taşınmasında Export İmport dan yararlanırız. Aslında çok basit olan işlemi şu şekilde yapabiliriz:

Taşımak istediğimiz objeleriçin üzerinde sağ tıklarız Add to export manifest`i seçeriz ve hatta alt classlar içinde inclue sub classes seçeneğini de kullanabiliriz.  Daha sonra Export  Manifest`den Exprot All Objects yaparız , karşımıza gelen ekrandan gerekli pathleri ve şeçenekleri seçeriz. Bize birkaç adet XML dosyasi oluşturacaktır. Oluşturulan XML`ler içinde Set1_CEExport_Manifest.xml isimli XML bizim için önemlidir ve import işlemini bu XML`e göre yapacağız.

Bu objeleri oluşturmak istediğimiz Object Store`da sağ tıklar All Task`dan İmport All yaparız 🙂 Sizinde gördüğünüz gibi aslında çok kolay ve artık objelerimiz başka Object Store`da da oluşmuştur.

Categories
Content IBM Cloud Pak for Automation

FileNet 3.5.2`den FileNet 4.5.1`e Upgrade

ibm-makaleKurumun uzun süredir yapmak istediği ama bazı problemlerden dolayı gerçekleştiremediği FileNet Upgrade Projemiz Nisan ayı içinde başarılı şekilde gerçekleştirildi. Uzun süredir çok yoğun şekilde bunun üzerinde çalışıyorduk ve Türkiye`de de ilk bizim gerçekleştirmiş olmamız bizim içinde büyük bir moral kaynağı oldu.

Öncelikle neler yaptık? Content tarafı için tüm kodlarımızı değiştirdik, COM API yerine FileNet`in 4.X ile kodlamalar için uygulamaya aldıpı FileNet.API `yı kullandık. Tabi bu süreç biraz zor oldu, en baştan kodları yazmak ve tümden yeni İnterfaceleri öğrenmek bayağı zamanımızı aldı. Geçiş sonrası düşünemediğimiz tek konu sanırım bize geri dönen hata mesajlarının değişmiş olduğuydu ama yine de çok güzel bir geçiş gerçekleştirdik, iş kesen bir durum oluşmadı.

Process tarafında ise işimiz biraz daha zordu, konfigurasyonların düzeltilmesi süreçlerin yeni proda atılması, yeni serverlardaki konfigürasyonlar gibi sorunlar bizi çok da yordu fakat tüm bunlara rağmen geçiş çok güzeldi ve benim açımdan çokda zevkliydi.

Gelelim teşekkürlere 🙂

Yöneticim Yavuz Selim Keresteci , çalışma arkadaşlarımız Esra Şenol ve Mehmet Salih Avınç`a, IBM`den Ömer Sever`e , eski yöneticim ve FileNet Trainer`imiz Muhammet Ali Hançer`e katkılarından , yardımlarından ve problemlerimizin çözümündeki aşırı çalışmalarından dolayı teşekkür ederiz.

Categories
Content IBM Cloud Pak for Automation

FileNet 4.5.1 Connection WSE 3.0

ibm-makaleFileNet 3.5.2 versiyonunda da olduğu gibi 4.5.1 versiyonunda da Microsoft WSE ile username password istemeden sisteme connection atabiliriyoruz.

FileNet 4.5.1 de özellikle development kısmında eskiye göre daha stabil ve daha organize bir durum var. Artık classların Interface`lerden türediğini görmek bunun en güzel örneği ve isimlendirmelerin düzeltilmesi de harika.

3.5.2 ile 4.5.1 arasında WSE konusunda en temel farklılık versiyonlarda oluşuyor, artık WSE 3.0 kullanıyoruz ve tabiki  KerberosToken ile username password istemediğimiz gibi UsernameToken kullanarak da kullanıcıdan bu iki parametreyi isteyerek LDAP doğrulaması yaptırmamız mümkün, tercih size kalıyor.

Ayrıca client kurulum yaparakda aynen FileNet 3.5.2 versiyonunda da oluğu gibi connection oluşturabilir ve gerekli işlemlerinizi yapabilirsiniz.

Categories
Content IBM Cloud Pak for Automation

IBM FileNet P8 Sistem Core (Çekirdek) Komponentlar

ibm-makaleFileNet ile ilgili son makalemde P8 sistemde uygulama geliştirmeye küçük bir giriş yapmıştım, bu konuda kısa da olsa bazı bilgiler aktarmıştım. Bu makelemde ise FileNet P8 sistemin Core Component olarak adlandırılan ve sistemin çalışmasını sağlayan Process, Application , Content ve Content Search Engine (çalışmasa da olur) olarak adlandırdığımız 4 engineden kısaca bahsedeceğim.

Öncelikle FileNet için 3 adet core komponent olan Process Engine (PE olarak adlandırılacaktır), Content Engine (CE olarak adlandırılacaktır) ve Application Engine (AE olarak adlandırılacaktır) ve bunların bağlı olacağı mutlaka Microsoft için Active Directory, IBM Tivoli veya Sun Java Directory Server gibi LDAP kurulumu ve konfigürasyonu gerekmektedir.

Tabiki database için Oracle, Microsoft Sql Server ve IBM DB2’dan da birini seçmemiz gerekiyor.  Ayrıca dokümanların da depolanacağı bir depolama birimine ihtiyaç duyarız. Ayrıca bu yapılar aktif aktif olarak çalışılabilmeleri için konfigüre edilebilmektedir, fakat bu kurumu çok büyük maliyetler getirir diyorsaniz hepsini tek makina da da tutabiliriz fakat bu tabiki genişleyebilir iyi bir sistem olmayacaktır.

Ayrıca bu enginelerinde birbiri ile konuşabilmesi için IBM WebSphere gibi Application Server’a da ihtiyaç duyacağız. FileNet 4.X versiyonundan önce bu Apache Tomcat ürünü ile sağlanıyordu. Bunları diğer makalelerimizde çok daha uzun şekilde anlatacağım, fakat şimdi CE, PE ve AE hakkında bilgiler aktaracağım. Aşağıda anlatacağım sistemin genel yapısı vardır.

Content Engine

Buna kısaca oluşturulan tüm dokümanların tutulduğu repository olarak düşünebiliriz. Oluşturmuş olduğumuz bütün jpeg , tiff , doc , docx , mpeg gibi bütün formatların tutulduğu repositorymiz herhangi bir LDAP ürünü ile (örneğin Active Directory) bütünleşiktir ve tüm kullanıcı doğrulama işlemlerini LDAP üzerinden yürütür. Bu da bir anlamda sistemde olmayan kişilerin asla sisteme bağlanamayacağı anlamına gelmektedir, tanımlanmayan kullanıcıların sisteme bağlanamayacak olması bizi güvenlik açıklarında korumaktadır.

Ayrıca Global Configuration  Database dediğimiz sistemin metadata’sının tutulduğu GCD database’i ile oluşturulan Object Store database’lerinin de yönetimini sağlar. Bunu yönetebilmek için FileNet Enterprise Manager (FEM) olarak isimlendirilen MMC (Microsoft Management Console) base alınarak oluşturulmuş hepimizin aşina olduğu Sql Server Management Studio’ya çok benzeyen bir tool vardır. Bu tool ilerde anlatacağım class oluşturma , folder oluşturma, Default Instace Security tanımlama , Storage Area , Storage Policy oluşturma, import export gibi özellikleri barındırır ve bizim Content Engine’in yönetilmesini sağlar.

Ayrıca CE windows, linux veya unix makinalara kurulabilmekte ve problemsiz şekilde çalışmaktadır.

CE authentication için J2EE modelini baz alır yanı JAAS (Java Authentication and Authorization Service) ile CE’ye authentication sağlarız.

CE’in mimari yapısı da aşağıda gösterilmektedir.

Öncelikle CE’ye clientdan ulaşabilmek için geçmemiz gereken katmanlar vardır, bunlardan ilki Web Service Layer olararak adlandırılan COM API (FileNet 3.5.X), FileNet Content Engine Web Service (3.5.X ,4.X , ve 4.5.X) ve FileNet 4.X ile gelen FileNet.API ile eriştiğimiz katmandır. Tabi katmana http üzerinde erişiriz.

Yukarda saydığımız API, Web Service gib yapılarla bu layera ulaşmaktayız.

Daha alt seviyedeki katman ise : EJB Layer’dır. Web Service Layer bu layera erişir, dikkatinizi çekeceği gibi aslında biz EJB Layer’a yukarda saydığımız web service ve API’lar ile ulaşamıyoruz. Fakat Content Engine 3.5 Java.API veya 4.0 Java.API ile bu layera ulaşmaktayız. Burdan şöyle bir sonuç çıkarabiliriz. FileNet P8 sistemde programlama yapacaksanız tercihiniz EJB yapısını kullanarak Java ile kod yazmak olmalıdır ve bu büyük performans kazançları sağlamaktadır.  Bu katmana IIOP üzerinde erişiriz.

EJB katmanı da Core Content Engine katmanına ulaşmaktadır.

Yukarda da belirtildiği gibi CE; LDAP , SAN (Storage Area Network) ve bir DB ile entegredir ve dokuman ekleme, silme , versiyonlama gibi işlemler için SAN ile DB’yi kullanabilmekte (tercihe bağlı) , ayrıca sistemin metadata bilgisi DB de tutulmakta, LDAP ile de authentication – authorization işlemini gerçekleştirmektedir.

Şu ana kadar Content Engine’yi genel yapısı ile inceledik ve anlattık, bundan sonraki makelemizde PE , AE ve CSE ‘den bahsedeceğim. Daha sonra programlama makalelerine başlayacağız.

Categories
Content IBM Cloud Pak for Automation

FileNet P8 Platformu ile Uygulama Geliştirme

ibm-makaleŞimdiye kadar Doküman Yönetim Sistemi ile birlikte IBM FileNet P8 Platformu’nu  nerelerde ve nasıl kullanabileceğimizi, sistemin genel özelliklerini ve bize neler kazandırdığı hakkında genel bilgiler verdik.Bu makalemizde FileNet P8 Sistem üzerinde uygulama geliştirme üzerinde bilgiler vermiş olacağım.

2009 yılında FileNet P8 Platform 4.5.1 versiyonunu çıkardı ve biz bunun üzerinde anlatımlarımızı gerçekleştireceğiz.  FileNet 4.X versiyonundan önce 3.5.2 versiyonu kullanılmaktaydı ve bundan sonra çıkan yeni sürümde major değişiklikler mevcut, bu nedenden dolayı yazılarımızda bazen 3.5.2 sürümünde işlemlerin nasıl olduğunu aradaki farkı da anlatmış olacağım.

Öncelikle FileNet’in content yani içerik yönetimi ile ilgili geliştirmelerin nasıl yapılabileceği üzerinde  makaleler yazacağız ve birkaç makele sonra da süreç yönetimi kısmına da başlayacağız.

Bir önceki makalemizde FileNet P8 Platformunun core componentları hakkında bilgiler aktırmıştım; kodlama yapabilmek için core componentları bilmemiz gerekmektedir. Bizim için en önemli olan Content Engine ile Process Engine olarak isimlendirdiğmiz 2 adet enginedir.   Bu makalemiz de daha önce de belirttiğimiz gibi Content Engine ile ilgili olacaktır.  Content Engine geliştirmeleri için FileNet bize Java programla dili ile geliştirme yapabilmemiz için Java API olarak adlandıracağımız API desteği, Microsoft .Net ile geliştirme yapabilmemiz için API desteği, ve bizi hakkaten şaşırtacak Web Service desteği ve Visual Basic 6.0 gibi yapılar için yani COM desteği sunmaktadır; anlayabileğimiz gibi bu kadar destek sunmaları platformun çok güçlü olduğunun da bir göstergesidir.

Programlama Dili Content Engine API
Java Java API
Microsoft .NET .Net API
Web Service Content Engine Web Service
P8 3.X Versiyonu İçin Java ve COM API (Compatibility için yani eski teknolojiler diyebiliriz)

FileNet P8 Plaformunu yönetimsel olarak kullanmamızı sağlayan Sql Server Management Studio arayüzüne MMC Console kullanıldığı için çok fazla benzeyen FEM olarak adlandırdığımız FileNet Enterprise Manager’da Folder Classlar , Document Classlar , Custom Objeler gibi oluşturabildiğimiz bütün nesneleri yukarda anlattığımız API’ler veya Web Service’ler ile de oluşturabiliyoruz.  Çalıştığımız kurumda oluşturulan ve repositorye atılan dokümanlarda mutlaka uygulamalarla oluşturulmaktadır ve sonuçta her doküman oluşturulması için FEM’e gidemeyeceğiz. Bunlardan dolayı platformun bize sunmuş olduğu bu geniş yelpaze çok işimize yarayacaktır.

Örneğin : Perl ile geliştirme yapıyoruz , o zaman Web serviceler, .Net ile geliştirme yapıyorsak .Net API, Java kullanıyorsak Java API ve yukarda da tabledan da görebileceğimiz gibi COM API ile eski COM teknolojisini de kullanmak mümkündür ve kullanılmaktadır.

Content Engine Java API : Java programlama dili kullananlar için geliştirilmiş API’dır ve .Net API’ye göre performans avantajları vardır. WebSphere ile EJB transport kullanarak Content Engine’e ulaşırken Web Service ile ulaşmış olduğumuz layer’ın daha alt seviyelerine ulaştığımız için Java.API kullanmak her zaman bize performans kazandıracaktır.

Content Engine .NET API : Microsoft Platformunu kullananlar için tasarlanmış API’dir ve Java.API’nin kodlamasına çok benzer. Bunlardan biri ile kodlama yapıyorsanız biraz daha çaba göstererek diğer API ile kodlama yapabilirsiniz. .NET API transport katmanı olarak CEWS (Content Engine Web Service) kullandığı için performansda Java API kadar iyi değildir fakat .NET API’nin en büyük avantajı .Microsoft WSE 3.0 (FileNet 3.5.2 de WSE 2.0) kullandığımız için KerberosToken ile Single Sign On ile FileNet’e gidebilmesidir. Kısacası Username , password istemeden FileNet’e gidebiliriz .NET API ile.

Content Engine Web Service : Web service olduğu için her plaotformdan çağırabiliriz fakat hem .NET API hemde Java API’ye göre performans kayıpları olmaktadır.  CEWS ile de diğer iki API ile yapılanlar Content tarafında aynen yapılmaktadır.

Şunun yanlış anlaşılmasını istemiyorum: performan kaybı demek yavaş çalışacaktır anlamına gelmemeli, Java API diğerlerine göre daha performanslıdır ve .Net API de CEWS (Content Engine Web Service)’e göre daha performanslıdır ama bütün bunların kendilerine göre avantajları dezavantaları vardır , uygumalarda genellikle performans ön plana çıktığı için makelede performans ön plana çıkarılmıştır.

COM Compatibility : FileNet 3.X sürümlerinde kullandığımız bir teknolojidir, FileNet 4.X ie desteği ortadan kaldırılmıştır fakat bunu da eski uygulamalarımız kullanacaksa 4.X versiyonundan kullanmak için ara bir dll yazar bu dll’de COM API kullanır ve FileNet 4.X kullanacağımız arayüzden bunu çağırarak bu problemi ortadan kaldırırız fakat tüm desteğin daha sonraki sürümlerde kalkacağını düşünmekteyim.

Bu API’leri aynı şekilde Process tarafında da kullanabilmekteyiz ama onu daha sonraki makalelerimizde anlatacağım.

Content Engine .NET API

Microsoft .Net teknolojileri ile geliştirme yapan arkadaşlarımız yukarda da belirtildiği gibi bu API ile FileNet’e connection oluşturma, doküman oluşturma , folder oluşturma, dokümanlarla ilgili security’ler , doküman life cycle’larının kullanımı gibi konularda geliştirme yapabilmektedirler.

Bu API’yi kullanabilmek için dikkat etmemiz gereken çok önemli birkaç konu var, bunlar ;

a-) Client’tan FileNet Content Engine Server’ina ulaşabilmek için FileNet.Api.dll’i ile Microsoft.Web.Services3.dll ‘ni geliştmekte olduğumuz programa refere etmemiz gerekiyor.

b-) FileNet’e Singe Sign On (SSO) ile mi yoksa UserName , password ile mi gideceğiz buna karar veririz. SSO ile gideceksek Active Directory’den alacağımız token kerberos token olmalıdır , username password ile gideceksek de bunu user name token’ı kullanacağız.  Kerberos Token’i sadece .Net API de kullanabileceğimizi de bir kez daha belirtiyorum.

c-) FileNet.Api.dll ile Microsoft.Web.Services3.dll client da olması dışından client’a hiçbirşey kurmamıza gerek kalmayacaktır.  Fakat siz yine de client kurulum yapacağım ve onun üzerinden işlemleri yapacağım diyorsaniz FileNet client kurulumu yapar ve FN_EMNetwork.dll gibi sistemin bizim client’a kurmuş olduğu dll’ler vasıtasıyla işlemlerimizi yapabiliriz.

d-) Windows 7 ile Microsoft WSE 3.0 kullanarak FileNet’e ulaşamıyorsunuz, FileNet’e ulaşmak için WCF kullanmanız gerekiyor bu da clientların örneğin Windows XP’den Windows  7 ‘ye geçiş aşamasını çok zorlaştırıyor ve dikkat edilmesi gereken en önemli konu olarak göze çarpmaktadır.

Buraya kadar FileNet P8 Platformunun bize sunmuş olduğu API’ları kısaca anlatmaya çalıştım ve .NET API için giriş yaptık , bundan sonraki yazılarımızda API’nin kodlanması ile ilgili anlatımlar olacaktır.