MagicLink is specifically designed for anyone who needs to make already existing software operable with Mago.net, whatever programming language it is written in, or for anyone who cannot or does not intend to change their development tools.
By using Web Services it is possible to interface with Mago.net without any problems, remaining independent from its organisation and data and resource management strategy.
This great flexibility does not prejudice security: access via MagicLink is subject to the same restrictions and security checks as the normal use of Mago.net, making illicit use of this type of access impossible.
The innovation and uniqueness of MagicLink lies in the fact that it enables users to reuse management resources made available by Mago.net without going into the details of how these are implemented, so activating a delegation principle.
The dependence on programming interfaces instead of on in-house structures makes this kind of integration minimally sensitive to the upgrades of both components.
In fact, MagicLink encourages the use of Mago.net as a real back-end management programme to request services from, with an SOA (Service Oriented Architecture) approach.
Examples of actions that can be executed using MagicLink:
- retrieving detailed information on customers, suppliers, items, without going into how these are memorised in the database
- inserting, amending or deleting any kind of document such as Orders, Lists, accounts Prime Entries etc… turning over all the control logic and data consistency to Mago.net
- accessing specific functions available in the management programme: convert amounts into currencies or units of measure, calculate final balances or availability of items etc…
While an HTML page is a web resource that can be "navigated" by a person, a Web Service is also navigable but by an application.
Notwithstanding the name, Web Services are not limited to exchanging information through the web, but can also be used to connect applications that reside in the same local network or on the same PC to each other.
The fundamental feature of a Web Service is to offer a software interface (described in a format like WSDL, for example) using whichever other systems can interact with it, activating the operations described in the interface through special SOAP “messages” containing data in XML format.
Thanks to these standards, software applications written in different programming languages and implemented with different architectures can therefore be integrated, creating interoperability between the various programming languages (e.g. between Java, C#, C++, Visual Basic…) and Operating Systems (like Windows and Linux).
To integrate an external application via MagicLink, it is first of all necessary to establish what services or documents this must access both for reading and writing. For these services, the external application will have available the standard XSD interfaces (XML layout), or specifications may be defined, including only the data needed for integration.
The connection process begins with authentication by the application: a specific Web Service is used to provide a username and password that are validated by the Mago.net security system. The possible actions will be restricted to the ones the authenticated user is allowed.
After authentication, the external applicant can retrieve the Web Services necessary to recover or transmit the documents being integrating, formatting their contents into XML format.
The processed data will be provided in response, also in XML, complete with any diagnostic generated by the management components used.
To be able to execute actions using the solutions integrated with MagicLink, it is necessary for the application to be authenticated by the system through login and password recognition with a specific Web Service.
Access is granted according to the same criteria attributed for access to Mago.net; if a user has the right to use a function, that setting will have value both when they access through Mago.net and through the solutions integrated via MagicLink.
Furthermore, user profiling makes it possible to set levels of access to the functions, differentiated according to the positions in the company so as to precisely define what the “external application” user can consult or transmit.
This enables full control on access to data and functions from outside Mago.net, making it virtually impossible to create “malicious” applications that access or alter confidential company information.