XRules An XML Business Rules Language Introduction Copyright © Waleed Abdulla 2003-2004. All rights reserved. August 2004.

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
Java Script Session1 INTRODUCTION.
SOAP.
XML 6.7 XForms 6. Motivation HTML forms deliver the interactive WWW Forms are what make electronic transactions possible HTML forms are long overdue for.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic JavaScript: Introduction to Scripting.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Computer Concepts 2014 Chapter 7 The Web and .
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
JavaScript Form Validation
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
XML introduction to Ahmed I. Deeb Dr. Anwar Mousa  presenter  instructor University Of Palestine-2009.
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy'
XForms: A case study Rajiv Shivane & Pavitar Singh.
 2003 Prentice Hall, Inc. All rights reserved. CHAPTER 3 JavaScript 1.
XML Anisha K J Jerrin Thomas. Outline  Introduction  Structure of an XML Page  Well-formed & Valid XML Documents  DTD – Elements, Attributes, Entities.
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
1Computer Sciences Department Princess Nourah bint Abdulrahman University.
Another PillowTalk Presentation  2004 Dynamic Systems, Inc. Introduction to XML for SOA Lee H. Burstein,
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Enabling Embedded Systems to access Internet Resources.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
CMPS 211 JavaScript Topic 1 JavaScript Syntax. 2Outline Goals and Objectives Goals and Objectives Chapter Headlines Chapter Headlines Introduction Introduction.
 2003 Prentice Hall, Inc. All rights reserved. CHAPTER 3 JavaScript 1.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Introduction to JavaServer Pages. 2 JSP and Servlet Limitations of servlet  It’s inaccessible to non-programmers JSP is a complement to servlet  focuses.
1 © Netskills Quality Internet Training, University of Newcastle HTML Forms © Netskills, Quality Internet Training, University of Newcastle Netskills is.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
ITCS373: Internet Technology Lecture 5: More HTML.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Using the Right Method to Collect Information IW233 Amanda Murphy.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
XML Engr. Faisal ur Rehman CE-105T Spring Definition XML-EXTENSIBLE MARKUP LANGUAGE: provides a format for describing data. Facilitates the Precise.
Introduction to JavaScript CS101 Introduction to Computing.
Overview of Form and Javascript fundamentals. Brief matching exercise 1. This is the software that allows a user to access and view HTML documents 2.
XP Tutorial 8 Adding Interactivity with ActionScript.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
 Previous lessons have focused on client-side scripts  Programs embedded in the page’s HTML code  Can also execute scripts on the server  Server-side.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Introduction to HTML. _______________________________________________________________________________________________________________ 2 Outline Key issues.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
AJAX. Ajax  $.get  $.post  $.getJSON  $.ajax  json and xml  Looping over data results, success and error callbacks.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
1 CSC160 Chapter 1: Introduction to JavaScript Chapter 2: Placing JavaScript in an HTML File.
ECHO Technical Interchange Meeting 2013 Timothy Goff 1 Raytheon EED Program | ECHO Technical Interchange 2013.
SOAP, Web Service, WSDL Week 14 Web site:
I Copyright © 2004, Oracle. All rights reserved. Introduction.
DHTML.
JavaScript, Sixth Edition
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Web Programming– UFCFB Lecture 17
Chapter 7 Representing Web Data: XML
JavaScript Form Validation
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
WEB SERVICES From Chapter 19, Distributed Systems
JavaScript is a scripting language designed for Web pages by Netscape.
An Introduction to JavaScript
Presentation transcript:

XRules An XML Business Rules Language Introduction Copyright © Waleed Abdulla All rights reserved. August 2004

Definition XRules is an XML based language for writing business rules in a platform independent format.  XRules can be used to describe constraints and calculations that apply to an XML business document.  Business rules written in XRules can be processed on any platform where an XRules processor is available.

Why XRules?

Enterprise Typical Purchase Order Processing System Web User: browser Vendor: desktop application Web Server Backend System Client Side validations and calculations done in JavaScript 1 Client Side validations and calculations done using C++ 2 Incoming Web Service requests validated using XML Schema and VB.NET 4 Server side validations and calculations done using VBScript 3 Incoming purchase orders validated using COBOL. 5 HTTP POST Web Services Backend Native Format Business rules repeated 5 times. Same rules, different methods.

Enterprise The XRules Vision Web User: browser Vendor: desktop application Web Server Backend System Client Side validations and calculations done in XRules Client Side validations and calculations done using XRules Incoming Web Service requests validated using XML Schema and XRules Server side validations and calculations done using XRules Incoming purchase orders validated using XRules. HTTP POST Web Services Backend Native Format One XRules document used on different platforms. XRules

