I would like to build an A12 Application that is Full Stack, with an additional Application Server:
Now lots of questions come up:
- What is the starting point for the Platform Server and WorkFlow Server? What do I add to Maven project in order to get them pulled in?
- What is the starting point of my Project Server? How do I interpret Batch API style calls to my Project Server? How do I manipulate A12 documents?
- How can I trigger WorkFlows from within the Project Server?
Has anyone worked with similar architecture before?
I think <PROJECT_NAME> is using kind of a similar architecture.
A12 Document Manipulation do we in Project Chefsculinar EnterPrice.
- First you need to deserialize the A12 Documents.
- Convert the A12 Document into your own Model
- do the manipulation on your Model
- maybe validate?
- Convert it back to A12 Document
git clone <INTERNAL_LINK>
From an architecture point of view there are several things to consider before starting.
- How many data objects do I have and how large a batch operation can be?
- Want kind of workflows / processes do I want to model?
The platform server for example stores the data in form of objects. A sql style batch operation manipulating millions of objects is by design not possible. If that’s in the scope of your application you should consider storing data by yourself (e.g. in a sql database) and construct documents on demand out of the data to use in the bap client.
The kind of workflows you have and on what data they operate (do tasks in workflows manipulate documents? or are they used to guide the user through views? or both? Are processes build from a fixed set of building blocks or do you want to model anything?) can also have implications for your architecture. In a simple case workflows may only be storyboard for the client application but can also be extended to control the flow of the whole application logic.
In Public Sector Workflow Project we build prototypes of configurable processes (e.g. apply for a parking licences) from building blocks (show A12 form, process payment, send mail, authenticate). The application uses workflow server, platform server and bap client but has no links to external system, batch processing or the need of custom business logic outside of the building blocks (the processes are the business logic). In <PROJECT_NAME> we have no workflows but mass data, large batch operations and data connection to external data source and have our own application server for persistence, batch operations and business logic.
I don’t know your exact use case but you might need both if you want to connect to external AWS-services and use the workflow components. As far as I know there is no out of the box solution for large business applications from A12 at the moment.
That’s mostly correct. The main difference is that claims is splitting the Services Application into two parts - a backend that provides an API where also 3rd party systems may integrate with and a backend for frontend that integrates with the backend API and itself is used by the BAP Client.