Cover image for jBPM Developer Guide : A Java Developer's Guide to the jBOSS Business Process Management Software.
jBPM Developer Guide : A Java Developer's Guide to the jBOSS Business Process Management Software.
Title:
jBPM Developer Guide : A Java Developer's Guide to the jBOSS Business Process Management Software.
Author:
Salatino, Mauricio.
ISBN:
9781847195692
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (424 pages)
Contents:
jBPM Developer Guide -- Table of Contents -- jBPM Developer Guide -- Credits -- About the Author -- About the Reviewers -- Preface -- What this book covers -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Errata -- Piracy -- Questions -- 1. Why Developers Need BPM? -- Business Process, why should I know about that? -- "A sequence of tasks that happen in a repeatable order" -- "executed by humans and/or systems" -- "to achieve a business goal" -- I know what BPs are, but what about the final "M" in BPM? -- BPM stages -- BPM stages in a real-life scenario -- BPM improvements -- Global understanding of our processes -- Agile interaction between systems, people, and teams -- Reduce paperwork -- Real-time process information -- Process information analysis -- Statistics and measures about each execution -- BPM and system integration "history" -- Some buzzwords that we are going to hear when people talk about BPM -- Theoretical definitions -- Integration (system integration) -- Workflow -- Service Oriented Architecture (SOA) -- Orchestration -- Technological terms -- Workflow -- Enterprise Service Bus (ESB) -- BPEL (WS-BPEL) -- Business Process Management Systems (BPMS), my tool and your tool from now on -- BPM systems versus BPM suites -- Why we really need to know BPM and BPMS, and how do they change/impact on our daily life -- New approach -- Homework -- Summary -- 2. jBPM for Developers -- Graph Oriented Programming -- Common development process -- Database model -- Business logic -- User interfaces -- Decoupling processes from our applications -- Graph Oriented Programming on top of OOP -- Implementing Graph Oriented Programming on top of the Java language (finally Java code!) -- Modeling nodes in the object-oriented world -- Modeling a transition in the object-oriented world -- Expanding our language.

Process Definition: a node container -- Implementing our process definition -- The Node concept in Java -- The Transition concept in Java -- The Definition concept in Java -- Testing our brand new classes -- Process execution -- Wait states versus automatic nodes -- Asynchronous System Interactions -- Human tasks -- Creating the execution concept in Java -- Homework -- Creating a simple language -- Nodes description -- Stage one -- Stage two -- Stage three -- Homework solution -- Quick start guide to building Maven projects -- Summary -- 3. Setting Up Our Tools -- Background about the jBPM project -- JBoss Drools -- JBoss ESB -- JBoss jBPM -- Supported languages -- Other modules -- Tools and software -- Maven-why do I need it? -- Standard structure for all your projects -- Centralized project and dependencies description -- Maven installation -- Installing MySQL -- Downloading MySQL JConnector -- Eclipse IDE -- Install Maven support for Eclipse -- SVN client -- Starting with jBPM -- Getting jBPM -- From binary -- config directory -- database directory -- designer directory -- docs directory -- examples directory -- lib directory -- src directory -- From source code -- jBPM structure -- Core module -- DB module -- Distribution module -- Enterprise module -- Example module -- Identity module -- Simulation module -- User Guide module -- Building real world applications -- Eclipse Plugin Project/GPD Introduction -- GPD Project structure -- SimpleProcessTest -- Graphical Process Editor -- The Diagram tab -- The Deployment tab -- The Source tab -- Properties panel -- Outcome -- Maven project -- Homework -- Summary -- 4. jPDL Language -- jPDL introduction -- jPDL structure -- Process structure -- GraphElement information and behavior -- NodeCollection methods -- ProcessDefinition properties -- Functional capabilities -- Constructing a process definition.