XRules Benefits Communicate business rules  Just as XML Schema is used to precisely describe the layout of XML documents, XRules expresses the business rules that govern the content of these documents. Avoid Duplicate Efforts  Due to the different ways business rules are used, it’s very common to have to rewrite the same business rules multiple times. For example, a user interface interactively informs the user of invalid values, while a web service returns the details of the errors in a SOAP message. XRules avoids the duplication of efforts by allowing the same rules to be used in different contexts on different platforms. Separate Business Rules from Application Logic  In applications where business rules change often, this is a great way to avoid having to update the application whenever business rules change.

What Does XRules Express?

Main Categories of Rules Constraints  These are restrictions on the content of an XML Business Document that must be satisfied for the document to be considered valid. Calculations  These are formulas that describe how values of XML nodes (elements and attributes) in the document are derived or calculated from the values of other nodes or other data sources. Properties  XRules properties are native or user-defined values that are attached to XML elements and attributes without affecting the layout or the contents of the XML document.

XRules Constraints XRules can express a wide variety of simple and complex constraints. XRules complements XML Schema which can be used to express certain types of simple constraints. XRules constraints can have custom error messages to be returned if the constraint rule fails. Examples of constraints:  Example 1: CreditCardNumber is required only if PaymentType is Credit. Otherwise, it’s optional.  Example 2: DeliveryDate must always be greater than or equal to PurchaseDate.  Example 3: ItemID must be unique for each purchased item.

XRules Calculations Calculation rules define how the value of an XML node (element or attribute) is calculated or derived. Calculated nodes can be used in formulas to calculate other nodes. In this case, the XRules processor automatically determines the chain of node dependencies and runs the rules in the correct order. Constants and values from external data sources (databases, web services, other XML documents, …etc) can also be used in calculation formulas. Examples:  Example 1: Tax of a purchase order is equal to SubTotal * StateTaxPercent.  Example 2: StateTaxPercent is 0.08 in CA, 0.06 in NJ, … etc.

XRules Properties XRules properties are name-value pairs that are attached to XML elements and attributes without affecting the layout or contents of the XML document. XRules has two types of properties:  Native Properties allow easy access to information exposed by the XRules processor. For example, xr:valid determines if a node is valid, xr:max determines the maximum valid value for a node.  Custom Properties are user-defined properties that are attached to XML nodes to identify or describe them. XRules properties (native and custom) can be accessed by the application through functions exposed by the XRules processor. Examples:  Example 1 (custom property): CreditCardNumber field is marked as ‘disabled’ when PaymentType is not Credit.  Example 2 (native property): when a ‘required’ constraint rule is put on a node, the xr:required property of that nodes returns true.

Frequently Asked Questions

FAQ Q.How does XRules compare to XML Schema (XSD)? A.While XML Schema focuses on describing the layout of XML documents, XRules focuses on their content. XRules can specify complex constraints that XML Schema is not designed for. And, in addition to that, XRules can define calculations and other relations that specifically address business rules requirements. Q.Can XRules and XML Schema work together? A.Yes. XRules works with XML Schema in many ways:  XRules supports XML Schema data types.  XRules can be embedded in XSD documents. And, vice versa, XSD snippets can be embedded in XRules documents.

FAQ, contd. Q.How can I process XRules documents? A.You can use one of the following types of XRules processors:  XRules Validator: This is the simplest type of XRules processors. It validates an XML document and generates an XML error report. Suitable for validating incoming web service messages.  XRules Calculator: In addition to validating an XML document, it updates it by updating the values of ‘calculated nodes’. The output document might be different from the input document. Suitable for executing business rules in a workflow-style applications.  Dynamic DOM: This is an extension of the W3C DOM. It loads an XML document and binds it to an XRules document to produce a dynamic object model of the XML document in memory. The DDOM rejects updates that violate business rules. And, when nodes are updated, the DDOM updates all dependent nodes automatically. Suitable for driving interactive user interfaces.

FAQ, contd. Q. What’s the current status of XRules? A. XRules is a work in progress. A draft specs document is available, in addition to two XRules processors (DDOM & XRules Validator) and a few sample applications. Q.Will the XRules specs be available for free? A.That’s the plan. The author is considering available options to have XRules adapted by a standards organization. Until that happens, please contact the author for any questions.

FAQ, contd. Q.How can I get more information about XRules? A.The latest specifications and downloads are available online at: Q. Can I contribute to XRules? A. Absolutely. All contributions of feedback, comments, ideas, code, documentation, or sponsorship are very welcome. Credit will be given where credit is due. Q. Can I contact you to discuss XRules or if I have questions? A.Sure. My address is

Thank You Thank you for taking the time to review this presentation. Please don’t hesitate to contact me for any questions. Your help and support are welcome. Regards, Waleed Abdulla