What are Business Rules?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello my name is jamil spain developer advocate with the ibm cloud as a technologist everyone has that opportunity to build that first large-scale application for me that's been almost 14 years ago the first challenge that i encountered where i had to do this task all by myself a single coder of one was actually an online admissions application now doing that process which is way way beyond any hello world i had to actually have the opportunity to put in business logic into the application as i was developing it well there's actually a term for that and it's my topic for today business rules so what exactly are business rules if i had to simplify this for you let's just say that it is the everyday logic that gets programmed into actual applications um not to be confused with business requirements which really that's the output of what you're developing the application for we can call it kind of the success criteria so the business rules are really the way you formulate that business logic in and it's usually done in many different circumstances but let me pose a situation for how it came to be that you kind of kind of work through now now when you think about it in your existing applications whereas when i approach that this is generally how that design actually occurred i started with application code and at some point my immediate goal was to get me over to the actual data store of course now at some point i am building workflows algorithms as you may call it particular patterns that i must follow what happens when someone signs up what happens um when they want to register for a class you know all these type of things in my mind i was trying to picture how do you symbolize those and how does it work so i just take two arrows here but i wanted to kind of formulate that there are many many decisions and functions and methods that must be programmed to work clearly all my data is inside my database so i'm doing a back and forth this can actually be a two-way street here but what i noticed and when i think about when i first started development i really attached my logic into these individual flows so here i may have other functions that actually ran different logic and they were just kind of all over the place functions here functions there kind of as i started to approach them or another business requirement came up or something i had to do that had to be a part of this workflow i just kept piggybacking and band-aiding onto processes all right and it kept on going kept on going and naturally when i had to make changes or update or something evolved i had to try to go back in and band-aid and let's hope that there weren't two types of similar operations that had to occur in both these workflows i had two or more places to kind of go here so this is where exactly where it comes in the context of where i'm talking to you today is formulate that into business rules so you'll have a secondary engine code classes some type of interface that you want to kind of code into where naturally a lot of your data flows in through here and then flows out maybe to your database has that process here and this gives you that one place where you can start to formulate things to have one particular area that data has to flow through and then this gets me back to why business rules are really important so we said it's the everyday logic and you can actually know that that's symbolized by your your your syntax that we usually do for a lot of decision trees so you have your what i like to call the ifs all right uh so this would be expressing logic and we said the ifs so that's the ifs of the thens only if else and naturally i have other conditions when something happens this should happen and maybe [Music] i'll only do this particular piece of logic if and only if so you can tell it gets really it's kind of your basic structures but gives you a big formal way of kind of working with that now you may say why as i like to do with any technology or as a technology anything i want to implement i have to ask myself that question why do i actually want to do this there are obvious benefits that i want to spend my time in re-architecting the application and as i started to work through this video concept here i actually thought about ways i could improve my original design if i actually went with this kind of architecture way back then but let's talk through those and they're very very important to cover here uh the first is efficiency a definitely added point there because naturally you can always see there's only one place i have to make changes all right and that really helps with anything that i want to kind of assimilate and do i have one place to make the code changes i also say for consistency they're definitely going to be a plus in that area as well naturally now with all these different workflows you think about the context of an application for an emissions from maybe any type of institution that has to require an application for admissions is you have many different departments i have one consistent way to represent my workflows and i may have you know maybe for the admission criteria i may have better ways to give to the scholarship committee to understand how we make decisions on admission so it gives you kind of a consistent process that you can use to really help formulate a particular workflows there as well and then the last we have efficiency we're going to be consistent the complexity so not increasing complexity but we have a way to definitely decrease complexity because now we have a easy way to represent how we can take a part of business workflow and break it up into constraints and parts that you know we can simulate it for how it should work here and now we have a template that can actually be used for the next business process and the next business process and quietly this is really the foundation of entering into um actual automation and we'll get a lot about that please check out the process mining video we'll talk about how this this a lot of these activities really parlay you into that particular context here but yeah definitely obvious ways that you can kind of get direct benefits out let's go back to the logic here though we mentioned some of the basic control structures that works but this also goes by there's a there's even a discipline for classifying how these rules apply now they can be constraints and think of constraints as things that immediately happen i already know a condition that's there so i know things that i want to do so we'll call that of uh a yes criteria i met something so i can immediately jump here so for admissions do you have a certain gpa yes we can go um there's you can also do pre and post conditions the what must happen when the data comes in and out just to make sure uh two conditions are set um and things that flow from there um and then uh there's other types of inference we'll say all right scribbled on in there we at least got it in the word is inference here and that's really uh based upon two particular contexts here i can also say whenever i have some facts that i know that i can make decisions on for instance um um you may i mentioned like a particular gpa or certain sat scores i can make different factors there and then we have the things that we can calculate these type of numerical facts or conditions here i'll just do a calc and then those computational things can actually allow to me to get to certain facts here as well i remember at one point we were evaluating the applications i had to build a workflow that helped with evaluation if you did this on your if you input it this from your scoring your essay you got this many points for a number of activities gpa all those things so i have certain facts that i can then make decisions over to know you're in a final group off of there just theorizing here as well so we've kind of moved through on how you kind of start out and how you should have an architecture to take proper implementation of business rules we know the logic that's applied in different really different situations that you can build a lot of the workflows to gain these obvious benefits just to bring it on home here let's talk through a couple of use cases that really i can kind of see besides this that can really be useful or for you to use now the first i did mention here i kind of gave that one away but we said the first was definitely applications now i'm not saying that every actual web application project requires business rules but we are talking some of the large-scale applications that you want to build definitely anything that requires an application you have ways that you can apply definite criteria to work and also a lot of these situations let's say in that situation where we had the application i was building i also had to prove how applications were evaluated so for regulations and compliance you also can have a track record on how you went through and made a decision you know it wasn't just um if these were just loose rules like here it has an opportunity that it could not have gotten picked up or one particular piece of code could not have done the the particular constraint that we wanted to apply but since everything rinses through we have a great opportunity to show how it was evaluated and show that kind of check and balance uh here let's say also for e-commerce so an e-com let's think about the opportunity when you do purchases and returns and throughout the pandemic we know that we bought a lot of things online have been numerous products that have been ordered we definitely always want to make sure before we go back and return has it been the 30 days has it been the 14 days and most a lot of applications i've gone through and used and returned products you have to request the return authorization it's merely going to ask you when did you purchase this and so at that first iteration i have an opportunity to say it's been plus or minus 30 days or 14 and if i would like to that's a great opportunity for me to go ahead and send back a rejection sorry it's been past that time here but definitely give you a way to help evaluate different pieces there and also think about purchasing there's a great opportunity to interact with other systems of inventory moving inventory around we all know that there's been a lot of inventory issues as of yet that we've come through and last but not least one that i love i want you to definitely pay attention to and i think this is great in today's many of today's architectures here and it's um the all right scribble that out personalization so a lot of these engines everything is personal to you and i love it when i actually go to i get to browse the site i may be able to come come back so let's say you have the opportunity of new visitors and returning so if i'm a new visitor i have a great opportunity to put you into my new visitor workflow here are my featured products that i want you to pay attention to here are my deals the specials that i have but let's say i'm a returning user i'm just coming back to a website this can be an opportunity to show me what i've been looking at or to correlate i actually personally love the engine where i'm able to say other people who are looking at this they bought this maybe you should look at these options as well because it's all about diving deep into the specifications and understanding what's the option of why should i buy this over that especially when it comes to all the gadgets that i love here so we've done a lot today we talked about business rules the logic the rules that are required the obvious benefits that you can use to really implement this type of architecture and some use cases that you can kind of immediately jump out to you've always wanted to do this with this is a formal sturdy way of actually implementing this type of logic in your application if you have any questions please drop us a line below and if you want to see more videos like this in the future please like and subscribe
Info
Channel: IBM Technology
Views: 18,524
Rating: undefined out of 5
Keywords: Business Rules, Application Development, Automation, Software Automation, Hyperautomation, Developer, Development, application logic, cloud, ibm, ibm cloud, cloud pak
Id: O0xcKqnBPx8
Channel Id: undefined
Length: 13min 59sec (839 seconds)
Published: Thu Feb 24 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.