Title: Versata and ILog
1Versata and ILog
- Bringing Decision Logic into the Transactional
World
Brett Adam Snr. Dir. Market Development
2Agenda
- What is the problem?
- What is the solution?
- What do Versata Logic Server and ILog JRules
actually do? - How do Versata and ILog fit together?
- Whats the impact on the Business?
- How will the relationship work for customers?
3The Business Challenge What
This requires a Service Oriented Architecture
4The Technical Challenge How
The challenges are significant
5Service Oriented Architecture (SOA)
Web Container
Supports multiple, simultaneous interfaces
presentation layer
Business Logic Container
process layer
Maps systems to the processes of your business
J2EE App Server
service layer
Delivers reusable business transactions
data logic layer
Applies business logic to your corporate data
Data Container
integration layer
Integrates with the rest of your enterprise
back office value chain
Leverages the back office enterprise systems
By 2006, the service-oriented architecture (SOA)
Web and non-Web will be the mainstream
practice for enterprise software engineering (0.7
probability).Source Gartner
6Productivity Issue of Implementing a Service
Oriented Architecture
Java IDEs, HTML Java Editors, JSP Wizards, Web
Service tooling Dreamweaver, JBuilder, VA Java,
Vignette, BEA WorkShop, Visual Cafe
presentation layer
process layer
50 Automated / 50 Manual
Workflow Servers FileNet, InConcert, Home-grown
approaches
service layer
20 Automated / 80 Manual
Java IDEs,Wizards, Frameworks JBuilder, VA
Java, Visual Cafe
data logic layer
20 Automated / 80 Manual
integration layer
Integration EAI Vendors WebMethods, Mercator,
Vitria, Tibco, BEA WebLogic Integration,
back office value chain
Enterprise Application SAP, PeopleSoft, Siebel,
home-grown solutions
7An Example of the Business Logic in the Layers
- Process Layer - Process Logic automates the
sequence of transactions over time - Example if requested funds transfer over 1
million, get approval or start the overdraft
process if the customer cant cover the
withdrawal - Services Layer - Transaction Logic automates a
business transaction at a point in time - Example transfer funds from checking to savings
if new check books are requested and customer
balance exceeds 10,000, provide free shipping - Data Layer - Data Logic automates enforcement of
rules about data elements - Example customer account balance is sum of
debits and credit customer balance cannot exceed
credit limit credit limit is either 1M, 500K,
or 50K
Process Layer ?
Services Layer ?
Data Layer ?
8Java IDEs are NOT a Solution for Building
Managing Business Logic
- Java IDEs
- RAD for Presentation Layer
- RAD for Business Logic Layer Stubs Skeletons
ONLY - RAD for Integration Layer Point to Point ONLY
- RAD for Web Service Layer Packaging ONLY
- Framework/Library some runtime support
- Code Editor, Debugger since everything is
ultimately just code - BUT, Java IDEs
- DONT Capture Business Logic Declaratively
- DONT Provide Graphical Design of Business Logic
- DONT Manage Business Logic as an Asset
- DONT Enforce Compliance to J2EE or SOA for
Business Logic - DONT Automatically Reuse Business Logic
- DONT Automatically Optimize Business Logic
- DONT Debug the Business Logic
Java IDEs are absolutely necessary for
implementing many components of an SOA, but dont
provide the necessary requirements for creating,
executing, changing, or reusing the business
logic in your Java Application Infrastructure
9Versata Fills the Business Logic Gap
presentation layer
HTML, Java, JSP Wizards Dreamweaver, JBuilder,
VA Java, Vignette, Visual Cafe
process layer
Process Design, Management, Execution
Versata Logic Server
97 Declared / 3 Hand coded
service layer
Automation of Business Transactions Versata
Logic Server
97 Declared / 3 Hand coded
data logic layer
Enforcement of Business Logic Across Data
Sources Versata Logic Server
97 Declared / 3 Hand coded
Integration EAI Vendors WebMethods, Mercator,
Vitria, Tibco, BEA
integration layer
Enterprise Application SAP, PeopleSoft, Siebel,
home-grown solutions
back office value chain
10Example of Business Logic
Specification
- When Inserting Holding, insert buy Transaction
Create Buy Transaction
Re-calculate Account.PortfolioValue
- PortfolioValue Sum(Holding.CurrentValue)
- CurrentValue QtyOnHand getQuote().getPrice()
- QtyOnHand QtyBought - QtySold
- QtyBought Sum(Transaction.Value where
typebuy)
Check Account Credit Line
- Reject if (Balance lt -CreditLine)
- Adjust Balance by change in SecurityProceeds-Secu
rityCost - SecurityProceeds Sum(Transactions.Amount where
sell) - SecurityCost Sum(Transactions.Amount
where buy) - Send Transaction through EAI to other systems
- If within 10 of CreditLine, start Approval
Process to increase
11Example of Declarative Business Logic
Specification
- When Inserting Holding, insert buy Transaction
Create Buy Transaction
Re-calculate Account.PortfolioValue
- PortfolioValue Sum(Holding.CurrentValue)
- CurrentValue QtyOnHand getQuote().getPrice()
- QtyOnHand QtyBought - QtySold
- QtyBought Sum(Transaction.Value where
typebuy)
Check Account Credit Line
- Reject if (Balance lt -CreditLine)
- Adjust Balance by change in SecurityProceeds-Secu
rityCost - SecurityProceeds Sum(Transactions.Amount where
sell) - SecurityCost Sum(Transactions.Amount
where buy) - Send transaction through MQ to other systems
- If within 10 of CreditLine, start Approval
Process to increase
The Spec is Executable!
12Declarative Approaches Arent New
Second Generation
First Generation
Business Logic
SQL
Versata Logic Server
Relational Database Servers
Business Logic Execution Constrain, Validate,
Compute, Approve
SQL Execution Create, Read, Update, Delete
Database Servers
Business Logic Servers
13Declarative Business Logic Value
- The server does more than just run hand-written
code - Time to Market - routine 2X gain
- Dramatically faster change requirements and
technology - Reduction in business risk associated with custom
application decision - Engage and empower Business Users and Line of
Business Owners - Eliminates unnecessary technology work
- Architecture done right reuse, scalability,
standards - Reduced J2EE resource requirements
- Open and Extensible using standard J2EE
techniques - You focus on the what, the server handles how
14A Fourth Kind of Logic
15The need for Decision Logic
- Even with Versata, some requirements can be hard
to express declaratively - Such requirements are characterized by large
numbers of simple If XXX then YYY type rules - Where each rule is testing the values of the
objects at runtime - These rules are used to support decision making
- Decision support is commonly implemented in
procedural code - If (x or y) then, else if (b c) then, else if
(a)
16Decision Logic
- Decision Logic automates data-driven decisions
- Does this transfer require additional regulatory
approvals based on what we know? - What risk premium should be charged for the
transaction given what we know? - Should we recommend overdraft protection to this
customer given their transaction history? - Decision Logic using ILog JRules does this
declaratively - Sophisticated decision support from large numbers
of simple rules
17Decision Logic Does Not Stand Alone
- Transactions can require decision support
- Complex pricing schemes with hundreds of variant
terms - E.g. Pricing based on customer purchase history
- Processes can require decision support
- Complex rating schemes with hundreds of variant
terms - E.g. Branch if Customer is platinum where
platinum is based on payment history - Decision Logic requires an object model
18Transaction and Decision Logic - Similarities
- Both use simple, declarative statements
- What not How
- Both enable rapid specification
- Both are closer to requirements
- Both are inspectable by business users
- Both have servers that execute the logic
- Both are easily changed
- However
19Managing Business Change
Decision Logic
Process Logic
Rate of Change
Transaction Logic
Data Logic
Corporate
Business Unit
Line Manager
Locality of Control
- Different types of business logic technology
- are applicable to different change contexts
20Transaction Logic with Versata
- Sophisticated data processing C R U D
- Transaction Logic statements are for all X
- Apply to classes of objects (types)
- E.g. For all shoes, the price equals the
wholesale cost times the standard markup adjusted
by the discount - Invariant across transaction sources
- E.g. Account balance can never exceed the Credit
Limit - Defines the object model and its behaviors
- Delivers genuine EJBs!
- Transaction Logic can be sequenced in advance
- Therefore, logic can be compiled at deployment
time - Critical for transactional performance
- Guarantees transactional integrity
21Decision Logic with ILog JRules
- Sophisticated decision support
- E.g. Personalization, Rating, Pricing,
Configuration, etc. - Decision Logic statements (rules) apply to
instances of objects - Draws conclusions based on object data values
(If X then) - Uses a pattern matching approach to determine
whether an individual rule applies or does not
apply to a given object - Requires an object model to exist (uses EJBs)
- Decoupled from the object model
- There may be many thousands of individual rules
which apply to an instance - Logic cannot be sequenced in advance
- The Rules Engine must figure out the interactions
at runtime - Only evaluates those rules that apply based on
instance data - Therefore, logic can also be changed at runtime
22Using All Fours Kinds of Logic Together
- Both Versata Logic Server and the ILog JRules
Engine are J2EE based products - Both products are extensible using Java
- Integration can thus be done by customers today
- Versata is building a connector to make ILog
access easy - Enabling end-to-end declarative business logic
across transactions, processes and decisions
23Connector Integration Capabilities
- Transaction Logic can invoke Decision Logic
- Useful for derivations and constraints
- E.g. Item.Price is derived by
- E.g. Reject Order when
- Decision Logic can interrogate Transactional
objects - To enable decisions to use the object model
24Connector Integration Capabilities
- Process Logic branch control using Decision Logic
- Via Transaction object derived attributes
- Process Work Items can be assigned using Decision
Logic - E.g. Give this work to appropriate resource
25Impact on the Business
- With Versata Logic Server, large scale systems
are faster to build, lower risk and easier to
maintain - IT is more productive and meets the business
requirements more accurately and flexibly - Decision Logic extends these benefits
- Further increases IT productivity for
sophisticated decision support - Captures even more requirements declaratively
- Enables certain changes from the business
managers desk
26ILOG Company Overview
- Founded in 1987, by Pierre Haren, President and
CEO and Patrick Albert, CTO - ILOG is dually Headquartered in Gentilly, France
and Mountain View, California - ILOG is a leading supplier of advanced software
components - ILOG has 575 employees in seven countries
- Offices in Washington DC and Boston
- ILOG is publicly held on NASDAQ and Le Nouveau
Marché under the symbol ILOG
27Summary
- The Versata Logic Server delivers major
productivity and maintenance benefits over
hand-coding for large scale, J2EE based
applications - ILog JRules extends this capability to
sophisticated decision support - You can use the two together today
- Versata is delivering a Toolkit to ease
integration even further - This combination represents the industrys first
end-to-end business logic development and
management solution
28Next steps
- Versata can assist you in deciding whether
Decision Logic is appropriate for your
requirements - Customers will be purchasing products directly
from the respective vendor - Or their authorized partners/reseller channels
- Versata will be publishing the connector as a
Toolkit for all Versata customers to leverage - Toolkits are provided free with purchased services
29QA
?
?
?
?
?
?
?
SLIDES - If you would like a copy of the slides,
please send an email to julie_meister_at_versata.com
MORE INFO - If you would like more information
about Versata and Ilog please contact Kirk Lynd
at 510-628-1562 or kirk_lynd_at_versata.com Thank
you for attending!