Copyrighted material John Tullis 8/13/2015 page 1 Blaze Software John Tullis DePaul Instructor

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Technical Architectures
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
Chapter 13 Physical Architecture Layer Design
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
Application architectures
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Matthew J Mattia CSC  Cumbersome Code  Consistent/Predictable design (GUEPs #5, CD’s #10)  Display “proper” amount of information  Including.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
UNIT-V The MVC architecture and Struts Framework.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Introduction to Programming Lecture Number:. What is Programming Programming is to instruct the computer on what it has to do in a language that the computer.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Using Runtime Information for Adapting Enterprise Java Beans Application Servers Mircea Trofin *, John Murphy ** Performance Engineering Laboratory * DCU,
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 13: Physical Architecture Layer Design Alan Dennis,
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Implementation - Part 2 CPS 181s March 18, Pieces of the Site-building Puzzle Page 180, figure 4.1.
SE: CHAPTER 7 Writing The Program
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
15 Copyright © 2004, Oracle. All rights reserved. Debugging Triggers.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
© 2011 IBM Corporation ® Managing Decision services in WebSphere Message Broker using WebSphere ILOG JRules. Amar Shah Mallanagouda Patil December 2011.
Structural style Modular design and hierarchy Part 1
CSCI-235 Micro-Computer Applications
Arab Open University 2nd Semester, M301 Unit 5
The Client/Server Database Environment
Systems Analysis and Design With UML 2
Knowledge Byte In this section, you will learn about:
 DATAABSTRACTION  INSTANCES& SCHEMAS  DATA MODELS.
Chapter 2 Database Environment.
Lecture 1: Multi-tier Architecture Overview
Analysis models and design models
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Outline Chapter 2 (cont) OS Design OS structure
Applying Use Cases (Chapters 25,26)
Rule Engine Concepts and Drools Expert
Presentation transcript:

Copyrighted material John Tullis 8/13/2015 page 1 Blaze Software John Tullis DePaul Instructor

Copyrighted material John Tullis 8/13/2015 page 2 Blaze Software Facts about Blaze Software Blaze Software is headquartered in Mountain View, California, and maintains a global network of subsidiaries and resellers in North and South America, Europe, and Asia. Blaze powers e-business projects for more than 200 customers in the high technology, financial, insurance, manufacturing, telecommunications, and healthcare industries, and Blaze software is embedded in leading e- business software packages. Blaze offers complete support for extended enterprise implementations and software vendor implementations, including training, consulting, and integration services.

Copyrighted material John Tullis 8/13/2015 page 3 Blaze Software The Blaze Approach Provides rules based personalization, based on the following: Separation of domain logic from application-control issues Explicit representation of business rules in a nearly Natural Language Scalability of logical complexity High performance in a dynamic environment Ability to reuse business logic

Copyrighted material John Tullis 8/13/2015 page 4 Blaze Software Separation of Domain Logic from Application-Control Issues It is clear that separating out the problem domain’s logic from the rest of the application code will help make it more maintainable. First of all, it is easier to “find” the logic. The logic can then be examined and tested independently from the rest of the application. It can be modified without affecting the rest of the application.

Copyrighted material John Tullis 8/13/2015 page 5 Blaze Software Explicit Representation of Business Rules in a Nearly Natural Language Rapid development and maintenance requires the highest level of representation. The representation that most closely matches the logic described by business users is most likely to be easily changed and extended as required The business user should be able to see concise, natural- language forms of business logic such as: “Customers who have ordered 5000 units from us in any of the last 6 months and have never been late in any payment are Gold customers.”

Copyrighted material John Tullis 8/13/2015 page 6 Blaze Software Explicit Representation of Business Rules in a Nearly Natural Language Also: “If a customer has had two or more withdrawal actions anytime in the last 4 months without at least 1 corresponding deposit action of equal or greater amount, then they are considered customers prone to attrition.” And: “For every line item on the order that is an out-of-season product, discount the price by 5%.”

Copyrighted material John Tullis 8/13/2015 page 7 Blaze Software Scalability of Logical Complexity Simple logical statements only scale if the procedural processing of the logic is removed from the developers’ schedule. A business user should be able to extend the rule statements without being concerned about the calling component’s procedural flow. A business user needs to be able to define one rule incorporating business logic after another without worrying unduly about what order the rules must be defined in and what happens if a prior rule is removed.

Copyrighted material John Tullis 8/13/2015 page 8 Blaze Software High Performance in a Dynamic Environment The logic module should perform satisfactorily while allowing for runtime updates to the rules if necessary. This requires that rules not be translated into compiled 3GL, but instead be maintained in a readable format.

Copyrighted material John Tullis 8/13/2015 page 9 Blaze Software Ability to Reuse Business Logic The rules used in an application should be stored in such a way that they can be reused in other applications if required.

Copyrighted material John Tullis 8/13/2015 page 10 Blaze Software The Rules Engine The only solution to all of the above requirements is to use a process —called the rule engine —that evaluates rules on demand.These rules must be stored in a natural-language-like syntax. The rules engine: Is a piece of generic logic processing code Takes direction from the rules defined by the business people and stored in a rulebase Applies the rules to the object data presented by the application program

Copyrighted material John Tullis 8/13/2015 page 11 Blaze Software The 2 parts of Blaze Advisor A Builder, or development system, with: easy-to-use rule editors and rule syntax complete logic testing and debugging environment visualization tools A Rule Engine, or deployment system, consisting of a high- performance application component designed to easily plug into various software architectures.

Copyrighted material John Tullis 8/13/2015 page 12 Blaze Software Example of “rule” promotionalLineItem is any lineItem such that productClass of lineItem = ('sweater’ or 'skiwear'). If quantity of promotionalLineItem > 3 then discount of Order = 1.08 * quantity of promotionalLineItem

Copyrighted material John Tullis 8/13/2015 page 13 Blaze Software The Blaze Environment

Copyrighted material John Tullis 8/13/2015 page 14 Blaze Software Blaze Technology Q & A Q. How does Blaze Advisor work in an application? A. Blaze Advisor is invoked by your API call from your application. Assuming that rules have been loaded into the system (usually on initialization), Blaze Advisor applies the rules to the business objects that have been made visible to it, and furnishes the results to the calling application by updating the properties of business objects as determined by the rules. In addition, Blaze Advisor can also operate in monitor mode as a separate thread monitoring business objects automatically. It can also invoke handlers to provide more information for the rules to execute against (interactive mode).

Copyrighted material John Tullis 8/13/2015 page 15 Blaze Software Blaze Technology Q & A Q. Blaze Advisor uses Java; is there an alternative if we do not allow Java to be used within our application? A. While Blaze Advisor is written in Java, it is really a component. You can invoke Advisor from: A COM environment (that could include C++ or Visual Basic) A CORBA environment (which supports many languages) Equally, Blaze Advisor rules can refer to external COM or CORBA components written in any supported language.

Copyrighted material John Tullis 8/13/2015 page 16 Blaze Software Blaze Technology Q & A Q. What is the difference between Advisor and expert-systems technology? A. Many expert systems technologies relied on rule engines. However, they tended to be characterized by closed environments, internal object models, and limited performance. Blaze Advisor applies rule engine technology to mainstream software development.

Copyrighted material John Tullis 8/13/2015 page 17 Blaze Software Blaze Technology Q & A Q. How does Blaze Advisor work in a server environment? A. You can plug Blaze Advisor as a rule engine into any frame- work or architecture as required. For example, as a service in a publish-and-subscribe message-oriented middleware (MOM) architecture, the rule engine would receive messages, process them, and send messages like any other service. To handle large numbers of rule sessions, you can use the Blaze Advisor Rule Server to ensure maximum performance and responsiveness for service requests.

Copyrighted material John Tullis 8/13/2015 page 18 Blaze Software Blaze Technology Q & A Q. What is the performance of Blaze Advisor? A. Blaze Advisor performs decision-making operations on business objects.Therefore performance is determined by: the number of rules being executed the number of business objects being processed the processor conditions at the time (CPU speed and load from other applications,etc.) Blaze Advisor uses a highly optimized algorithm to maximize performance under all conditions.

Copyrighted material John Tullis 8/13/2015 page 19 Blaze Software Blaze Technology Q & A Q. How can international customers update the business rules? What languages can rules be written in? A. Blaze Advisor uses the Java language’s built-in international language set to allow you to write rules in any language Java supports. The rule language expressions (“is,” “the,” and so on) remain in English. Q. What languages has Advisor Builder (Blaze Advisor development system), been localized for? A. In addition to the English version, Blaze Advisor Builder has been fully localized for the Japanese market.