Yugioh trading card game online download15 comments
Forex valuutta kurssit
This is part three of a trilogy on Bonita v2. Be sure to read part one and part two. In the two previous articles of the Bonita trilogy, Miguel and Jordi discussed many intrinsic topics of Bonita Workflow engine. This follow-up article steps back and deals with the application layer.
Indeed it demonstrates a possible way to couple a Workflow Engine and a Portal. More precisely, Bonita and eXo have been selected by way of implementation. The article shows how workflow processes can be deployed, managed and monitored through JSR Portlets.
It also shows how Bonita workflow engine can be leveraged to validate documents contained in the eXo Java Content Repository. We hope ideas presented here can be applied to different integration scenarios. You forgot to provide an Email Address. This email address is already registered. You have exceeded the maximum character limit. Please provide a Corporate E-mail Address. By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
The first section introduces key concepts. Then we will have a look at the way both components can be integrated, and finally we will study some use cases. Then we will see the advantages offered by their integration. A Portal is a Web application providing unique and customized access to resources of the organization, such as applications, people, documents, and business processes. Java building blocks of Portals are called Portlets.
Portlets can be considered as specialized areas in the Web browser acting as a negotiator between users and information systems. Portlets are used in many fields like enterprise content management, groupware, business intelligence, monitoring, or online forms. The following screenshot illustrates a groupware portlet:. More precisely this is the eXo Calendar Portlet.
It enables the management and sharing of the user timetable. Portlets are laid out in the Web browser to form a kind of patchwork called a Portal Page. By grouping different portlets in the same page, it is possible to provide the user with a control panel to manage his business. This in turn can be compared with multitasking operating systems, which allow interfacing with many applications at once. Portals are flexible in the sense that they allow customization and personalization.
Customization enables the user to tune his or her portal. For example, a user might specify those categories of information he or she wishes to access from personal pages.
As a supplement, personalization allows content to be automatically tailored, based on the user profile. For example, a monitoring portlet might determine which business processes a user is involved in and render an appropriate synthetic view. So portals help to increase users' productivity.
Developers are not left out. Features like security, rendering, profiling, mobility, internationalization and accessibility are handled by the portal infrastructure. This enables developers to focus on the added value, without reinventing the wheel. System Integrators also join the party. Portals provide a single sign in to access all integrated applications by authenticating once.
Portals are within the reach of customers, employees or business partners. S, we think that Portals are a perfect interface with the components of an SOA platform.
Within these products, eXo ECM also provides a Portal infrastructure to capture, store, manage, publish and backup documents. The second module in the stack is the workflow engine. A workflow engine, sometimes referred as a BPM Business Process Management engine, is a software component that breaks a work process down into tasks.
A basic example of such a process is an approval workflow process, in which an employee needs a manager's permission before running an application. A workflow engine provides an infrastructure to model this workflow, execute it, assign the tasks to its participants , and monitor it. To achieve the desired results, it may interact with humans or machines through, for example, Web services.
This enables integration with platforms different from Java, like mainframes or. Bonita is one of the workflow engines gaining great momentum over the past year. This also implies that Bonita runs in an Application Server and benefits from built-in services such as transactions, security, connectivity, presentation, clustering, and high availability.
As often in J2EE, there is no need to reinvent the wheel. We utilize this new feature deploying processes in eXo. Figure 2 ProED example: First, many organizations express the need to run a flexible and unique solution to interface with their back office. This solution includes business processes. On one side, as we have seen, we have eXo which is skilled at presentation, personalization and integration.
On the other, Bonita Workflow stands out with automation, modeling and collaboration. A unique tool pools all these strengths and provides an answer to the organization's expectations. Employees or customers need to authenticate only once to access all resources. Second, eXo ECM provides an infrastructure for content management. Documents are created by writers in the Portal, read over by proofreaders who plan the publication during a period of time.
At the end, those documents must be archived. Bonita complements the solution devised by the eXo Platform to implement the flow of documents and organize the collaboration between humans. Third, Bonita is mainly a Workflow Engine. Bonita requires a user interface layer to generate online forms when interacting with humans.
To summarize, the major objective is to benefit from the best of Portal and Workflow components. The following session details how they can be integrated. We will now unveil the underlying technical points behind the integration of eXo Platform and Bonita. This makes deployment easier if clustering is needed to improve performance and reinforce high availability.
This also allows the security context to be propagated from portlets to workflow EJBs. The merge was made easy by the eXo build configuration based on Maven 2. When that merge occurred, Bonita artifacts were created and made available on the Internet. The current repository site is http: When the final version is available, we will also publish the artifacts to http: The inner architecture of eXo is key when integrating third party software components.
Indeed, eXo is based on a lightweight container where services running in the portal are deployed. Dependency Injection is used to propagate references between them. This means that instead of directly hard coding Java references to other components, a service receives those references from the container. This pattern was used when implementing workflow logic in the portal. An eXo service was developed wrapping Bonita functionality. It presents a set of basic functions needed to manipulate the workflow.
The following illustration shows the service interface:. The corresponding implementation is located in the eXo Platform source tree. It can be invoked from portlets or other services, such as the one in charge of Enterprise Content Management. Particularly, it can be leveraged from homemade portlets, which should be interesting in the scope of custom development. Components are loosely coupled. Any evolution in Bonita for example The Portlet communicates with the Workflow Engine through an abstract layer to increase agility.
One benefit of integration is the single login between the Portal and the Workflow Engine. This allows users to not have to authenticate twice when working with workflow portlets.
Bonita implements its own concept of roles to increase flexibility. Bonita tasks are assigned a role determining which J2EE users can execute them. The contents of those roles are dynamically resolved, each time a process is started. To accomplish this, "Role Mappers" are invoked for each possible role. Role Mappers exist as Java code. Although Bonita comes with ready to use Role Mappers, it is possible for process authors to program their own classes and handle custom cases.
The following snippet shows the implemented Java interface. The method basically returns a list of J2EE users corresponding to the specified role. It maps Bonita roles with eXo groups.