Thursday, December 3, 2009
Tibco Integration Snapshot
Governance.... The key to success
Events repository in its simple form should list all the events, the publisher of the event, a simple definition of the event, the list of subscribers to the event. It can be extended to include the attributes of the event, and the attributes the subcribers are interested in.
Tibco recommends using event attributes instead of payload to improve the performance, hence the more thought given upfront defining the event and the attributes and also ensuring proper checks to avoid duplication of events facilitates successful implementation of EDA.
Likewise, a repository is also required to manage rules. Rules should be organized by domain, rule type to facilitate ease of management. Proper procedures should be in place for change management and rule impact analysis. Defining roles and workflow to manage rules will enhance the checks and balances.
Finally, the collaboration between different domains within the organization holds the key for a successful implementation of enterprise Event Driven Architecture. Establishing proper communication mechanisms between different stake holders and understanding dependencies and relationships among various business processes are also equally important.
Wednesday, December 2, 2009
Tibco BE - Custom UI
Tibco BE - Decision manager
Tuesday, December 1, 2009
Thursday, January 22, 2009
Knowledge Management ……….. Simplified
I was talking to my colleagues the other day and were discussing about the clients we worked so far. In the midst of the discussion I realized that I do not remember some of the patterns I used, the tweaks I made to the code and I had to go back to my documentation that I had with me over the years.
My friend was talking about the issues he was having finding the relevant information he was looking for on the intranet.
My other friend told about his experience as to how much he missed the guidance of a guy who worked for the company for a very long time and had left the company.
The solution is possible if the business treats the knowledge component of business activities as an explicit concern of business reflected in strategy, policy, and practice at all levels of the organization
Requirements of a good KM.
· Workspaces for teams to coordinate schedules, organize documents, and participate in discussions within the organization on the intranet.
· Easily manage documents and ensure their integrity:
o require document checkout before editing
o view and post revisions and restore previous versions
o set document-specific security
o storage capability for multiple Gigabytes of data
· Real-time communication triggers that let others know when their actions or attention is required (i.e. documentation, announcements, sophisticated alerts, surveys, discussion boards).
· Templates for ease of creating:
o Weblogs (blogs)
o Wikis (quickly editable by team members)
· Templates for Discussion Boards / Forums
· Searchable Content within Knowledge Base
· Web enabling of e-mail chains
· User rating of content; ratings should affect searchability of content
I have evaluated MOSS (Microsoft Office SharePoint Server 2007) as a potential tool for KM and I am impressed by the features available.
Tuesday, January 20, 2009
Content Management …………… Simplified
The question is how to give the business owners the ability to make content changes without having to make the changes to the code base.
Let’s go back to our Insurance Company example to illustrate this better.
For the sake of this example let’s assume that all businesses have web interfaces that are consumer facing and the business wants to have a review process in place before the content gets to the consumer.
In a nut shell we need a Workflow.
We need to have clearly defined roles like Author, Reviewer, Approver, Publisher to support the business process of publishing the content.
Now let’s explore how the content is consumed by the departments.
"New Business" consumes the content by directly interacting with the content database, "Renewals" consumes a DLL which is generated say by a batch process which is run twice in a week, "Claims" gets the content via Web Services exposed by the CMS.
Now we not only have inconsistency in terms of how the applications access the content, but also how fast the content is available for application consumption.
Things will get further complicated if the Business decides to expose business process to different delivery channels.
I illustrated this as a cross domain example for the sake of understanding, but the same principle applies to all the applications within the domain that consume content.
So need to not only develop a good Content Model but also a consistent Delivery Model that could address these issues.
Monday, January 19, 2009
Board the ......... BUS
Let’s find out.
Assume that our New Business is a .Net shop, Renewals is a Java shop and Claims is some other shop.
How many times do we come across of a situation that forces us to change our client side code if the provider of a service decides to switch technologies, protocols, endpoints?
Sounds familiar….
How about having a mediator that can hide the complexities of these very same headaches?
Let’s take another scenario.
If an accident takes place and Claims department processes the claim but you want them to notify the event to other departments (New Business and Renewals)?
How about having an infrastructure that could handle these things?
The answer to above questions is Enterprise Service Bus (ESB).
Services………Simplified
So what are Services in SOA?
Services are broadly classified into two categories Business Services and Technology Services.
Let’s explore these with the example of a fictious insurance company “XYZ”.
For the sake of this example assume that there are just three departments (domains) New Business, Renewals and Claims.
New business as evident from the name issues new policies to the consumers and the business process ( for issuing a new policy) includes the following steps.
Capture Driver Info
Capture Vehicle Info
Get Prior Insurance Info
Get Accidents Info
Calculate Premium
Process payment
Issue Policy
The ones in bold above are the best examples of business services that support the underlying business process.
Make a note that we have not talked about technology yet.
Renewals on the other hand has the following steps.
Get Accidents Info
Calculate Premium
Process Premium
Issue Policy
Now if you are designing/building a system to process renewals it is important to not only have a vertical view of the domain but also have a horizontal view across domains(New business and claims in our example) to make sure that the information you need is available or not.
As you noticed that there are similar business services available in New Business.
The question is how Renewals will be able to use the Business Services from New Business.
The answer could be the much talked about Web Services. However, great care should be taken to expose a business service as a web service. Not every business service is a candidate for a web service. If some of these business services are very specific to a particular domain, we have to think twice before exposing these services as web services.
Now let’s talk about Technical Services.
Technical Services are services that will help build business services. These could be set of common services like logging, security etc….
Enterprise Frameworks built on .Net and Java assist in accomplishing these tasks. Frameworks however has a much broader scope. It is a vertical that can be used across horizontal layers like (UI, Business Services, Data Services, Utility Services)
Now that we have a determined that GetAccidentsInfo is a good candidate to be exposed as a web service, we will create one using WCF.
Tuesday, January 13, 2009
Azure, Oslo and more....
In a nut shell,
Azure is Microsoft's Cloud services Platform.
Oslo is Microsoft's Model Driven Application Platform. I am not sure at this point how the two will come together. Hopefully Microsoft sticks to a plan on Oslo.
I liked the last presentation on ASP.Net MVC and Dynamic Data.
Sunday, January 11, 2009
Windows 7 Beta
There were issues downloading the software on Friday but was restored on Saturday. You can get the latest updates on Windows 7 from the blog.
Monday, January 5, 2009
MSDN Developer Conference
Friday, January 2, 2009
Microsoft SOA
Here is an excellent read on the subject from Microsoft. The link lets you download a PDF version as well as XPS version.
With so many definitions and explanations going around on SOA, I thought this one is a good effort from Microsoft.