Skip navigation
All Places > Alfresco Process Services & Activiti (BPM) > Blog > 2017 > November
2017

We are getting close to the end of the month so we are trying to close the some pending issues for this milestone (11-2017). Last week (20/11/17 - 26/11/17) we manage to make great progress into the monitoring aspect of our platform and each of our services is getting more and more robust. We are growing and having more people looking into our coding practices and how we build our software is getting and better and better every month.

 

 

 

@willkzhou preparing to test query with Elasticsearch and implementing docker image to test with.

@daisuke-yoshimoto working on adding ability to activiti-cloud-runtime-bundle-service to start a process instance by process definition key

@igdianov working on the notification service using GraphQL subscriptions.

@constantin-ciobotaru working for adding versions to process models

@lucianoprea continued working on the Activiti Cloud Service Organization

@balsarori reviewing and updating form runtime service document. Checking the possibility of using JSON schema validation to do form validation.

@ffazzini introduced tracing in common module, managed to get zipkin running in Minikube and the services sending traces to it. ( https://github.com/Activiti/Activiti/issues/1546 )

@mteodori dev environment configured on new macbook with example on docker and minikube running as in the dev guide, a PR on broken links merged plus one on adding git info to audit service

@ryandawsonuk helped with making actuator available in the services and made common supporting classes available to later be able to apply security restrictions to process definitions in a runtime bundle ( https://github.com/Activiti/Activiti/issues/1493 )

@erdemedeiros added audit events for connector integrations ( https://github.com/Activiti/Activiti/issues/1545 ).

@salaboy worked on our Twitter Cloud Connector Demo. Now the demo works with Docker Compose and we are quite close to get it up and running in a public AWS instance. PR: https://github.com/Activiti/activiti-cloud-examples/pull/28

 

 

 

This week we will be merging Pull Requests, refining the examples and our GitBook to make sure that the latest changes are reflected for the release date. We aim to be releasing by the end of this week so stay tuned!

@salaboy will be in Rome, Italy for the Makers Faire, so if you are around feel free to get in touch via twitter and we can do some hacking together.  

Ping us in Gitter if you want to contribute: https://gitter.im/Activiti/Activiti7

If you want to get started with Activiti Cloud visit our Gitbook: https://activiti.gitbooks.io/activiti-7-developers-guide/content/

(WOW 20 weeks already!) Last week (13/11/17 - 19/11/17) was all about polishing our services and looking into other aspects of our infrastructure such as monitoring, distributed configurations, security and system to system interactions. We spent a good amount of time with our project structures and we will keep  refining our GitBook to keep it as updated and full of examples as possible. As always feedback is more than welcome.

 

 

@willkzhou worked on ElasticSearch Query module implementation, quite close to be completed.

@daisuke-yoshimoto This week, he was maintaining the old version He worked on  backporting call activity business key to 5.x .

@igdianov worked on notification services using GraphQL subscriptions

@constantin-ciobotaru - out on holidays -

@lucianoprea worked on the new Activiti Cloud Service Organization (work in progress)

@balsarori worked on refactoring the Form Service brought from 6.x form service and adding spring integration

@ffazzini Feign client in activiti-cloud-examples and related bug reproducer, Zipkin investigation and PoC.

@ryandawsonuk - out on holidays -

@erdemedeiros mainly worked to provide audit events for integration requests (work in progress). Also did some improvements related to the internal Maven dependency management.

@salaboy worked on testing latest refactorings on dependency management and artifacts alignment, add more documentation to our gitbook and worked on an Activiti Cloud Connectors example that is going to be published as soon as the PRs .

 

This week there are a couple of RFC blog post coming out, so stay tuned and if you are interested in the project please review those blog post and send feedback. It is a great time to influence the project direction, priorities and to engage in collaborations.

 

Ping us in Gitter if you want to contribute: https://gitter.im/Activiti/Activiti7

If you want to get started with Activiti Cloud visit our Gitbook: https://activiti.gitbooks.io/activiti-7-developers-guide/content/

Last week (6/11/17 - 12/11/17) we focused on some core refactorings in how our dependencies are managed and organized across all our repositories. We found some issues and we are planning to fixed them one by one. @igdianov presented on friday a session about GraphQL subscriptions and a PoC to bring those features into our new component called activiti-cloud-notifications. This will enable our services to push notifications via the STOMP protocol to all interested parties. We are also working hard to get some examples with our brand new Activiti Cloud Connectors, to demonstrate how you can scale our services based on demand when hosting in a Cloud Infrastructure such as Kubernetes.

 

 

@willkzhou worked on Elasticsearch repository implementation for querying Tasks and Process Instances. Testing this coming week before committing current code.

@daisuke-yoshimoto only updated Runtime Bundle Endpoints to use content type header instead of PATH.

@igdianov worked on a GraphQL subscription mechanism for Tasks and Process Intances, new RFC post coming. Polished PoC and explored using Spring WebSocket Message Broker for better and more robust web application messaging backbone. This week I am going to prepare and commit PoC in development branch, explore integration with Apollo GraphQL client library  and expand RFC descriptions for review and discussion.

@constantin-ciobotaru - out on holidays -

@lucianoprea working on Spring REST docs for Activiti Cloud Services Audit

@balsarori worked on our first iteration of our new Form Service, which is an evolution of the form services provided in version 6.x

@ffazzini working on kubernetes probes, swagger fixes in audit and query services

@ryandawsonuk - out on holidays -

@erdemedeiros added badges to all the repositories and checked that the quality tools were properly set. Currently working with @salaboy to improve the dependency management across the repositories.

@salaboy worked on improving our Swagger contract for runtime bundles and improved dependency management for all our repositories to be more aligned with JGitflow practices. A blog post about our lesson learned with maven, multi repositories and Jgitflow is coming.

 

 

This week is going to be all about Cloud Connectors and refining our services to support Spring Cloud Contracts and Spring Rest Docs. We are going to provide some examples on how you can test our services against their contracts without the need of starting an instance. We are also working on a Feign generated client for our runtime bundles, so you can leverage the power of service discovery, circuit breakers and much more for service to service interactions.

Ping us in Gitter if you want to contribute: https://gitter.im/Activiti/Activiti7

After almost 4 months of heavy work (and 3 Early Access releases) we are moving forward our basic Cloud Native Runtime building blocks (Runtime Bundle, Connectors, Query & Audit) forward and we are reaching a point were we can start building up more advanced services. Because of these progress we can clearly define what are our main objectives for November, December and January.  

Our focus is on: 

  • Create RFCs for new Cloud Native components and services
  • Provide a clear specification (APIs) about our Services (REST/Message Based/Configurations). Make sure that these APIs have well defined responsibilities, single focused and can evolve over time without causing consumers any headaches.
  • Make sure that we use standard tools, patterns and development techniques widely adopted by other Open Source Projects/Communities. Spring, Spring Boot, Spring Cloud, Docker, Kubernetes falls into this category, and we are making sure that we provide the right integration with these frameworks/tools. We are not just using them to say that we "support" Docker or Kubernetes. Activiti Cloud is designed from the ground up to work with such technologies. 
  • Engage and mentor community members that wants to participate
  • Doing it in an Open Source way (Transparency / Meritocracy are a must)


Milestone #3 - October 2017 - Ended -

  • Refactor Activiti Cloud Service
    • Process Def & Instance Security model
  • Activiti Cloud Connectors
    • Process Runtime refactoring to avoid JavaDelegates and classpath extensions
    • Kubernetes Services ready
  • Process Model Service (Design and Initial Implementation)
  • Notification Service (Design and initial implementation)
  • Form Runtime Service (Initial discussions and planning)

This milestone was released to Maven Central and Docker Images were tagged in Docker Hub. You can find more about these Early Access Release here

Milestone #4 - November 2017 - In Progress-

  • Runtime Bundle & Services Hardening
    • Process Def & Instance Security model
    • Contracts and Rest Docs
    • Feign Clients Examples and tutorials
    • Improved Swagger APIs
    • Tracing Integration
  • Activiti Cloud Connectors Examples
  • JHipster Integration and Examples
  • Application Context Service - (Design and Initial Implementation)
    • Publish/Deploy/Group Runtime Bundle Service
    • Case Management Constructs (Design and PoC)
  • Notification Service - Initial Implementation
  • Process Model Service - Initial Implementation
  • Form Runtime Service + Cloud Starter
  • Kubernetes & AWS deployments improvements

Milestone #4 is all about hardening our Runtime Bundle and Runtime Services. We need to make sure that these services are production ready, can be tested and consumed in a straight forward way, relaying in standard tools and practices. As part of this hardening we need to improve our Kubernetes Deployments, Docker Images and we need to start testing against a Native AWS setup. 


While we work on improving these services, we are starting to design more high level components that will provide services not only during runtime, but also during authoring. As part of these services we are designing and creating RFC documents for the following new components:

  • Process Model Service
  • Form Model Service
  • Form Runtime Service(Runtime)
  • Notification Service (Runtime)

Finally, we started the design on our initial implementation for adding some case management constructs into the platform. For us it is extremely important to keep these separated from the Process Runtime, but at the same time to make it in a way that it is transparent for the user consuming the services. Case Management is all about aggregation, content integration and allowing people to group and manage resources (process instances, documents, tasks) together under a case instance. 

Milestone #5 - December 2017 -

  • Application Context Service
  • Case Management Scenarios
  • Form Model Service - Initial Implementation-
  • Decision Model Service - Initial Implementation
  • New Decision Runtime (Design and Initial Implementation)
  • Back to Basics Examples

Milestone #6 - January 2018 -

  • Polyglot MicroProcessEngine PoC
  • Deployment Service & Pipeline (Design and initial implementation)
  • Process Engine Clean ups and refactorings
    • Activiti Interfaces Module
    • BPMN2 Extensions
    • History Service
    • Job Executor
    • Timers
    • Emails Service


As always, if you want to participate on the development process of some of these components get in touch. We are willing to collaborate with the open community and mentor people that want to learn about the project.We look forward all community involvement, from comments, concerns, help with documentation, tests and component implementations. 

If you are looking into getting started with the Early Access Release we recommend to check our Getting Started Guide in Gitbook: [Getting Started · Activiti 7 & Activiti Cloud Developers Guide]
You can always find us in the Gitter channel: [Activiti/Activiti7 - Gitter]

Last week (30/10/17 - 5/11/17) we focused on releasing 7-201710-EA. You can read more about it here: https://activiti.gitbooks.io/activiti-7-developers-guide/content/releases/7-EA201710.html

This release included the initial version of our Activiti Cloud Connectors starter for Spring Boot 2.x plus a lot of refinements for our Runtime Bundles and basic services.  

 

 

 

@willkzhou ElasticSeach work for Query Module.

@daisuke-yoshimoto working on DB-based identity service that uses old tables for Activiti 6 compatibility.

@igdianov implemented GraphQL Subscription PoC with WebSockets endpoint using Stomp Relay to RabbitMQ message broker. Ready to discuss

@constantin-ciobotaru exposed rest repository resource for a stub entity ProcessModel and created some basic contracts for these end-points for producer side

@lucianoprea implemented Spring Rest Docs for all rest-api’s from the Activiti Cloud Services Runtime Bundle

@balsarori working on form runtime modules and form-runtime spring integration

@ryandawsonuk focused on testing and bug fixing before proving of the updated release process that handles the new repository structure and uses jgitflow

@erdemedeiros mainly worked with some bug fixes and release of version 7-201710-EA.

@salaboy was away in NY and Washington DC visiting community members and customers using Activiti. I worked on release notes and tested our released artefacts.

 

This week is all about planning and making sure that we solve high priority issues that were discovered in our workshops. This month we are looking to make progress on the following RFCs, so feel free to get involved:

Later today (or early tomorrow) there will be a Roadmap update blog post after our planning meeting.

Ping us in Gitter if you want to contribute: https://gitter.im/Activiti/Activiti7

I'm happy to announce that Activiti & Activiti Cloud 7-EA201710 are out and we encourage people in the community to try and report issues if you find them. This release was focused on improving our base building blocks to get the infrastructure working in Kubernetes and Docker based deployments.

 

You can find our published artifacts in Maven Central
and our Docker Images have been tagged so you can use the 7-EA201710 tag for each of our images. You can find more details on
Activiti in Docker Hub

As part of this release we also aligned with Spring Boot 2.0.0.M5 and Spring Cloud Finchley.M3.

Our building blocks highlights:

  • Runtime Bundles:
    • By default IDs are set to UUIDs.
    • Default behaviour for Service Tasks inside runtime bundles now emit IntegrationEventRequests and consume IntegrationEventResutls, which enables Activiti Cloud Connectors to react and perform system to system integrations.
  • Query Service
    • GraphQL endpoint added, now you can use the power of GraphQL to extract data from our Query JPA Service. This was provided by @igdianov
  • Audit Service
    • MongoDB implementation of our Audit Service was provided by @daisuke-yoshimoto
  • Cloud Connectors (Starter): and initial implementation for the Cloud Connectors was released as part of this release. You can use this starter to create a simple template of our Activiti Cloud Connectors.

We also included our first version of our JHipster Generator.
As part of this release the new GroupIds and ArtifactIds has been introduced based on our Repository refactoring. From now own, if a project depends on Spring Cloud it will be under the GroupId org.activiti.cloud.

We are quite happy with the current structure and it seems that it is going to stay stable for now. Even if we change the structure of the repositories we will maintain the groupIds and you should always point to activiti-dependencies and activiti-cloud-dependencies. In other words if you want to work with Activiti Process Runtime artifacts we do recommend using:

[code language='xml'] org.activiti activiti-dependencies ${version.activiti} pom import [/code]


And if you are looking to use Activiti Cloud Artifacts use:

 

[code language='xml']


 
   
      org.activiti.cloud
      activiti-cloud-dependencies
      ${version.activiti.cloud}
      pom
      import
   
 

[/code]

We still have some open RFCs that you are more than welcome to comment, we will be working on these topics for our 7-EA201711 release: