Professional Documents
Culture Documents
InRule Technology
651 W. Washington
Suite 500
Chicago, IL 60661
312.648.1800
inrule.com
© 2013 InRule Technology, Inc. All rights reserved. InRule, InRule Technology, irAuthor, irSDK
and irServer are registered trademarks of InRule Technology, Inc. All other trademarks
referenced herein belong to their respective companies.
Strategies for Building Dynamic .NET Applications
Objectives 3
Summary 18
2|P a ge inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Strategies for Building Dynamic .NET Applications
Objectives of this A business must be decisive, based on decisions that are accurate, timely,
consistent and easy to change. And businesses rely on IT to build systems that
White Paper enable and automate decisive results. For organizations implementing
applications on the .NET platform, IT has the opportunity to leverage their
investments in key Microsoft technologies including Visual Studio and Word.
Section 1 of this paper provides .NET architects and development and project
managers with a basis for understanding dynamic business applications and
dynamic decisioning. It outlines five practical strategies for implementing
dynamic applications on the .NET platform, including diagrams depicting several
possible integration approaches.
3|P a ge inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
Strategies for Enabling What happens when your business changes and your applications don’t
change to support it?
a Decisive Business Typically, existing applications must be updated or completely rewritten, and
cobbled together to try to keep up with the new (and always changing)
demands of the business. Decision logic is based on multiple inputs that are
changing more and more frequently due to internal policies and external forces,
such as legislation, regulations, and changing competition.
4|P a ge inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
Automating the operational decisions that drive the business is a major benefit
of Dynamic Business Applications. The logic and input behind these decisions
change frequently and is understood best by business users (analysts, risk
managers, etc.). For purposes of this Section 2 we will refer to both the
business analyst and SME roles as SMEs. When an application is built with
Dynamic decisioning in mind, SMEs control the rules, logic, and calculations that
are at the heart of every day operations. Dynamic decisioning frees IT staff from
the burden of frequent updates to business logic, yet keeps them in control.
Decision Service: The term decision service refers to a Web service that provides decision logic;
A Web service that
decision services are created to be shared and reused as needed by multiple
provides decision logic.
applications. Web services and decision services are nothing new. But when
you isolate and expose the logic used for a decision service and make it easily
maintainable, even by non-technical SMEs, then you are using dynamic decision
services and you are on your way to exploiting the power of a services
approach.
5|P a ge inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
Yielding some control over business logic is not something to be taken lightly,
but it should be viewed by IT as an opportunity to support the business without
getting mired in the minutia of changing business policies. In reality, non-
technical people have been involved in automating decision logic for years. But
Yielding some control over the tools they use – typically spreadsheets – are not built to be scalable or
business logic is not shareable. Worse, they are completely outside of the control of IT and as such
something to be taken lightly, may pose a security risk.
but it should be viewed by IT
as an opportunity to support It is important to recognize that the future of application development is not
“business as usual,” nor is it “IT as usual.” Application development has become
the business without getting
a partnership using technology that enables IT professionals and SMEs to create
mired in the minutia of
components supporting their domain of expertise, which will be assembled (and
changing business policies. reused and reassembled) by IT into Dynamic Business Applications. The next
strategy explores technology that enables collaboration and empowers SMEs,
while allowing IT to maintain control.
6|P a ge inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
A BRMS isolates, externalizes and exposes decision logic in the form of rules and
calculations, making it easier to find and share decision logic across the
enterprise. The BRMS provides a window into the logic of every day decisions
(see figure 1). Much like what a DBMS did for data a BRMS does for business
rules -- making logic a corporate asset to be shared across the organization.
As stated earlier, not all logic needs to be implemented using a BRMS. A good
rule of thumb is to think of this in three terms:
Volatility - Decision logic that changes frequently should be externalized
to a rule engine where it is easier to find and update
Complexity - Complex rules and calculations are better expressed in a
rule engine, where it’s easier to see if all possible conditions are covered
Visibility - Externalizing rules with a business rule engines can make logic
more easily visible to others in the organization for risk or compliance
reasons
7|P a ge inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
Once you have identified logic that is volatile, complex and/or needs to be
visible to others, delegate responsibility for that logic to SMEs who make
decisions based on this logic and who have a thorough understanding of the
underlying business requirements. This doesn’t mean turning SMEs into
programmers, but giving them the ability to author and update rules and
calculations that they understand.
By putting business decision logic in the hands of subject matter experts, IT can
reduce or remove the bottleneck created by constantly changing business
policies.
We’ll cover this more exhaustively in Section 3, but some of the enabling
features to look for in a BRMS include:
An interface for authoring decision logic that allows an expression of
logic in English-like language, intuitive enough for non-technical users
yet robust enough for technical developers to author complex logic. This
allows SMEs from across the business to contribute to a business
solution without the need to translate business terms to programming
syntax.
Easy integration with data sources, typically set up by IT so that SMEs
can write rules in terms they with which they are familiar (e.g. loan
amount, interest rate, etc.), without needing to understand the data
source, its structure, and how to access it.
An integrated testing environment, allowing rule authors to verify the
behavior and results of rules as they author them.
Administration and management capabilities that allow IT to easily
manage the rules created by SMEs. This includes functionality such as
setting access permissions, managing versions of rules, and controlling
the promotion of rules or sets or rules from development to testing to
production.
An execution engine that optimizes the running of multiple rules under
a variety of conditions.
A rule engine that can be exposed as a web service or an in-process call
8|P a ge inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
9|P a ge inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
10 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
In this example the rules are executed on a centralized Decision Service which
pulls the rules from the Centralized Rule Store (enabling scale-out of the
decision service hardware if needed). The benefit to this approach is that a
wide variety of applications can pass data via a web service call and receive a
decision back. With this approach, those developing/configuring the calling
applications do not need to understand even the basics of how to call the rule
engine or even know that a rule engine is being used.
Web Service
Web Application Call
Server
Rules
Web Service
Call
J2EE
Apps
Mainframe
Apps
11 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
Many BRMSs offer what’s called an execution service. Typically it’s a web
service wrapper around the rule engine which allows for the rules to be called
without the need to write any custom code. The main difference between this
approach and the previously mentioned “Black Box” approach is that the person
configuring/developing the calling application does need to have some
understanding of how to call the rule engine. The main benefit, though, is that
no custom code has to be maintained.
12 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
Often there is a desire to embed a rule engine in a desktop application that will
be on a machine that is disconnected from the organization’s network. By
running the rule engine in-process from within the desktop application and
storing the rules locally as a file this can be achieved quite easily.
13 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Section 1: Strategies for Dynamic Business Applications
The purpose of the controller server is to provide a queue of work from which
each of the processing servers pulls their directives. For example, the queue
could simply be a list of primary keys that the processing servers use to retrieve
the data. As mentioned in the previous examples the rules would come from a
centralized catalog which would most like be located in the Database Cluster.
Controller
Server
Database
Cluster
Conclusion
Application development is in the midst of significant changes, as rapidly
changing business requirements drive the need for Dynamic Business
Applications. The future of application development includes collaboration
between IT and non-technical subject matter experts, aided by technology that
supports collaboration and puts business decision logic in the hands of business
decision makers.
You can add value in the journey toward Dynamic Business Applications by
externalizing business rules and incorporating them into your application
frameworks. The strategies outlined above can help you gain real value today
while moving you closer to a strategic Dynamic Business Applications objective.
14 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
SECTION 2: Overview of Business Rule Technology for .NET
Every BRMS should include capabilities allowing users to author and test, store
and manage, integrate and execute business rules.
Every BRMS should include
Author and Test
capabilities allowing users to:
Author and Test Provides authoring interfaces for both developers and subject matter
experts (business users)
Store and Manage
Allows the authoring of complex rules using Business Language
Integrate Authoring and Decision Tables—without custom programming
Execute Includes integrated real-time testing allowing users to verify rules and
Business rules calculations and perform regression testing without a separate test
environment
Execute
A rule engine provides run-time execution and logic, state management,
performance monitoring, and end-point interaction
Allows rule applications to run in-process, via a web service or using a
message queue
15 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
SECTION 2: Overview of Business Rule Technology for .NET
Word
Subject matter experts at many organizations already use Microsoft Word to
“InRule is now the leading document business requirements and rules. Using a rule authoring tool
pure .NET choice” integrated with Word allows users to manage executable business rules directly
from within a familiar environment. This streamlines the transition from
From A Framework for Business
documenting requirements to executable logic and eliminates the need for
Rules Platform Selection,
separate requirements documents.
presented by Forrester analysts
at Business Rules Forum, Active Directory
November 2009. InRule was Importing Active Directory Users and Groups into the BRMS catalog simplifies
listed as one of the three the creation of user roles and groups. Once Users and Groups are imported, the
strongest BRMS options. administrator can assign roles and permissions to them.
BizTalk Server
A .NET BRMS should provide interoperability with a BizTalk Server
Orchestration, providing a way to call the rule engine directly or through the
use of static .NET Methods that return an XML document with rule results.
SharePoint
For many organizations, Microsoft SharePoint is a leading choice to manage
documents and document-centric, business processes. However, as
organizations look to deploy complex, decision-intensive processes using
SharePoint, they find that extensive customization of SharePoint is required.
Using a BRMS with a Business Process Management (BPM) tool built on top of
SharePoint significantly extends the power of SharePoint for advanced business
process management and business logic automation – without programming.
16 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
SECTION 2: Overview of Business Rule Technology for .NET
A BRMS that is designed, built, and optimized for .NET delivers many capabilities
that generic BRMS can’t (for example BRMS that were built on J2EE and ported
to .NET.)
.NET Classes, XSDs, and Databases – By harvesting schemas from existing .NET
In addition to support for
classes, XML Schemas and Database tables rather than re-creating them,
popular Microsoft tools such as
authoring takes less time and is more accurate.
Visual Studio and Word,
developers should consider .NET Generics - Advanced support for generic classes and methods, which
capabilities that support other combine reusability, type safety and efficiency in a way that their non-generic
.NET features counterparts cannot.
.NET Object Graphs – A BRMS should be able to execute against .NET object
graphs at run-time, acknowledging relationships among objects in the graph.
.NET Collections – Support for native .NET collections is important. For example,
a policy may contain a collection of borrowers, each of which contains
collections of assets and liabilities.
.NET Component Assemblies – The SDK should include a set of .NET assemblies
containing functionality that developers can easily embed within their own
applications. The SDK should require no additional tools to install, and enable
.NET developers to drop controls (such as decision tables and a language editor)
into .NET applications.
.NET Events. A BRMS should expose events to consuming code using native .NET
Events. For example, a rule author may indicate that the rule engine should
raise a .NET event when certain conditions are met and pass data to the
application executing rules. This allows the developer to perform an application-
specific action when those conditions are met during rule execution.
17 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
Strategies for Building Dynamic .NET Applications
Many organizations faced with building applications that can change quickly to
Summary accommodate the changing needs of a business are turning to BRMS to develop
dynamic and decisive business applications. These applications are built to
anticipate and easily accommodate change and deliver decisive results. The
strategies outlined in Section 1 provide a roadmap for developing these dynamic
applications.
As .NET adoption grows, BRMS are increasingly being used to author and
update complex logic within core business applications implemented on a .NET
infrastructure.
With the right tooling and interface options, BRMS allow non-technical people,
such as subject matter experts, to update and manage changes to volatile
business decision logic. This frees IT professionals to focus on broader technical
and integration issues.
InRule, the premier .NET BRMS, provides all the capabilities needed to author
and test, store and manage, integrate and execute business rules for dynamic
business applications that deliver decisive results, while leveraging investments
in key Microsoft technologies.
18 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.
About InRule Technology
With powerful rule management capabilities, a rich SDK, and the ability to
execute rules in process or as a service, InRule enables a flexible Enterprise
Logic Infrastructure, allowing business logic to be managed as an enterprise
asset and used consistently across multiple business processes, applications,
and platforms.
For more information, including white papers and a free trial download, visit
www.inrule.com.
InRule Technology
651 W. Washington
Suite 201
Chicago, IL 60661
312.648.1800
inrule.com
19 | P a g e inrule.com
© 2013 InRule Technology, Inc. All rights reserved.