Flexible Data Acquisition In Object-aware Process Management

1y ago
3 Views
3 Downloads
1.54 MB
15 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Adalynn Cowell
Transcription

Flexible Data Acquisitionin Object-aware Process ManagementSebastian Steinau, Kevin Andrews, and Manfred ReichertInstitute of Databases and Information Systems, Ulm University, ichert}@uni-ulm.deAbstract. Data-centric approaches to business process management, ingeneral, no longer require specific activities to be executed in a certainorder, but instead data values must be present in business objects fora successful completion. While this holds the promise of more flexibleprocesses, the addition of the data perspective results in increased complexity. Therefore, data-centric approaches must be able to cope with theincreased complexity, while still fulfilling the promise of more flexible processes. Object-aware process management specifies business processes interms of objects as well as their lifecycle processes. Lifecycle processesdetermine how an object acquires all necessary data values. As data values are not always available in the order the lifecycle process of an objectrequires, the lifecycle process must be able to flexibly handle these deviations. Object-aware process management provides operational semanticswith flexible data acquisition built into it, instead of tasking the processmodeler with pre-specifying a flexible process. At the technical level, theflexible data acquisition is accomplished with process rules.1IntroductionData-centric modeling paradigms part with the activity-centric paradigm andinstead base process modeling and enactment on the acquisition and manipulation of business data. In general, a data-centric process no longer requirescertain activities to be executed in a specific order for successful completion;instead certain data values must be present, regardless of the order in whichthey are acquired. Activities and decisions consequently rely on data conditionsfor enactment, e.g., an activity becomes executable once required data valuesare present. While this holds the promise of vastly more flexible processes intheory, it is no sure-fire success. The increased complexity from considering thedata perspective in addition to the control-flow perspective requires a thoughtfuldesign of any approach for modeling and enacting data-centric processes. Thisdesign must enable the flexibility of data-centric processes, while still being ableto manage the increased complexity.Object-aware process management [11] is a data-centric approach that aimsto address this challenge. In the object-aware approach, business data is held inattributes. Attributes are grouped into objects, which represent logical entities inreal-world business processes, e.g., a loan application or a job offer. Each object113

has an associated lifecycle process that describes which attribute values needto be present for successfully processing the object. Lifecycle processes adopta modeling concept that resembles an imperative style, i.e., the model specifiesthe default order in which attribute values are required. Studies have indicatedthat imperative models posses advantages in understandability when comparedto declarative models, which are known for flexibility [14]. While the imperativestyle allows for an easy modeling of lifecycle processes, it seemingly subvertsthe flexibility promises of the data-centric paradigms, as imperative models arerather rigid. However, in object-aware process management, the operational semantics of lifecycle processes allow for data to be entered at any point in time,while ensuring correct process execution. The imperative model provides onlythe basic structure. This has the advantage that modelers need not concernthemselves with modeling flexible processes, instead the flexibility is built intothe operational semantics of lifecycle processes.The functional specifications of the operational semantics of lifecycle processes have partially been presented in previous work [10]. This paper expandsupon this work and contributes extended functionality and the technical implementation of the operational semantics, provided in the PHILharmonicFlowsprototype. This technical implementation is based on the process rule framework, a lightweight, custom process rule engine. The framework is based onevent-condition-action (ECA) rules, which enable reacting to every contingencythe functional specification of the operational semantics allows for, i.e., correctlifecycle process execution is ensured. The process rule framework will furtherprovide the foundation for implementing the execution semantics of semantic relationships and coordination processes, the object-aware concept for coordinatingobjects and their lifecycle processes [16]. With the transition of PHILharmonicFlows to a hyperscale architecture [2], the process rule framework is fully compatible with the use of microservices, enabling a highly concurrent execution oflifecycle processes with large numbers of user interactions.The remainder of the paper is organized as follows. Section 2 provides thefundamentals of object-aware process management. In Section 3, the extendedoperational semantics are presented. The process rule framework at the coreof the operational semantics implementation is discussed in Section 4. Finally,Section 5 elaborates on related work, whereas Section 6 concludes the paper witha summary and an outlook.2FundamentalsObject-aware process management organizes business data in form of objects,which comprise attributes and a lifecycle process describing object behavior.PHILharmonicFlows is the implementation of the object-aware concept to business process management. Object-aware process management distinguishes designtime entities, denoted as types (formally T ), and run-time entities, denoted asinstances (formally I ). Collectively, they are referred to as entities. At run-time,types can be instantiated to create one or more corresponding instances. For114

