ServiceObjects in K2[blackpearl]

SmartObjects are cool by themselves. They become cooler when you write your own service objects and hook them up to SmartObjects.

K2[blackpearl] comes with a set of AD service objects which allows you to query AD objects. I wanted to build a service object that would allow me to write to AD.

Firstly, As any good coder would do, You write your code and get that tested for functionality 🙂 My ADUserCreator class was tested for the basic functionality it is providing – creating AD user accounts. This is the feature I want to expose to the K2 world. When wrapped as a service object it becomes a reusable artifact.

I then create a Service Object. This wrapper included definitions of properties and the methods which exposes my AD creation code. These props and methods must be decorated with Attributes. So that I can pass in the values to these properties and get values back out through these properties from my SmartObjects. Using these attributes the K2 designers know what configuration UI to present at design time.

I also need a Service broker object which allows the K2 configuration system to be used to configure this service – So that I can configure the default AD domain to connect to, etc. I placed all these classes in the same namespace and in a single assembly to keep things simple.

I then copy the DLL in to the HostServer install directory. Use K2 service manager to add a service type and create a service instance. Now if I go and look in the k2 object browser my service object is ready to be used in SmartObject methods!

I create my SmartObject and deploy it -bingo I can now create user accounts in AD from my processes, from my ASP.NET apps, from my windows apps, from my custom events, etc, etc using the SmartObject. Awesome.

2 Replies to “ServiceObjects in K2[blackpearl]”

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s