- •Project consultation pointing to relevant chapters
- •Annotation
- •Аннотация
- •Түйіндеме
- •1.5Final Goals
- •2Application architecture
- •2.1Enterprise JavaBeans (ejb)
- •2.2.2What is bpmn?
- •2.2.3Bpmn 2.0 constructs Custom extensions
- •2.2Bpm Process Engine
- •2.2.1Introduction
- •2.2.4Engine api
- •2.2.5Business archives
- •2.2.6Versioning of process definitions
- •2.2.7Generating a process diagram
- •2.3Integrating bpm into project
- •2.4Web Services
- •2.5Application Design
- •3Database Architecture
- •3.1Dbms
- •3.2Schemas Design
- •3.3Data Model Overview Table «Catalog» - Catalog of subjects which would be available in a faculty on certain term with some number of credits
- •Table «Class» - a set of lessons which will be tough by some instructor
- •Table «Class_Enroll» - Enroll for a class
- •Table «Class_Grades» - Grades of student for some class
- •Table «Student_Schedule» - Student Schedule of classes
- •Table «Subject» - Some area of study in education
- •Table «Term» - Special Period of time, which has name, start date and end date
- •3.4Activiti Database tables
- •Benefits
- •4Network and Servers
- •4.1Design
- •Benefits
- •5Bpmn usage in Middleware
- •6Conclusion
- •7References
Benefits
There are several benefits of such network:
Simplicity
Reliability
Security
5Bpmn usage in Middleware
University Workflow Automation engine is a platform for building business logic of university and combine it with its workflow. This combination is very important in developing platforms of such size. SOA oriented architecture gives us reliable and reusable code. BPM module allows us to construct and change the flow of logic and track the usability of optimized workflow.
How to create a business process?
The way of creating business process is very simple. All what you need to do is just prepare development environment and draw business process.
For preparing development environment you will need Eclipse IDE(http://eclipse.org) and Activiti Designer (http://activiti.org/designer/update).
After preparation of requirements you can start developing bpmn 2.0 business processes as in the Figure 5.1.
Figure 5.1 – Activiti Eclipse Plugin
Deploying business process
There several way for deployment of business process:
By Activiti Probe web component (Figure 5.2)
By Ant task (Figure 5.3)
By Activiti deployer installed into jboss server
Figure 5.2 – Activiti Probe deployment
The business process could be deployed as .bar file or *.bpmn20.xml file in the jar, war or ear project.
Figure 5.3 – Ant task deployment
Figure 5.4 – Activiti BpmnDeployer
Testing business processes
Actually there are two ways of testing business processes:
By using a user friendly Activiti Explorer
By writing test cases for business processes
Figure 5.5 – Activiti Explorer
Figure 5.6 – Write automated test cases for business processes
Using Activiti Services as EJB components (Figure 5.7)
@Stateless
public class StartProcessEjb implements StartProcessLocal, StartProcessRemote{
@EJB RuntimeService runtimeService;
public void startProcess() {
runtimeService.startProcessInstanceByKey("someProcess");
}
}
6Conclusion
The made research and work had taken many hours of thinking the way of implementing so big project. It also required from me a good knowledge of business analyzing and experience in enterprise development. But this is not the final stage, it is just a beginning of a good future platform, which can be extended, completed and optimized by developers.
Selected architecture will allow in future preventing problems with integration and scalability of university system. The SOA oriented architecture will allow reusing already existing services and add new one. Centralized security module will allow unique entry point of using services and logging the history, will avoid problems with system failure and crash.
The ease of development was also taken into account, like programming language, integration moments, so that developers could enjoy and get fun with development.
7References
EJB 3 In Action by Debu Panda, Reza Rahman, Derek Lane
Agile Modeling Effective Practices for Extreme Programming and the Unified Process by Scott Ambler
http://www.w3schools.com/webservices/ws_intro.asp
http://activiti.org/userguide/index.html
http://www.mastertheboss.com/jbpm/300-jbpm-vs-activiti.html
http://www.bpm-guide.de/2011/05/09/going-java-enterprise-with-activiti-and-jboss-as/
http://www.sparxsystems.com/resources/tutorial/component_model.html
http://www.ejb3.org/UML_diagrams.html
http://www.tutorial-omondo.com/j2ee/deployment/
Developing Enterprise Java Applications with J2EE and UML by Khawar Zaman Ahmed, Cary E. Umrysh
Beginning EJB™ 3 Application Development From Novice to Professional by Raghu R. Kodali and Jonathan Wetherbee with Peter Zadrozny
http://www.datadisk.co.uk/html_docs/java_app/jboss5/jboss5_config_web_services.htm
Building Web Applications with UML Second Edition by Jim Conallen
Core J2EE Patterns Best Practices and Design Strategies by Deepak Alur, John Crupi, Dan Malks
Enterprise Java with UML by John Wiley and Sons
Patterns of Enterprise Application Architecture by Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, Randy Stafford
UML basics: The component diagram http://www.ibm.com/developerworks/rational/library/dec04/bell/
Introduction to OMG UML http://www.omg.org/gettingstarted/what_is_uml.htm