the purpose of this paper, object instance (cf. Definition 1) and lifecycle processinstance (cf. Definition 2) definitions are required. The corresponding type definitions can be found in [11]. The “dot” notation is used to describe paths, e.g.,for accessing the name of a particular object instance. describes the undefinedvalue.Definition 1. An object instance ω I has the form (ω T , n, ΦI , θI ) where thefollowing definitions hold:– ω T refers to the object type from which this object instance has been generated.– n is the name of the object instance.– ΦI is a set of attribute instances φI , where φI (n, κ, vκ ), with n as theattribute instance name, κ as the data type (e.g., string, bool, integer), andvκ as the value of the attribute instance.– θI is the lifecycle process (cf. Definition 2) describing object behavior.An object’s lifecycle process (cf. Definition 2) is responsible for acquiringdata values for the attributes of the object.Definition 2. A lifecycle process instance θI has the form (ω I , Σ I , Γ I , T I ,Ψ I , Eθ , µθ ) where the following definitions hold:– ω I refers to the object instance to which this lifecycle process belongs.– Σ I is a set of state instances σ I , with σ I (n, ΓσI , TσI , ΨσI , µσ ) where n is the state name. ΓσI Γ I is subset of steps γ I . TσI T I is a subset of transitions τ I . ΨσI Ψ I is a subset of backwards transitions ψ I . µσ is the state marking.II, P I , λ, µγ , dγ )– Γ I is a set of step instances γ I , with γ I (φI , σ I , Tin, Toutwhere φI ω I .ΦI is an optional reference to an attribute instance φI from ΦIof object instance ω I . Default is .If φI , the step is denoted as an empty step instance. σ I Σ I is the state instance to which this step instance γ I belongs.II Tin TσI is the set of incoming transition instances τin.III Tout Tσ is the set of outgoing transition instances τout. P I is a set of predicate step instances ρI , P I may be empty, withρI (γ I , λ) where γ I is a step instance. λ is an expression representing a decision option.If P I 6 , the step instance γ I is called a decision step instance. λ is an optional expression representing a computation.If λ 6 , the step instance γ I is called a computation step instance. µγ is the step marking, indicating the execution status of γ I . dγ is the step data marking, indicating the status of φI .115

II– T I is a set of transition instances τ I , with τ I (γsource, γtarget, ext, p, µτ )whereI γsource Γ is the source step instance.I γtarget Γ is the target step instance.II ext : γsource.σ I γtarget.σ I is a computed property, denoting the transition as external, i.e., it connects steps in different states. p is an integer signifying the priority of the transition. µτ is the transition marking.– Ψ I is a set of backwards transition instances ψ I , Ψ I may be empty, withIIψ I (σsource, σtarget, µψ ) whereII σsource Σ is the source state instance.III σtarget Σ I is the target state instance, σtarget Predecessors(σsource). µψ is the backwards transition marking.– Eθ is the event storage for θI , storing execution events E .– µθ is the lifecycle process marking.All sets are finite and must not be empty unless specified otherwise. The functionPredecessors: σ I Σ I determines a set of states from which σ I is reachable.The function Successors is defined analogously.Note that for the sake of brevity the value of a step γ I refers to the value ofthe corresponding attribute γ I .φI . Furthermore, correctness criteria have beenomitted from Definitions 1 and 2. For the sake of clarity, a lifecycle process isdescribed by a directed acyclic graph with one start state and at least one endstate. Figure 1 shows object instance Bank Transfer with attributes and thelifecycle process. The object instance represents a simplified transfer of moneyfrom one account to another. For this purpose, the states and the steps of alifecycle process can be used to automatically generate forms. When executinga process, the auto-generated forms are filled in by authorized users. The PHILharmonicFlows authorization system and its connection to form auto-generationhas been discussed in [1].IIandAs depicted in Figure 1, the state σInitializedcontains steps γAmountIIIγDate , signifying that values for attributes φAmount and φDate are required duringprocess execution. For the sake of brevity, the properties of an entity (e.g., thename of a step γ) may be written as a subscript, e.g., γAmount for the firstIstep in Figure 1. The form corresponding to σInitializedcontains input fields forIIsteps γAmount and γDate . This means a state represents a form, whereas the stepsrepresent form fields. The φIComment field is an optional field visible to a user dueIto the authorization system of PHILharmonicFlows. In state σDecision, a decisionIstep γApprovalrepresents the approval of the bank for the money transfer. TheIautomatically generated form displays γApprovalas a drop-down field. End statesIIσApproved and σRejected display an empty form, as the contained steps are empty(cf. Definition 2). Transitions determine at run-time which attribute value isrequired next, an external transition also determines the next state. Backwardstransitions allow returning to a previous state, e.g., to correct a data value.116

Bank Transfer - InitializedFormAmountForm FieldDateBank Transfer - ApprovedPredicate StepgeneratesgeneratesObjectInitializedAmount : IntegerDate : DateAmountDecisionDateTransferApproval Approval true Approval falseApproval : BoolComment : StringLifecycleProcessRejectedExternal TransitionStepBackwards TransitionTransitionFig. 1. Example object and lifecycle process of a transfer3Lifecycle Process Operational SemanticsData acquisition in PHILharmonicFlows is achieved through forms, which canbe auto-generated from lifecycle process models θI . A form itself is mappedto a state σ I of the lifecycle process θI , form fields are mapped to steps γ I .As a consequence, the operational semantics emulate the behavior of electronicand paper-based forms, following a “best of both worlds”-approach. Paper-basedforms provide a great overview over the form fields, i.e., every form field maybe viewed at any point in time. Furthermore, they provide a reasonable defaultstructure, but allow filling form fields at any point in time and in any order,e.g., starting to fill in form fields in the middle of the form is possible. In turn,electronic forms usually provide less overview, i.e., viewing subsequent forms isnot possible before having filled out all mandatory fields in the current form. Incontrast to paper-based forms, however, electronic forms are able to only display relevant fields, especially in context of decision branching. For example, anelectronic anamnesis form at a physician’s office may skip the questions relatedto pregnancy entirely if the patient is male. Additionally, electronic forms allowfor data values to be easily changed as well as input verification, e.g., ensuring that a date has the correct format or all mandatory form fields possess avalue. PHILharmonicFlows combines the advantages of both paper-based andelectronic forms, providing flexibility in entering data while ensuring a correctlifecycle process execution.3.1Lifecycle Process ExecutionFor realizing the combined benefits, the progress of a lifecycle process θI isIdetermined by its active state σA, i.e., marking σ I .µσ Activated . Only oneIstate σ may be active at any point in time. Per default, the form of the active117

state is displayed to a user when executing a lifecycle process θI . However, theuser may choose to display forms of other states. When processing θI , the activestate changes, depending on data availability and decision results. For example,in regard to Figure 1, starting the execution of the lifecycle process activatesIIIσInitialized. If values for steps γAmountand γDateare available (cf. Section 3.2),IIσInitialized may be marked as µσ Confirmed , and the next state σDecisionImay become active, i.e., σDecision .µσ Activated . Depending on the value ofIIIor σRejectedbecomes active. As both states are endγApproval, either σApprovedIstates, the execution of θ terminates. The active state possesses a crucial role inthe execution of θI , as consequences from data acquisition or decisions are onlyIevaluated for the active state. For example, providing value true to γApprovalIdoes not trigger the decision, if σInitializedis the currently active state. Thisis to avoid inconsistent processing states, e.g., because a previous decision maymake filling out a state σ I obsolete due to dead-path elimination [11].IFor states Successors(σA), data values may be entered, but processing onlyoccurs once a state becomes active. All successor states possess marking µσ Waiting. If a user enters values for steps γ I , these values will be stored andtaken into account if the corresponding state γ I .σ I becomes active. To indicatethe status of the corresponding attribute value, steps possess a data marking dγ .IIWhen setting data value for a step γhasValue , where the state instance σ hasIµσ Waiting, the data marking of γhasV alue is set to dγ Preallocated . Shouldσ I become active during process execution, dγ Preallocated will indicate thata value is present and will not be required anymore (cf. Section 3.2).I), will eitherStates that have already been processed, i.e., P redecessors(σAhave µσ Confirmed or µσ Skipped . States with marking µσ Confirmedhave previously been active, whereas skipped states have undergone a dead-pathelimination. For reasons of data integrity, the values of steps in skipped or confirmed states must not be altered at any point in time. If allowed, inconsistenciesand unpredictable execution behavior may occur. For example, changing valuesof decisions steps in an uncontrolled way might activate currently eliminatedstates, whereas currently active states become eliminated. However, it must bepossible to correct mistakes for previously entered and accidentally confirmeddata. Therefore, backwards transitions (cf. Definition 2) allow for the reactivation of confirmed states in a controlled way, where the data may be altered ina consistent and safe way and subsequent changes in decisions can be handledproperly.3.2State ExecutionWhile PHILharmonicFlows is capable of generating forms from states and steps,these forms are static. However, there are dynamic aspects to a form, e.g., theindication which value is required next or which external transition or backwardstransition may be committed. For this purpose, a lifecycle process θI providesexecution events E and an event storage Eθ . Execution events are dynamicallycreated when processing a lifecycle process θI . When auto-generating a form,118

the static form is enriched with dynamic information from Eθ and displayedto the user. Execution events have different subtypes, namely request events,completion events, and invalidation events. When request events are created,they are stored in Eθ and are then used to enrich the form. Completion andinvalidation events remove request events from Eθ , when a request event areeither fulfilled or no longer valid, respectively. The usage of the event storage Eθin conjunction with the generated static forms allows multiple users access tothe same form, due to the centralized storage of the dynamic form data. UsingEθ further allows preserving dynamic data over multiple sessions, i.e., a usermay partially fill out a form, close it and do something else, and later returnand continue where the user previously stopped. It is also possible that anotheruser finishes filling out the form. In general, storing execution events E ensuresconsistency regardless of any user interaction with the forms.The creation and removal of executionevents is primarily determined by the respec- Bank Transfer - Initializedtive marking µ of states, steps, transitions, Amount*and backwards transitions. For steps withan attribute (i.e., γ I .φI 6 ), data mark- Dateing dγ is also taken into account. For examIof Figure 1 has marking Commentple, if step γAmountI.dγ Unassignedµγ Enabled , but γAmountholds, an attribute value request event is creSubmitated and stored in Eθ after some intermediateprocessing steps. If a user access the form forIIis tagged Fig. 2. Form enriched with execuσInitialized, form field for γAmountwith an asterisk, indicating that a value is tion eventsImandatory (cf. Figure 2). As soon as the user provides a value for the γAmountIform field , the data marking for γAmount is updated to dγ Assigned. ThisIindicates that a value has been successfully provided for γAmount. As a consequence, the attribute value request event in Eθ is no longer necessary. Therefore,setting dγ Assigned triggers a completion event removing the attribute valuerequest event from Eθ . After the completion event has occurred, more markingsIchange in a cascading fashion, until the next step γDatareceives µγ Enabled.IThe data marking γDate .dγ U nassigned triggers the same chain of events andImarking changes as with γAmount.To illustrate the automatic handling of preallocated data values, it is asIsumed that another user has already provided value false for γApprovalin stateIIIσDecision , i.e., γApproval .dγ Preallocated holds. As σDecision is not currently theIactive state (i.e., µσ Waiting), decision step γApprovalis not evaluated. WhenIIreaching γApprovalfrom γDateafter a state change and is marked with µγ Enabled , no attribute value request event is created due to dγ Preallocated .Instead, the data marking is immediately changed to dγ Assigned. ConseIquently, the completion event for providing a value is omitted. As γApprovalis aIdecision step, value false subsequently leads to the activation of state σRejected(cf. Figure 1), in which θI terminates. Note that the end state remains active119

despite the termination of the lifecycle process instance. In general, the operational semantics of lifecycle processes ensure that a previously provided valuerequires no further user interaction by default. However, a user may still changethe value afterwards should he wish to do so. Overall, the user may flexibly enterand alter data and the operational semantics ensures data integrity.Continuing the example, where currently the lifecycle process has termiInated and σRejectedis the active state, a user decides he wants to revise hisIdecision for approval and thus change the value of γApprovalfrom false toItrue. After σRejectedhad become active, two backwards transition instancesψTI oInit and ψTI oDec became confirmable, i.e., their marking changed to µψ Confirmable. As a consequence, two backwards transition confirm request eventsare first created, one for each backwards transition, and then stored in Eθ .This allows going back to stateIσInitialized, using ψTI oInit , or go backIto σDecision , using ψTI oDec . However,Rejectedonly one state may be active at once.Therefore, only one backwards transition may be taken. To revise theIvalue of γApproval, ψTI oDec must beTo State InitializedTo State Decisionconfirmed. Confirming ψTI oDec causesits marking to change to µψ Ready.Analogously to a step, a completionevent is created, which removes thecorresponding backwards transitionFig. 3. Backwards transitionsconfirm request event from Eθ . SubseIquently, σRejectedis marked as µσ IW aiting and σDecisionis marked asIIto true. As σRejectedµσ Activated, which allows altering the value of γApprovalIIis no longer active, ψT oInit and ψT oDec become marked as µψ Waiting. ReIsetting the markings of both ψTI oInit , ψTI oDec , and σRejectedto Waiting enablesItheir reuse, e.g., if the value of γApproval remains unchanged and the same pathis taken again.IWith state σDecisionbecoming active again, it is possible to change the valueIof σApproval . However, the backwards transition confirm request event belongingto ψTI oInit is still stored in Eθ , despite ψTI oInit having been marked with µψ Waiting, i.e., confirming ψTI oInit is no longer possible. Obviously, this constitutesan inconsistency between the forms and the lifecycle process. The form displays abutton with the option that ψTI oInit can be confirmed, but on pressing the buttonthe PHILharmonicFlows system produces an error and other, possibly worse,side effects. A a consequence, the operational semantics include invalidationevents, with the purpose to remove invalid or obsolete execution events fromevent storage Eθ . An invalidation event occurs when entities with a requestevent, e.g., backwards transitions, are not successfully completed, but become120

changed due to other circumstances, e.g., the confirmation of another backwardstransition.Request events, completion events, and invalidation events are used in manyother situations than discussed above. The principles, however, are the same,and, embedded in the overall operational semantics, provide a robust, but flexibleway to acquire data values for lifecycle processes. The imperative-style modelingof lifecycle processes, from which forms can be auto-generated directly, significantly reduces modeling time and efforts. The operational semantics provide thenecessary flexibility to users interacting with the forms. Furthermore, the use offorms and the emulation of standard form behavior simplifies the usage of thePHILharmonicFlows system for non-expert users.Overall, this section described the functional aspects of the operational semantics of lifecycle processes. The technical implementation of these operationalsemantics with the Process Rule Framework is presented in Section 4.4The Process Rule FrameworkIn the description of the operational semantics of lifecycle processes, at the lowest level, progress is driven by the change of markings. Marking changes elicitthe creation of execution events, which, in turn, results in user actions, e.g., theprovision of a data value for an attribute. This user interaction is reflected inthe lifecycle process by setting new markings. This may be viewed as a chainof events, and, consequently, event-condition-action rules are used as the basisfor the technical implementation of the operational semantics. In PHILharmonicFlows, a specialized variant of ECA rules, denoted as process rules, is employed.Process rules and the means to specify them constitute one part of the processrule framework. To create an execution sequence such as the one described inSection 3.2, process rules need to form process rule cascades, i.e., a rule triggersan event, which may trigger another rule, which again triggers an event. Furthermore, process rules are uniquely suited to deal with the different eventualitiesemerging during the execution of lifecycle processes. For example, a state σ Imay become active in context of normal process execution progress or due tothe use of a backwards transition ψ I . Subsequently, different follow-up measuresmay be required, e.g., the resetting of markings for steps γ I σ I .Γ I in case thebackwards transition became activated.The basic definition of a process rule is shown in Definition 3. In order todistinguish the symbols from symbols used in the definition object instances,superscript R is used.Definition 3. A process rule pR has the form ( , eT , C R , AR ) where the followingdefinitions hold:–––– is an event triggering the evaluation of the rule.e is an entity type, e.g., a step type γ T .C R is a set of preconditions in regard to eT .AR is a set of effects.121

Process rules pR may be evaluated, i.e., their preconditions C R are checkedand, if all are fulfilled, the effects are applied. An evaluation is triggered whenthe event occurs. Events are always raised by a particular entity instanceeI , e.g., a step γ I or an transition τ I . eT is an entity type that provides thecontext for defining conditions and effects. Furthermore, it provides an implicitprecondition, meaning a rule is not evaluated if the entity instance eI raising was not created from eT . Preconditions C R check different properties of anentity, e.g., whether the entity has a specific marking. Effects AR apply differenteffects to an entity, e.g., setting the marking of an entity. Note that preconditionsand effects are not limited to properties belonging to instances of eT . They mayalso access or set properties of neighbor entities. For example, a rule definedfor a step γ T may have effects that set markings for its outgoing transitionsIIτout γ I .Tout.Fig. 4. Fluent interface definition of a marking rule in codeIn the PHILharmonicFlows implementation, process rules are created in code.Figure 4 shows an example of how a process rule is represented in code. Processrules are often subject to change, as new features for PHILharmonicFlows areadded or errors in lifecycle process execution are resolved. In order to be ableto quickly adapt, the process rule framework uses a fluent interface for processrule specification. This allows for a high readability and maintainability.The operational semantics introduced in Section 3 allow identifying differentuse cases for process rules. For example, one type of process rule raises executionevents based on specific markings, while another type reacts to user input andsets appropriate markings. Consequently, process rules are subdivided based ontheir purpose. The type determines the general type of preconditions and effects,e.g., preconditions of marking rules check predominantly for specific markings.The different types of process rules are summarized in Table 1. Request rule,completion rule, and invalidation rule are subsumed with the term executionrule (ER).122

RuleAbbreviationEventPreconditionsEffectsMarking RuleMRMarking EventMarkingsMarkingsRequest RuleQRMarking EventMarkingsRequest EventCompletion RuleCRMarking EventMarkingsCompletion EventInvalidation RuleIRMarking EventMarkingsInvalidation EventReaction RuleRRUser Input Event User InputMarkingsTable 1. Overview over the types of process rulesThe most common event that is raised during the execution of a lifecycleprocess instance is a marking event. An entity instance eI raises a marking eventswhenever its marking eI .µ is changed. In order to determine which process ruleneeds to be applied, the event is gathered by the process rule manager (PRM)of the lifecycle process. The process rule manager is a small and lightweightexecution engine for process rules and constitutes the other part of the processrule framework. Figure 5 shows a schematic view of the process rule managerand its interactions with the lifecycle process and the (auto-generated) forms.Forms5Static form dataand execution eventsData (Attribute Values, Transition Cobfirmations,.)1Execution EventStorage EventRequest eventsTransitionConfirmRequestEventProcess Rule idation eventsUser input eventsMarking eventsCascading rule applicationReaction rule applicationMarking rule jectFig. 5. Process rule manager and schematic process rule applicationStarting at 1 in Figure 5, data has been entered into a form field. The datais then passed onto the lifecycle process θI and the corresponding step γ I . As γ Ihas received a value, the step raises a user input event 2 . The event is passedon to the process rule manager, which receives all events from its corresponding123

lifecycle process θI and evaluates appropriate rules, i.e., process rules pR withpR .eT σ T are not evaluated if the entity creating the event has type γ T .The implicit precondition significantly reduces the search space for process ruleapplication and must not be specified by a programmer. Once the PRM hasidentified all currently applicable rules, the effects of each rule are applied. Inthe example, the PRM identifies a reaction rule and applies its effects to th

Data-centric modeling paradigms part with the activity-centric paradigm and instead base process modeling and enactment on the acquisition and manip-ulation of business data. In general, a data-centric process no longer requires certain activities to be executed in a specific order for successful completion;

Related Documents:

Object Class: Independent Protection Layer Object: Safety Instrumented Function SIF-101 Compressor S/D Object: SIF-129 Tower feed S/D Event Data Diagnostics Bypasses Failures Incidences Activations Object Oriented - Functional Safety Object: PSV-134 Tower Object: LT-101 Object Class: Device Object: XS-145 Object: XV-137 Object: PSV-134 Object .

Object built-in type, 9 Object constructor, 32 Object.create() method, 70 Object.defineProperties() method, 43–44 Object.defineProperty() method, 39–41, 52 Object.freeze() method, 47, 61 Object.getOwnPropertyDescriptor() method, 44 Object.getPrototypeOf() method, 55 Object.isExtensible() method, 45, 46 Object.isFrozen() method, 47 Object.isSealed() method, 46

What is object storage? How does object storage vs file system compare? When should object storage be used? This short paper looks at the technical side of why object storage is often a better building block for storage platforms than file systems are. www.object-matrix.com info@object-matrix.com 44(0)2920 382 308 What is Object Storage?

the business object. The persistence of this object must be realized using the object services. Business object Object that contains the main data that is relevant for action determination and execution. Its persistence is either given as a Business Object Repository (BOR) object or as a persistent class of the object services.

Double Object Pronouns Double object pronouns occur when both the indirect and direct object pronouns are used together with the same verb. Both the indirect and direct object precede the verb. The indirect object comes before the direct object. Miguel me dio el

AA001.003.01 Data Acquisition Didactic Panel (NI USB 6003) AA001.002.01 Data Acquisition Didactic Panel (NI USB 6002) AA001.001.01 Data Acquisition Didactic Panel (NI USB 6001) AA001.000.01 Data Acquisition Didactic Panel (NI USB 6008) 10 11 Data acquisition, processing and Monitoring The didactic panels

Object Storage Resources Object All data, regardless of content type, is managed as objects (e.g. logs, videos) Each Object is composed of object itself and metadata of the object Bucket A logical container for storing objects; Each object is stored in a bucket Namespace

2 Database System Concepts 8.3 Silberschatz, Korth and Sudarshan Object-Oriented Data Model! Loosely speaking, an object corresponds to an entity in the E- R model.! The object-oriented paradigm is based on encapsulating code and data related to an object into single unit.! The object-oriented data model is a logical data model (like