Adding custom behavior (actions) -- Nodes inside our processes -- ProcessDefinition parsing process -- Base node -- Information that we really need to know about each node -- Node lifecycle (events) -- Constructors -- Managing transitions/relationships with other nodes -- Runtime behavior -- StartState: starting our processes -- EndState: finishing our processes -- State: wait for an external event -- Decision: making automatic decisions -- Transitions: joining all my nodes -- Executing our processes -- Summary -- 5. Getting Your Hands Dirty with jPDL -- How is this example structured? -- Key points that you need to remember -- Analyzing business requirements -- Business requirements -- Analyzing the proposed formal definition -- Refactoring our previously defined process -- Describing how the job position is requested -- Environment possibilities -- Standalone application with jBPM embedded -- Web application with jBPM dependency -- Running the recruiting example -- Running our process without using any services -- Normal flow test -- Summary -- 6. Persistence -- Why do we need persistence? -- Disambiguate an old myth -- Framework/process interaction -- Process and database perspective -- Different tasks, different sessions -- Configuring the persistence service -- How is the framework configured at runtime? -- Configuring transactions -- User Managed Transactions (UMT) -- What changes if we decide to use CMT? -- Some Hibernate configurations that can help you -- Hibernate caching strategies -- Two examples and two scenarios -- Running the example in EJB3 mode -- Summary -- 7. Human Tasks -- Introduction -- What is a task? -- Task management module -- Handling human tasks in jBPM -- Task node and task behavior -- TaskNode.java -- Task.java -- TaskInstance.java -- Task node example -- Business scenario -- Assigning humans to tasks.

Expression assignments -- Delegated assignments -- Managing our tasks -- Real-life scenario -- Users and tasks interaction model -- Practical example -- Setting up the environment (in the Administrator Screen) -- It's time to work -- userScreen.jsp -- UserScreenController.java -- taskCheckDeviceForm.jsp -- TaskFormController.java -- Summary -- 8. Persistence and Human Tasks in the Real World -- Adding persistence configuration -- Using our new configurations -- Safe points -- Advantages of persisting our process during wait states -- Persistence in the Recruiting Process example -- Human tasks in our Recruiting Process -- Modifying our process definitions -- Analyzing which nodes will change -- Modified process definitions -- Variable mappings -- Task assignments -- Assignments in the Recruiting Process example -- Summary -- 9. Handling Information -- Handling information in jBPM -- Two simple approaches to handle information -- Handling process variables through the API -- ContextInstance proposed APIs -- ExecutionContext proposed APIs -- Telephone company example -- Storing primitive types as process variables -- How and where is all this contextual information stored? -- How are the process variables persisted? -- Understanding the process information -- Types of information -- Variables hierarchy -- Accessing variables -- Testing our PhoneLineProcess example -- Storing Hibernate entities variables -- Homework -- Summary -- 10. Going Deeply into the Advanced Features of jPDL -- Why do we need more nodes? -- Fork/join nodes -- The fork node -- The join node -- Modeling behavior -- Super state node -- Phase-to-node interaction -- Node in a phase-to-phase interaction -- Node-to-node interaction between phases -- Complex situations with super state nodes -- Navigation -- Process state node -- Mapping strategies -- The e-mail node.

Advanced configurations in jPDL -- Starting a process instance with a human task -- Reusing actions, decisions, and assignment handlers -- Properties -- Bean -- Constructor -- Compatibility -- Summary -- 11. Advanced Topics in Practice -- Breaking our recruiting process into phases -- Keeping our process goal focused with process state nodes -- What exactly does this change mean? -- Sharing information between processes -- Create WorkStation binding -- Asynchronous executions -- Synchronous way of executing things -- The asynchronous approach -- How does this asynchronous approach work? -- What happens if our server crashes? -- Configuring and starting the asynchronous JobExecutor service -- Different situations where asynchronous nodes can be placed -- Summary -- 12. Going Enterprise -- jBPM configurations for Java EE environments -- JBoss Application Server data source configurations -- Taking advantage of the JTA capabilities in JBoss -- Enterprise components architecture -- The CommandServiceBean -- JobExecutor service -- JobExecutor service for Java EE environments -- Timers and reminders -- Mail service -- Calendar -- Timers -- How do the timers and reminders work? -- Summary -- Index.
Abstract:
A Java developer's guide to the jBOSS Business Process Management software.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: