Automated Data Capturing(ADC-TelneT) vs Mobile Automation
ASCII based, with data transmitted in plain text, exposes it to potential attack vectors in cloud environments. ADC is being replaced with Mobile Automation which n is a mobile-optimized extension of Sage X3 platform, which offers an improved User Experience, more intuitive screens and menus, and takes advantage of the latest security protocols. The solution allows users on a handheld device to be connected to Sage X3 while being mobile in the warehouse. This helps our customers to increase productivity with streamlined processes, guided steps, and dynamic fields/settings that reduce pain points for the operator and benefit the whole site’s efficiency.
Benefits of Mobile Automation
Sage X3 Mobile Automation provides pre-built workflows, a modern interface, and cloud optimization with enterprise-class security. It streamlines processes, reduces manual entry errors, and enhances site-wide productivity.
Mobile Automation supports transactions like purchase receipts, inter-site transfers, stock changes, label printing, stock inquiries, miscellaneous issues/receipts, and stock reordering.
Users can scan 1D & 2D barcodes, QR codes, and Datamatrix codes using handheld scanners, smartphones, or tablets. The interface is adaptive to ensure comfortable viewing and scanning across devices.
Integration with third-party systems is possible through custom APIs. Sage X3 supports native APIs, such as GraphQL, to facilitate integrations with external systems and processes.
From 2024 R2 it is now possible to customize Sage X3 Mobile Automation using Sage X3 Builder and developed the solution with an Android Operating system.


GraphQL (Graph Query Language)
Is a query language for APIs and a runtime for executing those queries by using a type system you define for your data. Here's a brief overview of how it works:
- **Schema Definition**: GraphQL APIs are organized in terms of types and fields, not endpoints. You define a schema that describes all the possible data that clients can query. This schema acts as a contract between the client and the server.
- **Types and Fields**: In the schema, you define object types that represent the kinds of objects you can fetch from your service, and what fields they have.
- **Queries**: Clients send queries to the GraphQL server to request specific data. These queries are structured to mirror the shape of the data they will receive.
- **Resolvers**: For each field in a type, there is a resolver function on the server that is responsible for fetching the data for that field. When a query is received, the server calls the appropriate resolver functions to produce the result.
- **Single Endpoint**: Unlike REST, which has a different endpoint for each resource, GraphQL typically exposes a single endpoint. Clients send POST requests to this endpoint with the query in the body of the request.
- **Strongly Typed**: GraphQL is strongly typed, meaning the server defines the shape and nature of the data (the schema), and the client can request exactly what it needs, and nothing more.
- **Introspective**: A GraphQL server can be queried for the types it supports. This allows for powerful developer tools and auto-completion features.
- **Mutations**: Besides querying data, GraphQL also supports mutations, which are operations that modify server-side data. Mutations are structured similarly to queries but are used to create, update, or delete data.
- **Subscriptions**: For real-time updates, GraphQL supports subscriptions. These allow clients to subscribe to changes in the data and receive updates from the server when those changes occur.
- **Execution**: When a query is received, the server validates it against the schema, then executes it by invoking the resolvers for the fields requested. The server then constructs a response with a JSON object that mirrors the shape of the query.

GraphQL's flexibility allows clients to avoid over-fetching or under-fetching data, which can be a common issue with REST APIs. It provides a more efficient, powerful, and flexible alternative to traditional REST APIs.
